From cb6bdfe75a7be5d916a83963e79a3d6bd00d5d9e Mon Sep 17 00:00:00 2001 From: souravg77 Date: Wed, 11 Jun 2025 18:52:07 +0000 Subject: [PATCH 1/8] Start draft PR From d441e22d02b4fd3567c853aeee4b4ebdebae1412 Mon Sep 17 00:00:00 2001 From: souravg77 Date: Wed, 11 Jun 2025 18:53:06 +0000 Subject: [PATCH 2/8] Add package.json with basic configuration --- node_modules/.bin/esbuild | 1 + node_modules/.bin/mime | 1 + node_modules/.bin/nanoid | 1 + node_modules/.bin/rollup | 1 + node_modules/.bin/vite | 1 + node_modules/.bin/vite-node | 1 + node_modules/.bin/vitest | 1 + node_modules/.bin/why-is-node-running | 1 + node_modules/.package-lock.json | 1851 + node_modules/@esbuild/linux-x64/README.md | 3 + node_modules/@esbuild/linux-x64/bin/esbuild | Bin 0 -> 10268824 bytes node_modules/@esbuild/linux-x64/package.json | 20 + .../@jridgewell/sourcemap-codec/LICENSE | 21 + .../@jridgewell/sourcemap-codec/README.md | 264 + .../sourcemap-codec/dist/sourcemap-codec.mjs | 424 + .../dist/sourcemap-codec.mjs.map | 1 + .../dist/sourcemap-codec.umd.js | 439 + .../dist/sourcemap-codec.umd.js.map | 1 + .../sourcemap-codec/dist/types/scopes.d.ts | 49 + .../dist/types/sourcemap-codec.d.ts | 8 + .../sourcemap-codec/dist/types/strings.d.ts | 15 + .../sourcemap-codec/dist/types/vlq.d.ts | 6 + .../@jridgewell/sourcemap-codec/package.json | 75 + node_modules/@noble/hashes/LICENSE | 21 + node_modules/@noble/hashes/README.md | 521 + node_modules/@noble/hashes/_assert.d.ts | 17 + node_modules/@noble/hashes/_assert.d.ts.map | 1 + node_modules/@noble/hashes/_assert.js | 18 + node_modules/@noble/hashes/_assert.js.map | 1 + node_modules/@noble/hashes/_blake.d.ts | 14 + node_modules/@noble/hashes/_blake.d.ts.map | 1 + node_modules/@noble/hashes/_blake.js | 50 + node_modules/@noble/hashes/_blake.js.map | 1 + node_modules/@noble/hashes/_md.d.ts | 51 + node_modules/@noble/hashes/_md.d.ts.map | 1 + node_modules/@noble/hashes/_md.js | 162 + node_modules/@noble/hashes/_md.js.map | 1 + node_modules/@noble/hashes/_u64.d.ts | 55 + node_modules/@noble/hashes/_u64.d.ts.map | 1 + node_modules/@noble/hashes/_u64.js | 90 + node_modules/@noble/hashes/_u64.js.map | 1 + node_modules/@noble/hashes/argon2.d.ts | 32 + node_modules/@noble/hashes/argon2.d.ts.map | 1 + node_modules/@noble/hashes/argon2.js | 401 + node_modules/@noble/hashes/argon2.js.map | 1 + node_modules/@noble/hashes/blake1.d.ts | 106 + node_modules/@noble/hashes/blake1.d.ts.map | 1 + node_modules/@noble/hashes/blake1.js | 459 + node_modules/@noble/hashes/blake1.js.map | 1 + node_modules/@noble/hashes/blake2.d.ts | 116 + node_modules/@noble/hashes/blake2.d.ts.map | 1 + node_modules/@noble/hashes/blake2.js | 420 + node_modules/@noble/hashes/blake2.js.map | 1 + node_modules/@noble/hashes/blake2b.d.ts | 11 + node_modules/@noble/hashes/blake2b.d.ts.map | 1 + node_modules/@noble/hashes/blake2b.js | 14 + node_modules/@noble/hashes/blake2b.js.map | 1 + node_modules/@noble/hashes/blake2s.d.ts | 20 + node_modules/@noble/hashes/blake2s.d.ts.map | 1 + node_modules/@noble/hashes/blake2s.js | 24 + node_modules/@noble/hashes/blake2s.js.map | 1 + node_modules/@noble/hashes/blake3.d.ts | 54 + node_modules/@noble/hashes/blake3.d.ts.map | 1 + node_modules/@noble/hashes/blake3.js | 255 + node_modules/@noble/hashes/blake3.js.map | 1 + node_modules/@noble/hashes/crypto.d.ts | 2 + node_modules/@noble/hashes/crypto.d.ts.map | 1 + node_modules/@noble/hashes/crypto.js | 5 + node_modules/@noble/hashes/crypto.js.map | 1 + node_modules/@noble/hashes/cryptoNode.d.ts | 2 + .../@noble/hashes/cryptoNode.d.ts.map | 1 + node_modules/@noble/hashes/cryptoNode.js | 18 + node_modules/@noble/hashes/cryptoNode.js.map | 1 + node_modules/@noble/hashes/eskdf.d.ts | 47 + node_modules/@noble/hashes/eskdf.d.ts.map | 1 + node_modules/@noble/hashes/eskdf.js | 166 + node_modules/@noble/hashes/eskdf.js.map | 1 + node_modules/@noble/hashes/esm/_assert.d.ts | 17 + .../@noble/hashes/esm/_assert.d.ts.map | 1 + node_modules/@noble/hashes/esm/_assert.js | 15 + node_modules/@noble/hashes/esm/_assert.js.map | 1 + node_modules/@noble/hashes/esm/_blake.d.ts | 14 + .../@noble/hashes/esm/_blake.d.ts.map | 1 + node_modules/@noble/hashes/esm/_blake.js | 45 + node_modules/@noble/hashes/esm/_blake.js.map | 1 + node_modules/@noble/hashes/esm/_md.d.ts | 51 + node_modules/@noble/hashes/esm/_md.d.ts.map | 1 + node_modules/@noble/hashes/esm/_md.js | 155 + node_modules/@noble/hashes/esm/_md.js.map | 1 + node_modules/@noble/hashes/esm/_u64.d.ts | 55 + node_modules/@noble/hashes/esm/_u64.d.ts.map | 1 + node_modules/@noble/hashes/esm/_u64.js | 67 + node_modules/@noble/hashes/esm/_u64.js.map | 1 + node_modules/@noble/hashes/esm/argon2.d.ts | 32 + .../@noble/hashes/esm/argon2.d.ts.map | 1 + node_modules/@noble/hashes/esm/argon2.js | 392 + node_modules/@noble/hashes/esm/argon2.js.map | 1 + node_modules/@noble/hashes/esm/blake1.d.ts | 106 + .../@noble/hashes/esm/blake1.d.ts.map | 1 + node_modules/@noble/hashes/esm/blake1.js | 452 + node_modules/@noble/hashes/esm/blake1.js.map | 1 + node_modules/@noble/hashes/esm/blake2.d.ts | 116 + .../@noble/hashes/esm/blake2.d.ts.map | 1 + node_modules/@noble/hashes/esm/blake2.js | 413 + node_modules/@noble/hashes/esm/blake2.js.map | 1 + node_modules/@noble/hashes/esm/blake2b.d.ts | 11 + .../@noble/hashes/esm/blake2b.d.ts.map | 1 + node_modules/@noble/hashes/esm/blake2b.js | 11 + node_modules/@noble/hashes/esm/blake2b.js.map | 1 + node_modules/@noble/hashes/esm/blake2s.d.ts | 20 + .../@noble/hashes/esm/blake2s.d.ts.map | 1 + node_modules/@noble/hashes/esm/blake2s.js | 21 + node_modules/@noble/hashes/esm/blake2s.js.map | 1 + node_modules/@noble/hashes/esm/blake3.d.ts | 54 + .../@noble/hashes/esm/blake3.d.ts.map | 1 + node_modules/@noble/hashes/esm/blake3.js | 251 + node_modules/@noble/hashes/esm/blake3.js.map | 1 + node_modules/@noble/hashes/esm/crypto.d.ts | 2 + .../@noble/hashes/esm/crypto.d.ts.map | 1 + node_modules/@noble/hashes/esm/crypto.js | 2 + node_modules/@noble/hashes/esm/crypto.js.map | 1 + .../@noble/hashes/esm/cryptoNode.d.ts | 2 + .../@noble/hashes/esm/cryptoNode.d.ts.map | 1 + node_modules/@noble/hashes/esm/cryptoNode.js | 15 + .../@noble/hashes/esm/cryptoNode.js.map | 1 + node_modules/@noble/hashes/esm/eskdf.d.ts | 47 + node_modules/@noble/hashes/esm/eskdf.d.ts.map | 1 + node_modules/@noble/hashes/esm/eskdf.js | 160 + node_modules/@noble/hashes/esm/eskdf.js.map | 1 + node_modules/@noble/hashes/esm/hkdf.d.ts | 36 + node_modules/@noble/hashes/esm/hkdf.d.ts.map | 1 + node_modules/@noble/hashes/esm/hkdf.js | 82 + node_modules/@noble/hashes/esm/hkdf.js.map | 1 + node_modules/@noble/hashes/esm/hmac.d.ts | 35 + node_modules/@noble/hashes/esm/hmac.d.ts.map | 1 + node_modules/@noble/hashes/esm/hmac.js | 86 + node_modules/@noble/hashes/esm/hmac.js.map | 1 + node_modules/@noble/hashes/esm/index.d.ts | 2 + node_modules/@noble/hashes/esm/index.d.ts.map | 1 + node_modules/@noble/hashes/esm/index.js | 33 + node_modules/@noble/hashes/esm/index.js.map | 1 + node_modules/@noble/hashes/esm/legacy.d.ts | 71 + .../@noble/hashes/esm/legacy.d.ts.map | 1 + node_modules/@noble/hashes/esm/legacy.js | 281 + node_modules/@noble/hashes/esm/legacy.js.map | 1 + node_modules/@noble/hashes/esm/package.json | 10 + node_modules/@noble/hashes/esm/pbkdf2.d.ts | 23 + .../@noble/hashes/esm/pbkdf2.d.ts.map | 1 + node_modules/@noble/hashes/esm/pbkdf2.js | 97 + node_modules/@noble/hashes/esm/pbkdf2.js.map | 1 + node_modules/@noble/hashes/esm/ripemd160.d.ts | 13 + .../@noble/hashes/esm/ripemd160.d.ts.map | 1 + node_modules/@noble/hashes/esm/ripemd160.js | 13 + .../@noble/hashes/esm/ripemd160.js.map | 1 + node_modules/@noble/hashes/esm/scrypt.d.ts | 34 + .../@noble/hashes/esm/scrypt.d.ts.map | 1 + node_modules/@noble/hashes/esm/scrypt.js | 228 + node_modules/@noble/hashes/esm/scrypt.js.map | 1 + node_modules/@noble/hashes/esm/sha1.d.ts | 11 + node_modules/@noble/hashes/esm/sha1.d.ts.map | 1 + node_modules/@noble/hashes/esm/sha1.js | 11 + node_modules/@noble/hashes/esm/sha1.js.map | 1 + node_modules/@noble/hashes/esm/sha2.d.ts | 159 + node_modules/@noble/hashes/esm/sha2.d.ts.map | 1 + node_modules/@noble/hashes/esm/sha2.js | 375 + node_modules/@noble/hashes/esm/sha2.js.map | 1 + node_modules/@noble/hashes/esm/sha256.d.ts | 20 + .../@noble/hashes/esm/sha256.d.ts.map | 1 + node_modules/@noble/hashes/esm/sha256.js | 20 + node_modules/@noble/hashes/esm/sha256.js.map | 1 + .../@noble/hashes/esm/sha3-addons.d.ts | 142 + .../@noble/hashes/esm/sha3-addons.d.ts.map | 1 + node_modules/@noble/hashes/esm/sha3-addons.js | 393 + .../@noble/hashes/esm/sha3-addons.js.map | 1 + node_modules/@noble/hashes/esm/sha3.d.ts | 53 + node_modules/@noble/hashes/esm/sha3.d.ts.map | 1 + node_modules/@noble/hashes/esm/sha3.js | 234 + node_modules/@noble/hashes/esm/sha3.js.map | 1 + node_modules/@noble/hashes/esm/sha512.d.ts | 26 + .../@noble/hashes/esm/sha512.d.ts.map | 1 + node_modules/@noble/hashes/esm/sha512.js | 26 + node_modules/@noble/hashes/esm/sha512.js.map | 1 + node_modules/@noble/hashes/esm/utils.d.ts | 161 + node_modules/@noble/hashes/esm/utils.d.ts.map | 1 + node_modules/@noble/hashes/esm/utils.js | 281 + node_modules/@noble/hashes/esm/utils.js.map | 1 + node_modules/@noble/hashes/hkdf.d.ts | 36 + node_modules/@noble/hashes/hkdf.d.ts.map | 1 + node_modules/@noble/hashes/hkdf.js | 88 + node_modules/@noble/hashes/hkdf.js.map | 1 + node_modules/@noble/hashes/hmac.d.ts | 35 + node_modules/@noble/hashes/hmac.d.ts.map | 1 + node_modules/@noble/hashes/hmac.js | 91 + node_modules/@noble/hashes/hmac.js.map | 1 + node_modules/@noble/hashes/index.d.ts | 1 + node_modules/@noble/hashes/index.d.ts.map | 1 + node_modules/@noble/hashes/index.js | 33 + node_modules/@noble/hashes/index.js.map | 1 + node_modules/@noble/hashes/legacy.d.ts | 71 + node_modules/@noble/hashes/legacy.d.ts.map | 1 + node_modules/@noble/hashes/legacy.js | 287 + node_modules/@noble/hashes/legacy.js.map | 1 + node_modules/@noble/hashes/package.json | 266 + node_modules/@noble/hashes/pbkdf2.d.ts | 23 + node_modules/@noble/hashes/pbkdf2.d.ts.map | 1 + node_modules/@noble/hashes/pbkdf2.js | 101 + node_modules/@noble/hashes/pbkdf2.js.map | 1 + node_modules/@noble/hashes/ripemd160.d.ts | 13 + node_modules/@noble/hashes/ripemd160.d.ts.map | 1 + node_modules/@noble/hashes/ripemd160.js | 16 + node_modules/@noble/hashes/ripemd160.js.map | 1 + node_modules/@noble/hashes/scrypt.d.ts | 34 + node_modules/@noble/hashes/scrypt.d.ts.map | 1 + node_modules/@noble/hashes/scrypt.js | 232 + node_modules/@noble/hashes/scrypt.js.map | 1 + node_modules/@noble/hashes/sha1.d.ts | 11 + node_modules/@noble/hashes/sha1.d.ts.map | 1 + node_modules/@noble/hashes/sha1.js | 14 + node_modules/@noble/hashes/sha1.js.map | 1 + node_modules/@noble/hashes/sha2.d.ts | 159 + node_modules/@noble/hashes/sha2.d.ts.map | 1 + node_modules/@noble/hashes/sha2.js | 384 + node_modules/@noble/hashes/sha2.js.map | 1 + node_modules/@noble/hashes/sha256.d.ts | 20 + node_modules/@noble/hashes/sha256.d.ts.map | 1 + node_modules/@noble/hashes/sha256.js | 23 + node_modules/@noble/hashes/sha256.js.map | 1 + node_modules/@noble/hashes/sha3-addons.d.ts | 142 + .../@noble/hashes/sha3-addons.d.ts.map | 1 + node_modules/@noble/hashes/sha3-addons.js | 402 + node_modules/@noble/hashes/sha3-addons.js.map | 1 + node_modules/@noble/hashes/sha3.d.ts | 53 + node_modules/@noble/hashes/sha3.d.ts.map | 1 + node_modules/@noble/hashes/sha3.js | 239 + node_modules/@noble/hashes/sha3.js.map | 1 + node_modules/@noble/hashes/sha512.d.ts | 26 + node_modules/@noble/hashes/sha512.d.ts.map | 1 + node_modules/@noble/hashes/sha512.js | 29 + node_modules/@noble/hashes/sha512.js.map | 1 + node_modules/@noble/hashes/src/_assert.ts | 22 + node_modules/@noble/hashes/src/_blake.ts | 50 + node_modules/@noble/hashes/src/_md.ts | 176 + node_modules/@noble/hashes/src/_u64.ts | 91 + node_modules/@noble/hashes/src/argon2.ts | 497 + node_modules/@noble/hashes/src/blake1.ts | 534 + node_modules/@noble/hashes/src/blake2.ts | 486 + node_modules/@noble/hashes/src/blake2b.ts | 10 + node_modules/@noble/hashes/src/blake2s.ts | 20 + node_modules/@noble/hashes/src/blake3.ts | 272 + node_modules/@noble/hashes/src/crypto.ts | 9 + node_modules/@noble/hashes/src/cryptoNode.ts | 15 + node_modules/@noble/hashes/src/eskdf.ts | 187 + node_modules/@noble/hashes/src/hkdf.ts | 88 + node_modules/@noble/hashes/src/hmac.ts | 94 + node_modules/@noble/hashes/src/index.ts | 31 + node_modules/@noble/hashes/src/legacy.ts | 293 + node_modules/@noble/hashes/src/pbkdf2.ts | 122 + node_modules/@noble/hashes/src/ripemd160.ts | 12 + node_modules/@noble/hashes/src/scrypt.ts | 257 + node_modules/@noble/hashes/src/sha1.ts | 10 + node_modules/@noble/hashes/src/sha2.ts | 402 + node_modules/@noble/hashes/src/sha256.ts | 24 + node_modules/@noble/hashes/src/sha3-addons.ts | 499 + node_modules/@noble/hashes/src/sha3.ts | 258 + node_modules/@noble/hashes/src/sha512.ts | 34 + node_modules/@noble/hashes/src/utils.ts | 395 + node_modules/@noble/hashes/utils.d.ts | 161 + node_modules/@noble/hashes/utils.d.ts.map | 1 + node_modules/@noble/hashes/utils.js | 313 + node_modules/@noble/hashes/utils.js.map | 1 + node_modules/@paralleldrive/cuid2/LICENSE | 21 + node_modules/@paralleldrive/cuid2/README.md | 397 + node_modules/@paralleldrive/cuid2/index.d.ts | 19 + node_modules/@paralleldrive/cuid2/index.js | 6 + .../@paralleldrive/cuid2/package.json | 69 + .../@paralleldrive/cuid2/src/index.js | 127 + .../@rollup/rollup-linux-x64-gnu/README.md | 3 + .../@rollup/rollup-linux-x64-gnu/package.json | 22 + .../rollup.linux-x64-gnu.node | Bin 0 -> 2669264 bytes .../@rollup/rollup-linux-x64-musl/README.md | 3 + .../rollup-linux-x64-musl/package.json | 22 + .../rollup.linux-x64-musl.node | Bin 0 -> 2664984 bytes node_modules/@types/chai/LICENSE | 21 + node_modules/@types/chai/README.md | 15 + node_modules/@types/chai/index.d.ts | 2149 + node_modules/@types/chai/package.json | 74 + node_modules/@types/chai/register-should.d.ts | 7 + node_modules/@types/deep-eql/LICENSE | 21 + node_modules/@types/deep-eql/README.md | 57 + node_modules/@types/deep-eql/index.d.ts | 38 + node_modules/@types/deep-eql/package.json | 25 + node_modules/@types/estree/LICENSE | 21 + node_modules/@types/estree/README.md | 15 + node_modules/@types/estree/flow.d.ts | 167 + node_modules/@types/estree/index.d.ts | 694 + node_modules/@types/estree/package.json | 27 + node_modules/@vitest/expect/LICENSE | 21 + node_modules/@vitest/expect/README.md | 21 + node_modules/@vitest/expect/dist/index.d.ts | 808 + node_modules/@vitest/expect/dist/index.js | 1789 + node_modules/@vitest/expect/package.json | 46 + node_modules/@vitest/mocker/LICENSE | 21 + node_modules/@vitest/mocker/README.md | 5 + .../@vitest/mocker/dist/auto-register.d.ts | 2 + .../@vitest/mocker/dist/auto-register.js | 9 + node_modules/@vitest/mocker/dist/browser.d.ts | 53 + node_modules/@vitest/mocker/dist/browser.js | 91 + .../mocker/dist/chunk-interceptor-native.js | 15 + .../@vitest/mocker/dist/chunk-mocker.js | 1618 + .../mocker/dist/chunk-pathe.M-eThtNZ.js | 174 + .../@vitest/mocker/dist/chunk-registry.js | 182 + .../@vitest/mocker/dist/chunk-utils.js | 16 + node_modules/@vitest/mocker/dist/index.d.ts | 21 + node_modules/@vitest/mocker/dist/index.js | 174 + .../mocker/dist/mocker.d-Ce9_ySj5.d.ts | 83 + node_modules/@vitest/mocker/dist/node.d.ts | 821 + node_modules/@vitest/mocker/dist/node.js | 1306 + .../@vitest/mocker/dist/redirect.d.ts | 3 + node_modules/@vitest/mocker/dist/redirect.js | 75 + .../@vitest/mocker/dist/register.d.ts | 9 + node_modules/@vitest/mocker/dist/register.js | 41 + .../mocker/dist/registry.d-D765pazg.d.ts | 87 + .../@vitest/mocker/dist/types.d-D_aRZRdy.d.ts | 8 + node_modules/@vitest/mocker/package.json | 82 + node_modules/@vitest/pretty-format/LICENSE | 21 + .../@vitest/pretty-format/dist/index.d.ts | 119 + .../@vitest/pretty-format/dist/index.js | 1387 + .../@vitest/pretty-format/package.json | 44 + node_modules/@vitest/runner/LICENSE | 21 + node_modules/@vitest/runner/README.md | 5 + .../@vitest/runner/dist/chunk-hooks.js | 2251 + node_modules/@vitest/runner/dist/index.d.ts | 261 + node_modules/@vitest/runner/dist/index.js | 6 + .../@vitest/runner/dist/tasks.d-CkscK4of.d.ts | 558 + node_modules/@vitest/runner/dist/types.d.ts | 163 + node_modules/@vitest/runner/dist/types.js | 1 + node_modules/@vitest/runner/dist/utils.d.ts | 47 + node_modules/@vitest/runner/dist/utils.js | 6 + node_modules/@vitest/runner/package.json | 49 + node_modules/@vitest/runner/types.d.ts | 1 + node_modules/@vitest/runner/utils.d.ts | 1 + node_modules/@vitest/snapshot/LICENSE | 21 + node_modules/@vitest/snapshot/README.md | 84 + .../snapshot/dist/environment.d-DHdQ1Csl.d.ts | 22 + .../@vitest/snapshot/dist/environment.d.ts | 16 + .../@vitest/snapshot/dist/environment.js | 40 + node_modules/@vitest/snapshot/dist/index.d.ts | 137 + node_modules/@vitest/snapshot/dist/index.js | 2321 + .../@vitest/snapshot/dist/manager.d.ts | 18 + node_modules/@vitest/snapshot/dist/manager.js | 73 + .../snapshot/dist/rawSnapshot.d-lFsMJFUd.d.ts | 61 + .../@vitest/snapshot/environment.d.ts | 1 + node_modules/@vitest/snapshot/manager.d.ts | 1 + node_modules/@vitest/snapshot/package.json | 54 + node_modules/@vitest/spy/LICENSE | 21 + node_modules/@vitest/spy/README.md | 3 + node_modules/@vitest/spy/dist/index.d.ts | 356 + node_modules/@vitest/spy/dist/index.js | 184 + node_modules/@vitest/spy/package.json | 38 + node_modules/@vitest/utils/LICENSE | 21 + node_modules/@vitest/utils/diff.d.ts | 1 + .../utils/dist/chunk-_commonjsHelpers.js | 158 + node_modules/@vitest/utils/dist/diff.d.ts | 104 + node_modules/@vitest/utils/dist/diff.js | 2185 + node_modules/@vitest/utils/dist/error.d.ts | 9 + node_modules/@vitest/utils/dist/error.js | 156 + node_modules/@vitest/utils/dist/helpers.d.ts | 56 + node_modules/@vitest/utils/dist/helpers.js | 251 + node_modules/@vitest/utils/dist/index.d.ts | 57 + node_modules/@vitest/utils/dist/index.js | 633 + .../@vitest/utils/dist/source-map.d.ts | 139 + node_modules/@vitest/utils/dist/source-map.js | 996 + .../@vitest/utils/dist/types.d-BCElaP-c.d.ts | 53 + node_modules/@vitest/utils/dist/types.d.ts | 53 + node_modules/@vitest/utils/dist/types.js | 1 + node_modules/@vitest/utils/error.d.ts | 1 + node_modules/@vitest/utils/helpers.d.ts | 1 + node_modules/@vitest/utils/package.json | 77 + node_modules/accepts/HISTORY.md | 250 + node_modules/accepts/LICENSE | 23 + node_modules/accepts/README.md | 140 + node_modules/accepts/index.js | 238 + node_modules/accepts/package.json | 47 + node_modules/asap/CHANGES.md | 70 + node_modules/asap/LICENSE.md | 21 + node_modules/asap/README.md | 237 + node_modules/asap/asap.js | 65 + node_modules/asap/browser-asap.js | 66 + node_modules/asap/browser-raw.js | 223 + node_modules/asap/package.json | 58 + node_modules/asap/raw.js | 101 + node_modules/assertion-error/LICENSE | 21 + node_modules/assertion-error/README.md | 68 + node_modules/assertion-error/index.d.ts | 27 + node_modules/assertion-error/index.js | 60 + node_modules/assertion-error/package.json | 32 + node_modules/asynckit/LICENSE | 21 + node_modules/asynckit/README.md | 233 + node_modules/asynckit/bench.js | 76 + node_modules/asynckit/index.js | 6 + node_modules/asynckit/lib/abort.js | 29 + node_modules/asynckit/lib/async.js | 34 + node_modules/asynckit/lib/defer.js | 26 + node_modules/asynckit/lib/iterate.js | 75 + .../asynckit/lib/readable_asynckit.js | 91 + .../asynckit/lib/readable_parallel.js | 25 + node_modules/asynckit/lib/readable_serial.js | 25 + .../asynckit/lib/readable_serial_ordered.js | 29 + node_modules/asynckit/lib/state.js | 37 + node_modules/asynckit/lib/streamify.js | 141 + node_modules/asynckit/lib/terminator.js | 29 + node_modules/asynckit/package.json | 63 + node_modules/asynckit/parallel.js | 43 + node_modules/asynckit/serial.js | 17 + node_modules/asynckit/serialOrdered.js | 75 + node_modules/asynckit/stream.js | 21 + node_modules/body-parser/HISTORY.md | 731 + node_modules/body-parser/LICENSE | 23 + node_modules/body-parser/README.md | 491 + node_modules/body-parser/index.js | 80 + node_modules/body-parser/lib/read.js | 210 + node_modules/body-parser/lib/types/json.js | 206 + node_modules/body-parser/lib/types/raw.js | 75 + node_modules/body-parser/lib/types/text.js | 80 + .../body-parser/lib/types/urlencoded.js | 177 + node_modules/body-parser/lib/utils.js | 83 + node_modules/body-parser/package.json | 49 + node_modules/bytes/History.md | 97 + node_modules/bytes/LICENSE | 23 + node_modules/bytes/Readme.md | 152 + node_modules/bytes/index.js | 170 + node_modules/bytes/package.json | 42 + node_modules/cac/LICENSE | 21 + node_modules/cac/README.md | 536 + node_modules/cac/deno/CAC.ts | 331 + node_modules/cac/deno/Command.ts | 269 + node_modules/cac/deno/Option.ts | 52 + node_modules/cac/deno/deno.ts | 4 + node_modules/cac/deno/index.ts | 10 + node_modules/cac/deno/utils.ts | 145 + node_modules/cac/dist/index.d.ts | 191 + node_modules/cac/dist/index.js | 623 + node_modules/cac/dist/index.mjs | 617 + node_modules/cac/index-compat.js | 11 + node_modules/cac/mod.js | 2 + node_modules/cac/mod.ts | 2 + node_modules/cac/package.json | 104 + .../call-bind-apply-helpers/.eslintrc | 17 + .../.github/FUNDING.yml | 12 + node_modules/call-bind-apply-helpers/.nycrc | 9 + .../call-bind-apply-helpers/CHANGELOG.md | 30 + node_modules/call-bind-apply-helpers/LICENSE | 21 + .../call-bind-apply-helpers/README.md | 62 + .../call-bind-apply-helpers/actualApply.d.ts | 1 + .../call-bind-apply-helpers/actualApply.js | 10 + .../call-bind-apply-helpers/applyBind.d.ts | 19 + .../call-bind-apply-helpers/applyBind.js | 10 + .../functionApply.d.ts | 1 + .../call-bind-apply-helpers/functionApply.js | 4 + .../call-bind-apply-helpers/functionCall.d.ts | 1 + .../call-bind-apply-helpers/functionCall.js | 4 + .../call-bind-apply-helpers/index.d.ts | 64 + node_modules/call-bind-apply-helpers/index.js | 15 + .../call-bind-apply-helpers/package.json | 85 + .../call-bind-apply-helpers/reflectApply.d.ts | 3 + .../call-bind-apply-helpers/reflectApply.js | 4 + .../call-bind-apply-helpers/test/index.js | 63 + .../call-bind-apply-helpers/tsconfig.json | 9 + node_modules/call-bound/.eslintrc | 13 + node_modules/call-bound/.github/FUNDING.yml | 12 + node_modules/call-bound/.nycrc | 9 + node_modules/call-bound/CHANGELOG.md | 42 + node_modules/call-bound/LICENSE | 21 + node_modules/call-bound/README.md | 53 + node_modules/call-bound/index.d.ts | 94 + node_modules/call-bound/index.js | 19 + node_modules/call-bound/package.json | 99 + node_modules/call-bound/test/index.js | 61 + node_modules/call-bound/tsconfig.json | 10 + node_modules/chai/.prettierrc.json | 10 + node_modules/chai/CODEOWNERS | 1 + node_modules/chai/CODE_OF_CONDUCT.md | 58 + node_modules/chai/CONTRIBUTING.md | 218 + node_modules/chai/History.md | 1059 + node_modules/chai/LICENSE | 21 + node_modules/chai/README.md | 154 + node_modules/chai/ReleaseNotes.md | 737 + node_modules/chai/chai.js | 4351 ++ node_modules/chai/eslint.config.js | 26 + node_modules/chai/index.js | 1 + node_modules/chai/lib/chai.js | 66 + node_modules/chai/lib/chai/assertion.js | 180 + node_modules/chai/lib/chai/config.js | 112 + node_modules/chai/lib/chai/core/assertions.js | 4157 ++ .../chai/lib/chai/interface/assert.js | 3228 + .../chai/lib/chai/interface/expect.js | 59 + .../chai/lib/chai/interface/should.js | 227 + .../chai/lib/chai/utils/addChainableMethod.js | 146 + .../chai/lib/chai/utils/addLengthGuard.js | 73 + node_modules/chai/lib/chai/utils/addMethod.js | 66 + .../chai/lib/chai/utils/addProperty.js | 70 + .../chai/lib/chai/utils/compareByInspect.js | 26 + .../chai/lib/chai/utils/expectTypes.js | 58 + node_modules/chai/lib/chai/utils/flag.js | 33 + node_modules/chai/lib/chai/utils/getActual.js | 20 + .../chai/lib/chai/utils/getMessage.js | 52 + .../chai/lib/chai/utils/getOperator.js | 58 + .../chai/utils/getOwnEnumerableProperties.js | 24 + .../utils/getOwnEnumerablePropertySymbols.js | 26 + .../chai/lib/chai/utils/getProperties.js | 38 + node_modules/chai/lib/chai/utils/index.js | 118 + node_modules/chai/lib/chai/utils/inspect.js | 31 + node_modules/chai/lib/chai/utils/isNaN.js | 7 + .../chai/lib/chai/utils/isProxyEnabled.js | 26 + .../chai/lib/chai/utils/objDisplay.js | 47 + .../chai/utils/overwriteChainableMethod.js | 69 + .../chai/lib/chai/utils/overwriteMethod.js | 90 + .../chai/lib/chai/utils/overwriteProperty.js | 89 + node_modules/chai/lib/chai/utils/proxify.js | 157 + node_modules/chai/lib/chai/utils/test.js | 24 + .../chai/lib/chai/utils/transferFlags.js | 48 + .../chai/lib/chai/utils/type-detect.js | 20 + node_modules/chai/package.json | 67 + node_modules/chai/register-assert.js | 3 + node_modules/chai/register-expect.js | 3 + node_modules/chai/register-should.js | 3 + node_modules/chai/web-test-runner.config.js | 20 + node_modules/check-error/LICENSE | 19 + node_modules/check-error/README.md | 144 + node_modules/check-error/index.js | 135 + node_modules/check-error/package.json | 66 + node_modules/combined-stream/License | 19 + node_modules/combined-stream/Readme.md | 138 + .../combined-stream/lib/combined_stream.js | 208 + node_modules/combined-stream/package.json | 25 + node_modules/combined-stream/yarn.lock | 17 + node_modules/component-emitter/LICENSE | 24 + node_modules/component-emitter/Readme.md | 74 + node_modules/component-emitter/index.js | 175 + node_modules/component-emitter/package.json | 28 + node_modules/content-disposition/HISTORY.md | 66 + node_modules/content-disposition/LICENSE | 22 + node_modules/content-disposition/README.md | 142 + node_modules/content-disposition/index.js | 459 + node_modules/content-disposition/package.json | 44 + node_modules/content-type/HISTORY.md | 29 + node_modules/content-type/LICENSE | 22 + node_modules/content-type/README.md | 94 + node_modules/content-type/index.js | 225 + node_modules/content-type/package.json | 42 + node_modules/cookie-signature/History.md | 70 + node_modules/cookie-signature/LICENSE | 22 + node_modules/cookie-signature/Readme.md | 23 + node_modules/cookie-signature/index.js | 47 + node_modules/cookie-signature/package.json | 24 + node_modules/cookie/LICENSE | 24 + node_modules/cookie/README.md | 317 + node_modules/cookie/SECURITY.md | 25 + node_modules/cookie/index.js | 335 + node_modules/cookie/package.json | 44 + node_modules/cookiejar/LICENSE | 9 + node_modules/cookiejar/cookiejar.js | 281 + node_modules/cookiejar/package.json | 26 + node_modules/cookiejar/readme.md | 60 + node_modules/debug/LICENSE | 20 + node_modules/debug/README.md | 481 + node_modules/debug/package.json | 64 + node_modules/debug/src/browser.js | 272 + node_modules/debug/src/common.js | 292 + node_modules/debug/src/index.js | 10 + node_modules/debug/src/node.js | 263 + node_modules/deep-eql/LICENSE | 19 + node_modules/deep-eql/README.md | 93 + node_modules/deep-eql/index.js | 513 + node_modules/deep-eql/package.json | 73 + node_modules/delayed-stream/.npmignore | 1 + node_modules/delayed-stream/License | 19 + node_modules/delayed-stream/Makefile | 7 + node_modules/delayed-stream/Readme.md | 141 + .../delayed-stream/lib/delayed_stream.js | 107 + node_modules/delayed-stream/package.json | 27 + node_modules/depd/History.md | 103 + node_modules/depd/LICENSE | 22 + node_modules/depd/Readme.md | 280 + node_modules/depd/index.js | 538 + node_modules/depd/lib/browser/index.js | 77 + node_modules/depd/package.json | 45 + node_modules/dezalgo/LICENSE | 15 + node_modules/dezalgo/README.md | 29 + node_modules/dezalgo/dezalgo.js | 22 + node_modules/dezalgo/package.json | 46 + node_modules/dotenv/CHANGELOG.md | 504 + node_modules/dotenv/LICENSE | 23 + node_modules/dotenv/README-es.md | 430 + node_modules/dotenv/README.md | 652 + node_modules/dotenv/config.d.ts | 1 + node_modules/dotenv/config.js | 9 + node_modules/dotenv/lib/cli-options.js | 11 + node_modules/dotenv/lib/env-options.js | 24 + node_modules/dotenv/lib/main.d.ts | 153 + node_modules/dotenv/lib/main.js | 360 + node_modules/dotenv/package.json | 62 + node_modules/dunder-proto/.eslintrc | 5 + node_modules/dunder-proto/.github/FUNDING.yml | 12 + node_modules/dunder-proto/.nycrc | 13 + node_modules/dunder-proto/CHANGELOG.md | 24 + node_modules/dunder-proto/LICENSE | 21 + node_modules/dunder-proto/README.md | 54 + node_modules/dunder-proto/get.d.ts | 5 + node_modules/dunder-proto/get.js | 30 + node_modules/dunder-proto/package.json | 76 + node_modules/dunder-proto/set.d.ts | 5 + node_modules/dunder-proto/set.js | 35 + node_modules/dunder-proto/test/get.js | 34 + node_modules/dunder-proto/test/index.js | 4 + node_modules/dunder-proto/test/set.js | 50 + node_modules/dunder-proto/tsconfig.json | 9 + node_modules/ee-first/LICENSE | 22 + node_modules/ee-first/README.md | 80 + node_modules/ee-first/index.js | 95 + node_modules/ee-first/package.json | 29 + node_modules/encodeurl/LICENSE | 22 + node_modules/encodeurl/README.md | 109 + node_modules/encodeurl/index.js | 60 + node_modules/encodeurl/package.json | 40 + node_modules/es-define-property/.eslintrc | 13 + .../es-define-property/.github/FUNDING.yml | 12 + node_modules/es-define-property/.nycrc | 9 + node_modules/es-define-property/CHANGELOG.md | 29 + node_modules/es-define-property/LICENSE | 21 + node_modules/es-define-property/README.md | 49 + node_modules/es-define-property/index.d.ts | 3 + node_modules/es-define-property/index.js | 14 + node_modules/es-define-property/package.json | 81 + node_modules/es-define-property/test/index.js | 56 + node_modules/es-define-property/tsconfig.json | 10 + node_modules/es-errors/.eslintrc | 5 + node_modules/es-errors/.github/FUNDING.yml | 12 + node_modules/es-errors/CHANGELOG.md | 40 + node_modules/es-errors/LICENSE | 21 + node_modules/es-errors/README.md | 55 + node_modules/es-errors/eval.d.ts | 3 + node_modules/es-errors/eval.js | 4 + node_modules/es-errors/index.d.ts | 3 + node_modules/es-errors/index.js | 4 + node_modules/es-errors/package.json | 80 + node_modules/es-errors/range.d.ts | 3 + node_modules/es-errors/range.js | 4 + node_modules/es-errors/ref.d.ts | 3 + node_modules/es-errors/ref.js | 4 + node_modules/es-errors/syntax.d.ts | 3 + node_modules/es-errors/syntax.js | 4 + node_modules/es-errors/test/index.js | 19 + node_modules/es-errors/tsconfig.json | 49 + node_modules/es-errors/type.d.ts | 3 + node_modules/es-errors/type.js | 4 + node_modules/es-errors/uri.d.ts | 3 + node_modules/es-errors/uri.js | 4 + node_modules/es-module-lexer/LICENSE | 10 + node_modules/es-module-lexer/README.md | 338 + .../es-module-lexer/dist/lexer.asm.js | 2 + node_modules/es-module-lexer/dist/lexer.cjs | 1 + node_modules/es-module-lexer/dist/lexer.js | 2 + node_modules/es-module-lexer/lexer.js | 925 + node_modules/es-module-lexer/package.json | 57 + node_modules/es-module-lexer/types/lexer.d.ts | 195 + node_modules/es-object-atoms/.eslintrc | 16 + .../es-object-atoms/.github/FUNDING.yml | 12 + node_modules/es-object-atoms/CHANGELOG.md | 37 + node_modules/es-object-atoms/LICENSE | 21 + node_modules/es-object-atoms/README.md | 63 + .../RequireObjectCoercible.d.ts | 3 + .../es-object-atoms/RequireObjectCoercible.js | 11 + node_modules/es-object-atoms/ToObject.d.ts | 7 + node_modules/es-object-atoms/ToObject.js | 10 + node_modules/es-object-atoms/index.d.ts | 3 + node_modules/es-object-atoms/index.js | 4 + node_modules/es-object-atoms/isObject.d.ts | 3 + node_modules/es-object-atoms/isObject.js | 6 + node_modules/es-object-atoms/package.json | 80 + node_modules/es-object-atoms/test/index.js | 38 + node_modules/es-object-atoms/tsconfig.json | 6 + node_modules/es-set-tostringtag/.eslintrc | 13 + node_modules/es-set-tostringtag/.nycrc | 9 + node_modules/es-set-tostringtag/CHANGELOG.md | 67 + node_modules/es-set-tostringtag/LICENSE | 21 + node_modules/es-set-tostringtag/README.md | 53 + node_modules/es-set-tostringtag/index.d.ts | 10 + node_modules/es-set-tostringtag/index.js | 35 + node_modules/es-set-tostringtag/package.json | 78 + node_modules/es-set-tostringtag/test/index.js | 85 + node_modules/es-set-tostringtag/tsconfig.json | 9 + node_modules/esbuild/LICENSE.md | 21 + node_modules/esbuild/README.md | 3 + node_modules/esbuild/bin/esbuild | Bin 0 -> 10268824 bytes node_modules/esbuild/install.js | 287 + node_modules/esbuild/lib/main.d.ts | 711 + node_modules/esbuild/lib/main.js | 2237 + node_modules/esbuild/package.json | 48 + node_modules/escape-html/LICENSE | 24 + node_modules/escape-html/Readme.md | 43 + node_modules/escape-html/index.js | 78 + node_modules/escape-html/package.json | 24 + node_modules/estree-walker/LICENSE | 7 + node_modules/estree-walker/README.md | 48 + node_modules/estree-walker/package.json | 38 + node_modules/estree-walker/src/async.js | 152 + node_modules/estree-walker/src/index.js | 34 + node_modules/estree-walker/src/sync.js | 152 + node_modules/estree-walker/src/walker.js | 61 + node_modules/estree-walker/types/async.d.ts | 36 + node_modules/estree-walker/types/index.d.ts | 32 + node_modules/estree-walker/types/sync.d.ts | 36 + node_modules/estree-walker/types/walker.d.ts | 39 + node_modules/etag/HISTORY.md | 83 + node_modules/etag/LICENSE | 22 + node_modules/etag/README.md | 159 + node_modules/etag/index.js | 131 + node_modules/etag/package.json | 47 + node_modules/expect-type/LICENSE | 191 + node_modules/expect-type/README.md | 925 + node_modules/expect-type/dist/branding.d.ts | 61 + node_modules/expect-type/dist/branding.js | 2 + node_modules/expect-type/dist/index.d.ts | 829 + node_modules/expect-type/dist/index.js | 96 + node_modules/expect-type/dist/messages.d.ts | 155 + node_modules/expect-type/dist/messages.js | 66 + node_modules/expect-type/dist/overloads.d.ts | 288 + node_modules/expect-type/dist/overloads.js | 2 + node_modules/expect-type/dist/utils.d.ts | 197 + node_modules/expect-type/dist/utils.js | 19 + node_modules/expect-type/package.json | 49 + node_modules/express/History.md | 3858 ++ node_modules/express/LICENSE | 24 + node_modules/express/Readme.md | 266 + node_modules/express/index.js | 11 + node_modules/express/lib/application.js | 631 + node_modules/express/lib/express.js | 81 + node_modules/express/lib/request.js | 515 + node_modules/express/lib/response.js | 1039 + node_modules/express/lib/utils.js | 269 + node_modules/express/lib/view.js | 205 + node_modules/express/package.json | 98 + node_modules/fast-safe-stringify/.travis.yml | 8 + node_modules/fast-safe-stringify/CHANGELOG.md | 17 + node_modules/fast-safe-stringify/LICENSE | 23 + node_modules/fast-safe-stringify/benchmark.js | 137 + node_modules/fast-safe-stringify/index.d.ts | 23 + node_modules/fast-safe-stringify/index.js | 229 + node_modules/fast-safe-stringify/package.json | 46 + node_modules/fast-safe-stringify/readme.md | 170 + .../fast-safe-stringify/test-stable.js | 404 + node_modules/fast-safe-stringify/test.js | 397 + node_modules/fdir/LICENSE | 7 + node_modules/fdir/README.md | 91 + node_modules/fdir/dist/api/async.d.ts | 3 + node_modules/fdir/dist/api/async.js | 19 + node_modules/fdir/dist/api/counter.d.ts | 12 + node_modules/fdir/dist/api/counter.js | 27 + .../fdir/dist/api/functions/get-array.d.ts | 3 + .../fdir/dist/api/functions/get-array.js | 13 + .../fdir/dist/api/functions/group-files.d.ts | 3 + .../fdir/dist/api/functions/group-files.js | 11 + .../dist/api/functions/invoke-callback.d.ts | 3 + .../dist/api/functions/invoke-callback.js | 57 + .../fdir/dist/api/functions/join-path.d.ts | 5 + .../fdir/dist/api/functions/join-path.js | 36 + .../dist/api/functions/push-directory.d.ts | 3 + .../fdir/dist/api/functions/push-directory.js | 37 + .../fdir/dist/api/functions/push-file.d.ts | 3 + .../fdir/dist/api/functions/push-file.js | 33 + .../dist/api/functions/resolve-symlink.d.ts | 5 + .../dist/api/functions/resolve-symlink.js | 67 + .../dist/api/functions/walk-directory.d.ts | 5 + .../fdir/dist/api/functions/walk-directory.js | 40 + node_modules/fdir/dist/api/queue.d.ts | 15 + node_modules/fdir/dist/api/queue.js | 29 + node_modules/fdir/dist/api/sync.d.ts | 2 + node_modules/fdir/dist/api/sync.js | 9 + node_modules/fdir/dist/api/walker.d.ts | 18 + node_modules/fdir/dist/api/walker.js | 129 + .../fdir/dist/builder/api-builder.d.ts | 9 + node_modules/fdir/dist/builder/api-builder.js | 23 + node_modules/fdir/dist/builder/index.d.ts | 41 + node_modules/fdir/dist/builder/index.js | 136 + node_modules/fdir/dist/index.cjs | 572 + node_modules/fdir/dist/index.d.cts | 134 + node_modules/fdir/dist/index.d.mts | 134 + node_modules/fdir/dist/index.d.ts | 4 + node_modules/fdir/dist/index.js | 20 + node_modules/fdir/dist/index.mjs | 554 + node_modules/fdir/dist/types.d.ts | 61 + node_modules/fdir/dist/types.js | 2 + node_modules/fdir/dist/utils.d.ts | 9 + node_modules/fdir/dist/utils.js | 37 + node_modules/fdir/package.json | 90 + node_modules/finalhandler/HISTORY.md | 233 + node_modules/finalhandler/LICENSE | 22 + node_modules/finalhandler/README.md | 147 + node_modules/finalhandler/index.js | 293 + node_modules/finalhandler/package.json | 43 + node_modules/form-data/License | 19 + node_modules/form-data/README.md.bak | 355 + node_modules/form-data/Readme.md | 355 + node_modules/form-data/index.d.ts | 62 + node_modules/form-data/lib/browser.js | 4 + node_modules/form-data/lib/form_data.js | 498 + node_modules/form-data/lib/populate.js | 10 + .../form-data/node_modules/mime-db/HISTORY.md | 507 + .../form-data/node_modules/mime-db/LICENSE | 23 + .../form-data/node_modules/mime-db/README.md | 100 + .../form-data/node_modules/mime-db/db.json | 8519 +++ .../form-data/node_modules/mime-db/index.js | 12 + .../node_modules/mime-db/package.json | 60 + .../node_modules/mime-types/HISTORY.md | 397 + .../form-data/node_modules/mime-types/LICENSE | 23 + .../node_modules/mime-types/README.md | 113 + .../node_modules/mime-types/index.js | 188 + .../node_modules/mime-types/package.json | 44 + node_modules/form-data/package.json | 66 + node_modules/formidable/LICENSE | 21 + node_modules/formidable/README.md | 891 + node_modules/formidable/README_pt_BR.md | 839 + .../formidable/dist/helpers/firstValues.cjs | 394 + .../formidable/dist/helpers/readBooleans.cjs | 12 + node_modules/formidable/dist/index.cjs | 1692 + node_modules/formidable/dist/parsers/JSON.cjs | 35 + .../formidable/dist/parsers/Multipart.cjs | 372 + .../formidable/dist/parsers/OctetStream.cjs | 14 + .../formidable/dist/parsers/Querystring.cjs | 38 + .../dist/parsers/StreamingQuerystring.cjs | 131 + node_modules/formidable/package.json | 111 + node_modules/formidable/src/Formidable.js | 685 + .../formidable/src/FormidableError.js | 51 + node_modules/formidable/src/PersistentFile.js | 88 + node_modules/formidable/src/VolatileFile.js | 80 + .../formidable/src/helpers/firstValues.js | 19 + .../formidable/src/helpers/readBooleans.js | 10 + node_modules/formidable/src/index.js | 32 + node_modules/formidable/src/parsers/Dummy.js | 19 + node_modules/formidable/src/parsers/JSON.js | 30 + .../formidable/src/parsers/Multipart.js | 356 + .../formidable/src/parsers/OctetStream.js | 10 + .../formidable/src/parsers/Querystring.js | 33 + .../src/parsers/StreamingQuerystring.js | 117 + node_modules/formidable/src/parsers/index.js | 15 + node_modules/formidable/src/plugins/index.js | 6 + node_modules/formidable/src/plugins/json.js | 39 + .../formidable/src/plugins/multipart.js | 173 + .../formidable/src/plugins/octetstream.js | 84 + .../formidable/src/plugins/querystring.js | 41 + node_modules/forwarded/HISTORY.md | 21 + node_modules/forwarded/LICENSE | 22 + node_modules/forwarded/README.md | 57 + node_modules/forwarded/index.js | 90 + node_modules/forwarded/package.json | 45 + node_modules/fresh/HISTORY.md | 80 + node_modules/fresh/LICENSE | 23 + node_modules/fresh/README.md | 117 + node_modules/fresh/index.js | 136 + node_modules/fresh/package.json | 46 + node_modules/function-bind/.eslintrc | 21 + .../function-bind/.github/FUNDING.yml | 12 + .../function-bind/.github/SECURITY.md | 3 + node_modules/function-bind/.nycrc | 13 + node_modules/function-bind/CHANGELOG.md | 136 + node_modules/function-bind/LICENSE | 20 + node_modules/function-bind/README.md | 46 + node_modules/function-bind/implementation.js | 84 + node_modules/function-bind/index.js | 5 + node_modules/function-bind/package.json | 87 + node_modules/function-bind/test/.eslintrc | 9 + node_modules/function-bind/test/index.js | 252 + node_modules/get-intrinsic/.eslintrc | 42 + .../get-intrinsic/.github/FUNDING.yml | 12 + node_modules/get-intrinsic/.nycrc | 9 + node_modules/get-intrinsic/CHANGELOG.md | 186 + node_modules/get-intrinsic/LICENSE | 21 + node_modules/get-intrinsic/README.md | 71 + node_modules/get-intrinsic/index.js | 378 + node_modules/get-intrinsic/package.json | 97 + .../get-intrinsic/test/GetIntrinsic.js | 274 + node_modules/get-proto/.eslintrc | 10 + node_modules/get-proto/.github/FUNDING.yml | 12 + node_modules/get-proto/.nycrc | 9 + node_modules/get-proto/CHANGELOG.md | 21 + node_modules/get-proto/LICENSE | 21 + .../get-proto/Object.getPrototypeOf.d.ts | 5 + .../get-proto/Object.getPrototypeOf.js | 6 + node_modules/get-proto/README.md | 50 + .../get-proto/Reflect.getPrototypeOf.d.ts | 3 + .../get-proto/Reflect.getPrototypeOf.js | 4 + node_modules/get-proto/index.d.ts | 5 + node_modules/get-proto/index.js | 27 + node_modules/get-proto/package.json | 81 + node_modules/get-proto/test/index.js | 68 + node_modules/get-proto/tsconfig.json | 9 + node_modules/gopd/.eslintrc | 16 + node_modules/gopd/.github/FUNDING.yml | 12 + node_modules/gopd/CHANGELOG.md | 45 + node_modules/gopd/LICENSE | 21 + node_modules/gopd/README.md | 40 + node_modules/gopd/gOPD.d.ts | 1 + node_modules/gopd/gOPD.js | 4 + node_modules/gopd/index.d.ts | 5 + node_modules/gopd/index.js | 15 + node_modules/gopd/package.json | 77 + node_modules/gopd/test/index.js | 36 + node_modules/gopd/tsconfig.json | 9 + node_modules/has-symbols/.eslintrc | 11 + node_modules/has-symbols/.github/FUNDING.yml | 12 + node_modules/has-symbols/.nycrc | 9 + node_modules/has-symbols/CHANGELOG.md | 91 + node_modules/has-symbols/LICENSE | 21 + node_modules/has-symbols/README.md | 46 + node_modules/has-symbols/index.d.ts | 3 + node_modules/has-symbols/index.js | 14 + node_modules/has-symbols/package.json | 111 + node_modules/has-symbols/shams.d.ts | 3 + node_modules/has-symbols/shams.js | 45 + node_modules/has-symbols/test/index.js | 22 + .../has-symbols/test/shams/core-js.js | 29 + .../test/shams/get-own-property-symbols.js | 29 + node_modules/has-symbols/test/tests.js | 58 + node_modules/has-symbols/tsconfig.json | 10 + node_modules/has-tostringtag/.eslintrc | 5 + .../has-tostringtag/.github/FUNDING.yml | 12 + node_modules/has-tostringtag/.nycrc | 13 + node_modules/has-tostringtag/CHANGELOG.md | 42 + node_modules/has-tostringtag/LICENSE | 21 + node_modules/has-tostringtag/README.md | 46 + node_modules/has-tostringtag/index.d.ts | 3 + node_modules/has-tostringtag/index.js | 8 + node_modules/has-tostringtag/package.json | 108 + node_modules/has-tostringtag/shams.d.ts | 3 + node_modules/has-tostringtag/shams.js | 8 + node_modules/has-tostringtag/test/index.js | 21 + .../has-tostringtag/test/shams/core-js.js | 31 + .../test/shams/get-own-property-symbols.js | 30 + node_modules/has-tostringtag/test/tests.js | 15 + node_modules/has-tostringtag/tsconfig.json | 49 + node_modules/hasown/.eslintrc | 5 + node_modules/hasown/.github/FUNDING.yml | 12 + node_modules/hasown/.nycrc | 13 + node_modules/hasown/CHANGELOG.md | 40 + node_modules/hasown/LICENSE | 21 + node_modules/hasown/README.md | 40 + node_modules/hasown/index.d.ts | 3 + node_modules/hasown/index.js | 8 + node_modules/hasown/package.json | 92 + node_modules/hasown/tsconfig.json | 6 + node_modules/http-errors/HISTORY.md | 180 + node_modules/http-errors/LICENSE | 23 + node_modules/http-errors/README.md | 169 + node_modules/http-errors/index.js | 289 + .../node_modules/statuses/HISTORY.md | 82 + .../http-errors/node_modules/statuses/LICENSE | 23 + .../node_modules/statuses/README.md | 136 + .../node_modules/statuses/codes.json | 65 + .../node_modules/statuses/index.js | 146 + .../node_modules/statuses/package.json | 49 + node_modules/http-errors/package.json | 50 + .../iconv-lite/.github/dependabot.yml | 11 + .../iconv-lite/.idea/codeStyles/Project.xml | 47 + .../.idea/codeStyles/codeStyleConfig.xml | 5 + node_modules/iconv-lite/.idea/iconv-lite.iml | 12 + .../inspectionProfiles/Project_Default.xml | 6 + node_modules/iconv-lite/.idea/modules.xml | 8 + node_modules/iconv-lite/.idea/vcs.xml | 6 + node_modules/iconv-lite/Changelog.md | 212 + node_modules/iconv-lite/LICENSE | 21 + node_modules/iconv-lite/README.md | 130 + .../iconv-lite/encodings/dbcs-codec.js | 597 + .../iconv-lite/encodings/dbcs-data.js | 188 + node_modules/iconv-lite/encodings/index.js | 23 + node_modules/iconv-lite/encodings/internal.js | 198 + .../iconv-lite/encodings/sbcs-codec.js | 72 + .../encodings/sbcs-data-generated.js | 451 + .../iconv-lite/encodings/sbcs-data.js | 179 + .../encodings/tables/big5-added.json | 122 + .../iconv-lite/encodings/tables/cp936.json | 264 + .../iconv-lite/encodings/tables/cp949.json | 273 + .../iconv-lite/encodings/tables/cp950.json | 177 + .../iconv-lite/encodings/tables/eucjp.json | 182 + .../encodings/tables/gb18030-ranges.json | 1 + .../encodings/tables/gbk-added.json | 56 + .../iconv-lite/encodings/tables/shiftjis.json | 125 + node_modules/iconv-lite/encodings/utf16.js | 197 + node_modules/iconv-lite/encodings/utf32.js | 319 + node_modules/iconv-lite/encodings/utf7.js | 290 + node_modules/iconv-lite/lib/bom-handling.js | 52 + node_modules/iconv-lite/lib/index.d.ts | 41 + node_modules/iconv-lite/lib/index.js | 180 + node_modules/iconv-lite/lib/streams.js | 109 + node_modules/iconv-lite/package.json | 44 + node_modules/inherits/LICENSE | 16 + node_modules/inherits/README.md | 42 + node_modules/inherits/inherits.js | 9 + node_modules/inherits/inherits_browser.js | 27 + node_modules/inherits/package.json | 29 + node_modules/ipaddr.js/LICENSE | 19 + node_modules/ipaddr.js/README.md | 233 + node_modules/ipaddr.js/ipaddr.min.js | 1 + node_modules/ipaddr.js/lib/ipaddr.js | 673 + node_modules/ipaddr.js/lib/ipaddr.js.d.ts | 68 + node_modules/ipaddr.js/package.json | 35 + node_modules/is-promise/LICENSE | 19 + node_modules/is-promise/index.d.ts | 2 + node_modules/is-promise/index.js | 6 + node_modules/is-promise/index.mjs | 3 + node_modules/is-promise/package.json | 30 + node_modules/is-promise/readme.md | 33 + node_modules/js-tokens/LICENSE | 21 + node_modules/js-tokens/README.md | 14 + node_modules/js-tokens/index.d.ts | 37 + node_modules/js-tokens/index.js | 396 + node_modules/js-tokens/package.json | 22 + node_modules/loupe/LICENSE | 9 + node_modules/loupe/README.md | 63 + node_modules/loupe/lib/arguments.d.ts | 3 + node_modules/loupe/lib/arguments.d.ts.map | 1 + node_modules/loupe/lib/arguments.js | 7 + node_modules/loupe/lib/array.d.ts | 3 + node_modules/loupe/lib/array.d.ts.map | 1 + node_modules/loupe/lib/array.js | 16 + node_modules/loupe/lib/bigint.d.ts | 3 + node_modules/loupe/lib/bigint.d.ts.map | 1 + node_modules/loupe/lib/bigint.js | 7 + node_modules/loupe/lib/class.d.ts | 5 + node_modules/loupe/lib/class.d.ts.map | 1 + node_modules/loupe/lib/class.js | 15 + node_modules/loupe/lib/date.d.ts | 3 + node_modules/loupe/lib/date.d.ts.map | 1 + node_modules/loupe/lib/date.js | 11 + node_modules/loupe/lib/error.d.ts | 3 + node_modules/loupe/lib/error.d.ts.map | 1 + node_modules/loupe/lib/error.js | 35 + node_modules/loupe/lib/function.d.ts | 7 + node_modules/loupe/lib/function.d.ts.map | 1 + node_modules/loupe/lib/function.js | 9 + node_modules/loupe/lib/helpers.d.ts | 7 + node_modules/loupe/lib/helpers.d.ts.map | 1 + node_modules/loupe/lib/helpers.js | 159 + node_modules/loupe/lib/html.d.ts | 5 + node_modules/loupe/lib/html.d.ts.map | 1 + node_modules/loupe/lib/html.js | 34 + node_modules/loupe/lib/index.d.ts | 7 + node_modules/loupe/lib/index.d.ts.map | 1 + node_modules/loupe/lib/index.js | 161 + node_modules/loupe/lib/map.d.ts | 3 + node_modules/loupe/lib/map.d.ts.map | 1 + node_modules/loupe/lib/map.js | 22 + node_modules/loupe/lib/number.d.ts | 3 + node_modules/loupe/lib/number.d.ts.map | 1 + node_modules/loupe/lib/number.js | 17 + node_modules/loupe/lib/object.d.ts | 3 + node_modules/loupe/lib/object.d.ts.map | 1 + node_modules/loupe/lib/object.js | 22 + node_modules/loupe/lib/promise.d.ts | 5 + node_modules/loupe/lib/promise.d.ts.map | 1 + node_modules/loupe/lib/promise.js | 18 + node_modules/loupe/lib/regexp.d.ts | 3 + node_modules/loupe/lib/regexp.d.ts.map | 1 + node_modules/loupe/lib/regexp.js | 7 + node_modules/loupe/lib/set.d.ts | 3 + node_modules/loupe/lib/set.d.ts.map | 1 + node_modules/loupe/lib/set.js | 15 + node_modules/loupe/lib/string.d.ts | 3 + node_modules/loupe/lib/string.d.ts.map | 1 + node_modules/loupe/lib/string.js | 24 + node_modules/loupe/lib/symbol.d.ts | 2 + node_modules/loupe/lib/symbol.d.ts.map | 1 + node_modules/loupe/lib/symbol.js | 6 + node_modules/loupe/lib/typedarray.d.ts | 5 + node_modules/loupe/lib/typedarray.d.ts.map | 1 + node_modules/loupe/lib/typedarray.js | 38 + node_modules/loupe/lib/types.d.ts | 15 + node_modules/loupe/lib/types.d.ts.map | 1 + node_modules/loupe/lib/types.js | 1 + node_modules/loupe/loupe.js | 640 + node_modules/loupe/package.json | 73 + node_modules/magic-string/LICENSE | 7 + node_modules/magic-string/README.md | 324 + .../magic-string/dist/magic-string.cjs.d.ts | 289 + .../magic-string/dist/magic-string.cjs.js | 1575 + .../magic-string/dist/magic-string.cjs.js.map | 1 + .../magic-string/dist/magic-string.es.d.mts | 289 + .../magic-string/dist/magic-string.es.mjs | 1569 + .../magic-string/dist/magic-string.es.mjs.map | 1 + .../magic-string/dist/magic-string.umd.js | 1672 + .../magic-string/dist/magic-string.umd.js.map | 1 + node_modules/magic-string/package.json | 63 + node_modules/math-intrinsics/.eslintrc | 16 + .../math-intrinsics/.github/FUNDING.yml | 12 + node_modules/math-intrinsics/CHANGELOG.md | 24 + node_modules/math-intrinsics/LICENSE | 21 + node_modules/math-intrinsics/README.md | 50 + node_modules/math-intrinsics/abs.d.ts | 1 + node_modules/math-intrinsics/abs.js | 4 + .../constants/maxArrayLength.d.ts | 3 + .../constants/maxArrayLength.js | 4 + .../constants/maxSafeInteger.d.ts | 3 + .../constants/maxSafeInteger.js | 5 + .../math-intrinsics/constants/maxValue.d.ts | 3 + .../math-intrinsics/constants/maxValue.js | 5 + node_modules/math-intrinsics/floor.d.ts | 1 + node_modules/math-intrinsics/floor.js | 4 + node_modules/math-intrinsics/isFinite.d.ts | 3 + node_modules/math-intrinsics/isFinite.js | 12 + node_modules/math-intrinsics/isInteger.d.ts | 3 + node_modules/math-intrinsics/isInteger.js | 16 + node_modules/math-intrinsics/isNaN.d.ts | 1 + node_modules/math-intrinsics/isNaN.js | 6 + .../math-intrinsics/isNegativeZero.d.ts | 3 + .../math-intrinsics/isNegativeZero.js | 6 + node_modules/math-intrinsics/max.d.ts | 1 + node_modules/math-intrinsics/max.js | 4 + node_modules/math-intrinsics/min.d.ts | 1 + node_modules/math-intrinsics/min.js | 4 + node_modules/math-intrinsics/mod.d.ts | 3 + node_modules/math-intrinsics/mod.js | 9 + node_modules/math-intrinsics/package.json | 86 + node_modules/math-intrinsics/pow.d.ts | 1 + node_modules/math-intrinsics/pow.js | 4 + node_modules/math-intrinsics/round.d.ts | 1 + node_modules/math-intrinsics/round.js | 4 + node_modules/math-intrinsics/sign.d.ts | 3 + node_modules/math-intrinsics/sign.js | 11 + node_modules/math-intrinsics/test/index.js | 192 + node_modules/math-intrinsics/tsconfig.json | 3 + node_modules/media-typer/HISTORY.md | 50 + node_modules/media-typer/LICENSE | 22 + node_modules/media-typer/README.md | 93 + node_modules/media-typer/index.js | 143 + node_modules/media-typer/package.json | 33 + node_modules/merge-descriptors/index.d.ts | 11 + node_modules/merge-descriptors/index.js | 26 + node_modules/merge-descriptors/license | 11 + node_modules/merge-descriptors/package.json | 50 + node_modules/merge-descriptors/readme.md | 55 + node_modules/methods/HISTORY.md | 29 + node_modules/methods/LICENSE | 24 + node_modules/methods/README.md | 51 + node_modules/methods/index.js | 69 + node_modules/methods/package.json | 36 + node_modules/mime-db/HISTORY.md | 541 + node_modules/mime-db/LICENSE | 23 + node_modules/mime-db/README.md | 109 + node_modules/mime-db/db.json | 9342 +++ node_modules/mime-db/index.js | 12 + node_modules/mime-db/package.json | 56 + node_modules/mime-types/HISTORY.md | 421 + node_modules/mime-types/LICENSE | 23 + node_modules/mime-types/README.md | 126 + node_modules/mime-types/index.js | 211 + node_modules/mime-types/mimeScore.js | 52 + node_modules/mime-types/package.json | 45 + node_modules/mime/CHANGELOG.md | 296 + node_modules/mime/LICENSE | 21 + node_modules/mime/Mime.js | 97 + node_modules/mime/README.md | 187 + node_modules/mime/cli.js | 46 + node_modules/mime/index.js | 4 + node_modules/mime/lite.js | 4 + node_modules/mime/package.json | 52 + node_modules/mime/types/other.js | 1 + node_modules/mime/types/standard.js | 1 + node_modules/ms/index.js | 162 + node_modules/ms/license.md | 21 + node_modules/ms/package.json | 38 + node_modules/ms/readme.md | 59 + node_modules/nanoid/LICENSE | 20 + node_modules/nanoid/README.md | 39 + node_modules/nanoid/async/index.browser.cjs | 69 + node_modules/nanoid/async/index.browser.js | 34 + node_modules/nanoid/async/index.cjs | 71 + node_modules/nanoid/async/index.d.ts | 56 + node_modules/nanoid/async/index.js | 35 + node_modules/nanoid/async/index.native.js | 26 + node_modules/nanoid/async/package.json | 12 + node_modules/nanoid/bin/nanoid.cjs | 55 + node_modules/nanoid/index.browser.cjs | 72 + node_modules/nanoid/index.browser.js | 34 + node_modules/nanoid/index.cjs | 85 + node_modules/nanoid/index.d.cts | 91 + node_modules/nanoid/index.d.ts | 91 + node_modules/nanoid/index.js | 45 + node_modules/nanoid/nanoid.js | 1 + node_modules/nanoid/non-secure/index.cjs | 34 + node_modules/nanoid/non-secure/index.d.ts | 33 + node_modules/nanoid/non-secure/index.js | 21 + node_modules/nanoid/non-secure/package.json | 6 + node_modules/nanoid/package.json | 89 + node_modules/nanoid/url-alphabet/index.cjs | 7 + node_modules/nanoid/url-alphabet/index.js | 3 + node_modules/nanoid/url-alphabet/package.json | 6 + node_modules/negotiator/HISTORY.md | 114 + node_modules/negotiator/LICENSE | 24 + node_modules/negotiator/README.md | 212 + node_modules/negotiator/index.js | 83 + node_modules/negotiator/lib/charset.js | 169 + node_modules/negotiator/lib/encoding.js | 205 + node_modules/negotiator/lib/language.js | 179 + node_modules/negotiator/lib/mediaType.js | 294 + node_modules/negotiator/package.json | 43 + node_modules/object-inspect/.eslintrc | 53 + .../object-inspect/.github/FUNDING.yml | 12 + node_modules/object-inspect/.nycrc | 13 + node_modules/object-inspect/CHANGELOG.md | 424 + node_modules/object-inspect/LICENSE | 21 + node_modules/object-inspect/example/all.js | 23 + .../object-inspect/example/circular.js | 6 + node_modules/object-inspect/example/fn.js | 5 + .../object-inspect/example/inspect.js | 10 + node_modules/object-inspect/index.js | 544 + .../object-inspect/package-support.json | 20 + node_modules/object-inspect/package.json | 105 + node_modules/object-inspect/readme.markdown | 84 + node_modules/object-inspect/test-core-js.js | 26 + node_modules/object-inspect/test/bigint.js | 58 + .../object-inspect/test/browser/dom.js | 15 + node_modules/object-inspect/test/circular.js | 16 + node_modules/object-inspect/test/deep.js | 12 + node_modules/object-inspect/test/element.js | 53 + node_modules/object-inspect/test/err.js | 48 + node_modules/object-inspect/test/fakes.js | 29 + node_modules/object-inspect/test/fn.js | 76 + node_modules/object-inspect/test/global.js | 17 + node_modules/object-inspect/test/has.js | 15 + node_modules/object-inspect/test/holes.js | 15 + .../object-inspect/test/indent-option.js | 271 + node_modules/object-inspect/test/inspect.js | 139 + node_modules/object-inspect/test/lowbyte.js | 12 + node_modules/object-inspect/test/number.js | 58 + .../object-inspect/test/quoteStyle.js | 26 + .../object-inspect/test/toStringTag.js | 40 + node_modules/object-inspect/test/undef.js | 12 + node_modules/object-inspect/test/values.js | 261 + node_modules/object-inspect/util.inspect.js | 1 + node_modules/on-finished/HISTORY.md | 98 + node_modules/on-finished/LICENSE | 23 + node_modules/on-finished/README.md | 162 + node_modules/on-finished/index.js | 234 + node_modules/on-finished/package.json | 39 + node_modules/once/LICENSE | 15 + node_modules/once/README.md | 79 + node_modules/once/once.js | 42 + node_modules/once/package.json | 33 + node_modules/parseurl/HISTORY.md | 58 + node_modules/parseurl/LICENSE | 24 + node_modules/parseurl/README.md | 133 + node_modules/parseurl/index.js | 158 + node_modules/parseurl/package.json | 40 + node_modules/path-to-regexp/LICENSE | 21 + node_modules/path-to-regexp/Readme.md | 216 + node_modules/path-to-regexp/dist/index.d.ts | 136 + node_modules/path-to-regexp/dist/index.js | 403 + node_modules/path-to-regexp/dist/index.js.map | 1 + node_modules/path-to-regexp/package.json | 62 + node_modules/pathe/LICENSE | 70 + node_modules/pathe/README.md | 73 + node_modules/pathe/dist/index.cjs | 39 + node_modules/pathe/dist/index.d.cts | 47 + node_modules/pathe/dist/index.d.mts | 47 + node_modules/pathe/dist/index.d.ts | 47 + node_modules/pathe/dist/index.mjs | 19 + .../pathe/dist/shared/pathe.BSlhyZSM.cjs | 266 + .../pathe/dist/shared/pathe.M-eThtNZ.mjs | 249 + node_modules/pathe/dist/utils.cjs | 82 + node_modules/pathe/dist/utils.d.cts | 32 + node_modules/pathe/dist/utils.d.mts | 32 + node_modules/pathe/dist/utils.d.ts | 32 + node_modules/pathe/dist/utils.mjs | 77 + node_modules/pathe/package.json | 61 + node_modules/pathe/utils.d.ts | 1 + node_modules/pathval/LICENSE | 16 + node_modules/pathval/README.md | 147 + node_modules/pathval/index.js | 292 + node_modules/pathval/package.json | 73 + node_modules/pathval/pathval.js | 1 + node_modules/picocolors/LICENSE | 15 + node_modules/picocolors/README.md | 21 + node_modules/picocolors/package.json | 25 + node_modules/picocolors/picocolors.browser.js | 4 + node_modules/picocolors/picocolors.d.ts | 5 + node_modules/picocolors/picocolors.js | 75 + node_modules/picocolors/types.d.ts | 51 + node_modules/picomatch/LICENSE | 21 + node_modules/picomatch/README.md | 738 + node_modules/picomatch/index.js | 17 + node_modules/picomatch/lib/constants.js | 179 + node_modules/picomatch/lib/parse.js | 1085 + node_modules/picomatch/lib/picomatch.js | 341 + node_modules/picomatch/lib/scan.js | 391 + node_modules/picomatch/lib/utils.js | 72 + node_modules/picomatch/package.json | 83 + node_modules/picomatch/posix.js | 3 + node_modules/postcss/LICENSE | 20 + node_modules/postcss/README.md | 29 + node_modules/postcss/lib/at-rule.d.ts | 140 + node_modules/postcss/lib/at-rule.js | 25 + node_modules/postcss/lib/comment.d.ts | 68 + node_modules/postcss/lib/comment.js | 13 + node_modules/postcss/lib/container.d.ts | 480 + node_modules/postcss/lib/container.js | 447 + .../postcss/lib/css-syntax-error.d.ts | 248 + node_modules/postcss/lib/css-syntax-error.js | 133 + node_modules/postcss/lib/declaration.d.ts | 151 + node_modules/postcss/lib/declaration.js | 24 + node_modules/postcss/lib/document.d.ts | 69 + node_modules/postcss/lib/document.js | 33 + node_modules/postcss/lib/fromJSON.d.ts | 9 + node_modules/postcss/lib/fromJSON.js | 54 + node_modules/postcss/lib/input.d.ts | 227 + node_modules/postcss/lib/input.js | 265 + node_modules/postcss/lib/lazy-result.d.ts | 190 + node_modules/postcss/lib/lazy-result.js | 550 + node_modules/postcss/lib/list.d.ts | 60 + node_modules/postcss/lib/list.js | 58 + node_modules/postcss/lib/map-generator.js | 368 + node_modules/postcss/lib/no-work-result.d.ts | 46 + node_modules/postcss/lib/no-work-result.js | 138 + node_modules/postcss/lib/node.d.ts | 556 + node_modules/postcss/lib/node.js | 449 + node_modules/postcss/lib/parse.d.ts | 9 + node_modules/postcss/lib/parse.js | 42 + node_modules/postcss/lib/parser.js | 611 + node_modules/postcss/lib/postcss.d.mts | 69 + node_modules/postcss/lib/postcss.d.ts | 458 + node_modules/postcss/lib/postcss.js | 101 + node_modules/postcss/lib/postcss.mjs | 30 + node_modules/postcss/lib/previous-map.d.ts | 81 + node_modules/postcss/lib/previous-map.js | 144 + node_modules/postcss/lib/processor.d.ts | 115 + node_modules/postcss/lib/processor.js | 67 + node_modules/postcss/lib/result.d.ts | 205 + node_modules/postcss/lib/result.js | 42 + node_modules/postcss/lib/root.d.ts | 87 + node_modules/postcss/lib/root.js | 61 + node_modules/postcss/lib/rule.d.ts | 126 + node_modules/postcss/lib/rule.js | 27 + node_modules/postcss/lib/stringifier.d.ts | 46 + node_modules/postcss/lib/stringifier.js | 353 + node_modules/postcss/lib/stringify.d.ts | 9 + node_modules/postcss/lib/stringify.js | 11 + node_modules/postcss/lib/symbols.js | 5 + .../postcss/lib/terminal-highlight.js | 70 + node_modules/postcss/lib/tokenize.js | 266 + node_modules/postcss/lib/warn-once.js | 13 + node_modules/postcss/lib/warning.d.ts | 147 + node_modules/postcss/lib/warning.js | 37 + node_modules/postcss/package.json | 88 + node_modules/proxy-addr/HISTORY.md | 161 + node_modules/proxy-addr/LICENSE | 22 + node_modules/proxy-addr/README.md | 139 + node_modules/proxy-addr/index.js | 327 + node_modules/proxy-addr/package.json | 47 + node_modules/qs/.editorconfig | 46 + node_modules/qs/.eslintrc | 39 + node_modules/qs/.github/FUNDING.yml | 12 + node_modules/qs/.nycrc | 13 + node_modules/qs/CHANGELOG.md | 622 + node_modules/qs/LICENSE.md | 29 + node_modules/qs/README.md | 733 + node_modules/qs/dist/qs.js | 141 + node_modules/qs/lib/formats.js | 23 + node_modules/qs/lib/index.js | 11 + node_modules/qs/lib/parse.js | 328 + node_modules/qs/lib/stringify.js | 356 + node_modules/qs/lib/utils.js | 268 + node_modules/qs/package.json | 93 + node_modules/qs/test/empty-keys-cases.js | 267 + node_modules/qs/test/parse.js | 1276 + node_modules/qs/test/stringify.js | 1306 + node_modules/qs/test/utils.js | 262 + node_modules/range-parser/HISTORY.md | 56 + node_modules/range-parser/LICENSE | 23 + node_modules/range-parser/README.md | 84 + node_modules/range-parser/index.js | 162 + node_modules/range-parser/package.json | 44 + node_modules/raw-body/HISTORY.md | 325 + node_modules/raw-body/LICENSE | 22 + node_modules/raw-body/README.md | 223 + node_modules/raw-body/SECURITY.md | 24 + node_modules/raw-body/index.d.ts | 85 + node_modules/raw-body/index.js | 336 + node_modules/raw-body/package.json | 50 + node_modules/rollup/LICENSE.md | 681 + node_modules/rollup/README.md | 134 + node_modules/rollup/dist/bin/rollup | 1884 + node_modules/rollup/dist/es/getLogFilter.js | 64 + node_modules/rollup/dist/es/package.json | 1 + node_modules/rollup/dist/es/parseAst.js | 12 + node_modules/rollup/dist/es/rollup.js | 17 + .../rollup/dist/es/shared/node-entry.js | 23759 ++++++++ .../rollup/dist/es/shared/parseAst.js | 2077 + node_modules/rollup/dist/es/shared/watch.js | 9297 +++ node_modules/rollup/dist/getLogFilter.d.ts | 5 + node_modules/rollup/dist/getLogFilter.js | 69 + node_modules/rollup/dist/loadConfigFile.d.ts | 20 + node_modules/rollup/dist/loadConfigFile.js | 29 + node_modules/rollup/dist/native.js | 110 + node_modules/rollup/dist/parseAst.d.ts | 4 + node_modules/rollup/dist/parseAst.js | 22 + node_modules/rollup/dist/rollup.d.ts | 1181 + node_modules/rollup/dist/rollup.js | 127 + .../rollup/dist/shared/fsevents-importer.js | 37 + node_modules/rollup/dist/shared/index.js | 9003 +++ .../rollup/dist/shared/loadConfigFile.js | 560 + node_modules/rollup/dist/shared/parseAst.js | 2309 + node_modules/rollup/dist/shared/rollup.js | 23681 ++++++++ node_modules/rollup/dist/shared/watch-cli.js | 542 + node_modules/rollup/dist/shared/watch.js | 324 + .../rollup/node_modules/@types/estree/LICENSE | 21 + .../node_modules/@types/estree/README.md | 15 + .../node_modules/@types/estree/flow.d.ts | 167 + .../node_modules/@types/estree/index.d.ts | 694 + .../node_modules/@types/estree/package.json | 27 + node_modules/rollup/package.json | 270 + node_modules/router/HISTORY.md | 228 + node_modules/router/LICENSE | 23 + node_modules/router/README.md | 416 + node_modules/router/index.js | 748 + node_modules/router/lib/layer.js | 247 + node_modules/router/lib/route.js | 242 + node_modules/router/package.json | 44 + node_modules/safe-buffer/LICENSE | 21 + node_modules/safe-buffer/README.md | 584 + node_modules/safe-buffer/index.d.ts | 187 + node_modules/safe-buffer/index.js | 65 + node_modules/safe-buffer/package.json | 51 + node_modules/safer-buffer/LICENSE | 21 + node_modules/safer-buffer/Porting-Buffer.md | 268 + node_modules/safer-buffer/Readme.md | 156 + node_modules/safer-buffer/dangerous.js | 58 + node_modules/safer-buffer/package.json | 34 + node_modules/safer-buffer/safer.js | 77 + node_modules/safer-buffer/tests.js | 406 + node_modules/send/HISTORY.md | 580 + node_modules/send/LICENSE | 23 + node_modules/send/README.md | 317 + node_modules/send/index.js | 997 + node_modules/send/package.json | 60 + node_modules/serve-static/HISTORY.md | 516 + node_modules/serve-static/LICENSE | 25 + node_modules/serve-static/README.md | 253 + node_modules/serve-static/index.js | 208 + node_modules/serve-static/package.json | 41 + node_modules/setprototypeof/LICENSE | 13 + node_modules/setprototypeof/README.md | 31 + node_modules/setprototypeof/index.d.ts | 2 + node_modules/setprototypeof/index.js | 17 + node_modules/setprototypeof/package.json | 38 + node_modules/setprototypeof/test/index.js | 24 + node_modules/side-channel-list/.editorconfig | 9 + node_modules/side-channel-list/.eslintrc | 11 + .../side-channel-list/.github/FUNDING.yml | 12 + node_modules/side-channel-list/.nycrc | 13 + node_modules/side-channel-list/CHANGELOG.md | 15 + node_modules/side-channel-list/LICENSE | 21 + node_modules/side-channel-list/README.md | 62 + node_modules/side-channel-list/index.d.ts | 13 + node_modules/side-channel-list/index.js | 113 + node_modules/side-channel-list/list.d.ts | 14 + node_modules/side-channel-list/package.json | 77 + node_modules/side-channel-list/test/index.js | 104 + node_modules/side-channel-list/tsconfig.json | 9 + node_modules/side-channel-map/.editorconfig | 9 + node_modules/side-channel-map/.eslintrc | 11 + .../side-channel-map/.github/FUNDING.yml | 12 + node_modules/side-channel-map/.nycrc | 13 + node_modules/side-channel-map/CHANGELOG.md | 22 + node_modules/side-channel-map/LICENSE | 21 + node_modules/side-channel-map/README.md | 62 + node_modules/side-channel-map/index.d.ts | 15 + node_modules/side-channel-map/index.js | 68 + node_modules/side-channel-map/package.json | 80 + node_modules/side-channel-map/test/index.js | 114 + node_modules/side-channel-map/tsconfig.json | 9 + .../side-channel-weakmap/.editorconfig | 9 + node_modules/side-channel-weakmap/.eslintrc | 12 + .../side-channel-weakmap/.github/FUNDING.yml | 12 + node_modules/side-channel-weakmap/.nycrc | 13 + .../side-channel-weakmap/CHANGELOG.md | 28 + node_modules/side-channel-weakmap/LICENSE | 21 + node_modules/side-channel-weakmap/README.md | 62 + node_modules/side-channel-weakmap/index.d.ts | 15 + node_modules/side-channel-weakmap/index.js | 84 + .../side-channel-weakmap/package.json | 87 + .../side-channel-weakmap/test/index.js | 114 + .../side-channel-weakmap/tsconfig.json | 9 + node_modules/side-channel/.editorconfig | 9 + node_modules/side-channel/.eslintrc | 12 + node_modules/side-channel/.github/FUNDING.yml | 12 + node_modules/side-channel/.nycrc | 13 + node_modules/side-channel/CHANGELOG.md | 110 + node_modules/side-channel/LICENSE | 21 + node_modules/side-channel/README.md | 61 + node_modules/side-channel/index.d.ts | 14 + node_modules/side-channel/index.js | 43 + node_modules/side-channel/package.json | 85 + node_modules/side-channel/test/index.js | 104 + node_modules/side-channel/tsconfig.json | 9 + node_modules/siginfo/.travis.yml | 13 + node_modules/siginfo/LICENSE | 13 + node_modules/siginfo/README.md | 47 + node_modules/siginfo/index.js | 20 + node_modules/siginfo/package.json | 32 + node_modules/siginfo/test.js | 16 + node_modules/source-map-js/LICENSE | 28 + node_modules/source-map-js/README.md | 765 + node_modules/source-map-js/lib/array-set.js | 121 + node_modules/source-map-js/lib/base64-vlq.js | 140 + node_modules/source-map-js/lib/base64.js | 67 + .../source-map-js/lib/binary-search.js | 111 + .../source-map-js/lib/mapping-list.js | 79 + node_modules/source-map-js/lib/quick-sort.js | 132 + .../lib/source-map-consumer.d.ts | 1 + .../source-map-js/lib/source-map-consumer.js | 1188 + .../lib/source-map-generator.d.ts | 1 + .../source-map-js/lib/source-map-generator.js | 444 + .../source-map-js/lib/source-node.d.ts | 1 + node_modules/source-map-js/lib/source-node.js | 413 + node_modules/source-map-js/lib/util.js | 594 + node_modules/source-map-js/package.json | 71 + node_modules/source-map-js/source-map.d.ts | 104 + node_modules/source-map-js/source-map.js | 8 + node_modules/stackback/.npmignore | 1 + node_modules/stackback/.travis.yml | 4 + node_modules/stackback/README.md | 41 + node_modules/stackback/formatstack.js | 57 + node_modules/stackback/index.js | 46 + node_modules/stackback/package.json | 23 + node_modules/stackback/test.js | 24 + node_modules/statuses/HISTORY.md | 87 + node_modules/statuses/LICENSE | 23 + node_modules/statuses/README.md | 139 + node_modules/statuses/codes.json | 65 + node_modules/statuses/index.js | 146 + node_modules/statuses/package.json | 49 + node_modules/std-env/LICENCE | 22 + node_modules/std-env/README.md | 118 + node_modules/std-env/dist/index.cjs | 1 + node_modules/std-env/dist/index.d.cts | 92 + node_modules/std-env/dist/index.d.mts | 92 + node_modules/std-env/dist/index.d.ts | 92 + node_modules/std-env/dist/index.mjs | 1 + node_modules/std-env/package.json | 46 + node_modules/strip-literal/LICENSE | 21 + node_modules/strip-literal/README.md | 29 + node_modules/strip-literal/dist/index.cjs | 88 + node_modules/strip-literal/dist/index.d.cts | 35 + node_modules/strip-literal/dist/index.d.mts | 35 + node_modules/strip-literal/dist/index.d.ts | 35 + node_modules/strip-literal/dist/index.mjs | 80 + node_modules/strip-literal/package.json | 60 + node_modules/superagent/LICENSE | 22 + node_modules/superagent/README.md | 273 + node_modules/superagent/dist/superagent.js | 3399 ++ .../superagent/dist/superagent.min.js | 1 + node_modules/superagent/lib/agent-base.js | 28 + node_modules/superagent/lib/client.js | 949 + node_modules/superagent/lib/node/agent.js | 100 + .../superagent/lib/node/decompress.js | 20 + .../superagent/lib/node/http2wrapper.js | 158 + node_modules/superagent/lib/node/index.js | 1318 + .../superagent/lib/node/parsers/image.js | 13 + .../superagent/lib/node/parsers/index.js | 11 + .../superagent/lib/node/parsers/json.js | 25 + .../superagent/lib/node/parsers/text.js | 11 + .../superagent/lib/node/parsers/urlencoded.js | 22 + node_modules/superagent/lib/node/response.js | 143 + node_modules/superagent/lib/node/unzip.js | 74 + node_modules/superagent/lib/request-base.js | 720 + node_modules/superagent/lib/response-base.js | 120 + node_modules/superagent/lib/utils.js | 126 + node_modules/superagent/package.json | 131 + node_modules/supertest/LICENSE | 22 + node_modules/supertest/README.md | 338 + node_modules/supertest/index.js | 61 + node_modules/supertest/lib/agent.js | 89 + node_modules/supertest/lib/test.js | 361 + node_modules/supertest/package.json | 55 + node_modules/tinybench/LICENSE | 21 + node_modules/tinybench/README.md | 422 + node_modules/tinybench/dist/index.cjs | 585 + node_modules/tinybench/dist/index.d.cts | 319 + node_modules/tinybench/dist/index.d.ts | 319 + node_modules/tinybench/dist/index.js | 560 + node_modules/tinybench/package.json | 27 + node_modules/tinyexec/LICENSE | 21 + node_modules/tinyexec/README.md | 256 + node_modules/tinyexec/dist/main.cjs | 575 + node_modules/tinyexec/dist/main.d.cts | 70 + node_modules/tinyexec/dist/main.d.ts | 70 + node_modules/tinyexec/dist/main.js | 578 + node_modules/tinyexec/package.json | 66 + node_modules/tinyglobby/LICENSE | 21 + node_modules/tinyglobby/README.md | 72 + node_modules/tinyglobby/dist/index.d.mts | 46 + node_modules/tinyglobby/dist/index.d.ts | 46 + node_modules/tinyglobby/dist/index.js | 267 + node_modules/tinyglobby/dist/index.mjs | 240 + node_modules/tinyglobby/package.json | 65 + node_modules/tinypool/LICENSE | 24 + node_modules/tinypool/README.md | 20 + node_modules/tinypool/dist/common-Qw-RoVFD.js | 28 + node_modules/tinypool/dist/entry/process.d.ts | 1 + node_modules/tinypool/dist/entry/process.js | 72 + node_modules/tinypool/dist/entry/utils.d.ts | 7 + node_modules/tinypool/dist/entry/utils.js | 3 + node_modules/tinypool/dist/entry/worker.d.ts | 1 + node_modules/tinypool/dist/entry/worker.js | 75 + node_modules/tinypool/dist/index.d.ts | 195 + node_modules/tinypool/dist/index.js | 816 + node_modules/tinypool/dist/utils-B--2TaWv.js | 38 + node_modules/tinypool/dist/utils-De75vAgL.js | 10 + node_modules/tinypool/package.json | 42 + node_modules/tinyrainbow/LICENCE | 21 + node_modules/tinyrainbow/README.md | 28 + node_modules/tinyrainbow/dist/browser.d.ts | 8 + node_modules/tinyrainbow/dist/browser.js | 20 + .../tinyrainbow/dist/chunk-BVHSVHOK.js | 90 + .../tinyrainbow/dist/index-8b61d5bc.d.ts | 59 + node_modules/tinyrainbow/dist/node.d.ts | 8 + node_modules/tinyrainbow/dist/node.js | 22 + node_modules/tinyrainbow/package.json | 37 + node_modules/tinyspy/LICENCE | 21 + node_modules/tinyspy/README.md | 11 + node_modules/tinyspy/dist/index.d.ts | 84 + node_modules/tinyspy/dist/index.js | 202 + node_modules/tinyspy/package.json | 37 + node_modules/toidentifier/HISTORY.md | 9 + node_modules/toidentifier/LICENSE | 21 + node_modules/toidentifier/README.md | 61 + node_modules/toidentifier/index.js | 32 + node_modules/toidentifier/package.json | 38 + node_modules/type-is/HISTORY.md | 292 + node_modules/type-is/LICENSE | 23 + node_modules/type-is/README.md | 198 + node_modules/type-is/index.js | 250 + node_modules/type-is/package.json | 47 + node_modules/unpipe/HISTORY.md | 4 + node_modules/unpipe/LICENSE | 22 + node_modules/unpipe/README.md | 43 + node_modules/unpipe/index.js | 69 + node_modules/unpipe/package.json | 27 + node_modules/vary/HISTORY.md | 39 + node_modules/vary/LICENSE | 22 + node_modules/vary/README.md | 101 + node_modules/vary/index.js | 149 + node_modules/vary/package.json | 43 + node_modules/vite-node/LICENSE | 21 + node_modules/vite-node/README.md | 191 + node_modules/vite-node/dist/chunk-browser.cjs | 83 + node_modules/vite-node/dist/chunk-browser.mjs | 81 + node_modules/vite-node/dist/chunk-hmr.cjs | 249 + node_modules/vite-node/dist/chunk-hmr.mjs | 241 + node_modules/vite-node/dist/cli.cjs | 135 + node_modules/vite-node/dist/cli.d.ts | 19 + node_modules/vite-node/dist/cli.mjs | 133 + node_modules/vite-node/dist/client.cjs | 511 + node_modules/vite-node/dist/client.d.ts | 2 + node_modules/vite-node/dist/client.mjs | 507 + node_modules/vite-node/dist/constants.cjs | 36 + node_modules/vite-node/dist/constants.d.ts | 5 + node_modules/vite-node/dist/constants.mjs | 32 + node_modules/vite-node/dist/hmr.cjs | 21 + node_modules/vite-node/dist/hmr.d.ts | 58 + node_modules/vite-node/dist/hmr.mjs | 9 + node_modules/vite-node/dist/index.cjs | 2 + .../vite-node/dist/index.d-DGmxD2U7.d.ts | 363 + node_modules/vite-node/dist/index.d.ts | 2 + node_modules/vite-node/dist/index.mjs | 1 + node_modules/vite-node/dist/server.cjs | 440 + node_modules/vite-node/dist/server.d.ts | 58 + node_modules/vite-node/dist/server.mjs | 417 + node_modules/vite-node/dist/source-map.cjs | 977 + node_modules/vite-node/dist/source-map.d.ts | 15 + node_modules/vite-node/dist/source-map.mjs | 973 + .../dist/trace-mapping.d-DLVdEqOp.d.ts | 57 + node_modules/vite-node/dist/types.cjs | 2 + node_modules/vite-node/dist/types.d.ts | 2 + node_modules/vite-node/dist/types.mjs | 1 + node_modules/vite-node/dist/utils.cjs | 216 + node_modules/vite-node/dist/utils.d.ts | 32 + node_modules/vite-node/dist/utils.mjs | 198 + node_modules/vite-node/package.json | 96 + node_modules/vite-node/vite-node.mjs | 2 + node_modules/vite/LICENSE.md | 2406 + node_modules/vite/README.md | 20 + node_modules/vite/bin/openChrome.applescript | 95 + node_modules/vite/bin/vite.js | 79 + node_modules/vite/client.d.ts | 279 + node_modules/vite/dist/client/client.mjs | 1134 + node_modules/vite/dist/client/env.mjs | 24 + .../vite/dist/node-cjs/publicUtils.cjs | 3986 ++ .../vite/dist/node/chunks/dep-3RmXg9uo.js | 553 + .../vite/dist/node/chunks/dep-AiMcmC_f.js | 822 + .../vite/dist/node/chunks/dep-CvfTChi5.js | 8218 +++ .../vite/dist/node/chunks/dep-DBxKXgDP.js | 49496 ++++++++++++++++ .../vite/dist/node/chunks/dep-SgSik2vo.js | 7113 +++ node_modules/vite/dist/node/cli.js | 949 + node_modules/vite/dist/node/constants.js | 149 + node_modules/vite/dist/node/index.d.ts | 4222 ++ node_modules/vite/dist/node/index.js | 194 + .../vite/dist/node/module-runner.d.ts | 290 + node_modules/vite/dist/node/module-runner.js | 1311 + .../moduleRunnerTransport.d-DJ_mE5sf.d.ts | 87 + node_modules/vite/index.cjs | 96 + node_modules/vite/index.d.cts | 6 + node_modules/vite/misc/false.js | 1 + node_modules/vite/misc/true.js | 1 + node_modules/vite/package.json | 204 + node_modules/vite/types/customEvent.d.ts | 45 + node_modules/vite/types/hmrPayload.d.ts | 74 + node_modules/vite/types/hot.d.ts | 39 + node_modules/vite/types/import-meta.d.ts | 5 + node_modules/vite/types/importGlob.d.ts | 75 + node_modules/vite/types/importMeta.d.ts | 31 + .../internal/cssPreprocessorOptions.d.ts | 63 + .../types/internal/lightningcssOptions.d.ts | 18 + node_modules/vite/types/metadata.d.ts | 35 + node_modules/vite/types/package.json | 4 + node_modules/vitest/LICENSE.md | 707 + node_modules/vitest/README.md | 7 + node_modules/vitest/browser.d.ts | 1 + node_modules/vitest/config.d.ts | 3 + node_modules/vitest/coverage.d.ts | 1 + node_modules/vitest/dist/browser.d.ts | 34 + node_modules/vitest/dist/browser.js | 8 + .../dist/chunks/_commonjsHelpers.BFTU3MAI.js | 7 + .../vitest/dist/chunks/base.Cg0miDlQ.js | 38 + .../vitest/dist/chunks/benchmark.CYdenmiT.js | 37 + .../dist/chunks/benchmark.d.BwvBVTda.d.ts | 24 + .../vitest/dist/chunks/cac.Cs_fZ7zn.js | 1466 + .../vitest/dist/chunks/cli-api.C37Ou0i1.js | 10648 ++++ .../vitest/dist/chunks/config.d.D2ROskhv.d.ts | 220 + .../vitest/dist/chunks/console.CtFJOzRO.js | 153 + .../vitest/dist/chunks/constants.DnKduX2e.js | 44 + .../vitest/dist/chunks/coverage.D1a3dTnj.js | 4339 ++ .../vitest/dist/chunks/coverage.DVF1vEu8.js | 25 + .../dist/chunks/coverage.d.S9RMNXIe.d.ts | 35 + .../vitest/dist/chunks/creator.GK6I-cL4.js | 640 + .../vitest/dist/chunks/date.Bq6ZW5rf.js | 73 + .../vitest/dist/chunks/defaults.B7q_naMc.js | 115 + .../vitest/dist/chunks/env.D4Lgay0q.js | 8 + .../dist/chunks/environment.d.cL3nLXbE.d.ts | 119 + .../vitest/dist/chunks/execute.B7h3T_Hc.js | 708 + .../vitest/dist/chunks/git.BVQ8w_Sw.js | 72 + .../vitest/dist/chunks/global.d.MAmajcmJ.d.ts | 136 + .../vitest/dist/chunks/globals.DEHgCU4V.js | 26 + .../vitest/dist/chunks/index.BbB8_kAK.js | 105 + .../vitest/dist/chunks/index.CJ0plNrh.js | 155 + .../vitest/dist/chunks/index.CSxmp_dI.js | 231 + .../vitest/dist/chunks/index.CX5aIIXH.js | 2180 + .../vitest/dist/chunks/index.CdQS2e2Q.js | 37 + .../vitest/dist/chunks/index.CmSc2RE5.js | 587 + .../vitest/dist/chunks/index.D3XRDfWc.js | 213 + .../vitest/dist/chunks/index.X0nbfr6-.js | 6584 ++ .../vitest/dist/chunks/inspector.C914Efll.js | 57 + .../vitest/dist/chunks/mocker.d.BE_2ls6u.d.ts | 17 + .../vitest/dist/chunks/node.fjCdwEIl.js | 15 + .../dist/chunks/reporters.d.DL9pg5DB.d.ts | 3154 + .../vitest/dist/chunks/rpc.Iovn4oWe.js | 83 + .../dist/chunks/runBaseTests.Dd85QTll.js | 129 + .../dist/chunks/setup-common.Dd054P77.js | 60 + .../vitest/dist/chunks/suite.d.FvehnV49.d.ts | 10 + .../dist/chunks/typechecker.DRKU1-1g.js | 874 + .../vitest/dist/chunks/utils.CAioKnHs.js | 61 + .../vitest/dist/chunks/utils.XdZDrNZV.js | 65 + .../vitest/dist/chunks/vi.bdSIJ99Y.js | 4015 ++ .../vitest/dist/chunks/vite.d.CtvOcEqC.d.ts | 25 + .../vitest/dist/chunks/vm.BThCzidc.js | 756 + .../vitest/dist/chunks/worker.d.DvqK5Vmu.d.ts | 8 + .../vitest/dist/chunks/worker.d.tQu2eJQy.d.ts | 175 + node_modules/vitest/dist/cli.js | 27 + node_modules/vitest/dist/config.cjs | 148 + node_modules/vitest/dist/config.d.ts | 100 + node_modules/vitest/dist/config.js | 21 + node_modules/vitest/dist/coverage.d.ts | 108 + node_modules/vitest/dist/coverage.js | 34 + node_modules/vitest/dist/environments.d.ts | 26 + node_modules/vitest/dist/environments.js | 2 + node_modules/vitest/dist/execute.d.ts | 150 + node_modules/vitest/dist/execute.js | 13 + node_modules/vitest/dist/index.d.ts | 651 + node_modules/vitest/dist/index.js | 18 + node_modules/vitest/dist/mocker.d.ts | 1 + node_modules/vitest/dist/mocker.js | 1 + node_modules/vitest/dist/node.d.ts | 158 + node_modules/vitest/dist/node.js | 105 + node_modules/vitest/dist/path.js | 7 + node_modules/vitest/dist/reporters.d.ts | 25 + node_modules/vitest/dist/reporters.js | 23 + node_modules/vitest/dist/runners.d.ts | 46 + node_modules/vitest/dist/runners.js | 235 + node_modules/vitest/dist/snapshot.d.ts | 9 + node_modules/vitest/dist/snapshot.js | 4 + node_modules/vitest/dist/spy.js | 1 + node_modules/vitest/dist/suite.d.ts | 5 + node_modules/vitest/dist/suite.js | 5 + node_modules/vitest/dist/worker.js | 124 + node_modules/vitest/dist/workers.d.ts | 40 + node_modules/vitest/dist/workers.js | 30 + node_modules/vitest/dist/workers/forks.js | 43 + .../vitest/dist/workers/runVmTests.js | 90 + node_modules/vitest/dist/workers/threads.js | 31 + node_modules/vitest/dist/workers/vmForks.js | 47 + node_modules/vitest/dist/workers/vmThreads.js | 37 + node_modules/vitest/environments.d.ts | 1 + node_modules/vitest/execute.d.ts | 1 + node_modules/vitest/globals.d.ts | 20 + node_modules/vitest/import-meta.d.ts | 5 + node_modules/vitest/importMeta.d.ts | 4 + node_modules/vitest/index.cjs | 5 + node_modules/vitest/index.d.cts | 1 + node_modules/vitest/jsdom.d.ts | 6 + node_modules/vitest/mocker.d.ts | 1 + node_modules/vitest/node.d.ts | 1 + node_modules/vitest/optional-types.d.ts | 7 + node_modules/vitest/package.json | 207 + node_modules/vitest/reporters.d.ts | 1 + node_modules/vitest/runners.d.ts | 1 + node_modules/vitest/snapshot.d.ts | 1 + node_modules/vitest/suite.d.ts | 1 + node_modules/vitest/suppress-warnings.cjs | 21 + node_modules/vitest/utils.d.ts | 1 + node_modules/vitest/vitest.mjs | 2 + node_modules/vitest/workers.d.ts | 1 + .../why-is-node-running/.github/FUNDING.yml | 1 + node_modules/why-is-node-running/LICENSE | 21 + node_modules/why-is-node-running/README.md | 104 + node_modules/why-is-node-running/cli.js | 18 + node_modules/why-is-node-running/example.js | 15 + node_modules/why-is-node-running/include.js | 3 + node_modules/why-is-node-running/index.js | 67 + node_modules/why-is-node-running/package.json | 39 + node_modules/wrappy/LICENSE | 15 + node_modules/wrappy/README.md | 36 + node_modules/wrappy/package.json | 29 + node_modules/wrappy/wrappy.js | 33 + package-lock.json | 2536 + package.json | 14 + 1844 files changed, 422447 insertions(+) create mode 120000 node_modules/.bin/esbuild create mode 120000 node_modules/.bin/mime create mode 120000 node_modules/.bin/nanoid create mode 120000 node_modules/.bin/rollup create mode 120000 node_modules/.bin/vite create mode 120000 node_modules/.bin/vite-node create mode 120000 node_modules/.bin/vitest create mode 120000 node_modules/.bin/why-is-node-running create mode 100644 node_modules/.package-lock.json create mode 100644 node_modules/@esbuild/linux-x64/README.md create mode 100755 node_modules/@esbuild/linux-x64/bin/esbuild create mode 100644 node_modules/@esbuild/linux-x64/package.json create mode 100644 node_modules/@jridgewell/sourcemap-codec/LICENSE create mode 100644 node_modules/@jridgewell/sourcemap-codec/README.md create mode 100644 node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs create mode 100644 node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map create mode 100644 node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js create mode 100644 node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map create mode 100644 node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts create mode 100644 node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts create mode 100644 node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts create mode 100644 node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts create mode 100644 node_modules/@jridgewell/sourcemap-codec/package.json create mode 100644 node_modules/@noble/hashes/LICENSE create mode 100644 node_modules/@noble/hashes/README.md create mode 100644 node_modules/@noble/hashes/_assert.d.ts create mode 100644 node_modules/@noble/hashes/_assert.d.ts.map create mode 100644 node_modules/@noble/hashes/_assert.js create mode 100644 node_modules/@noble/hashes/_assert.js.map create mode 100644 node_modules/@noble/hashes/_blake.d.ts create mode 100644 node_modules/@noble/hashes/_blake.d.ts.map create mode 100644 node_modules/@noble/hashes/_blake.js create mode 100644 node_modules/@noble/hashes/_blake.js.map create mode 100644 node_modules/@noble/hashes/_md.d.ts create mode 100644 node_modules/@noble/hashes/_md.d.ts.map create mode 100644 node_modules/@noble/hashes/_md.js create mode 100644 node_modules/@noble/hashes/_md.js.map create mode 100644 node_modules/@noble/hashes/_u64.d.ts create mode 100644 node_modules/@noble/hashes/_u64.d.ts.map create mode 100644 node_modules/@noble/hashes/_u64.js create mode 100644 node_modules/@noble/hashes/_u64.js.map create mode 100644 node_modules/@noble/hashes/argon2.d.ts create mode 100644 node_modules/@noble/hashes/argon2.d.ts.map create mode 100644 node_modules/@noble/hashes/argon2.js create mode 100644 node_modules/@noble/hashes/argon2.js.map create mode 100644 node_modules/@noble/hashes/blake1.d.ts create mode 100644 node_modules/@noble/hashes/blake1.d.ts.map create mode 100644 node_modules/@noble/hashes/blake1.js create mode 100644 node_modules/@noble/hashes/blake1.js.map create mode 100644 node_modules/@noble/hashes/blake2.d.ts create mode 100644 node_modules/@noble/hashes/blake2.d.ts.map create mode 100644 node_modules/@noble/hashes/blake2.js create mode 100644 node_modules/@noble/hashes/blake2.js.map create mode 100644 node_modules/@noble/hashes/blake2b.d.ts create mode 100644 node_modules/@noble/hashes/blake2b.d.ts.map create mode 100644 node_modules/@noble/hashes/blake2b.js create mode 100644 node_modules/@noble/hashes/blake2b.js.map create mode 100644 node_modules/@noble/hashes/blake2s.d.ts create mode 100644 node_modules/@noble/hashes/blake2s.d.ts.map create mode 100644 node_modules/@noble/hashes/blake2s.js create mode 100644 node_modules/@noble/hashes/blake2s.js.map create mode 100644 node_modules/@noble/hashes/blake3.d.ts create mode 100644 node_modules/@noble/hashes/blake3.d.ts.map create mode 100644 node_modules/@noble/hashes/blake3.js create mode 100644 node_modules/@noble/hashes/blake3.js.map create mode 100644 node_modules/@noble/hashes/crypto.d.ts create mode 100644 node_modules/@noble/hashes/crypto.d.ts.map create mode 100644 node_modules/@noble/hashes/crypto.js create mode 100644 node_modules/@noble/hashes/crypto.js.map create mode 100644 node_modules/@noble/hashes/cryptoNode.d.ts create mode 100644 node_modules/@noble/hashes/cryptoNode.d.ts.map create mode 100644 node_modules/@noble/hashes/cryptoNode.js create mode 100644 node_modules/@noble/hashes/cryptoNode.js.map create mode 100644 node_modules/@noble/hashes/eskdf.d.ts create mode 100644 node_modules/@noble/hashes/eskdf.d.ts.map create mode 100644 node_modules/@noble/hashes/eskdf.js create mode 100644 node_modules/@noble/hashes/eskdf.js.map create mode 100644 node_modules/@noble/hashes/esm/_assert.d.ts create mode 100644 node_modules/@noble/hashes/esm/_assert.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/_assert.js create mode 100644 node_modules/@noble/hashes/esm/_assert.js.map create mode 100644 node_modules/@noble/hashes/esm/_blake.d.ts create mode 100644 node_modules/@noble/hashes/esm/_blake.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/_blake.js create mode 100644 node_modules/@noble/hashes/esm/_blake.js.map create mode 100644 node_modules/@noble/hashes/esm/_md.d.ts create mode 100644 node_modules/@noble/hashes/esm/_md.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/_md.js create mode 100644 node_modules/@noble/hashes/esm/_md.js.map create mode 100644 node_modules/@noble/hashes/esm/_u64.d.ts create mode 100644 node_modules/@noble/hashes/esm/_u64.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/_u64.js create mode 100644 node_modules/@noble/hashes/esm/_u64.js.map create mode 100644 node_modules/@noble/hashes/esm/argon2.d.ts create mode 100644 node_modules/@noble/hashes/esm/argon2.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/argon2.js create mode 100644 node_modules/@noble/hashes/esm/argon2.js.map create mode 100644 node_modules/@noble/hashes/esm/blake1.d.ts create mode 100644 node_modules/@noble/hashes/esm/blake1.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/blake1.js create mode 100644 node_modules/@noble/hashes/esm/blake1.js.map create mode 100644 node_modules/@noble/hashes/esm/blake2.d.ts create mode 100644 node_modules/@noble/hashes/esm/blake2.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/blake2.js create mode 100644 node_modules/@noble/hashes/esm/blake2.js.map create mode 100644 node_modules/@noble/hashes/esm/blake2b.d.ts create mode 100644 node_modules/@noble/hashes/esm/blake2b.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/blake2b.js create mode 100644 node_modules/@noble/hashes/esm/blake2b.js.map create mode 100644 node_modules/@noble/hashes/esm/blake2s.d.ts create mode 100644 node_modules/@noble/hashes/esm/blake2s.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/blake2s.js create mode 100644 node_modules/@noble/hashes/esm/blake2s.js.map create mode 100644 node_modules/@noble/hashes/esm/blake3.d.ts create mode 100644 node_modules/@noble/hashes/esm/blake3.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/blake3.js create mode 100644 node_modules/@noble/hashes/esm/blake3.js.map create mode 100644 node_modules/@noble/hashes/esm/crypto.d.ts create mode 100644 node_modules/@noble/hashes/esm/crypto.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/crypto.js create mode 100644 node_modules/@noble/hashes/esm/crypto.js.map create mode 100644 node_modules/@noble/hashes/esm/cryptoNode.d.ts create mode 100644 node_modules/@noble/hashes/esm/cryptoNode.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/cryptoNode.js create mode 100644 node_modules/@noble/hashes/esm/cryptoNode.js.map create mode 100644 node_modules/@noble/hashes/esm/eskdf.d.ts create mode 100644 node_modules/@noble/hashes/esm/eskdf.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/eskdf.js create mode 100644 node_modules/@noble/hashes/esm/eskdf.js.map create mode 100644 node_modules/@noble/hashes/esm/hkdf.d.ts create mode 100644 node_modules/@noble/hashes/esm/hkdf.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/hkdf.js create mode 100644 node_modules/@noble/hashes/esm/hkdf.js.map create mode 100644 node_modules/@noble/hashes/esm/hmac.d.ts create mode 100644 node_modules/@noble/hashes/esm/hmac.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/hmac.js create mode 100644 node_modules/@noble/hashes/esm/hmac.js.map create mode 100644 node_modules/@noble/hashes/esm/index.d.ts create mode 100644 node_modules/@noble/hashes/esm/index.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/index.js create mode 100644 node_modules/@noble/hashes/esm/index.js.map create mode 100644 node_modules/@noble/hashes/esm/legacy.d.ts create mode 100644 node_modules/@noble/hashes/esm/legacy.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/legacy.js create mode 100644 node_modules/@noble/hashes/esm/legacy.js.map create mode 100644 node_modules/@noble/hashes/esm/package.json create mode 100644 node_modules/@noble/hashes/esm/pbkdf2.d.ts create mode 100644 node_modules/@noble/hashes/esm/pbkdf2.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/pbkdf2.js create mode 100644 node_modules/@noble/hashes/esm/pbkdf2.js.map create mode 100644 node_modules/@noble/hashes/esm/ripemd160.d.ts create mode 100644 node_modules/@noble/hashes/esm/ripemd160.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/ripemd160.js create mode 100644 node_modules/@noble/hashes/esm/ripemd160.js.map create mode 100644 node_modules/@noble/hashes/esm/scrypt.d.ts create mode 100644 node_modules/@noble/hashes/esm/scrypt.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/scrypt.js create mode 100644 node_modules/@noble/hashes/esm/scrypt.js.map create mode 100644 node_modules/@noble/hashes/esm/sha1.d.ts create mode 100644 node_modules/@noble/hashes/esm/sha1.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/sha1.js create mode 100644 node_modules/@noble/hashes/esm/sha1.js.map create mode 100644 node_modules/@noble/hashes/esm/sha2.d.ts create mode 100644 node_modules/@noble/hashes/esm/sha2.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/sha2.js create mode 100644 node_modules/@noble/hashes/esm/sha2.js.map create mode 100644 node_modules/@noble/hashes/esm/sha256.d.ts create mode 100644 node_modules/@noble/hashes/esm/sha256.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/sha256.js create mode 100644 node_modules/@noble/hashes/esm/sha256.js.map create mode 100644 node_modules/@noble/hashes/esm/sha3-addons.d.ts create mode 100644 node_modules/@noble/hashes/esm/sha3-addons.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/sha3-addons.js create mode 100644 node_modules/@noble/hashes/esm/sha3-addons.js.map create mode 100644 node_modules/@noble/hashes/esm/sha3.d.ts create mode 100644 node_modules/@noble/hashes/esm/sha3.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/sha3.js create mode 100644 node_modules/@noble/hashes/esm/sha3.js.map create mode 100644 node_modules/@noble/hashes/esm/sha512.d.ts create mode 100644 node_modules/@noble/hashes/esm/sha512.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/sha512.js create mode 100644 node_modules/@noble/hashes/esm/sha512.js.map create mode 100644 node_modules/@noble/hashes/esm/utils.d.ts create mode 100644 node_modules/@noble/hashes/esm/utils.d.ts.map create mode 100644 node_modules/@noble/hashes/esm/utils.js create mode 100644 node_modules/@noble/hashes/esm/utils.js.map create mode 100644 node_modules/@noble/hashes/hkdf.d.ts create mode 100644 node_modules/@noble/hashes/hkdf.d.ts.map create mode 100644 node_modules/@noble/hashes/hkdf.js create mode 100644 node_modules/@noble/hashes/hkdf.js.map create mode 100644 node_modules/@noble/hashes/hmac.d.ts create mode 100644 node_modules/@noble/hashes/hmac.d.ts.map create mode 100644 node_modules/@noble/hashes/hmac.js create mode 100644 node_modules/@noble/hashes/hmac.js.map create mode 100644 node_modules/@noble/hashes/index.d.ts create mode 100644 node_modules/@noble/hashes/index.d.ts.map create mode 100644 node_modules/@noble/hashes/index.js create mode 100644 node_modules/@noble/hashes/index.js.map create mode 100644 node_modules/@noble/hashes/legacy.d.ts create mode 100644 node_modules/@noble/hashes/legacy.d.ts.map create mode 100644 node_modules/@noble/hashes/legacy.js create mode 100644 node_modules/@noble/hashes/legacy.js.map create mode 100644 node_modules/@noble/hashes/package.json create mode 100644 node_modules/@noble/hashes/pbkdf2.d.ts create mode 100644 node_modules/@noble/hashes/pbkdf2.d.ts.map create mode 100644 node_modules/@noble/hashes/pbkdf2.js create mode 100644 node_modules/@noble/hashes/pbkdf2.js.map create mode 100644 node_modules/@noble/hashes/ripemd160.d.ts create mode 100644 node_modules/@noble/hashes/ripemd160.d.ts.map create mode 100644 node_modules/@noble/hashes/ripemd160.js create mode 100644 node_modules/@noble/hashes/ripemd160.js.map create mode 100644 node_modules/@noble/hashes/scrypt.d.ts create mode 100644 node_modules/@noble/hashes/scrypt.d.ts.map create mode 100644 node_modules/@noble/hashes/scrypt.js create mode 100644 node_modules/@noble/hashes/scrypt.js.map create mode 100644 node_modules/@noble/hashes/sha1.d.ts create mode 100644 node_modules/@noble/hashes/sha1.d.ts.map create mode 100644 node_modules/@noble/hashes/sha1.js create mode 100644 node_modules/@noble/hashes/sha1.js.map create mode 100644 node_modules/@noble/hashes/sha2.d.ts create mode 100644 node_modules/@noble/hashes/sha2.d.ts.map create mode 100644 node_modules/@noble/hashes/sha2.js create mode 100644 node_modules/@noble/hashes/sha2.js.map create mode 100644 node_modules/@noble/hashes/sha256.d.ts create mode 100644 node_modules/@noble/hashes/sha256.d.ts.map create mode 100644 node_modules/@noble/hashes/sha256.js create mode 100644 node_modules/@noble/hashes/sha256.js.map create mode 100644 node_modules/@noble/hashes/sha3-addons.d.ts create mode 100644 node_modules/@noble/hashes/sha3-addons.d.ts.map create mode 100644 node_modules/@noble/hashes/sha3-addons.js create mode 100644 node_modules/@noble/hashes/sha3-addons.js.map create mode 100644 node_modules/@noble/hashes/sha3.d.ts create mode 100644 node_modules/@noble/hashes/sha3.d.ts.map create mode 100644 node_modules/@noble/hashes/sha3.js create mode 100644 node_modules/@noble/hashes/sha3.js.map create mode 100644 node_modules/@noble/hashes/sha512.d.ts create mode 100644 node_modules/@noble/hashes/sha512.d.ts.map create mode 100644 node_modules/@noble/hashes/sha512.js create mode 100644 node_modules/@noble/hashes/sha512.js.map create mode 100644 node_modules/@noble/hashes/src/_assert.ts create mode 100644 node_modules/@noble/hashes/src/_blake.ts create mode 100644 node_modules/@noble/hashes/src/_md.ts create mode 100644 node_modules/@noble/hashes/src/_u64.ts create mode 100644 node_modules/@noble/hashes/src/argon2.ts create mode 100644 node_modules/@noble/hashes/src/blake1.ts create mode 100644 node_modules/@noble/hashes/src/blake2.ts create mode 100644 node_modules/@noble/hashes/src/blake2b.ts create mode 100644 node_modules/@noble/hashes/src/blake2s.ts create mode 100644 node_modules/@noble/hashes/src/blake3.ts create mode 100644 node_modules/@noble/hashes/src/crypto.ts create mode 100644 node_modules/@noble/hashes/src/cryptoNode.ts create mode 100644 node_modules/@noble/hashes/src/eskdf.ts create mode 100644 node_modules/@noble/hashes/src/hkdf.ts create mode 100644 node_modules/@noble/hashes/src/hmac.ts create mode 100644 node_modules/@noble/hashes/src/index.ts create mode 100644 node_modules/@noble/hashes/src/legacy.ts create mode 100644 node_modules/@noble/hashes/src/pbkdf2.ts create mode 100644 node_modules/@noble/hashes/src/ripemd160.ts create mode 100644 node_modules/@noble/hashes/src/scrypt.ts create mode 100644 node_modules/@noble/hashes/src/sha1.ts create mode 100644 node_modules/@noble/hashes/src/sha2.ts create mode 100644 node_modules/@noble/hashes/src/sha256.ts create mode 100644 node_modules/@noble/hashes/src/sha3-addons.ts create mode 100644 node_modules/@noble/hashes/src/sha3.ts create mode 100644 node_modules/@noble/hashes/src/sha512.ts create mode 100644 node_modules/@noble/hashes/src/utils.ts create mode 100644 node_modules/@noble/hashes/utils.d.ts create mode 100644 node_modules/@noble/hashes/utils.d.ts.map create mode 100644 node_modules/@noble/hashes/utils.js create mode 100644 node_modules/@noble/hashes/utils.js.map create mode 100644 node_modules/@paralleldrive/cuid2/LICENSE create mode 100644 node_modules/@paralleldrive/cuid2/README.md create mode 100644 node_modules/@paralleldrive/cuid2/index.d.ts create mode 100644 node_modules/@paralleldrive/cuid2/index.js create mode 100644 node_modules/@paralleldrive/cuid2/package.json create mode 100644 node_modules/@paralleldrive/cuid2/src/index.js create mode 100644 node_modules/@rollup/rollup-linux-x64-gnu/README.md create mode 100644 node_modules/@rollup/rollup-linux-x64-gnu/package.json create mode 100644 node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node create mode 100644 node_modules/@rollup/rollup-linux-x64-musl/README.md create mode 100644 node_modules/@rollup/rollup-linux-x64-musl/package.json create mode 100644 node_modules/@rollup/rollup-linux-x64-musl/rollup.linux-x64-musl.node create mode 100644 node_modules/@types/chai/LICENSE create mode 100644 node_modules/@types/chai/README.md create mode 100644 node_modules/@types/chai/index.d.ts create mode 100644 node_modules/@types/chai/package.json create mode 100644 node_modules/@types/chai/register-should.d.ts create mode 100644 node_modules/@types/deep-eql/LICENSE create mode 100644 node_modules/@types/deep-eql/README.md create mode 100644 node_modules/@types/deep-eql/index.d.ts create mode 100644 node_modules/@types/deep-eql/package.json create mode 100644 node_modules/@types/estree/LICENSE create mode 100644 node_modules/@types/estree/README.md create mode 100644 node_modules/@types/estree/flow.d.ts create mode 100644 node_modules/@types/estree/index.d.ts create mode 100644 node_modules/@types/estree/package.json create mode 100644 node_modules/@vitest/expect/LICENSE create mode 100644 node_modules/@vitest/expect/README.md create mode 100644 node_modules/@vitest/expect/dist/index.d.ts create mode 100644 node_modules/@vitest/expect/dist/index.js create mode 100644 node_modules/@vitest/expect/package.json create mode 100644 node_modules/@vitest/mocker/LICENSE create mode 100644 node_modules/@vitest/mocker/README.md create mode 100644 node_modules/@vitest/mocker/dist/auto-register.d.ts create mode 100644 node_modules/@vitest/mocker/dist/auto-register.js create mode 100644 node_modules/@vitest/mocker/dist/browser.d.ts create mode 100644 node_modules/@vitest/mocker/dist/browser.js create mode 100644 node_modules/@vitest/mocker/dist/chunk-interceptor-native.js create mode 100644 node_modules/@vitest/mocker/dist/chunk-mocker.js create mode 100644 node_modules/@vitest/mocker/dist/chunk-pathe.M-eThtNZ.js create mode 100644 node_modules/@vitest/mocker/dist/chunk-registry.js create mode 100644 node_modules/@vitest/mocker/dist/chunk-utils.js create mode 100644 node_modules/@vitest/mocker/dist/index.d.ts create mode 100644 node_modules/@vitest/mocker/dist/index.js create mode 100644 node_modules/@vitest/mocker/dist/mocker.d-Ce9_ySj5.d.ts create mode 100644 node_modules/@vitest/mocker/dist/node.d.ts create mode 100644 node_modules/@vitest/mocker/dist/node.js create mode 100644 node_modules/@vitest/mocker/dist/redirect.d.ts create mode 100644 node_modules/@vitest/mocker/dist/redirect.js create mode 100644 node_modules/@vitest/mocker/dist/register.d.ts create mode 100644 node_modules/@vitest/mocker/dist/register.js create mode 100644 node_modules/@vitest/mocker/dist/registry.d-D765pazg.d.ts create mode 100644 node_modules/@vitest/mocker/dist/types.d-D_aRZRdy.d.ts create mode 100644 node_modules/@vitest/mocker/package.json create mode 100644 node_modules/@vitest/pretty-format/LICENSE create mode 100644 node_modules/@vitest/pretty-format/dist/index.d.ts create mode 100644 node_modules/@vitest/pretty-format/dist/index.js create mode 100644 node_modules/@vitest/pretty-format/package.json create mode 100644 node_modules/@vitest/runner/LICENSE create mode 100644 node_modules/@vitest/runner/README.md create mode 100644 node_modules/@vitest/runner/dist/chunk-hooks.js create mode 100644 node_modules/@vitest/runner/dist/index.d.ts create mode 100644 node_modules/@vitest/runner/dist/index.js create mode 100644 node_modules/@vitest/runner/dist/tasks.d-CkscK4of.d.ts create mode 100644 node_modules/@vitest/runner/dist/types.d.ts create mode 100644 node_modules/@vitest/runner/dist/types.js create mode 100644 node_modules/@vitest/runner/dist/utils.d.ts create mode 100644 node_modules/@vitest/runner/dist/utils.js create mode 100644 node_modules/@vitest/runner/package.json create mode 100644 node_modules/@vitest/runner/types.d.ts create mode 100644 node_modules/@vitest/runner/utils.d.ts create mode 100644 node_modules/@vitest/snapshot/LICENSE create mode 100644 node_modules/@vitest/snapshot/README.md create mode 100644 node_modules/@vitest/snapshot/dist/environment.d-DHdQ1Csl.d.ts create mode 100644 node_modules/@vitest/snapshot/dist/environment.d.ts create mode 100644 node_modules/@vitest/snapshot/dist/environment.js create mode 100644 node_modules/@vitest/snapshot/dist/index.d.ts create mode 100644 node_modules/@vitest/snapshot/dist/index.js create mode 100644 node_modules/@vitest/snapshot/dist/manager.d.ts create mode 100644 node_modules/@vitest/snapshot/dist/manager.js create mode 100644 node_modules/@vitest/snapshot/dist/rawSnapshot.d-lFsMJFUd.d.ts create mode 100644 node_modules/@vitest/snapshot/environment.d.ts create mode 100644 node_modules/@vitest/snapshot/manager.d.ts create mode 100644 node_modules/@vitest/snapshot/package.json create mode 100644 node_modules/@vitest/spy/LICENSE create mode 100644 node_modules/@vitest/spy/README.md create mode 100644 node_modules/@vitest/spy/dist/index.d.ts create mode 100644 node_modules/@vitest/spy/dist/index.js create mode 100644 node_modules/@vitest/spy/package.json create mode 100644 node_modules/@vitest/utils/LICENSE create mode 100644 node_modules/@vitest/utils/diff.d.ts create mode 100644 node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.js create mode 100644 node_modules/@vitest/utils/dist/diff.d.ts create mode 100644 node_modules/@vitest/utils/dist/diff.js create mode 100644 node_modules/@vitest/utils/dist/error.d.ts create mode 100644 node_modules/@vitest/utils/dist/error.js create mode 100644 node_modules/@vitest/utils/dist/helpers.d.ts create mode 100644 node_modules/@vitest/utils/dist/helpers.js create mode 100644 node_modules/@vitest/utils/dist/index.d.ts create mode 100644 node_modules/@vitest/utils/dist/index.js create mode 100644 node_modules/@vitest/utils/dist/source-map.d.ts create mode 100644 node_modules/@vitest/utils/dist/source-map.js create mode 100644 node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts create mode 100644 node_modules/@vitest/utils/dist/types.d.ts create mode 100644 node_modules/@vitest/utils/dist/types.js create mode 100644 node_modules/@vitest/utils/error.d.ts create mode 100644 node_modules/@vitest/utils/helpers.d.ts create mode 100644 node_modules/@vitest/utils/package.json create mode 100644 node_modules/accepts/HISTORY.md create mode 100644 node_modules/accepts/LICENSE create mode 100644 node_modules/accepts/README.md create mode 100644 node_modules/accepts/index.js create mode 100644 node_modules/accepts/package.json create mode 100644 node_modules/asap/CHANGES.md create mode 100644 node_modules/asap/LICENSE.md create mode 100644 node_modules/asap/README.md create mode 100644 node_modules/asap/asap.js create mode 100644 node_modules/asap/browser-asap.js create mode 100644 node_modules/asap/browser-raw.js create mode 100644 node_modules/asap/package.json create mode 100644 node_modules/asap/raw.js create mode 100644 node_modules/assertion-error/LICENSE create mode 100644 node_modules/assertion-error/README.md create mode 100644 node_modules/assertion-error/index.d.ts create mode 100644 node_modules/assertion-error/index.js create mode 100644 node_modules/assertion-error/package.json create mode 100644 node_modules/asynckit/LICENSE create mode 100644 node_modules/asynckit/README.md create mode 100644 node_modules/asynckit/bench.js create mode 100644 node_modules/asynckit/index.js create mode 100644 node_modules/asynckit/lib/abort.js create mode 100644 node_modules/asynckit/lib/async.js create mode 100644 node_modules/asynckit/lib/defer.js create mode 100644 node_modules/asynckit/lib/iterate.js create mode 100644 node_modules/asynckit/lib/readable_asynckit.js create mode 100644 node_modules/asynckit/lib/readable_parallel.js create mode 100644 node_modules/asynckit/lib/readable_serial.js create mode 100644 node_modules/asynckit/lib/readable_serial_ordered.js create mode 100644 node_modules/asynckit/lib/state.js create mode 100644 node_modules/asynckit/lib/streamify.js create mode 100644 node_modules/asynckit/lib/terminator.js create mode 100644 node_modules/asynckit/package.json create mode 100644 node_modules/asynckit/parallel.js create mode 100644 node_modules/asynckit/serial.js create mode 100644 node_modules/asynckit/serialOrdered.js create mode 100644 node_modules/asynckit/stream.js create mode 100644 node_modules/body-parser/HISTORY.md create mode 100644 node_modules/body-parser/LICENSE create mode 100644 node_modules/body-parser/README.md create mode 100644 node_modules/body-parser/index.js create mode 100644 node_modules/body-parser/lib/read.js create mode 100644 node_modules/body-parser/lib/types/json.js create mode 100644 node_modules/body-parser/lib/types/raw.js create mode 100644 node_modules/body-parser/lib/types/text.js create mode 100644 node_modules/body-parser/lib/types/urlencoded.js create mode 100644 node_modules/body-parser/lib/utils.js create mode 100644 node_modules/body-parser/package.json create mode 100644 node_modules/bytes/History.md create mode 100644 node_modules/bytes/LICENSE create mode 100644 node_modules/bytes/Readme.md create mode 100644 node_modules/bytes/index.js create mode 100644 node_modules/bytes/package.json create mode 100644 node_modules/cac/LICENSE create mode 100644 node_modules/cac/README.md create mode 100644 node_modules/cac/deno/CAC.ts create mode 100644 node_modules/cac/deno/Command.ts create mode 100644 node_modules/cac/deno/Option.ts create mode 100644 node_modules/cac/deno/deno.ts create mode 100644 node_modules/cac/deno/index.ts create mode 100644 node_modules/cac/deno/utils.ts create mode 100644 node_modules/cac/dist/index.d.ts create mode 100644 node_modules/cac/dist/index.js create mode 100644 node_modules/cac/dist/index.mjs create mode 100644 node_modules/cac/index-compat.js create mode 100644 node_modules/cac/mod.js create mode 100644 node_modules/cac/mod.ts create mode 100644 node_modules/cac/package.json create mode 100644 node_modules/call-bind-apply-helpers/.eslintrc create mode 100644 node_modules/call-bind-apply-helpers/.github/FUNDING.yml create mode 100644 node_modules/call-bind-apply-helpers/.nycrc create mode 100644 node_modules/call-bind-apply-helpers/CHANGELOG.md create mode 100644 node_modules/call-bind-apply-helpers/LICENSE create mode 100644 node_modules/call-bind-apply-helpers/README.md create mode 100644 node_modules/call-bind-apply-helpers/actualApply.d.ts create mode 100644 node_modules/call-bind-apply-helpers/actualApply.js create mode 100644 node_modules/call-bind-apply-helpers/applyBind.d.ts create mode 100644 node_modules/call-bind-apply-helpers/applyBind.js create mode 100644 node_modules/call-bind-apply-helpers/functionApply.d.ts create mode 100644 node_modules/call-bind-apply-helpers/functionApply.js create mode 100644 node_modules/call-bind-apply-helpers/functionCall.d.ts create mode 100644 node_modules/call-bind-apply-helpers/functionCall.js create mode 100644 node_modules/call-bind-apply-helpers/index.d.ts create mode 100644 node_modules/call-bind-apply-helpers/index.js create mode 100644 node_modules/call-bind-apply-helpers/package.json create mode 100644 node_modules/call-bind-apply-helpers/reflectApply.d.ts create mode 100644 node_modules/call-bind-apply-helpers/reflectApply.js create mode 100644 node_modules/call-bind-apply-helpers/test/index.js create mode 100644 node_modules/call-bind-apply-helpers/tsconfig.json create mode 100644 node_modules/call-bound/.eslintrc create mode 100644 node_modules/call-bound/.github/FUNDING.yml create mode 100644 node_modules/call-bound/.nycrc create mode 100644 node_modules/call-bound/CHANGELOG.md create mode 100644 node_modules/call-bound/LICENSE create mode 100644 node_modules/call-bound/README.md create mode 100644 node_modules/call-bound/index.d.ts create mode 100644 node_modules/call-bound/index.js create mode 100644 node_modules/call-bound/package.json create mode 100644 node_modules/call-bound/test/index.js create mode 100644 node_modules/call-bound/tsconfig.json create mode 100644 node_modules/chai/.prettierrc.json create mode 100644 node_modules/chai/CODEOWNERS create mode 100644 node_modules/chai/CODE_OF_CONDUCT.md create mode 100644 node_modules/chai/CONTRIBUTING.md create mode 100644 node_modules/chai/History.md create mode 100644 node_modules/chai/LICENSE create mode 100644 node_modules/chai/README.md create mode 100644 node_modules/chai/ReleaseNotes.md create mode 100644 node_modules/chai/chai.js create mode 100644 node_modules/chai/eslint.config.js create mode 100644 node_modules/chai/index.js create mode 100644 node_modules/chai/lib/chai.js create mode 100644 node_modules/chai/lib/chai/assertion.js create mode 100644 node_modules/chai/lib/chai/config.js create mode 100644 node_modules/chai/lib/chai/core/assertions.js create mode 100644 node_modules/chai/lib/chai/interface/assert.js create mode 100644 node_modules/chai/lib/chai/interface/expect.js create mode 100644 node_modules/chai/lib/chai/interface/should.js create mode 100644 node_modules/chai/lib/chai/utils/addChainableMethod.js create mode 100644 node_modules/chai/lib/chai/utils/addLengthGuard.js create mode 100644 node_modules/chai/lib/chai/utils/addMethod.js create mode 100644 node_modules/chai/lib/chai/utils/addProperty.js create mode 100644 node_modules/chai/lib/chai/utils/compareByInspect.js create mode 100644 node_modules/chai/lib/chai/utils/expectTypes.js create mode 100644 node_modules/chai/lib/chai/utils/flag.js create mode 100644 node_modules/chai/lib/chai/utils/getActual.js create mode 100644 node_modules/chai/lib/chai/utils/getMessage.js create mode 100644 node_modules/chai/lib/chai/utils/getOperator.js create mode 100644 node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js create mode 100644 node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js create mode 100644 node_modules/chai/lib/chai/utils/getProperties.js create mode 100644 node_modules/chai/lib/chai/utils/index.js create mode 100644 node_modules/chai/lib/chai/utils/inspect.js create mode 100644 node_modules/chai/lib/chai/utils/isNaN.js create mode 100644 node_modules/chai/lib/chai/utils/isProxyEnabled.js create mode 100644 node_modules/chai/lib/chai/utils/objDisplay.js create mode 100644 node_modules/chai/lib/chai/utils/overwriteChainableMethod.js create mode 100644 node_modules/chai/lib/chai/utils/overwriteMethod.js create mode 100644 node_modules/chai/lib/chai/utils/overwriteProperty.js create mode 100644 node_modules/chai/lib/chai/utils/proxify.js create mode 100644 node_modules/chai/lib/chai/utils/test.js create mode 100644 node_modules/chai/lib/chai/utils/transferFlags.js create mode 100644 node_modules/chai/lib/chai/utils/type-detect.js create mode 100644 node_modules/chai/package.json create mode 100644 node_modules/chai/register-assert.js create mode 100644 node_modules/chai/register-expect.js create mode 100644 node_modules/chai/register-should.js create mode 100644 node_modules/chai/web-test-runner.config.js create mode 100644 node_modules/check-error/LICENSE create mode 100644 node_modules/check-error/README.md create mode 100644 node_modules/check-error/index.js create mode 100644 node_modules/check-error/package.json create mode 100644 node_modules/combined-stream/License create mode 100644 node_modules/combined-stream/Readme.md create mode 100644 node_modules/combined-stream/lib/combined_stream.js create mode 100644 node_modules/combined-stream/package.json create mode 100644 node_modules/combined-stream/yarn.lock create mode 100644 node_modules/component-emitter/LICENSE create mode 100644 node_modules/component-emitter/Readme.md create mode 100644 node_modules/component-emitter/index.js create mode 100644 node_modules/component-emitter/package.json create mode 100644 node_modules/content-disposition/HISTORY.md create mode 100644 node_modules/content-disposition/LICENSE create mode 100644 node_modules/content-disposition/README.md create mode 100644 node_modules/content-disposition/index.js create mode 100644 node_modules/content-disposition/package.json create mode 100644 node_modules/content-type/HISTORY.md create mode 100644 node_modules/content-type/LICENSE create mode 100644 node_modules/content-type/README.md create mode 100644 node_modules/content-type/index.js create mode 100644 node_modules/content-type/package.json create mode 100644 node_modules/cookie-signature/History.md create mode 100644 node_modules/cookie-signature/LICENSE create mode 100644 node_modules/cookie-signature/Readme.md create mode 100644 node_modules/cookie-signature/index.js create mode 100644 node_modules/cookie-signature/package.json create mode 100644 node_modules/cookie/LICENSE create mode 100644 node_modules/cookie/README.md create mode 100644 node_modules/cookie/SECURITY.md create mode 100644 node_modules/cookie/index.js create mode 100644 node_modules/cookie/package.json create mode 100644 node_modules/cookiejar/LICENSE create mode 100644 node_modules/cookiejar/cookiejar.js create mode 100644 node_modules/cookiejar/package.json create mode 100644 node_modules/cookiejar/readme.md create mode 100644 node_modules/debug/LICENSE create mode 100644 node_modules/debug/README.md create mode 100644 node_modules/debug/package.json create mode 100644 node_modules/debug/src/browser.js create mode 100644 node_modules/debug/src/common.js create mode 100644 node_modules/debug/src/index.js create mode 100644 node_modules/debug/src/node.js create mode 100644 node_modules/deep-eql/LICENSE create mode 100644 node_modules/deep-eql/README.md create mode 100644 node_modules/deep-eql/index.js create mode 100644 node_modules/deep-eql/package.json create mode 100644 node_modules/delayed-stream/.npmignore create mode 100644 node_modules/delayed-stream/License create mode 100644 node_modules/delayed-stream/Makefile create mode 100644 node_modules/delayed-stream/Readme.md create mode 100644 node_modules/delayed-stream/lib/delayed_stream.js create mode 100644 node_modules/delayed-stream/package.json create mode 100644 node_modules/depd/History.md create mode 100644 node_modules/depd/LICENSE create mode 100644 node_modules/depd/Readme.md create mode 100644 node_modules/depd/index.js create mode 100644 node_modules/depd/lib/browser/index.js create mode 100644 node_modules/depd/package.json create mode 100644 node_modules/dezalgo/LICENSE create mode 100644 node_modules/dezalgo/README.md create mode 100644 node_modules/dezalgo/dezalgo.js create mode 100644 node_modules/dezalgo/package.json create mode 100644 node_modules/dotenv/CHANGELOG.md create mode 100644 node_modules/dotenv/LICENSE create mode 100644 node_modules/dotenv/README-es.md create mode 100644 node_modules/dotenv/README.md create mode 100644 node_modules/dotenv/config.d.ts create mode 100644 node_modules/dotenv/config.js create mode 100644 node_modules/dotenv/lib/cli-options.js create mode 100644 node_modules/dotenv/lib/env-options.js create mode 100644 node_modules/dotenv/lib/main.d.ts create mode 100644 node_modules/dotenv/lib/main.js create mode 100644 node_modules/dotenv/package.json create mode 100644 node_modules/dunder-proto/.eslintrc create mode 100644 node_modules/dunder-proto/.github/FUNDING.yml create mode 100644 node_modules/dunder-proto/.nycrc create mode 100644 node_modules/dunder-proto/CHANGELOG.md create mode 100644 node_modules/dunder-proto/LICENSE create mode 100644 node_modules/dunder-proto/README.md create mode 100644 node_modules/dunder-proto/get.d.ts create mode 100644 node_modules/dunder-proto/get.js create mode 100644 node_modules/dunder-proto/package.json create mode 100644 node_modules/dunder-proto/set.d.ts create mode 100644 node_modules/dunder-proto/set.js create mode 100644 node_modules/dunder-proto/test/get.js create mode 100644 node_modules/dunder-proto/test/index.js create mode 100644 node_modules/dunder-proto/test/set.js create mode 100644 node_modules/dunder-proto/tsconfig.json create mode 100644 node_modules/ee-first/LICENSE create mode 100644 node_modules/ee-first/README.md create mode 100644 node_modules/ee-first/index.js create mode 100644 node_modules/ee-first/package.json create mode 100644 node_modules/encodeurl/LICENSE create mode 100644 node_modules/encodeurl/README.md create mode 100644 node_modules/encodeurl/index.js create mode 100644 node_modules/encodeurl/package.json create mode 100644 node_modules/es-define-property/.eslintrc create mode 100644 node_modules/es-define-property/.github/FUNDING.yml create mode 100644 node_modules/es-define-property/.nycrc create mode 100644 node_modules/es-define-property/CHANGELOG.md create mode 100644 node_modules/es-define-property/LICENSE create mode 100644 node_modules/es-define-property/README.md create mode 100644 node_modules/es-define-property/index.d.ts create mode 100644 node_modules/es-define-property/index.js create mode 100644 node_modules/es-define-property/package.json create mode 100644 node_modules/es-define-property/test/index.js create mode 100644 node_modules/es-define-property/tsconfig.json create mode 100644 node_modules/es-errors/.eslintrc create mode 100644 node_modules/es-errors/.github/FUNDING.yml create mode 100644 node_modules/es-errors/CHANGELOG.md create mode 100644 node_modules/es-errors/LICENSE create mode 100644 node_modules/es-errors/README.md create mode 100644 node_modules/es-errors/eval.d.ts create mode 100644 node_modules/es-errors/eval.js create mode 100644 node_modules/es-errors/index.d.ts create mode 100644 node_modules/es-errors/index.js create mode 100644 node_modules/es-errors/package.json create mode 100644 node_modules/es-errors/range.d.ts create mode 100644 node_modules/es-errors/range.js create mode 100644 node_modules/es-errors/ref.d.ts create mode 100644 node_modules/es-errors/ref.js create mode 100644 node_modules/es-errors/syntax.d.ts create mode 100644 node_modules/es-errors/syntax.js create mode 100644 node_modules/es-errors/test/index.js create mode 100644 node_modules/es-errors/tsconfig.json create mode 100644 node_modules/es-errors/type.d.ts create mode 100644 node_modules/es-errors/type.js create mode 100644 node_modules/es-errors/uri.d.ts create mode 100644 node_modules/es-errors/uri.js create mode 100644 node_modules/es-module-lexer/LICENSE create mode 100644 node_modules/es-module-lexer/README.md create mode 100644 node_modules/es-module-lexer/dist/lexer.asm.js create mode 100644 node_modules/es-module-lexer/dist/lexer.cjs create mode 100644 node_modules/es-module-lexer/dist/lexer.js create mode 100644 node_modules/es-module-lexer/lexer.js create mode 100644 node_modules/es-module-lexer/package.json create mode 100644 node_modules/es-module-lexer/types/lexer.d.ts create mode 100644 node_modules/es-object-atoms/.eslintrc create mode 100644 node_modules/es-object-atoms/.github/FUNDING.yml create mode 100644 node_modules/es-object-atoms/CHANGELOG.md create mode 100644 node_modules/es-object-atoms/LICENSE create mode 100644 node_modules/es-object-atoms/README.md create mode 100644 node_modules/es-object-atoms/RequireObjectCoercible.d.ts create mode 100644 node_modules/es-object-atoms/RequireObjectCoercible.js create mode 100644 node_modules/es-object-atoms/ToObject.d.ts create mode 100644 node_modules/es-object-atoms/ToObject.js create mode 100644 node_modules/es-object-atoms/index.d.ts create mode 100644 node_modules/es-object-atoms/index.js create mode 100644 node_modules/es-object-atoms/isObject.d.ts create mode 100644 node_modules/es-object-atoms/isObject.js create mode 100644 node_modules/es-object-atoms/package.json create mode 100644 node_modules/es-object-atoms/test/index.js create mode 100644 node_modules/es-object-atoms/tsconfig.json create mode 100644 node_modules/es-set-tostringtag/.eslintrc create mode 100644 node_modules/es-set-tostringtag/.nycrc create mode 100644 node_modules/es-set-tostringtag/CHANGELOG.md create mode 100644 node_modules/es-set-tostringtag/LICENSE create mode 100644 node_modules/es-set-tostringtag/README.md create mode 100644 node_modules/es-set-tostringtag/index.d.ts create mode 100644 node_modules/es-set-tostringtag/index.js create mode 100644 node_modules/es-set-tostringtag/package.json create mode 100644 node_modules/es-set-tostringtag/test/index.js create mode 100644 node_modules/es-set-tostringtag/tsconfig.json create mode 100644 node_modules/esbuild/LICENSE.md create mode 100644 node_modules/esbuild/README.md create mode 100755 node_modules/esbuild/bin/esbuild create mode 100644 node_modules/esbuild/install.js create mode 100644 node_modules/esbuild/lib/main.d.ts create mode 100644 node_modules/esbuild/lib/main.js create mode 100644 node_modules/esbuild/package.json create mode 100644 node_modules/escape-html/LICENSE create mode 100644 node_modules/escape-html/Readme.md create mode 100644 node_modules/escape-html/index.js create mode 100644 node_modules/escape-html/package.json create mode 100644 node_modules/estree-walker/LICENSE create mode 100644 node_modules/estree-walker/README.md create mode 100644 node_modules/estree-walker/package.json create mode 100644 node_modules/estree-walker/src/async.js create mode 100644 node_modules/estree-walker/src/index.js create mode 100644 node_modules/estree-walker/src/sync.js create mode 100644 node_modules/estree-walker/src/walker.js create mode 100644 node_modules/estree-walker/types/async.d.ts create mode 100644 node_modules/estree-walker/types/index.d.ts create mode 100644 node_modules/estree-walker/types/sync.d.ts create mode 100644 node_modules/estree-walker/types/walker.d.ts create mode 100644 node_modules/etag/HISTORY.md create mode 100644 node_modules/etag/LICENSE create mode 100644 node_modules/etag/README.md create mode 100644 node_modules/etag/index.js create mode 100644 node_modules/etag/package.json create mode 100644 node_modules/expect-type/LICENSE create mode 100644 node_modules/expect-type/README.md create mode 100644 node_modules/expect-type/dist/branding.d.ts create mode 100644 node_modules/expect-type/dist/branding.js create mode 100644 node_modules/expect-type/dist/index.d.ts create mode 100644 node_modules/expect-type/dist/index.js create mode 100644 node_modules/expect-type/dist/messages.d.ts create mode 100644 node_modules/expect-type/dist/messages.js create mode 100644 node_modules/expect-type/dist/overloads.d.ts create mode 100644 node_modules/expect-type/dist/overloads.js create mode 100644 node_modules/expect-type/dist/utils.d.ts create mode 100644 node_modules/expect-type/dist/utils.js create mode 100644 node_modules/expect-type/package.json create mode 100644 node_modules/express/History.md create mode 100644 node_modules/express/LICENSE create mode 100644 node_modules/express/Readme.md create mode 100644 node_modules/express/index.js create mode 100644 node_modules/express/lib/application.js create mode 100644 node_modules/express/lib/express.js create mode 100644 node_modules/express/lib/request.js create mode 100644 node_modules/express/lib/response.js create mode 100644 node_modules/express/lib/utils.js create mode 100644 node_modules/express/lib/view.js create mode 100644 node_modules/express/package.json create mode 100644 node_modules/fast-safe-stringify/.travis.yml create mode 100644 node_modules/fast-safe-stringify/CHANGELOG.md create mode 100644 node_modules/fast-safe-stringify/LICENSE create mode 100644 node_modules/fast-safe-stringify/benchmark.js create mode 100644 node_modules/fast-safe-stringify/index.d.ts create mode 100644 node_modules/fast-safe-stringify/index.js create mode 100644 node_modules/fast-safe-stringify/package.json create mode 100644 node_modules/fast-safe-stringify/readme.md create mode 100644 node_modules/fast-safe-stringify/test-stable.js create mode 100644 node_modules/fast-safe-stringify/test.js create mode 100644 node_modules/fdir/LICENSE create mode 100644 node_modules/fdir/README.md create mode 100644 node_modules/fdir/dist/api/async.d.ts create mode 100644 node_modules/fdir/dist/api/async.js create mode 100644 node_modules/fdir/dist/api/counter.d.ts create mode 100644 node_modules/fdir/dist/api/counter.js create mode 100644 node_modules/fdir/dist/api/functions/get-array.d.ts create mode 100644 node_modules/fdir/dist/api/functions/get-array.js create mode 100644 node_modules/fdir/dist/api/functions/group-files.d.ts create mode 100644 node_modules/fdir/dist/api/functions/group-files.js create mode 100644 node_modules/fdir/dist/api/functions/invoke-callback.d.ts create mode 100644 node_modules/fdir/dist/api/functions/invoke-callback.js create mode 100644 node_modules/fdir/dist/api/functions/join-path.d.ts create mode 100644 node_modules/fdir/dist/api/functions/join-path.js create mode 100644 node_modules/fdir/dist/api/functions/push-directory.d.ts create mode 100644 node_modules/fdir/dist/api/functions/push-directory.js create mode 100644 node_modules/fdir/dist/api/functions/push-file.d.ts create mode 100644 node_modules/fdir/dist/api/functions/push-file.js create mode 100644 node_modules/fdir/dist/api/functions/resolve-symlink.d.ts create mode 100644 node_modules/fdir/dist/api/functions/resolve-symlink.js create mode 100644 node_modules/fdir/dist/api/functions/walk-directory.d.ts create mode 100644 node_modules/fdir/dist/api/functions/walk-directory.js create mode 100644 node_modules/fdir/dist/api/queue.d.ts create mode 100644 node_modules/fdir/dist/api/queue.js create mode 100644 node_modules/fdir/dist/api/sync.d.ts create mode 100644 node_modules/fdir/dist/api/sync.js create mode 100644 node_modules/fdir/dist/api/walker.d.ts create mode 100644 node_modules/fdir/dist/api/walker.js create mode 100644 node_modules/fdir/dist/builder/api-builder.d.ts create mode 100644 node_modules/fdir/dist/builder/api-builder.js create mode 100644 node_modules/fdir/dist/builder/index.d.ts create mode 100644 node_modules/fdir/dist/builder/index.js create mode 100644 node_modules/fdir/dist/index.cjs create mode 100644 node_modules/fdir/dist/index.d.cts create mode 100644 node_modules/fdir/dist/index.d.mts create mode 100644 node_modules/fdir/dist/index.d.ts create mode 100644 node_modules/fdir/dist/index.js create mode 100644 node_modules/fdir/dist/index.mjs create mode 100644 node_modules/fdir/dist/types.d.ts create mode 100644 node_modules/fdir/dist/types.js create mode 100644 node_modules/fdir/dist/utils.d.ts create mode 100644 node_modules/fdir/dist/utils.js create mode 100644 node_modules/fdir/package.json create mode 100644 node_modules/finalhandler/HISTORY.md create mode 100644 node_modules/finalhandler/LICENSE create mode 100644 node_modules/finalhandler/README.md create mode 100644 node_modules/finalhandler/index.js create mode 100644 node_modules/finalhandler/package.json create mode 100644 node_modules/form-data/License create mode 100644 node_modules/form-data/README.md.bak create mode 100644 node_modules/form-data/Readme.md create mode 100644 node_modules/form-data/index.d.ts create mode 100644 node_modules/form-data/lib/browser.js create mode 100644 node_modules/form-data/lib/form_data.js create mode 100644 node_modules/form-data/lib/populate.js create mode 100644 node_modules/form-data/node_modules/mime-db/HISTORY.md create mode 100644 node_modules/form-data/node_modules/mime-db/LICENSE create mode 100644 node_modules/form-data/node_modules/mime-db/README.md create mode 100644 node_modules/form-data/node_modules/mime-db/db.json create mode 100644 node_modules/form-data/node_modules/mime-db/index.js create mode 100644 node_modules/form-data/node_modules/mime-db/package.json create mode 100644 node_modules/form-data/node_modules/mime-types/HISTORY.md create mode 100644 node_modules/form-data/node_modules/mime-types/LICENSE create mode 100644 node_modules/form-data/node_modules/mime-types/README.md create mode 100644 node_modules/form-data/node_modules/mime-types/index.js create mode 100644 node_modules/form-data/node_modules/mime-types/package.json create mode 100644 node_modules/form-data/package.json create mode 100644 node_modules/formidable/LICENSE create mode 100644 node_modules/formidable/README.md create mode 100644 node_modules/formidable/README_pt_BR.md create mode 100644 node_modules/formidable/dist/helpers/firstValues.cjs create mode 100644 node_modules/formidable/dist/helpers/readBooleans.cjs create mode 100644 node_modules/formidable/dist/index.cjs create mode 100644 node_modules/formidable/dist/parsers/JSON.cjs create mode 100644 node_modules/formidable/dist/parsers/Multipart.cjs create mode 100644 node_modules/formidable/dist/parsers/OctetStream.cjs create mode 100644 node_modules/formidable/dist/parsers/Querystring.cjs create mode 100644 node_modules/formidable/dist/parsers/StreamingQuerystring.cjs create mode 100644 node_modules/formidable/package.json create mode 100644 node_modules/formidable/src/Formidable.js create mode 100644 node_modules/formidable/src/FormidableError.js create mode 100644 node_modules/formidable/src/PersistentFile.js create mode 100644 node_modules/formidable/src/VolatileFile.js create mode 100644 node_modules/formidable/src/helpers/firstValues.js create mode 100644 node_modules/formidable/src/helpers/readBooleans.js create mode 100644 node_modules/formidable/src/index.js create mode 100644 node_modules/formidable/src/parsers/Dummy.js create mode 100644 node_modules/formidable/src/parsers/JSON.js create mode 100644 node_modules/formidable/src/parsers/Multipart.js create mode 100644 node_modules/formidable/src/parsers/OctetStream.js create mode 100644 node_modules/formidable/src/parsers/Querystring.js create mode 100644 node_modules/formidable/src/parsers/StreamingQuerystring.js create mode 100644 node_modules/formidable/src/parsers/index.js create mode 100644 node_modules/formidable/src/plugins/index.js create mode 100644 node_modules/formidable/src/plugins/json.js create mode 100644 node_modules/formidable/src/plugins/multipart.js create mode 100644 node_modules/formidable/src/plugins/octetstream.js create mode 100644 node_modules/formidable/src/plugins/querystring.js create mode 100644 node_modules/forwarded/HISTORY.md create mode 100644 node_modules/forwarded/LICENSE create mode 100644 node_modules/forwarded/README.md create mode 100644 node_modules/forwarded/index.js create mode 100644 node_modules/forwarded/package.json create mode 100644 node_modules/fresh/HISTORY.md create mode 100644 node_modules/fresh/LICENSE create mode 100644 node_modules/fresh/README.md create mode 100644 node_modules/fresh/index.js create mode 100644 node_modules/fresh/package.json create mode 100644 node_modules/function-bind/.eslintrc create mode 100644 node_modules/function-bind/.github/FUNDING.yml create mode 100644 node_modules/function-bind/.github/SECURITY.md create mode 100644 node_modules/function-bind/.nycrc create mode 100644 node_modules/function-bind/CHANGELOG.md create mode 100644 node_modules/function-bind/LICENSE create mode 100644 node_modules/function-bind/README.md create mode 100644 node_modules/function-bind/implementation.js create mode 100644 node_modules/function-bind/index.js create mode 100644 node_modules/function-bind/package.json create mode 100644 node_modules/function-bind/test/.eslintrc create mode 100644 node_modules/function-bind/test/index.js create mode 100644 node_modules/get-intrinsic/.eslintrc create mode 100644 node_modules/get-intrinsic/.github/FUNDING.yml create mode 100644 node_modules/get-intrinsic/.nycrc create mode 100644 node_modules/get-intrinsic/CHANGELOG.md create mode 100644 node_modules/get-intrinsic/LICENSE create mode 100644 node_modules/get-intrinsic/README.md create mode 100644 node_modules/get-intrinsic/index.js create mode 100644 node_modules/get-intrinsic/package.json create mode 100644 node_modules/get-intrinsic/test/GetIntrinsic.js create mode 100644 node_modules/get-proto/.eslintrc create mode 100644 node_modules/get-proto/.github/FUNDING.yml create mode 100644 node_modules/get-proto/.nycrc create mode 100644 node_modules/get-proto/CHANGELOG.md create mode 100644 node_modules/get-proto/LICENSE create mode 100644 node_modules/get-proto/Object.getPrototypeOf.d.ts create mode 100644 node_modules/get-proto/Object.getPrototypeOf.js create mode 100644 node_modules/get-proto/README.md create mode 100644 node_modules/get-proto/Reflect.getPrototypeOf.d.ts create mode 100644 node_modules/get-proto/Reflect.getPrototypeOf.js create mode 100644 node_modules/get-proto/index.d.ts create mode 100644 node_modules/get-proto/index.js create mode 100644 node_modules/get-proto/package.json create mode 100644 node_modules/get-proto/test/index.js create mode 100644 node_modules/get-proto/tsconfig.json create mode 100644 node_modules/gopd/.eslintrc create mode 100644 node_modules/gopd/.github/FUNDING.yml create mode 100644 node_modules/gopd/CHANGELOG.md create mode 100644 node_modules/gopd/LICENSE create mode 100644 node_modules/gopd/README.md create mode 100644 node_modules/gopd/gOPD.d.ts create mode 100644 node_modules/gopd/gOPD.js create mode 100644 node_modules/gopd/index.d.ts create mode 100644 node_modules/gopd/index.js create mode 100644 node_modules/gopd/package.json create mode 100644 node_modules/gopd/test/index.js create mode 100644 node_modules/gopd/tsconfig.json create mode 100644 node_modules/has-symbols/.eslintrc create mode 100644 node_modules/has-symbols/.github/FUNDING.yml create mode 100644 node_modules/has-symbols/.nycrc create mode 100644 node_modules/has-symbols/CHANGELOG.md create mode 100644 node_modules/has-symbols/LICENSE create mode 100644 node_modules/has-symbols/README.md create mode 100644 node_modules/has-symbols/index.d.ts create mode 100644 node_modules/has-symbols/index.js create mode 100644 node_modules/has-symbols/package.json create mode 100644 node_modules/has-symbols/shams.d.ts create mode 100644 node_modules/has-symbols/shams.js create mode 100644 node_modules/has-symbols/test/index.js create mode 100644 node_modules/has-symbols/test/shams/core-js.js create mode 100644 node_modules/has-symbols/test/shams/get-own-property-symbols.js create mode 100644 node_modules/has-symbols/test/tests.js create mode 100644 node_modules/has-symbols/tsconfig.json create mode 100644 node_modules/has-tostringtag/.eslintrc create mode 100644 node_modules/has-tostringtag/.github/FUNDING.yml create mode 100644 node_modules/has-tostringtag/.nycrc create mode 100644 node_modules/has-tostringtag/CHANGELOG.md create mode 100644 node_modules/has-tostringtag/LICENSE create mode 100644 node_modules/has-tostringtag/README.md create mode 100644 node_modules/has-tostringtag/index.d.ts create mode 100644 node_modules/has-tostringtag/index.js create mode 100644 node_modules/has-tostringtag/package.json create mode 100644 node_modules/has-tostringtag/shams.d.ts create mode 100644 node_modules/has-tostringtag/shams.js create mode 100644 node_modules/has-tostringtag/test/index.js create mode 100644 node_modules/has-tostringtag/test/shams/core-js.js create mode 100644 node_modules/has-tostringtag/test/shams/get-own-property-symbols.js create mode 100644 node_modules/has-tostringtag/test/tests.js create mode 100644 node_modules/has-tostringtag/tsconfig.json create mode 100644 node_modules/hasown/.eslintrc create mode 100644 node_modules/hasown/.github/FUNDING.yml create mode 100644 node_modules/hasown/.nycrc create mode 100644 node_modules/hasown/CHANGELOG.md create mode 100644 node_modules/hasown/LICENSE create mode 100644 node_modules/hasown/README.md create mode 100644 node_modules/hasown/index.d.ts create mode 100644 node_modules/hasown/index.js create mode 100644 node_modules/hasown/package.json create mode 100644 node_modules/hasown/tsconfig.json create mode 100644 node_modules/http-errors/HISTORY.md create mode 100644 node_modules/http-errors/LICENSE create mode 100644 node_modules/http-errors/README.md create mode 100644 node_modules/http-errors/index.js create mode 100644 node_modules/http-errors/node_modules/statuses/HISTORY.md create mode 100644 node_modules/http-errors/node_modules/statuses/LICENSE create mode 100644 node_modules/http-errors/node_modules/statuses/README.md create mode 100644 node_modules/http-errors/node_modules/statuses/codes.json create mode 100644 node_modules/http-errors/node_modules/statuses/index.js create mode 100644 node_modules/http-errors/node_modules/statuses/package.json create mode 100644 node_modules/http-errors/package.json create mode 100644 node_modules/iconv-lite/.github/dependabot.yml create mode 100644 node_modules/iconv-lite/.idea/codeStyles/Project.xml create mode 100644 node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml create mode 100644 node_modules/iconv-lite/.idea/iconv-lite.iml create mode 100644 node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml create mode 100644 node_modules/iconv-lite/.idea/modules.xml create mode 100644 node_modules/iconv-lite/.idea/vcs.xml create mode 100644 node_modules/iconv-lite/Changelog.md create mode 100644 node_modules/iconv-lite/LICENSE create mode 100644 node_modules/iconv-lite/README.md create mode 100644 node_modules/iconv-lite/encodings/dbcs-codec.js create mode 100644 node_modules/iconv-lite/encodings/dbcs-data.js create mode 100644 node_modules/iconv-lite/encodings/index.js create mode 100644 node_modules/iconv-lite/encodings/internal.js create mode 100644 node_modules/iconv-lite/encodings/sbcs-codec.js create mode 100644 node_modules/iconv-lite/encodings/sbcs-data-generated.js create mode 100644 node_modules/iconv-lite/encodings/sbcs-data.js create mode 100644 node_modules/iconv-lite/encodings/tables/big5-added.json create mode 100644 node_modules/iconv-lite/encodings/tables/cp936.json create mode 100644 node_modules/iconv-lite/encodings/tables/cp949.json create mode 100644 node_modules/iconv-lite/encodings/tables/cp950.json create mode 100644 node_modules/iconv-lite/encodings/tables/eucjp.json create mode 100644 node_modules/iconv-lite/encodings/tables/gb18030-ranges.json create mode 100644 node_modules/iconv-lite/encodings/tables/gbk-added.json create mode 100644 node_modules/iconv-lite/encodings/tables/shiftjis.json create mode 100644 node_modules/iconv-lite/encodings/utf16.js create mode 100644 node_modules/iconv-lite/encodings/utf32.js create mode 100644 node_modules/iconv-lite/encodings/utf7.js create mode 100644 node_modules/iconv-lite/lib/bom-handling.js create mode 100644 node_modules/iconv-lite/lib/index.d.ts create mode 100644 node_modules/iconv-lite/lib/index.js create mode 100644 node_modules/iconv-lite/lib/streams.js create mode 100644 node_modules/iconv-lite/package.json create mode 100644 node_modules/inherits/LICENSE create mode 100644 node_modules/inherits/README.md create mode 100644 node_modules/inherits/inherits.js create mode 100644 node_modules/inherits/inherits_browser.js create mode 100644 node_modules/inherits/package.json create mode 100644 node_modules/ipaddr.js/LICENSE create mode 100644 node_modules/ipaddr.js/README.md create mode 100644 node_modules/ipaddr.js/ipaddr.min.js create mode 100644 node_modules/ipaddr.js/lib/ipaddr.js create mode 100644 node_modules/ipaddr.js/lib/ipaddr.js.d.ts create mode 100644 node_modules/ipaddr.js/package.json create mode 100644 node_modules/is-promise/LICENSE create mode 100644 node_modules/is-promise/index.d.ts create mode 100644 node_modules/is-promise/index.js create mode 100644 node_modules/is-promise/index.mjs create mode 100644 node_modules/is-promise/package.json create mode 100644 node_modules/is-promise/readme.md create mode 100644 node_modules/js-tokens/LICENSE create mode 100644 node_modules/js-tokens/README.md create mode 100644 node_modules/js-tokens/index.d.ts create mode 100644 node_modules/js-tokens/index.js create mode 100644 node_modules/js-tokens/package.json create mode 100644 node_modules/loupe/LICENSE create mode 100644 node_modules/loupe/README.md create mode 100644 node_modules/loupe/lib/arguments.d.ts create mode 100644 node_modules/loupe/lib/arguments.d.ts.map create mode 100644 node_modules/loupe/lib/arguments.js create mode 100644 node_modules/loupe/lib/array.d.ts create mode 100644 node_modules/loupe/lib/array.d.ts.map create mode 100644 node_modules/loupe/lib/array.js create mode 100644 node_modules/loupe/lib/bigint.d.ts create mode 100644 node_modules/loupe/lib/bigint.d.ts.map create mode 100644 node_modules/loupe/lib/bigint.js create mode 100644 node_modules/loupe/lib/class.d.ts create mode 100644 node_modules/loupe/lib/class.d.ts.map create mode 100644 node_modules/loupe/lib/class.js create mode 100644 node_modules/loupe/lib/date.d.ts create mode 100644 node_modules/loupe/lib/date.d.ts.map create mode 100644 node_modules/loupe/lib/date.js create mode 100644 node_modules/loupe/lib/error.d.ts create mode 100644 node_modules/loupe/lib/error.d.ts.map create mode 100644 node_modules/loupe/lib/error.js create mode 100644 node_modules/loupe/lib/function.d.ts create mode 100644 node_modules/loupe/lib/function.d.ts.map create mode 100644 node_modules/loupe/lib/function.js create mode 100644 node_modules/loupe/lib/helpers.d.ts create mode 100644 node_modules/loupe/lib/helpers.d.ts.map create mode 100644 node_modules/loupe/lib/helpers.js create mode 100644 node_modules/loupe/lib/html.d.ts create mode 100644 node_modules/loupe/lib/html.d.ts.map create mode 100644 node_modules/loupe/lib/html.js create mode 100644 node_modules/loupe/lib/index.d.ts create mode 100644 node_modules/loupe/lib/index.d.ts.map create mode 100644 node_modules/loupe/lib/index.js create mode 100644 node_modules/loupe/lib/map.d.ts create mode 100644 node_modules/loupe/lib/map.d.ts.map create mode 100644 node_modules/loupe/lib/map.js create mode 100644 node_modules/loupe/lib/number.d.ts create mode 100644 node_modules/loupe/lib/number.d.ts.map create mode 100644 node_modules/loupe/lib/number.js create mode 100644 node_modules/loupe/lib/object.d.ts create mode 100644 node_modules/loupe/lib/object.d.ts.map create mode 100644 node_modules/loupe/lib/object.js create mode 100644 node_modules/loupe/lib/promise.d.ts create mode 100644 node_modules/loupe/lib/promise.d.ts.map create mode 100644 node_modules/loupe/lib/promise.js create mode 100644 node_modules/loupe/lib/regexp.d.ts create mode 100644 node_modules/loupe/lib/regexp.d.ts.map create mode 100644 node_modules/loupe/lib/regexp.js create mode 100644 node_modules/loupe/lib/set.d.ts create mode 100644 node_modules/loupe/lib/set.d.ts.map create mode 100644 node_modules/loupe/lib/set.js create mode 100644 node_modules/loupe/lib/string.d.ts create mode 100644 node_modules/loupe/lib/string.d.ts.map create mode 100644 node_modules/loupe/lib/string.js create mode 100644 node_modules/loupe/lib/symbol.d.ts create mode 100644 node_modules/loupe/lib/symbol.d.ts.map create mode 100644 node_modules/loupe/lib/symbol.js create mode 100644 node_modules/loupe/lib/typedarray.d.ts create mode 100644 node_modules/loupe/lib/typedarray.d.ts.map create mode 100644 node_modules/loupe/lib/typedarray.js create mode 100644 node_modules/loupe/lib/types.d.ts create mode 100644 node_modules/loupe/lib/types.d.ts.map create mode 100644 node_modules/loupe/lib/types.js create mode 100644 node_modules/loupe/loupe.js create mode 100644 node_modules/loupe/package.json create mode 100644 node_modules/magic-string/LICENSE create mode 100644 node_modules/magic-string/README.md create mode 100644 node_modules/magic-string/dist/magic-string.cjs.d.ts create mode 100644 node_modules/magic-string/dist/magic-string.cjs.js create mode 100644 node_modules/magic-string/dist/magic-string.cjs.js.map create mode 100644 node_modules/magic-string/dist/magic-string.es.d.mts create mode 100644 node_modules/magic-string/dist/magic-string.es.mjs create mode 100644 node_modules/magic-string/dist/magic-string.es.mjs.map create mode 100644 node_modules/magic-string/dist/magic-string.umd.js create mode 100644 node_modules/magic-string/dist/magic-string.umd.js.map create mode 100644 node_modules/magic-string/package.json create mode 100644 node_modules/math-intrinsics/.eslintrc create mode 100644 node_modules/math-intrinsics/.github/FUNDING.yml create mode 100644 node_modules/math-intrinsics/CHANGELOG.md create mode 100644 node_modules/math-intrinsics/LICENSE create mode 100644 node_modules/math-intrinsics/README.md create mode 100644 node_modules/math-intrinsics/abs.d.ts create mode 100644 node_modules/math-intrinsics/abs.js create mode 100644 node_modules/math-intrinsics/constants/maxArrayLength.d.ts create mode 100644 node_modules/math-intrinsics/constants/maxArrayLength.js create mode 100644 node_modules/math-intrinsics/constants/maxSafeInteger.d.ts create mode 100644 node_modules/math-intrinsics/constants/maxSafeInteger.js create mode 100644 node_modules/math-intrinsics/constants/maxValue.d.ts create mode 100644 node_modules/math-intrinsics/constants/maxValue.js create mode 100644 node_modules/math-intrinsics/floor.d.ts create mode 100644 node_modules/math-intrinsics/floor.js create mode 100644 node_modules/math-intrinsics/isFinite.d.ts create mode 100644 node_modules/math-intrinsics/isFinite.js create mode 100644 node_modules/math-intrinsics/isInteger.d.ts create mode 100644 node_modules/math-intrinsics/isInteger.js create mode 100644 node_modules/math-intrinsics/isNaN.d.ts create mode 100644 node_modules/math-intrinsics/isNaN.js create mode 100644 node_modules/math-intrinsics/isNegativeZero.d.ts create mode 100644 node_modules/math-intrinsics/isNegativeZero.js create mode 100644 node_modules/math-intrinsics/max.d.ts create mode 100644 node_modules/math-intrinsics/max.js create mode 100644 node_modules/math-intrinsics/min.d.ts create mode 100644 node_modules/math-intrinsics/min.js create mode 100644 node_modules/math-intrinsics/mod.d.ts create mode 100644 node_modules/math-intrinsics/mod.js create mode 100644 node_modules/math-intrinsics/package.json create mode 100644 node_modules/math-intrinsics/pow.d.ts create mode 100644 node_modules/math-intrinsics/pow.js create mode 100644 node_modules/math-intrinsics/round.d.ts create mode 100644 node_modules/math-intrinsics/round.js create mode 100644 node_modules/math-intrinsics/sign.d.ts create mode 100644 node_modules/math-intrinsics/sign.js create mode 100644 node_modules/math-intrinsics/test/index.js create mode 100644 node_modules/math-intrinsics/tsconfig.json create mode 100644 node_modules/media-typer/HISTORY.md create mode 100644 node_modules/media-typer/LICENSE create mode 100644 node_modules/media-typer/README.md create mode 100644 node_modules/media-typer/index.js create mode 100644 node_modules/media-typer/package.json create mode 100644 node_modules/merge-descriptors/index.d.ts create mode 100644 node_modules/merge-descriptors/index.js create mode 100644 node_modules/merge-descriptors/license create mode 100644 node_modules/merge-descriptors/package.json create mode 100644 node_modules/merge-descriptors/readme.md create mode 100644 node_modules/methods/HISTORY.md create mode 100644 node_modules/methods/LICENSE create mode 100644 node_modules/methods/README.md create mode 100644 node_modules/methods/index.js create mode 100644 node_modules/methods/package.json create mode 100644 node_modules/mime-db/HISTORY.md create mode 100644 node_modules/mime-db/LICENSE create mode 100644 node_modules/mime-db/README.md create mode 100644 node_modules/mime-db/db.json create mode 100644 node_modules/mime-db/index.js create mode 100644 node_modules/mime-db/package.json create mode 100644 node_modules/mime-types/HISTORY.md create mode 100644 node_modules/mime-types/LICENSE create mode 100644 node_modules/mime-types/README.md create mode 100644 node_modules/mime-types/index.js create mode 100644 node_modules/mime-types/mimeScore.js create mode 100644 node_modules/mime-types/package.json create mode 100644 node_modules/mime/CHANGELOG.md create mode 100644 node_modules/mime/LICENSE create mode 100644 node_modules/mime/Mime.js create mode 100644 node_modules/mime/README.md create mode 100755 node_modules/mime/cli.js create mode 100644 node_modules/mime/index.js create mode 100644 node_modules/mime/lite.js create mode 100644 node_modules/mime/package.json create mode 100644 node_modules/mime/types/other.js create mode 100644 node_modules/mime/types/standard.js create mode 100644 node_modules/ms/index.js create mode 100644 node_modules/ms/license.md create mode 100644 node_modules/ms/package.json create mode 100644 node_modules/ms/readme.md create mode 100644 node_modules/nanoid/LICENSE create mode 100644 node_modules/nanoid/README.md create mode 100644 node_modules/nanoid/async/index.browser.cjs create mode 100644 node_modules/nanoid/async/index.browser.js create mode 100644 node_modules/nanoid/async/index.cjs create mode 100644 node_modules/nanoid/async/index.d.ts create mode 100644 node_modules/nanoid/async/index.js create mode 100644 node_modules/nanoid/async/index.native.js create mode 100644 node_modules/nanoid/async/package.json create mode 100755 node_modules/nanoid/bin/nanoid.cjs create mode 100644 node_modules/nanoid/index.browser.cjs create mode 100644 node_modules/nanoid/index.browser.js create mode 100644 node_modules/nanoid/index.cjs create mode 100644 node_modules/nanoid/index.d.cts create mode 100644 node_modules/nanoid/index.d.ts create mode 100644 node_modules/nanoid/index.js create mode 100644 node_modules/nanoid/nanoid.js create mode 100644 node_modules/nanoid/non-secure/index.cjs create mode 100644 node_modules/nanoid/non-secure/index.d.ts create mode 100644 node_modules/nanoid/non-secure/index.js create mode 100644 node_modules/nanoid/non-secure/package.json create mode 100644 node_modules/nanoid/package.json create mode 100644 node_modules/nanoid/url-alphabet/index.cjs create mode 100644 node_modules/nanoid/url-alphabet/index.js create mode 100644 node_modules/nanoid/url-alphabet/package.json create mode 100644 node_modules/negotiator/HISTORY.md create mode 100644 node_modules/negotiator/LICENSE create mode 100644 node_modules/negotiator/README.md create mode 100644 node_modules/negotiator/index.js create mode 100644 node_modules/negotiator/lib/charset.js create mode 100644 node_modules/negotiator/lib/encoding.js create mode 100644 node_modules/negotiator/lib/language.js create mode 100644 node_modules/negotiator/lib/mediaType.js create mode 100644 node_modules/negotiator/package.json create mode 100644 node_modules/object-inspect/.eslintrc create mode 100644 node_modules/object-inspect/.github/FUNDING.yml create mode 100644 node_modules/object-inspect/.nycrc create mode 100644 node_modules/object-inspect/CHANGELOG.md create mode 100644 node_modules/object-inspect/LICENSE create mode 100644 node_modules/object-inspect/example/all.js create mode 100644 node_modules/object-inspect/example/circular.js create mode 100644 node_modules/object-inspect/example/fn.js create mode 100644 node_modules/object-inspect/example/inspect.js create mode 100644 node_modules/object-inspect/index.js create mode 100644 node_modules/object-inspect/package-support.json create mode 100644 node_modules/object-inspect/package.json create mode 100644 node_modules/object-inspect/readme.markdown create mode 100644 node_modules/object-inspect/test-core-js.js create mode 100644 node_modules/object-inspect/test/bigint.js create mode 100644 node_modules/object-inspect/test/browser/dom.js create mode 100644 node_modules/object-inspect/test/circular.js create mode 100644 node_modules/object-inspect/test/deep.js create mode 100644 node_modules/object-inspect/test/element.js create mode 100644 node_modules/object-inspect/test/err.js create mode 100644 node_modules/object-inspect/test/fakes.js create mode 100644 node_modules/object-inspect/test/fn.js create mode 100644 node_modules/object-inspect/test/global.js create mode 100644 node_modules/object-inspect/test/has.js create mode 100644 node_modules/object-inspect/test/holes.js create mode 100644 node_modules/object-inspect/test/indent-option.js create mode 100644 node_modules/object-inspect/test/inspect.js create mode 100644 node_modules/object-inspect/test/lowbyte.js create mode 100644 node_modules/object-inspect/test/number.js create mode 100644 node_modules/object-inspect/test/quoteStyle.js create mode 100644 node_modules/object-inspect/test/toStringTag.js create mode 100644 node_modules/object-inspect/test/undef.js create mode 100644 node_modules/object-inspect/test/values.js create mode 100644 node_modules/object-inspect/util.inspect.js create mode 100644 node_modules/on-finished/HISTORY.md create mode 100644 node_modules/on-finished/LICENSE create mode 100644 node_modules/on-finished/README.md create mode 100644 node_modules/on-finished/index.js create mode 100644 node_modules/on-finished/package.json create mode 100644 node_modules/once/LICENSE create mode 100644 node_modules/once/README.md create mode 100644 node_modules/once/once.js create mode 100644 node_modules/once/package.json create mode 100644 node_modules/parseurl/HISTORY.md create mode 100644 node_modules/parseurl/LICENSE create mode 100644 node_modules/parseurl/README.md create mode 100644 node_modules/parseurl/index.js create mode 100644 node_modules/parseurl/package.json create mode 100644 node_modules/path-to-regexp/LICENSE create mode 100644 node_modules/path-to-regexp/Readme.md create mode 100644 node_modules/path-to-regexp/dist/index.d.ts create mode 100644 node_modules/path-to-regexp/dist/index.js create mode 100644 node_modules/path-to-regexp/dist/index.js.map create mode 100644 node_modules/path-to-regexp/package.json create mode 100644 node_modules/pathe/LICENSE create mode 100644 node_modules/pathe/README.md create mode 100644 node_modules/pathe/dist/index.cjs create mode 100644 node_modules/pathe/dist/index.d.cts create mode 100644 node_modules/pathe/dist/index.d.mts create mode 100644 node_modules/pathe/dist/index.d.ts create mode 100644 node_modules/pathe/dist/index.mjs create mode 100644 node_modules/pathe/dist/shared/pathe.BSlhyZSM.cjs create mode 100644 node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs create mode 100644 node_modules/pathe/dist/utils.cjs create mode 100644 node_modules/pathe/dist/utils.d.cts create mode 100644 node_modules/pathe/dist/utils.d.mts create mode 100644 node_modules/pathe/dist/utils.d.ts create mode 100644 node_modules/pathe/dist/utils.mjs create mode 100644 node_modules/pathe/package.json create mode 100644 node_modules/pathe/utils.d.ts create mode 100644 node_modules/pathval/LICENSE create mode 100644 node_modules/pathval/README.md create mode 100644 node_modules/pathval/index.js create mode 100644 node_modules/pathval/package.json create mode 100644 node_modules/pathval/pathval.js create mode 100644 node_modules/picocolors/LICENSE create mode 100644 node_modules/picocolors/README.md create mode 100644 node_modules/picocolors/package.json create mode 100644 node_modules/picocolors/picocolors.browser.js create mode 100644 node_modules/picocolors/picocolors.d.ts create mode 100644 node_modules/picocolors/picocolors.js create mode 100644 node_modules/picocolors/types.d.ts create mode 100644 node_modules/picomatch/LICENSE create mode 100644 node_modules/picomatch/README.md create mode 100644 node_modules/picomatch/index.js create mode 100644 node_modules/picomatch/lib/constants.js create mode 100644 node_modules/picomatch/lib/parse.js create mode 100644 node_modules/picomatch/lib/picomatch.js create mode 100644 node_modules/picomatch/lib/scan.js create mode 100644 node_modules/picomatch/lib/utils.js create mode 100644 node_modules/picomatch/package.json create mode 100644 node_modules/picomatch/posix.js create mode 100644 node_modules/postcss/LICENSE create mode 100644 node_modules/postcss/README.md create mode 100644 node_modules/postcss/lib/at-rule.d.ts create mode 100644 node_modules/postcss/lib/at-rule.js create mode 100644 node_modules/postcss/lib/comment.d.ts create mode 100644 node_modules/postcss/lib/comment.js create mode 100644 node_modules/postcss/lib/container.d.ts create mode 100644 node_modules/postcss/lib/container.js create mode 100644 node_modules/postcss/lib/css-syntax-error.d.ts create mode 100644 node_modules/postcss/lib/css-syntax-error.js create mode 100644 node_modules/postcss/lib/declaration.d.ts create mode 100644 node_modules/postcss/lib/declaration.js create mode 100644 node_modules/postcss/lib/document.d.ts create mode 100644 node_modules/postcss/lib/document.js create mode 100644 node_modules/postcss/lib/fromJSON.d.ts create mode 100644 node_modules/postcss/lib/fromJSON.js create mode 100644 node_modules/postcss/lib/input.d.ts create mode 100644 node_modules/postcss/lib/input.js create mode 100644 node_modules/postcss/lib/lazy-result.d.ts create mode 100644 node_modules/postcss/lib/lazy-result.js create mode 100644 node_modules/postcss/lib/list.d.ts create mode 100644 node_modules/postcss/lib/list.js create mode 100644 node_modules/postcss/lib/map-generator.js create mode 100644 node_modules/postcss/lib/no-work-result.d.ts create mode 100644 node_modules/postcss/lib/no-work-result.js create mode 100644 node_modules/postcss/lib/node.d.ts create mode 100644 node_modules/postcss/lib/node.js create mode 100644 node_modules/postcss/lib/parse.d.ts create mode 100644 node_modules/postcss/lib/parse.js create mode 100644 node_modules/postcss/lib/parser.js create mode 100644 node_modules/postcss/lib/postcss.d.mts create mode 100644 node_modules/postcss/lib/postcss.d.ts create mode 100644 node_modules/postcss/lib/postcss.js create mode 100644 node_modules/postcss/lib/postcss.mjs create mode 100644 node_modules/postcss/lib/previous-map.d.ts create mode 100644 node_modules/postcss/lib/previous-map.js create mode 100644 node_modules/postcss/lib/processor.d.ts create mode 100644 node_modules/postcss/lib/processor.js create mode 100644 node_modules/postcss/lib/result.d.ts create mode 100644 node_modules/postcss/lib/result.js create mode 100644 node_modules/postcss/lib/root.d.ts create mode 100644 node_modules/postcss/lib/root.js create mode 100644 node_modules/postcss/lib/rule.d.ts create mode 100644 node_modules/postcss/lib/rule.js create mode 100644 node_modules/postcss/lib/stringifier.d.ts create mode 100644 node_modules/postcss/lib/stringifier.js create mode 100644 node_modules/postcss/lib/stringify.d.ts create mode 100644 node_modules/postcss/lib/stringify.js create mode 100644 node_modules/postcss/lib/symbols.js create mode 100644 node_modules/postcss/lib/terminal-highlight.js create mode 100644 node_modules/postcss/lib/tokenize.js create mode 100644 node_modules/postcss/lib/warn-once.js create mode 100644 node_modules/postcss/lib/warning.d.ts create mode 100644 node_modules/postcss/lib/warning.js create mode 100644 node_modules/postcss/package.json create mode 100644 node_modules/proxy-addr/HISTORY.md create mode 100644 node_modules/proxy-addr/LICENSE create mode 100644 node_modules/proxy-addr/README.md create mode 100644 node_modules/proxy-addr/index.js create mode 100644 node_modules/proxy-addr/package.json create mode 100644 node_modules/qs/.editorconfig create mode 100644 node_modules/qs/.eslintrc create mode 100644 node_modules/qs/.github/FUNDING.yml create mode 100644 node_modules/qs/.nycrc create mode 100644 node_modules/qs/CHANGELOG.md create mode 100644 node_modules/qs/LICENSE.md create mode 100644 node_modules/qs/README.md create mode 100644 node_modules/qs/dist/qs.js create mode 100644 node_modules/qs/lib/formats.js create mode 100644 node_modules/qs/lib/index.js create mode 100644 node_modules/qs/lib/parse.js create mode 100644 node_modules/qs/lib/stringify.js create mode 100644 node_modules/qs/lib/utils.js create mode 100644 node_modules/qs/package.json create mode 100644 node_modules/qs/test/empty-keys-cases.js create mode 100644 node_modules/qs/test/parse.js create mode 100644 node_modules/qs/test/stringify.js create mode 100644 node_modules/qs/test/utils.js create mode 100644 node_modules/range-parser/HISTORY.md create mode 100644 node_modules/range-parser/LICENSE create mode 100644 node_modules/range-parser/README.md create mode 100644 node_modules/range-parser/index.js create mode 100644 node_modules/range-parser/package.json create mode 100644 node_modules/raw-body/HISTORY.md create mode 100644 node_modules/raw-body/LICENSE create mode 100644 node_modules/raw-body/README.md create mode 100644 node_modules/raw-body/SECURITY.md create mode 100644 node_modules/raw-body/index.d.ts create mode 100644 node_modules/raw-body/index.js create mode 100644 node_modules/raw-body/package.json create mode 100644 node_modules/rollup/LICENSE.md create mode 100644 node_modules/rollup/README.md create mode 100755 node_modules/rollup/dist/bin/rollup create mode 100644 node_modules/rollup/dist/es/getLogFilter.js create mode 100644 node_modules/rollup/dist/es/package.json create mode 100644 node_modules/rollup/dist/es/parseAst.js create mode 100644 node_modules/rollup/dist/es/rollup.js create mode 100644 node_modules/rollup/dist/es/shared/node-entry.js create mode 100644 node_modules/rollup/dist/es/shared/parseAst.js create mode 100644 node_modules/rollup/dist/es/shared/watch.js create mode 100644 node_modules/rollup/dist/getLogFilter.d.ts create mode 100644 node_modules/rollup/dist/getLogFilter.js create mode 100644 node_modules/rollup/dist/loadConfigFile.d.ts create mode 100644 node_modules/rollup/dist/loadConfigFile.js create mode 100644 node_modules/rollup/dist/native.js create mode 100644 node_modules/rollup/dist/parseAst.d.ts create mode 100644 node_modules/rollup/dist/parseAst.js create mode 100644 node_modules/rollup/dist/rollup.d.ts create mode 100644 node_modules/rollup/dist/rollup.js create mode 100644 node_modules/rollup/dist/shared/fsevents-importer.js create mode 100644 node_modules/rollup/dist/shared/index.js create mode 100644 node_modules/rollup/dist/shared/loadConfigFile.js create mode 100644 node_modules/rollup/dist/shared/parseAst.js create mode 100644 node_modules/rollup/dist/shared/rollup.js create mode 100644 node_modules/rollup/dist/shared/watch-cli.js create mode 100644 node_modules/rollup/dist/shared/watch.js create mode 100644 node_modules/rollup/node_modules/@types/estree/LICENSE create mode 100644 node_modules/rollup/node_modules/@types/estree/README.md create mode 100644 node_modules/rollup/node_modules/@types/estree/flow.d.ts create mode 100644 node_modules/rollup/node_modules/@types/estree/index.d.ts create mode 100644 node_modules/rollup/node_modules/@types/estree/package.json create mode 100644 node_modules/rollup/package.json create mode 100644 node_modules/router/HISTORY.md create mode 100644 node_modules/router/LICENSE create mode 100644 node_modules/router/README.md create mode 100644 node_modules/router/index.js create mode 100644 node_modules/router/lib/layer.js create mode 100644 node_modules/router/lib/route.js create mode 100644 node_modules/router/package.json create mode 100644 node_modules/safe-buffer/LICENSE create mode 100644 node_modules/safe-buffer/README.md create mode 100644 node_modules/safe-buffer/index.d.ts create mode 100644 node_modules/safe-buffer/index.js create mode 100644 node_modules/safe-buffer/package.json create mode 100644 node_modules/safer-buffer/LICENSE create mode 100644 node_modules/safer-buffer/Porting-Buffer.md create mode 100644 node_modules/safer-buffer/Readme.md create mode 100644 node_modules/safer-buffer/dangerous.js create mode 100644 node_modules/safer-buffer/package.json create mode 100644 node_modules/safer-buffer/safer.js create mode 100644 node_modules/safer-buffer/tests.js create mode 100644 node_modules/send/HISTORY.md create mode 100644 node_modules/send/LICENSE create mode 100644 node_modules/send/README.md create mode 100644 node_modules/send/index.js create mode 100644 node_modules/send/package.json create mode 100644 node_modules/serve-static/HISTORY.md create mode 100644 node_modules/serve-static/LICENSE create mode 100644 node_modules/serve-static/README.md create mode 100644 node_modules/serve-static/index.js create mode 100644 node_modules/serve-static/package.json create mode 100644 node_modules/setprototypeof/LICENSE create mode 100644 node_modules/setprototypeof/README.md create mode 100644 node_modules/setprototypeof/index.d.ts create mode 100644 node_modules/setprototypeof/index.js create mode 100644 node_modules/setprototypeof/package.json create mode 100644 node_modules/setprototypeof/test/index.js create mode 100644 node_modules/side-channel-list/.editorconfig create mode 100644 node_modules/side-channel-list/.eslintrc create mode 100644 node_modules/side-channel-list/.github/FUNDING.yml create mode 100644 node_modules/side-channel-list/.nycrc create mode 100644 node_modules/side-channel-list/CHANGELOG.md create mode 100644 node_modules/side-channel-list/LICENSE create mode 100644 node_modules/side-channel-list/README.md create mode 100644 node_modules/side-channel-list/index.d.ts create mode 100644 node_modules/side-channel-list/index.js create mode 100644 node_modules/side-channel-list/list.d.ts create mode 100644 node_modules/side-channel-list/package.json create mode 100644 node_modules/side-channel-list/test/index.js create mode 100644 node_modules/side-channel-list/tsconfig.json create mode 100644 node_modules/side-channel-map/.editorconfig create mode 100644 node_modules/side-channel-map/.eslintrc create mode 100644 node_modules/side-channel-map/.github/FUNDING.yml create mode 100644 node_modules/side-channel-map/.nycrc create mode 100644 node_modules/side-channel-map/CHANGELOG.md create mode 100644 node_modules/side-channel-map/LICENSE create mode 100644 node_modules/side-channel-map/README.md create mode 100644 node_modules/side-channel-map/index.d.ts create mode 100644 node_modules/side-channel-map/index.js create mode 100644 node_modules/side-channel-map/package.json create mode 100644 node_modules/side-channel-map/test/index.js create mode 100644 node_modules/side-channel-map/tsconfig.json create mode 100644 node_modules/side-channel-weakmap/.editorconfig create mode 100644 node_modules/side-channel-weakmap/.eslintrc create mode 100644 node_modules/side-channel-weakmap/.github/FUNDING.yml create mode 100644 node_modules/side-channel-weakmap/.nycrc create mode 100644 node_modules/side-channel-weakmap/CHANGELOG.md create mode 100644 node_modules/side-channel-weakmap/LICENSE create mode 100644 node_modules/side-channel-weakmap/README.md create mode 100644 node_modules/side-channel-weakmap/index.d.ts create mode 100644 node_modules/side-channel-weakmap/index.js create mode 100644 node_modules/side-channel-weakmap/package.json create mode 100644 node_modules/side-channel-weakmap/test/index.js create mode 100644 node_modules/side-channel-weakmap/tsconfig.json create mode 100644 node_modules/side-channel/.editorconfig create mode 100644 node_modules/side-channel/.eslintrc create mode 100644 node_modules/side-channel/.github/FUNDING.yml create mode 100644 node_modules/side-channel/.nycrc create mode 100644 node_modules/side-channel/CHANGELOG.md create mode 100644 node_modules/side-channel/LICENSE create mode 100644 node_modules/side-channel/README.md create mode 100644 node_modules/side-channel/index.d.ts create mode 100644 node_modules/side-channel/index.js create mode 100644 node_modules/side-channel/package.json create mode 100644 node_modules/side-channel/test/index.js create mode 100644 node_modules/side-channel/tsconfig.json create mode 100644 node_modules/siginfo/.travis.yml create mode 100644 node_modules/siginfo/LICENSE create mode 100644 node_modules/siginfo/README.md create mode 100644 node_modules/siginfo/index.js create mode 100644 node_modules/siginfo/package.json create mode 100644 node_modules/siginfo/test.js create mode 100644 node_modules/source-map-js/LICENSE create mode 100644 node_modules/source-map-js/README.md create mode 100644 node_modules/source-map-js/lib/array-set.js create mode 100644 node_modules/source-map-js/lib/base64-vlq.js create mode 100644 node_modules/source-map-js/lib/base64.js create mode 100644 node_modules/source-map-js/lib/binary-search.js create mode 100644 node_modules/source-map-js/lib/mapping-list.js create mode 100644 node_modules/source-map-js/lib/quick-sort.js create mode 100644 node_modules/source-map-js/lib/source-map-consumer.d.ts create mode 100644 node_modules/source-map-js/lib/source-map-consumer.js create mode 100644 node_modules/source-map-js/lib/source-map-generator.d.ts create mode 100644 node_modules/source-map-js/lib/source-map-generator.js create mode 100644 node_modules/source-map-js/lib/source-node.d.ts create mode 100644 node_modules/source-map-js/lib/source-node.js create mode 100644 node_modules/source-map-js/lib/util.js create mode 100644 node_modules/source-map-js/package.json create mode 100644 node_modules/source-map-js/source-map.d.ts create mode 100644 node_modules/source-map-js/source-map.js create mode 100644 node_modules/stackback/.npmignore create mode 100644 node_modules/stackback/.travis.yml create mode 100644 node_modules/stackback/README.md create mode 100644 node_modules/stackback/formatstack.js create mode 100644 node_modules/stackback/index.js create mode 100644 node_modules/stackback/package.json create mode 100644 node_modules/stackback/test.js create mode 100644 node_modules/statuses/HISTORY.md create mode 100644 node_modules/statuses/LICENSE create mode 100644 node_modules/statuses/README.md create mode 100644 node_modules/statuses/codes.json create mode 100644 node_modules/statuses/index.js create mode 100644 node_modules/statuses/package.json create mode 100644 node_modules/std-env/LICENCE create mode 100644 node_modules/std-env/README.md create mode 100644 node_modules/std-env/dist/index.cjs create mode 100644 node_modules/std-env/dist/index.d.cts create mode 100644 node_modules/std-env/dist/index.d.mts create mode 100644 node_modules/std-env/dist/index.d.ts create mode 100644 node_modules/std-env/dist/index.mjs create mode 100644 node_modules/std-env/package.json create mode 100644 node_modules/strip-literal/LICENSE create mode 100644 node_modules/strip-literal/README.md create mode 100644 node_modules/strip-literal/dist/index.cjs create mode 100644 node_modules/strip-literal/dist/index.d.cts create mode 100644 node_modules/strip-literal/dist/index.d.mts create mode 100644 node_modules/strip-literal/dist/index.d.ts create mode 100644 node_modules/strip-literal/dist/index.mjs create mode 100644 node_modules/strip-literal/package.json create mode 100644 node_modules/superagent/LICENSE create mode 100644 node_modules/superagent/README.md create mode 100644 node_modules/superagent/dist/superagent.js create mode 100644 node_modules/superagent/dist/superagent.min.js create mode 100644 node_modules/superagent/lib/agent-base.js create mode 100644 node_modules/superagent/lib/client.js create mode 100644 node_modules/superagent/lib/node/agent.js create mode 100644 node_modules/superagent/lib/node/decompress.js create mode 100644 node_modules/superagent/lib/node/http2wrapper.js create mode 100644 node_modules/superagent/lib/node/index.js create mode 100644 node_modules/superagent/lib/node/parsers/image.js create mode 100644 node_modules/superagent/lib/node/parsers/index.js create mode 100644 node_modules/superagent/lib/node/parsers/json.js create mode 100644 node_modules/superagent/lib/node/parsers/text.js create mode 100644 node_modules/superagent/lib/node/parsers/urlencoded.js create mode 100644 node_modules/superagent/lib/node/response.js create mode 100644 node_modules/superagent/lib/node/unzip.js create mode 100644 node_modules/superagent/lib/request-base.js create mode 100644 node_modules/superagent/lib/response-base.js create mode 100644 node_modules/superagent/lib/utils.js create mode 100644 node_modules/superagent/package.json create mode 100644 node_modules/supertest/LICENSE create mode 100644 node_modules/supertest/README.md create mode 100644 node_modules/supertest/index.js create mode 100644 node_modules/supertest/lib/agent.js create mode 100644 node_modules/supertest/lib/test.js create mode 100644 node_modules/supertest/package.json create mode 100644 node_modules/tinybench/LICENSE create mode 100644 node_modules/tinybench/README.md create mode 100644 node_modules/tinybench/dist/index.cjs create mode 100644 node_modules/tinybench/dist/index.d.cts create mode 100644 node_modules/tinybench/dist/index.d.ts create mode 100644 node_modules/tinybench/dist/index.js create mode 100644 node_modules/tinybench/package.json create mode 100644 node_modules/tinyexec/LICENSE create mode 100644 node_modules/tinyexec/README.md create mode 100644 node_modules/tinyexec/dist/main.cjs create mode 100644 node_modules/tinyexec/dist/main.d.cts create mode 100644 node_modules/tinyexec/dist/main.d.ts create mode 100644 node_modules/tinyexec/dist/main.js create mode 100644 node_modules/tinyexec/package.json create mode 100644 node_modules/tinyglobby/LICENSE create mode 100644 node_modules/tinyglobby/README.md create mode 100644 node_modules/tinyglobby/dist/index.d.mts create mode 100644 node_modules/tinyglobby/dist/index.d.ts create mode 100644 node_modules/tinyglobby/dist/index.js create mode 100644 node_modules/tinyglobby/dist/index.mjs create mode 100644 node_modules/tinyglobby/package.json create mode 100644 node_modules/tinypool/LICENSE create mode 100644 node_modules/tinypool/README.md create mode 100644 node_modules/tinypool/dist/common-Qw-RoVFD.js create mode 100644 node_modules/tinypool/dist/entry/process.d.ts create mode 100644 node_modules/tinypool/dist/entry/process.js create mode 100644 node_modules/tinypool/dist/entry/utils.d.ts create mode 100644 node_modules/tinypool/dist/entry/utils.js create mode 100644 node_modules/tinypool/dist/entry/worker.d.ts create mode 100644 node_modules/tinypool/dist/entry/worker.js create mode 100644 node_modules/tinypool/dist/index.d.ts create mode 100644 node_modules/tinypool/dist/index.js create mode 100644 node_modules/tinypool/dist/utils-B--2TaWv.js create mode 100644 node_modules/tinypool/dist/utils-De75vAgL.js create mode 100644 node_modules/tinypool/package.json create mode 100644 node_modules/tinyrainbow/LICENCE create mode 100644 node_modules/tinyrainbow/README.md create mode 100644 node_modules/tinyrainbow/dist/browser.d.ts create mode 100644 node_modules/tinyrainbow/dist/browser.js create mode 100644 node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js create mode 100644 node_modules/tinyrainbow/dist/index-8b61d5bc.d.ts create mode 100644 node_modules/tinyrainbow/dist/node.d.ts create mode 100644 node_modules/tinyrainbow/dist/node.js create mode 100644 node_modules/tinyrainbow/package.json create mode 100644 node_modules/tinyspy/LICENCE create mode 100644 node_modules/tinyspy/README.md create mode 100644 node_modules/tinyspy/dist/index.d.ts create mode 100644 node_modules/tinyspy/dist/index.js create mode 100644 node_modules/tinyspy/package.json create mode 100644 node_modules/toidentifier/HISTORY.md create mode 100644 node_modules/toidentifier/LICENSE create mode 100644 node_modules/toidentifier/README.md create mode 100644 node_modules/toidentifier/index.js create mode 100644 node_modules/toidentifier/package.json create mode 100644 node_modules/type-is/HISTORY.md create mode 100644 node_modules/type-is/LICENSE create mode 100644 node_modules/type-is/README.md create mode 100644 node_modules/type-is/index.js create mode 100644 node_modules/type-is/package.json create mode 100644 node_modules/unpipe/HISTORY.md create mode 100644 node_modules/unpipe/LICENSE create mode 100644 node_modules/unpipe/README.md create mode 100644 node_modules/unpipe/index.js create mode 100644 node_modules/unpipe/package.json create mode 100644 node_modules/vary/HISTORY.md create mode 100644 node_modules/vary/LICENSE create mode 100644 node_modules/vary/README.md create mode 100644 node_modules/vary/index.js create mode 100644 node_modules/vary/package.json create mode 100644 node_modules/vite-node/LICENSE create mode 100644 node_modules/vite-node/README.md create mode 100644 node_modules/vite-node/dist/chunk-browser.cjs create mode 100644 node_modules/vite-node/dist/chunk-browser.mjs create mode 100644 node_modules/vite-node/dist/chunk-hmr.cjs create mode 100644 node_modules/vite-node/dist/chunk-hmr.mjs create mode 100644 node_modules/vite-node/dist/cli.cjs create mode 100644 node_modules/vite-node/dist/cli.d.ts create mode 100644 node_modules/vite-node/dist/cli.mjs create mode 100644 node_modules/vite-node/dist/client.cjs create mode 100644 node_modules/vite-node/dist/client.d.ts create mode 100644 node_modules/vite-node/dist/client.mjs create mode 100644 node_modules/vite-node/dist/constants.cjs create mode 100644 node_modules/vite-node/dist/constants.d.ts create mode 100644 node_modules/vite-node/dist/constants.mjs create mode 100644 node_modules/vite-node/dist/hmr.cjs create mode 100644 node_modules/vite-node/dist/hmr.d.ts create mode 100644 node_modules/vite-node/dist/hmr.mjs create mode 100644 node_modules/vite-node/dist/index.cjs create mode 100644 node_modules/vite-node/dist/index.d-DGmxD2U7.d.ts create mode 100644 node_modules/vite-node/dist/index.d.ts create mode 100644 node_modules/vite-node/dist/index.mjs create mode 100644 node_modules/vite-node/dist/server.cjs create mode 100644 node_modules/vite-node/dist/server.d.ts create mode 100644 node_modules/vite-node/dist/server.mjs create mode 100644 node_modules/vite-node/dist/source-map.cjs create mode 100644 node_modules/vite-node/dist/source-map.d.ts create mode 100644 node_modules/vite-node/dist/source-map.mjs create mode 100644 node_modules/vite-node/dist/trace-mapping.d-DLVdEqOp.d.ts create mode 100644 node_modules/vite-node/dist/types.cjs create mode 100644 node_modules/vite-node/dist/types.d.ts create mode 100644 node_modules/vite-node/dist/types.mjs create mode 100644 node_modules/vite-node/dist/utils.cjs create mode 100644 node_modules/vite-node/dist/utils.d.ts create mode 100644 node_modules/vite-node/dist/utils.mjs create mode 100644 node_modules/vite-node/package.json create mode 100755 node_modules/vite-node/vite-node.mjs create mode 100644 node_modules/vite/LICENSE.md create mode 100644 node_modules/vite/README.md create mode 100644 node_modules/vite/bin/openChrome.applescript create mode 100755 node_modules/vite/bin/vite.js create mode 100644 node_modules/vite/client.d.ts create mode 100644 node_modules/vite/dist/client/client.mjs create mode 100644 node_modules/vite/dist/client/env.mjs create mode 100644 node_modules/vite/dist/node-cjs/publicUtils.cjs create mode 100644 node_modules/vite/dist/node/chunks/dep-3RmXg9uo.js create mode 100644 node_modules/vite/dist/node/chunks/dep-AiMcmC_f.js create mode 100644 node_modules/vite/dist/node/chunks/dep-CvfTChi5.js create mode 100644 node_modules/vite/dist/node/chunks/dep-DBxKXgDP.js create mode 100644 node_modules/vite/dist/node/chunks/dep-SgSik2vo.js create mode 100644 node_modules/vite/dist/node/cli.js create mode 100644 node_modules/vite/dist/node/constants.js create mode 100644 node_modules/vite/dist/node/index.d.ts create mode 100644 node_modules/vite/dist/node/index.js create mode 100644 node_modules/vite/dist/node/module-runner.d.ts create mode 100644 node_modules/vite/dist/node/module-runner.js create mode 100644 node_modules/vite/dist/node/moduleRunnerTransport.d-DJ_mE5sf.d.ts create mode 100644 node_modules/vite/index.cjs create mode 100644 node_modules/vite/index.d.cts create mode 100644 node_modules/vite/misc/false.js create mode 100644 node_modules/vite/misc/true.js create mode 100644 node_modules/vite/package.json create mode 100644 node_modules/vite/types/customEvent.d.ts create mode 100644 node_modules/vite/types/hmrPayload.d.ts create mode 100644 node_modules/vite/types/hot.d.ts create mode 100644 node_modules/vite/types/import-meta.d.ts create mode 100644 node_modules/vite/types/importGlob.d.ts create mode 100644 node_modules/vite/types/importMeta.d.ts create mode 100644 node_modules/vite/types/internal/cssPreprocessorOptions.d.ts create mode 100644 node_modules/vite/types/internal/lightningcssOptions.d.ts create mode 100644 node_modules/vite/types/metadata.d.ts create mode 100644 node_modules/vite/types/package.json create mode 100644 node_modules/vitest/LICENSE.md create mode 100644 node_modules/vitest/README.md create mode 100644 node_modules/vitest/browser.d.ts create mode 100644 node_modules/vitest/config.d.ts create mode 100644 node_modules/vitest/coverage.d.ts create mode 100644 node_modules/vitest/dist/browser.d.ts create mode 100644 node_modules/vitest/dist/browser.js create mode 100644 node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js create mode 100644 node_modules/vitest/dist/chunks/base.Cg0miDlQ.js create mode 100644 node_modules/vitest/dist/chunks/benchmark.CYdenmiT.js create mode 100644 node_modules/vitest/dist/chunks/benchmark.d.BwvBVTda.d.ts create mode 100644 node_modules/vitest/dist/chunks/cac.Cs_fZ7zn.js create mode 100644 node_modules/vitest/dist/chunks/cli-api.C37Ou0i1.js create mode 100644 node_modules/vitest/dist/chunks/config.d.D2ROskhv.d.ts create mode 100644 node_modules/vitest/dist/chunks/console.CtFJOzRO.js create mode 100644 node_modules/vitest/dist/chunks/constants.DnKduX2e.js create mode 100644 node_modules/vitest/dist/chunks/coverage.D1a3dTnj.js create mode 100644 node_modules/vitest/dist/chunks/coverage.DVF1vEu8.js create mode 100644 node_modules/vitest/dist/chunks/coverage.d.S9RMNXIe.d.ts create mode 100644 node_modules/vitest/dist/chunks/creator.GK6I-cL4.js create mode 100644 node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js create mode 100644 node_modules/vitest/dist/chunks/defaults.B7q_naMc.js create mode 100644 node_modules/vitest/dist/chunks/env.D4Lgay0q.js create mode 100644 node_modules/vitest/dist/chunks/environment.d.cL3nLXbE.d.ts create mode 100644 node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js create mode 100644 node_modules/vitest/dist/chunks/git.BVQ8w_Sw.js create mode 100644 node_modules/vitest/dist/chunks/global.d.MAmajcmJ.d.ts create mode 100644 node_modules/vitest/dist/chunks/globals.DEHgCU4V.js create mode 100644 node_modules/vitest/dist/chunks/index.BbB8_kAK.js create mode 100644 node_modules/vitest/dist/chunks/index.CJ0plNrh.js create mode 100644 node_modules/vitest/dist/chunks/index.CSxmp_dI.js create mode 100644 node_modules/vitest/dist/chunks/index.CX5aIIXH.js create mode 100644 node_modules/vitest/dist/chunks/index.CdQS2e2Q.js create mode 100644 node_modules/vitest/dist/chunks/index.CmSc2RE5.js create mode 100644 node_modules/vitest/dist/chunks/index.D3XRDfWc.js create mode 100644 node_modules/vitest/dist/chunks/index.X0nbfr6-.js create mode 100644 node_modules/vitest/dist/chunks/inspector.C914Efll.js create mode 100644 node_modules/vitest/dist/chunks/mocker.d.BE_2ls6u.d.ts create mode 100644 node_modules/vitest/dist/chunks/node.fjCdwEIl.js create mode 100644 node_modules/vitest/dist/chunks/reporters.d.DL9pg5DB.d.ts create mode 100644 node_modules/vitest/dist/chunks/rpc.Iovn4oWe.js create mode 100644 node_modules/vitest/dist/chunks/runBaseTests.Dd85QTll.js create mode 100644 node_modules/vitest/dist/chunks/setup-common.Dd054P77.js create mode 100644 node_modules/vitest/dist/chunks/suite.d.FvehnV49.d.ts create mode 100644 node_modules/vitest/dist/chunks/typechecker.DRKU1-1g.js create mode 100644 node_modules/vitest/dist/chunks/utils.CAioKnHs.js create mode 100644 node_modules/vitest/dist/chunks/utils.XdZDrNZV.js create mode 100644 node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js create mode 100644 node_modules/vitest/dist/chunks/vite.d.CtvOcEqC.d.ts create mode 100644 node_modules/vitest/dist/chunks/vm.BThCzidc.js create mode 100644 node_modules/vitest/dist/chunks/worker.d.DvqK5Vmu.d.ts create mode 100644 node_modules/vitest/dist/chunks/worker.d.tQu2eJQy.d.ts create mode 100644 node_modules/vitest/dist/cli.js create mode 100644 node_modules/vitest/dist/config.cjs create mode 100644 node_modules/vitest/dist/config.d.ts create mode 100644 node_modules/vitest/dist/config.js create mode 100644 node_modules/vitest/dist/coverage.d.ts create mode 100644 node_modules/vitest/dist/coverage.js create mode 100644 node_modules/vitest/dist/environments.d.ts create mode 100644 node_modules/vitest/dist/environments.js create mode 100644 node_modules/vitest/dist/execute.d.ts create mode 100644 node_modules/vitest/dist/execute.js create mode 100644 node_modules/vitest/dist/index.d.ts create mode 100644 node_modules/vitest/dist/index.js create mode 100644 node_modules/vitest/dist/mocker.d.ts create mode 100644 node_modules/vitest/dist/mocker.js create mode 100644 node_modules/vitest/dist/node.d.ts create mode 100644 node_modules/vitest/dist/node.js create mode 100644 node_modules/vitest/dist/path.js create mode 100644 node_modules/vitest/dist/reporters.d.ts create mode 100644 node_modules/vitest/dist/reporters.js create mode 100644 node_modules/vitest/dist/runners.d.ts create mode 100644 node_modules/vitest/dist/runners.js create mode 100644 node_modules/vitest/dist/snapshot.d.ts create mode 100644 node_modules/vitest/dist/snapshot.js create mode 100644 node_modules/vitest/dist/spy.js create mode 100644 node_modules/vitest/dist/suite.d.ts create mode 100644 node_modules/vitest/dist/suite.js create mode 100644 node_modules/vitest/dist/worker.js create mode 100644 node_modules/vitest/dist/workers.d.ts create mode 100644 node_modules/vitest/dist/workers.js create mode 100644 node_modules/vitest/dist/workers/forks.js create mode 100644 node_modules/vitest/dist/workers/runVmTests.js create mode 100644 node_modules/vitest/dist/workers/threads.js create mode 100644 node_modules/vitest/dist/workers/vmForks.js create mode 100644 node_modules/vitest/dist/workers/vmThreads.js create mode 100644 node_modules/vitest/environments.d.ts create mode 100644 node_modules/vitest/execute.d.ts create mode 100644 node_modules/vitest/globals.d.ts create mode 100644 node_modules/vitest/import-meta.d.ts create mode 100644 node_modules/vitest/importMeta.d.ts create mode 100644 node_modules/vitest/index.cjs create mode 100644 node_modules/vitest/index.d.cts create mode 100644 node_modules/vitest/jsdom.d.ts create mode 100644 node_modules/vitest/mocker.d.ts create mode 100644 node_modules/vitest/node.d.ts create mode 100644 node_modules/vitest/optional-types.d.ts create mode 100644 node_modules/vitest/package.json create mode 100644 node_modules/vitest/reporters.d.ts create mode 100644 node_modules/vitest/runners.d.ts create mode 100644 node_modules/vitest/snapshot.d.ts create mode 100644 node_modules/vitest/suite.d.ts create mode 100644 node_modules/vitest/suppress-warnings.cjs create mode 100644 node_modules/vitest/utils.d.ts create mode 100755 node_modules/vitest/vitest.mjs create mode 100644 node_modules/vitest/workers.d.ts create mode 100644 node_modules/why-is-node-running/.github/FUNDING.yml create mode 100644 node_modules/why-is-node-running/LICENSE create mode 100644 node_modules/why-is-node-running/README.md create mode 100755 node_modules/why-is-node-running/cli.js create mode 100644 node_modules/why-is-node-running/example.js create mode 100644 node_modules/why-is-node-running/include.js create mode 100644 node_modules/why-is-node-running/index.js create mode 100644 node_modules/why-is-node-running/package.json create mode 100644 node_modules/wrappy/LICENSE create mode 100644 node_modules/wrappy/README.md create mode 100644 node_modules/wrappy/package.json create mode 100644 node_modules/wrappy/wrappy.js create mode 100644 package-lock.json create mode 100644 package.json diff --git a/node_modules/.bin/esbuild b/node_modules/.bin/esbuild new file mode 120000 index 0000000..c83ac07 --- /dev/null +++ b/node_modules/.bin/esbuild @@ -0,0 +1 @@ +../esbuild/bin/esbuild \ No newline at end of file diff --git a/node_modules/.bin/mime b/node_modules/.bin/mime new file mode 120000 index 0000000..fbb7ee0 --- /dev/null +++ b/node_modules/.bin/mime @@ -0,0 +1 @@ +../mime/cli.js \ No newline at end of file diff --git a/node_modules/.bin/nanoid b/node_modules/.bin/nanoid new file mode 120000 index 0000000..e2be547 --- /dev/null +++ b/node_modules/.bin/nanoid @@ -0,0 +1 @@ +../nanoid/bin/nanoid.cjs \ No newline at end of file diff --git a/node_modules/.bin/rollup b/node_modules/.bin/rollup new file mode 120000 index 0000000..5939621 --- /dev/null +++ b/node_modules/.bin/rollup @@ -0,0 +1 @@ +../rollup/dist/bin/rollup \ No newline at end of file diff --git a/node_modules/.bin/vite b/node_modules/.bin/vite new file mode 120000 index 0000000..6d1e3be --- /dev/null +++ b/node_modules/.bin/vite @@ -0,0 +1 @@ +../vite/bin/vite.js \ No newline at end of file diff --git a/node_modules/.bin/vite-node b/node_modules/.bin/vite-node new file mode 120000 index 0000000..d68f74c --- /dev/null +++ b/node_modules/.bin/vite-node @@ -0,0 +1 @@ +../vite-node/vite-node.mjs \ No newline at end of file diff --git a/node_modules/.bin/vitest b/node_modules/.bin/vitest new file mode 120000 index 0000000..2273497 --- /dev/null +++ b/node_modules/.bin/vitest @@ -0,0 +1 @@ +../vitest/vitest.mjs \ No newline at end of file diff --git a/node_modules/.bin/why-is-node-running b/node_modules/.bin/why-is-node-running new file mode 120000 index 0000000..f08a594 --- /dev/null +++ b/node_modules/.bin/why-is-node-running @@ -0,0 +1 @@ +../why-is-node-running/cli.js \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json new file mode 100644 index 0000000..4bbb4ad --- /dev/null +++ b/node_modules/.package-lock.json @@ -0,0 +1,1851 @@ +{ + "name": "repo_0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "node_modules/@esbuild/linux-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", + "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@paralleldrive/cuid2": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.2.2.tgz", + "integrity": "sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.1.5" + } + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz", + "integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz", + "integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@types/chai": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitest/expect": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.3.tgz", + "integrity": "sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.3", + "@vitest/utils": "3.2.3", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.3.tgz", + "integrity": "sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "3.2.3", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.3.tgz", + "integrity": "sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.3.tgz", + "integrity": "sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.3", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.3.tgz", + "integrity": "sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.3", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.3.tgz", + "integrity": "sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^4.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.3.tgz", + "integrity": "sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.3", + "loupe": "^3.1.3", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chai": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", + "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/dotenv": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", + "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.5", + "@esbuild/android-arm": "0.25.5", + "@esbuild/android-arm64": "0.25.5", + "@esbuild/android-x64": "0.25.5", + "@esbuild/darwin-arm64": "0.25.5", + "@esbuild/darwin-x64": "0.25.5", + "@esbuild/freebsd-arm64": "0.25.5", + "@esbuild/freebsd-x64": "0.25.5", + "@esbuild/linux-arm": "0.25.5", + "@esbuild/linux-arm64": "0.25.5", + "@esbuild/linux-ia32": "0.25.5", + "@esbuild/linux-loong64": "0.25.5", + "@esbuild/linux-mips64el": "0.25.5", + "@esbuild/linux-ppc64": "0.25.5", + "@esbuild/linux-riscv64": "0.25.5", + "@esbuild/linux-s390x": "0.25.5", + "@esbuild/linux-x64": "0.25.5", + "@esbuild/netbsd-arm64": "0.25.5", + "@esbuild/netbsd-x64": "0.25.5", + "@esbuild/openbsd-arm64": "0.25.5", + "@esbuild/openbsd-x64": "0.25.5", + "@esbuild/sunos-x64": "0.25.5", + "@esbuild/win32-arm64": "0.25.5", + "@esbuild/win32-ia32": "0.25.5", + "@esbuild/win32-x64": "0.25.5" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/expect-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz", + "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/form-data": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", + "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/form-data/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/formidable": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz", + "integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@paralleldrive/cuid2": "^2.2.2", + "dezalgo": "^1.0.4", + "once": "^1.4.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loupe": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", + "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", + "dev": true, + "license": "MIT" + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.5.tgz", + "integrity": "sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rollup": { + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz", + "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.43.0", + "@rollup/rollup-android-arm64": "4.43.0", + "@rollup/rollup-darwin-arm64": "4.43.0", + "@rollup/rollup-darwin-x64": "4.43.0", + "@rollup/rollup-freebsd-arm64": "4.43.0", + "@rollup/rollup-freebsd-x64": "4.43.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.43.0", + "@rollup/rollup-linux-arm-musleabihf": "4.43.0", + "@rollup/rollup-linux-arm64-gnu": "4.43.0", + "@rollup/rollup-linux-arm64-musl": "4.43.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.43.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0", + "@rollup/rollup-linux-riscv64-gnu": "4.43.0", + "@rollup/rollup-linux-riscv64-musl": "4.43.0", + "@rollup/rollup-linux-s390x-gnu": "4.43.0", + "@rollup/rollup-linux-x64-gnu": "4.43.0", + "@rollup/rollup-linux-x64-musl": "4.43.0", + "@rollup/rollup-win32-arm64-msvc": "4.43.0", + "@rollup/rollup-win32-ia32-msvc": "4.43.0", + "@rollup/rollup-win32-x64-msvc": "4.43.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "dev": true, + "license": "MIT" + }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/superagent": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.2.1.tgz", + "integrity": "sha512-O+PCv11lgTNJUzy49teNAWLjBZfc+A1enOwTpLlH6/rsvKcTwcdTT8m9azGkVqM7HBl5jpyZ7KTPhHweokBcdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^3.5.4", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/supertest": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.1.1.tgz", + "integrity": "sha512-aI59HBTlG9e2wTjxGJV+DygfNLgnWbGdZxiA/sgrnNNikIW8lbDvCtF6RnhZoJ82nU7qv7ZLjrvWqCEm52fAmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "methods": "^1.1.2", + "superagent": "^10.2.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinypool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.0.tgz", + "integrity": "sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", + "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.3.tgz", + "integrity": "sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.3.tgz", + "integrity": "sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.3", + "@vitest/mocker": "3.2.3", + "@vitest/pretty-format": "^3.2.3", + "@vitest/runner": "3.2.3", + "@vitest/snapshot": "3.2.3", + "@vitest/spy": "3.2.3", + "@vitest/utils": "3.2.3", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.0", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.3", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.3", + "@vitest/ui": "3.2.3", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + } + } +} diff --git a/node_modules/@esbuild/linux-x64/README.md b/node_modules/@esbuild/linux-x64/README.md new file mode 100644 index 0000000..b2f1930 --- /dev/null +++ b/node_modules/@esbuild/linux-x64/README.md @@ -0,0 +1,3 @@ +# esbuild + +This is the Linux 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details. diff --git a/node_modules/@esbuild/linux-x64/bin/esbuild b/node_modules/@esbuild/linux-x64/bin/esbuild new file mode 100755 index 0000000000000000000000000000000000000000..4dc32f1f9e5e166609264cf3138946899ca25f18 GIT binary patch literal 10268824 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�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%0AS)$zer7xw)gRma*+C^8 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�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
e-qgG**D<+?=)x)g+ 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

32CW(tH4#!LnCKfwAb{0~%a2w?v}z+{ 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

  • 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�S4a z^~-Cne0S)UMLrC&89^rg)+-12TWP-$iO1%0mkl=~WAQI!A01HmxrGd`uWY8cynGHiDkRNKxlyvGkcgs3by z8UossG*M=v29X!Xi2PxXv2|JWyfYK{hr>Eem;y-M3Y2zG`@yJ*vftmW_!RN{&zDi| z{Oodn9iJ-4K1aGV@wD-j^R7@Szscn)+Q%>IyD|Q2c&aEeY)~|$q9?cp>nWxAz4bZQ zSHIxebis@^UptF}pS);29k1qo<(KkLlV5gRd(ACXsTHnNACMwo&6J3#l{#HUhJPpoQ7DNG|66%{I{6Q8Q9|Y8_1P=&3$30w zjvm0_^JYFD$l>$*2Xpv5q0$^a6WWIINd5c|96s;Dp_Eq~N)rIpwwXATX83!WLupsv zcMIK$rt|_iu&WateLXtq!dLlGlMDiu$)xZJ!dneSf%D?mzvaWsaln~&6WD- zPm~&$U20&vr7Bcv8l?_JdQ(n1Bl&vGgk^L|!2xXA>_cmlNDcCRt&r4PnDpTT>VW$JsSurhE6E=z3kI zYN)|xsIpMkRMj;d{`J-32mKLh^2ab$t-=DFx+iVMe{x8jx=n8wAiVsEKD^4SW0I-X zBC$fE!elyy2`M94V3Sups>0QHk(bE5iWo2#@|X6 z+_bS$cTQ97TBNP2rgyv({c2~ajNmE<3n#c(#ny!D>f`EQbFw3r)5`LdH+@&*s*rwU z(>6U;Bhic-zB%zQxvFwst}5Sh)2moaaWWy6`Ev}!m+$uR-S4`u3#0#>iqZCD5`X7V!`&otp>eWRVnW!mA zh2zj&JH2J7u(KWusXJ6?sm1D$>eGGI@)lZ32Nb-2*7@=7H&?EDCvReWP`9f1w8Dw; zA^gtZlH}Yss5DmYXO2q)*BByr5AV&iSZYUt1)(r%8e{^G?s`A85 z_ztks7OU~RpQ_>oYfFKp7W3VnC+C5t-EMqa&6B`UtEkaYWi~Z)QX8GFcy^tjSiU24 z%S>vU81LRGT)rx_a2NDfxhWBe52~nK^e~=ncn`H{8?SjIRx|tj_@K%|)$3EAt9KhEQ}sIXJG?FVJ@9`;e(#NLd0FIF zB=o7*n(cM`YJFTPdj{{8-ohrA0VQH2szVMMy>j*JfYGa?o&}51p1idPgy;@$bJERMwcjAZB?H1T{`+uZg+Z8KH12mA#s zW@zDHRSJ)NkUskrvB)}yy82O%{|S>%&6Q%pE6E^Fs74v{2@qylP9W}FSlrpO^D|e;GJnm{a6(5Paaq+bB4(?@!y?1 z;qp&{$s;j^21Rq=v-bZl)-66O;*!krRarOe*5}>>R7_p2RNQQgS|&fZ`Qwj;3=+z+ z=8tcS^`}pVjOl~-TGO*^Ray}ELh-9afdbLBdWfH!i*d8oH*WUExQQ>`S^VD26zYz> z%q?n~LZQM=noVlJUo+hVs-q`vQXZ}vfwvKR{49?9-CU|^BBHJzHSZ5Lf5bjllAwuY z^M?7PS-|``gWKyxuvo(*I$Osut*VT9WH~eDk!sRBQWKdXqRppxpWapR3o6_^Vd{t- zbYi%4?1E~0JD16`?e{i$bTTqEx8wgGbMGD>RdN20Cy-zS!Y+_V5TXf0NJKOds0omg zK)|!Gk#MO}!8Qs~)T)sr5anWE6JTAAMy2(JEv=VYwbfP%K~NJw2w*h<1%xU$t7l!R zL9K*K$@l$!=A6AG8^D&&@Ab@5uLJVqHK7~G9Uk$Ihkt1%t_s?Kg=${7ZXR?acvaY_kg0!|#-qcHWMY(pmR zwCpo^Qc;fgCHT9nC<(6L)+yt14+1Pr<5H9{7)C0xXBwm?_);&|m5QqFjgGWNM_L0- z{F5ArGSPWUatT$!g18ENu-lo25DDZ;KxFubFfS`2#_EHy*L#myUf@jI!u_K;oCtge zA<0jx_5C&YOAU_8D=D(&XcFoKJ>f<$NEtqeZgj#%q5L*cO`IbPwrIK%89x64rFrZm*t1q}kE^?@bRP!<# z7Gv+e7}=A^T^4|iHxoWv#Y-eO1N#A4sz4?xs2mU(ndb=}zHS8@fblv-LJk^@*&Mw0 z8V0UGJOpvk0TppoT+b@B3h=H+m)q*h`oN~sGY8A6hm+P)rTpl9-FQ82q65J(VCAKj zxr-Z`yZeBkm|%n-_sT3a`KOr4HXxrO5Cc#nkx#cIf`&7h1^x~FBl&lS+39AGe+-w= zqub$(dojAaMvtT6`8OrNzd*lB52caxJFt#5d(dLO5<;?WG>Jf~i_D8k$=Bl`o)gJD z6mll!%3k@BaPQATVa2^WFC$z&s}C9v`2Jhq0FCS)@s4NjNy7x>xc5Hn#3K(=hLe}| zSYN@-`Hv%izx4da5z(*S_1IWv4JKi(9AC`%pa(GmnBz+$m>Y-#QpOO+{d8fpIp2lB z8Y7}~W26sud_iP>R{g?`WON}gL#{Gw0h!`igBn3}C9Cz6ovvc)9F*IU_I&p~XV&id zb__JxsMPNt5Q+T<>`RCiq?O91g?&k_Lmrc(Ww=qYx=h+L6%UP%eEqg&Q8r6ZnMmUe zN*)ecH8!GmLqMk1qZ07~)Tlb7BM@YN82ju}q9jAM{xC59nB-geQ$r$s{Sx}{nYiNQLXO+QbstiAQ_!94t zLlrnO=a&#U+Mhx{4+``3o13j34~$`8%@7+MH+Lt2hBO&PGuHqXKc*(ys>>5f>FY%;*Yg0@oBF*5q+lf_tdB^7JRxXQkDh%H5B~lk*Rpspz}8VQ z@@(rUJFl+n`<^3bZN~ON=2?lI96U@BXC>;`>5zvAYTpeACB*o`$H-iYtv?74lqm+&pR%Ql z8ui=wX-AdnEgkFic+JcK$DWfpv&wp#KI`OK8ie_tX&Et&tX(BAF~>&cSMD!8!m&%E zlQ;*sJai>?*3Y5KVDrZJj?r+(`1%d?1Pauz!-)`7Fj{Y@>B!K@kieb6JL@@STK~{*ZhG&E& z9hbtUgu0p>mMH(oKo4#0MoGkO= zp8G7_>=w{^xWU3KX^S1yjz1!_*u6F5dxQ{S9flBV#$ZU0dNr%Qq}KxETHeo)&P3;z zA`AJvSoA>b&Nk~u8%rd{jBaP4g|`EEsfZx!d)EG^ma@x!RjBAu`F%+=BY8U+4^c=J zD0=jQ{ZJfw;^!W0lx+CZIaeZOMs3t}Jqv7G>%k*&_#b{;4*P8=4 ze#?Lkd#9YRLu<+T6RYHh8r>N=h8-OfVjzrn^m`Q6!KHbgTkY5%`y9*-#0}#G98w7a z^l(DgIX#Kf<*mMXo>_M9#qv%q0yRAo5~z)_n&NH})inz%Wr!Q8{52b^{JwNP_UmeY zfBYZTo=GUhl%V`B*u(cjoY{6Q{ohUQC`?j!sI@(-eKVEX2pNBKtlPQ7g@ z%@S6S$|o?g$0V?G6v}qGJ@obf+X!eg?5}}eTl!WiGXLXyY`&>q7;p8CE?-FRu;Btt z$yT(;Eqr)~mbJ0;M!!m9x&d27e=7Q{#1o%aMU;x>#efk1Eq+;JQ-d)uS@w=%k6H=N zY(hUnGAv6krb{7?Ch{aM;YXg>rSff~Niuh>@i01nzWeL^RQzlId)UrHj9@0wkz5fL9Zh!x}&#TjW2Z-6@*U+M$ZVT8RGKyof6h@#Qv3;x`JP7|7(h|yU zwIXy)bY2XW7(d*NIA2~3iRoGzys=_;fPKe56ZSRXA_FX}k#H!mexp|#aC>hP9V+lW zV8WM58sxA;VZ2Tf`Nv|_!YugloLRLCFM=&l9PPs*eI1*F^x2)UOwdDbRn0$?{9E)M2Yi2ZytKp#LW;}dKp>E9S~ zkspA)B;I~G;P+hXDYN?!?NV!vFD2>35~yCwEr=J=b$3e=i2; zn?!IyF`2)~OpbFWP#NQpOyagD`X_N=CS94~CS9m30hF)8mz;UcTA&C3O~?nFbortk zo;=LB!c7G6<(x)DvNb#qA}?er)cE|AB;yI30TQl{bA9`~&WGpPo2lPsF}S%L^dKF| z)opTenT+8VlE=!gF>nmWw2nP%GuZn$MKIHNO9;$ zZWycghM1ZG_3jhq(4%SCyhy7S^QuPM;*X^164HEs>5Wx9#dD0N_r~_dsgXEUVK$5% zG=ozZcmW8?2-Jr>UXSVh`+$!SXc$7aRVdHjVe{?YKy!2~XvdgQCpA${qKvwMBA1yk-?9iSf(3F0PdNgh5 zJ;Xjkpp9gBaR7FzysWWy|JG{&hM>_P2!0v@flm)^UbTOn*}mP{{Ep3ul7rKUy3sYd zDzX{Z!1;^nv6tSMacgT~HNM7CA1&lm<$p+$ZSmpqKd@!1)l1oG0vp5{ULAP>{c4;n zL`&RTuM$}7m%a5LSxB7w`!~<~`>t#n`;s#D13_2lXP-&4pIXiOufo4flYU7SCXkd+ zB@^85;YPQ-Isq;Pdb^D4#`8GGqXj9cNRlX&ZhQXF)QiM=$YWygO732{3xy5=N1{7}1I%Ugk&l%bTr|$JbKkyghN#O6>dvBL77u zZ7ltIBl}%g{W`Fl=+_~pew_foX;m>v2Sy|~H;}-I$1zTTxi~3_8($rg4x?@DyC3Nl z0?hUPvIVqUzcSCC=wSulx;B?HnuV(`RWfn^SU72&L}BjI(xa1pKMC`*CrNk}Bwe0$ zpUN(^B_}eHvs_uY(MMu-TU#P@7;|gj@zF= zg`f|1^CVX1+!V1cL4+oBH3%n^-1hZJG)%{f`=@XNc3ZC8>v#1w-RoUd?!`z=wG z72c`i^~oQhvrjZe+qw?T-7?aS<#_^{Yg>U0XT^~MA|zDiw_cp7(Tu0*#g}_CAO^S{ zGj}}xXU#==fgC8E<|td`r(9jAY_=`e@ruL!cX)aoyAJ2NHrGRvKO^t+dp74MpUl7b zFqU?`n5eVP+~TfPUasAbhV}W|-17e*&`QB}?!Oi^T12oe) zsF{;lZKLzN5kj@eW;1`nYG-Sz?Rh>3o3U)>g{lD69&fuDtWOLJZOB)l@W~6?&^^Ho z9eRH}^-EAoX>GS;?D`@EA(ylR{_Kwnhf#EJLuF{l*!4&NquR{233pd$JH1SNO2Rht zo98UT1;%)I?0Fj7ksgfThW&E7soA&$|KP4>`3{t0x`|umzgmyqRe^bu;lU{+0ecGh zSHC}-`S)IseYF;yOc{ck%Psqg&JY?&3_e}OEBt2>@ZG)put^Oxy-5;=VPU=+6+{>> z9{>P2)n(zOO20JOZA-`D3DtWU+;cq7gN|V_cG3oKmxRc54`Nf3ObM|@gEU%Ph{m7- zbx%Ji(ry>prS&1NG7>>nV0CUn!(EZuipdxU3?0T@X8Idihcf={EJ-NGu7nb1`1ipe z9SfTkR(&&YvOWAXXK1>*llYr z=KlL_nPb}_g`DqQ^H71S5$5V}dZNxal4~%MoxxC2D<7TVN99=&Sl9z7i-}t%)&whe zdW&K8l4+Q7t}yLd&)6iPAKZweK=lvnCSd=vuBfj0M>Tyy60?*cinpGp5_cJPn(0wj zhtx$QR4X4EQF4u}JJuNnc1q(dAa4#mmD_wbapIiLDKvOA841T~d{fNVPhihs%hyxs z#}dKttW<)5Mly{*lSw8Dz>AA4f|Yx_w+fCOEi!H^xAA9f0lQsWLG|~;){|Rp6YfF( z8&f$ng;eQ#1)kD3DG%%)r_iw=gqA-^`~=35Z-YAl36S8$f_IpCkeVNEM`h+52r}iQ zZ841!NS~G-UFLzr@A61oH}$qVif^A@GLYZ(*Vf&AYsvIkN$Ifq zohjF_;Og|kq?U}z=Cu?O#5i`TfUx|gnXSC})Nj4~ckf)8L}S;6Vv zD080W)Spk80@kPy^v|%FOz5!aXcD_DdVLPA3_+hFzc-|4a$TKLAlH>CnR2a2N#|9M z?!1AH(sdCrGOdow`s6)9iv9Y_nIhN4O4s&y?gVCh4CznygNec7^=oxkQwNW%^Tg}dSH z^RXabk&=KWs-Vn%$d-#0PBSmQ>=#5am4T#Q(5 z5)3OxIRC_z-F+eLLNIWJP|z1=+}4GRRX-66qJpg|)J7z?9a*GP(M$xcq%7#9B?(m# z0D~?^V6oE7yd+p*vA)7Vf9x#?c9V^Y;2y&Wg^JaDpl?X2k?VulJXpc%gXzBrJ&DJ2 z7%|6AHZQA4*}})3&N$Np8$v=p$FUw^zJG-ylN|41zK`z;%yhPt_P&p~lvVx*F{28mw-LZQI%u3(HR4HJQYLR+@t(3S?NN6PGrFo7Q5o-U6;A&Ku_vJ#8&83Mz&$5RWK1^{DomzH%_(lnBBTke^eSm{{^k+6nF!!CuE#ieS96s8IJe zfYBac5c`g{H7i6FA?mrZ6At_F-IVL9P0w4le6T1e#uaTL0dP71&H`N0h{4RMkAbvr z)vEt)`Z?iD(~ck3YQJocT@sHu8V={DHK_PRhpQ=J_Mg3<0Ax*{gr3k)+@Io|wHoa<{m~=^ zWrw4ISO9@Q*a{hh{Wid&%^bVA#MLOiNn;AaJ-`q3!-IH;miCgYqRP4oeO>9s^E6vqzD43H`)P<}H!#yQsz}n-UD3Bs#b+zO*@3Vu9icTm?d_O2tLBNA z!vCGF?Az~c6)RBWS!i$g8WANit}jMlSp97B?Geo>O)!{-O4!30Tjf1?%i&2!^iB*? z*3E^R4Ns?mG4x1P7O1CqGE6-giSMW%@N96%m#gXM(z6fe`=7^!JkM3n+uh)Q&aH8Q zmUl&|?*sLJ7chc{7wztHwS#PeKv{-Ao^!5Q-XYW2OzxjyQhAo{~J3ZgHAjnKx%znJiq zV%Nu-bS>lkDs9~x_*OK#?X_cqpZ7N~>+$wvP!qH$bqXB5Y!od*1+=^UA9-ixZwOlI(W)f`Z8XE_^|3SKV{El^)Ouqa>w{X@;c%Udng6NpF94!*x)bjG=9(&p zA5g%s4O=PaA41*h2|x%I7#?6zp96T}-|EZRAzxxb(i(3-g-^${`t-W<{j^i7PftT> zn`FD#B%4s}&}%I*+le>NgKB>bV1E`I7PqRt7}cNGr`Nao6o+gOGT{}re}}RPPJ#J{ zK{b2J&tRW<&oCxH2~7z0NB-Or`w#Kv`C#wR?}L-N4$;;NyEqV3;X&lp9H>MeOxf(^ zt*TvsYT;V#ZHFuZkWe{9|8Jas$oHxRVVlt8&0aDAk}|uS=&$m z_U)fq;`Pr;<8S}8dD;{H%X`a9G1D-6UxfkNO7=(1=p`QYUfn^xCPg{y~cAJzc z+Jrs4t+W_Ua&6}L@b-J;FV3&P&H;E8crr#O97JNz9EW%&9$Ha#w%9+)iu#@}x0D?9 zTh{;QnX&;H5FhL`#I|qa5iE?bgQEn@2JiUDb)wyZJWj9awek!GV#7PZAnb{7UMJ2h z$~uk{h#^b~;;hCdomykqv41l<^bJ)RzW34H)z0=TXvl3|fgWJg({t=MJH5BkMJ4b} z^23K{+zKSdi2rA-l3KAg6R(HCfxAnLg>w7%`etv{p0vIud?vZ~vt*=jY0PFw9l zzNT7@`r15y)3&5jp#KygMiJsaG0C)#Fz2YK2J6co$c(U6iUSm26snL^Z0fuusS&OtIPe(G8}=vAD+kj2m=CKAch7~i>#8h{vGPL0xugcynoWnA2aVtyejdrfB6IEBAp+wHt`tA zpPKCQ?g{jlmQtqX2SM@UnbbP*FAz{5F4`y^r<;I(aFP-ooh~zpuB)Se_nB#mi<+W4 zgc7p}&$T$s3qGhEtXlFQCUjzOzXWx(0dtBMJJEFv*Dg2mX79`B7=f8u_jG zGahEYiC+}ku3Vo#n z5{ysKPhyvLK=2dhtWu3fRh#j>F9!nf{DyJn{HPuW%for?+FV3s05?SJtWEH@Pv==P zExu)hG&*zv)8ssS46woD(8bYUV54AfG{xLSOUlqyDGKS*xnwhwqxN72?AtmP{bzhTS**lA9L?bhh3ty@>>Cbz6D+}#-6Km4bUH_-v2i< z|1LmAGfFR4QRK`?-r;BzNvM_Sy;jDh*f{_}-h=Wm{jY?XffyiHfjp%)h?I2`kT8^X zTx@b>*ZqP@z-}aC&#@fiT9l+lR4oY(>BKw7;{4spB#N@hK$G&u>-|uuCwiZwC5EGV zvoBvi4()OsO^+_l$7lBlGfUt+if@l+;$N&UjSKKcs2{|tw`#$v>Tx)hcF?KQbTV*> zG8MN~(xues+Vrv6uh<9eUU%?9jOh1%rtCqFMV~r+bA<7E1tE?8g7-I9;@-uB&5hSk zk=9elqCl1LRY%7m(Dc%Av&=y)>tPirnomX zsvVlw$b-R;&lh|SrM&k(e6Ghf(67K9o!1Axx8wW!&F>K$2#pM7+%mwpX>SPrj^G~2 z^%tC-ZLYsC^^@SS=qMeFGxKb_H<*4&%Oz#`@6;xAE?gwxO)MK-9#KWzFl6yLYAN&u?MVRih@$moBv8TX&zUehbg^xZ2>Kcn*J8vjDO z!4HWWy@&L-8TIlo+RX|8ZMy$O{Ky0vuS4=VbfgPZFhmAvvHj}Cl zq<)`cJ>B{hkW{J+$j^M(ig|m2d8UjPbp9moxX`h#)%XVT5i|&4CaVMbLZ2bUtI+EZ z%s)dF$Rjy+6nhEhQSiGtX!!0jIzID#b9rV2&!Qyt^u+tuqL*gv#rQ}K!{IY=$ryCj z-}OG-EPRH*(V)>|uX!82@k)&f_*?u;;?G|ASrrz=Lm#z)Vrr0pO8>mZ>|6f$_bZqw zR*Y@f*$HA}M;i?kEEWB}1XcSsGa6Mzwqpx9PJY}TW&~37TOAmGW)aphF4U+&Xk|*d z2+VyzYP+@-XF$RQ+|j9DkKf0Y>lblLSm2K+=?;rJY7m01uCi4+QK0MtJiVNl~3d+Q8D!+iicpgWR@^mj5){%%q3X9PM89E^ziEu$$Q;X)ITzZq5S~|y*?YNyV2aJ&v3UK zNAfXx-HEIt@)!g_*_XD;d^V0&a@fig8ch)V=+DM*?lX<6_1u2~(bSB_pU5l-PiM}? zHuU7XzsH>H>0ABEZVC_6((FbI)`Ml>Kz*|8=z;2*1hvP3erpb9P3$lnhqyo89h0%& z*AG<9F2#@I-bLsD-1H>Wuky~uPjGz}1dxjvyA~|K>UO7`@-uyL?7Ew$cM{;VeOQx# zHMARR85*KfHGN*BmV8o+-0sS5D&%-(GbS7}!OC>F(Ia5~axY1}abj09@Yu<>Xgt9N z@x>b{@-kM!#6q4x1n_>YoqYu4mlJ;k>f1hqPe*K*cZd?QEgx|cnP}H(t8C`a@>QY{;DYiX*SM!@e zp<@@O3>b1DP1TUl2;;@XL>QN}(J<`WVWCZjJwI{=+czfM4YKeqr0U z_AkJGiS`V_1gPIEj)AacFh3EfxEX`XxJ-m|$5VJ?v#vT7ri9a|vByDsj6=e(y95xM zvH7S8a8MSUqBsoU;yN;}AS^COxEjA4(9tFjG~;5ys1GZeSq0qhx2lS_4I%DSRMAnm z#h$xof6U8}-|)go3*1Ywa^PljjkW&LXwx@}LdKfINa$kkTl@v&ptD3r3;a|Mp7=ix zMm>7;A4bxYH~?z`^OJE13EN*X4)cplX^bCY7qN>rGxwp$fzw0c_-t!lhZvNCZ!@Nn zADx|^s1C+czSG!O&|cdb1p^rCwHW*pN2`W@%!WiY(Ka&f9Z#Z8CS({*>eUz`Ga{N4 zARRXVBfL6mlTE(_B^a+e_slInkzMNbUWwnvS6^}BTKD(U&EDsfou%m80gBM1Zvl;B znp83)<&XtKuRqOGOwDlHFQUp5f5Vg&5%4JV0WC)178X<9ZcHV{!z^SsDkRfqN&lAp zBm00>l?r^Y`tBtC8sIgAay2T*3!I1=jGP zw^SLG`(U683am<@CCE_lW5|2E@w*+06-p_3cZMBjML(vSvg5a3L8E~EI>k-{c0sgZ zM=o}djN3Qg-H!e(W0f*sKainrTkD}t>Ob4~v_BP$RO4q6EB%4vr__I+2|q+i+?o8h zH7X^OGJ@FHn1~7LMpNF+*~PZCu={7ai|G1} znSC>V_QB5%SbxW1lCwuZN2a*pheaId>{Obg?xN0fx|2{>7h`_SJCHEK=+8SUYmDE$crVoJio2E;EBxPe!M%veJi+@#V2(@w zgdL1m@u6|3UiiG|=q%BD6)HpvF2i#E-l|d^qU9F;f_juxWo#4hAr&zZ#*r*e&?p$T z%IS=10Ewqy(mIYpfZ1OSzM$)%j#u6KZKiJ0)gC|E=lkoMnwdb!iy;E+aE`&Azy8>p z%x@VffUR+M4giyGgA2={q{qxpkHKs4{y2+ zbua{t^-6bv_Z(0gPxQub0`WW_NKwiq*8Fput@0Wc>#_BP0D%cS)(CDZRV0Rsg{&d+2jyy=DyojNrR$}U<%>3x-x$5a zaTsL(Xd0<&9-x8wXT17J$C0t_!wc3B^YO|EFHS+D-T&&8l|Je@^YXaL|XV z|C#@$e&hE4=Bx0`1Gb8$>eN)D<9}5(gg(c#1XrXqQDo4cb7U6F@IaPWVV4MVf^`TJ z&f&peq2dqoF>%TGUb+rF$o&!m{j=Ft>7q2du#sdr{dZ#S1pG5d7iQ^?0>-9gI`rOn z2QC%y|ET!7)dGPJvCLc1i+-V_lR@MOmGSgq%9`2Qc)x&li$g!fm>Tbrv4Hrz<^yu85 zhV;puU4#1M6&J3dmN;yOLjK`;#Z{Ba7(wo4eVxu14}4w~=9vaLF*clUkO0=(>^TX% zPsP1!gA`$RHjk*v10#B)G%sr;_A`1}Vq060!pOFnxvr-6B}KfnEB$r&PM}A3pAtf? z=j}n%Iu7;u!%;E?jB4>9;Gt|mtjuKo_<`P`_7cF>P;y{A{9iQ`Ry1ooeqfueqkEA&R}+f>VTw7f-db>D1< z#|X3Ykuk=U9I?w`X+1iHv4>7B6W-Sx9Z>i z;r2QA&($mAC*4W;_W3r4tERofb@24eD$JD^B*OG4`N<5PHiy_Or=ECG7ykHcbjH7`d?`-d z(HQVvoNE?mp|BLU!6Tc6; zkos>5pVt*$wU)yZ3UV zPdQ*gUg_XNFGkt9*?-A3u#kOMNdSQxE5=)$h*(;*nQVuR#5Mm@z&4{9Lz-0zcQQ;y z<2?jT$l}0GV-ap!+T+H18-lwJ36bD^GVIJ&$#>BH%^jBfxi*(W`Q=27*0n}xy%Ujh z2a5-j=aw&i8gE&N`zQ%W-WN!HVb71Oqda*zf5GQRtJL?y%fXq?Ic6=L%@q|%A1Jka7g9@SRm*q& zT9n!98)VWOE7!MAgfi2Ioau;*%8ZeQTRw{yufoUie^G| zkuCwt6FfcvzAV^5h^K<2ixjgH7E-dy;2yHJL#&%n0A+$*77(BY!v}vR=Z|A3!N@em z4=BM*oDP9T8PmycCA*~Apo;9}sQ(H}7RDy0J||ACGs{4ju<7}{m9kAlHDEhPqyFMEV>>~H@@ zylb#a#x*}Bp}C}2K&&4gFJj$4hGMM}e6lj+NuZ`n0#Hkns2pN2rM$+^8qyO1KkPn{?dC9 zS%yXb6V0e=ZfDz?$x%Jfe#K6c{(5Xz0Xh5S4gh)4X4ZSlrgBt#jsK0W^NCb;YVaG3 zxtIor+Zzv_ZpP%AVFl__JdiCq@T^%y##d|L*-i`QfY9GsA4(;CazJy48nJ?>$#{m~ zql4!#&a8ttimo+f!_VUYMUCZXftIFniU!E(`*k?$2b9()A1>XO6#%&c^sfSV^g)ieAaamLI30CuK|6fZ#ZwRk-bh7p!Xc{J zvp{F9Uv>4H4o8#N@zV*D_{U}>A`u5>Wk3;{-Gx9QGuWV~3w8NI`7~7hkwwKsfyT=j5a4GjD={I_`ogL7{ zSQfu|T7?=r+A7up4cysF?!*7CC5XaCuhL_GK2~U%o@RZAmIr(R2Vg&cqiZLCFm`SF zgeZ_N#W+YoO2rTtm0lyVmc zfI0uE0l%n}QxF)|7!(*5x0{gN9f27uV2UV`*Otq@tc+3NJ#@L~Yj{BM6q9^;(Y91} zg<*;zQ!6O=6eAb#Fuq#ts%N=xJUz#&SS$QWoP2Q_^Q2ri$cZwX67WqU52FBo$U}HJ zSMeo}`4POLuj4n*nn277OedAGp8;ewD5r^k0DH0|XN$iG`E7CZ3dXz>gRxiaGpA+3 z$e3q*hcpNQz3hG0^01SB2I)6PEn+V^T17}eJ1j0d*a#;0^CRq$vs;9C%khpP-ZZ|q zJcR{D0WB1)>vUHOjnYXLZDxId7$oa$bYcD^e-XzIW2yyM+v_`Xe&)ArvT4Z{U%>{r z13-`O{S+fwr**`5)43ytS?t1<4R$b-RR14Vc}A^8hy(3Y314>hz7hGGR>5!y7%Rrk z*Gvlef)jNr`|2i3v|LAFm(ei6K$*^AFB7?JtJg~|TTlF2+?eY_u#^|o{=2yfq2I~u zw$Pj>VoNWQZ2-QD@FNl_2?bKxCKxcWHYRK6tT!vMlvUnBC7tmde z?=1RZn8}}Xn66hrK}6u18igzM73*Xccf2^8h`vrd=?#5s^41JI7u*&1Lnbi+skiY1nJkg7$42S=~cik`V~i|LU9gv z>dRADX8c_ZPNg@@#N2H-{GX*A=->18<3RJeV2sy|7m;*JrtF_`jFEEqOx-7B+`z^* z>=QZ0V8}(A32BS*#3~A*3l~h1B<$4qN8PF0^9u2(w1XC74GS z8a!oi4VGTS6Q*i>quEFywdxdkiLBAs<}3#S;CTK-1BcszWXcq_HjC{Rx)BFhLzZbY z3JY?fdbf~FE(90AezJOHCedsIC%Qb+2~MW51IZ3r@IQbZeIDubd1QL~s#%ou&uqVb za5Z%-O)1YFn?aMOm$tPAZ(&(AaYzpA96h$fGB6wKNDx@RkX^5g zNI-~Ii$|Su6eK|Ie<=Y%CU)eHj->~3$=AUW^kJw3L2zgT(tiMssknNWKzgi}uC{$Z zWFcR&t*M$j9odc1IPBitO0uxi$>?s9Z-xk$NkfX&%YPIBdIcBX1fe0tszjBRvUHe5 z!uWes>Aft45m`4A`+JXxV67N_4#6r65iIjpE&PL9+K?lSk zhLkD({2TNO(Vrv&gkIF;UWWgC=Tl6Hk_b++gh3wuPW>zyKv_5SIMf)yNUy%gq&IXY zDl-OR2PeDm%|hTfj4vQ@?Da2+m}D*^hYEBS## z4k8%+?m%njk?N+Ks>kD1qhF#T!%V)MB(%7sGzVgp{Ra`YALHW77yH=KW9`+GC_eG` z+4%pwDDR)aMf$99)z>0!R}A%wTN3&#hH$?ILzER;jR~@euY0Z)!olN@ZONYk_!aOw zjcf+I5|>$mJH{S=pgL1^w#Y(*Q47OR_6Og__A&)arKxXHP){M$4wNfRovcdxurz>S zFIC!`rPNBs*slb`QCWTrGh1MYn9vp&ic}f}zi)-6bQ5n6HP*IJz4BA>m)gnfA4%fB z0JhbLgNQ(U8OK>jG@KRINEAEw1(D}6Tzq*JezCc#bR3;a$fO&zY4&QUSUr7t2LAw&s?hDzday|-AYG56#x3Xh}Ijp z_?&_S97*x>Rp|nj;s7#OLFR~BtR9r`f$-_~M}<$%T<7OgOG(5Wx&@z%KdoxTB5zjP z+_C(7LGp?INBM*uhyIs1`bzdcMuz&aW-@)_1q8^c`7Kx{@~L{ElFzlz3F_6j1j*+j zRl1m^0r{M#O6Rjw@P64Rct7`}Ht}xV1C@Nf{@Yf_pQn6s{0rCzvH(OS2v1vc^=-tr zG$B~;cH?wAw&C|8r8{x)jS&W8^Lgwus&pkw(;2^M%IV{(dLJ=N{3LCE-1k6=1jnQlewio95aV!@+ zM*dUeZ&>=-e$mdiOKe68|Bb)ZyH&2Ta_!gHS`)z|NeT$_b_S+lk!D>DbJ#hH2=z;wM{d%CK zovpR9-^|$`=7GkMUkBseVovIfwz`q(KjH1u7)stLE@Z(-Yh|ByQvi1-zybU8A5RI^ zpWqUT-!ApwLp~7v+9~`_UFFB`JnYlh)>xg7eHt`AgTDyf=F|y1#k$)Wi>&I0@`J>p@`XxhPkH40%2lV5qC#3J5#wA3*e5=a8W4ZLxJ_n_r_8JhbpN86} z*R2RfEsTB)t6$OqIOcyQvle(6-_p#B%EUmp9l2;Aei1ogjZ zs`M6?hUk|`>cM0_5J_D8sYv2H1~({=YfDLNV;&!Hd=b8Rj|Jo3LeGdl-P;t-a5gQ; zR`!=gAL*pn?_l;+(8uhl)snNty~j8N10}qFV=gv4!4qAEOOXAQt4c?*G+=)XQ>DXM zDs;K?6QRrW)E`P0qv+A_q&T;Kqt*EDpDkywch2poWMCR*gY>pTeZ@Y`4O^c06}b2` znLXm%)Yw~8>Caett?9o~evV1%$z(oJ%E%a$xvS%O~`+Q-hfcG-0?5-Zf@qy@xksphm z7?$GK6X#*SdR0EEW77*dzEA_c>4e9`gKf{5A#n zXX*!YesM*-nqL&ib`!Nn23-k@Wmx}_?IX%Gs2+$K7@mI=VGksLER$u5f6!WgUG%UB z^kQ6sM!j*W)XCDos5e@bj$x@tbIERz=DU;q(%jM-kWL-4ZV~9cLF?;xJ=BUkN<_KX z8nnKCMD=LZe_s#KM+=#MMaP-*FSekx%xE_}N;H?M845z0?8Qm|X`=L8x6)kbxe{a^ z#_(8*i%ATmxQ+d>DjmVnK}tVb{?$S1(O^Cjxw!2kk&CHG;pF0MQ!gP#9y(|y?W3vg zbI~IY-8j?xZFmjG_>)Ezf6~zkqFr>9qlrr1SB^V`|Bp}`sb(QCCJ%iLE5^7{{*$*k z+UzeK2C>R>ooq%lBS@)vzru%3J$~g|%tXb6lhd)R40o-jOZG`M+_2_IA3|#O8k0U0 zayS{`0NgORaRnJ-ilK)C-lEL}3W^`0`gzsIaWB~!GMe9p#Fq1<5G1v_8Yp0Fi7NS+ z{Q5BmlvBH;-tR68u2(SP{?>BTqj@?aFr;-$vUO}$i&vS3PvDXF{Xnrhfi^j)4sjX? zf?tQ5@(g4G*}H|B}`U^HtrOc4-l;&AAFC_*Am8!SDp`yN`JkC zR!vBOCYNTh77uj=8;&Y3Q@lq|Ta5FqzK$TKfGT32`}LNx&o(R*z4aC@K1Z;9=28zT z_#oYHpDj?O3t4(8yVI-n(w$!DMY-At`z&<*@@#s`c%4~M0d5SrqKuP(>X!4rTd~KC zF9{mIfjW#<2pe{j28TCS|A=T0B%y(F==i;LsUTg4OVIfJs49JorGfF=qe_>vG=Uhu z`GH{k#-)OB3w(3V;v$p&Ypmy?8*L$t{?!YNYK^wPMDd^D7bgF6c-A*}Xa*v?t1-Qa zFs?;M4UF7klAG&a@mrV3$X$m^(8&F$Dt(NlfsxyzN|&=#M(#J?C;sto^d$ZgIn{FH zJ{u8aurk&lM?srJP?PxX;pspDfvA*VKN|*^B*)f`z%|0LwMJcPd6AlPr`e)&Cu`Y} zjm^z-x=|T3XIC?GKtVaAV?ajb0qYJ{F!r=$(saj zJIU%^!XTP%*uR3EJ)2_IrJ_Bf>^GuYxo0FWz_7-NGEyBoUnCi}X32#U9?H7G`0C>YBuFwFdd zS!kH~1v6}Gwazn{VK5nYU1nC{zDsF5vJEoPAW}w*i_@~SIK)ab*E7z4M=;J=NhtIi zVB+V`-#CEV0FaRy{r2nLTa0Hbbf{rQik;ByAY z4Z%$Sq_3+4R|(ip@UI`Y2;0BN&wQ{A{!F9iev56SHb_c$&+`jgX#{TplsCDV&ZG#o z%0m1kN4+=UCWNU$KPWj?)`c;Y8f^7Ow}T1T)v~`Ovj2oXvi}l1?NoZPFbU%q_fn|X zet>$#NKmGy|2=lwncM)V`eUPBsY%LdtZcM9`ii$kGWVY z&;96&D2=N3CICamu(?IjocRp=#EV;88`GCf9&|>(i5HlpjhI&v8Bo%728m}b zg97yLEfD*0QM0{2e0{Dcsz%o)Y(qS$HGEA=pt{qZ=ZdmB?s?9ERGG&KUUUHDz=?%8 zFy=9>;c)PyosQ!NiA`|XF7tpx^Y!t1$}^6J&$Q~{2gd79+|$kFaDRkG^3xjf(|q}9 z2Z{b@`ZM6!Ks*f1jGSOXsNEYwvhzTQvMkbF5rX0jn_1$88Ak&=YQKz8WI3IyPas|X zldDe>GUe(8t?5+RoQuszkhB_*qRQ9TfxTow2Q}_gq-c**wj^Z+WEImfVgbc zoD)*$!?ybN&FMTty7K#l*P0UKqh()ciOs@M0DoPk0>7NRg(ZZ138=|eo3D3HKz@>K z^Dinc@_O-*SyGno$4$vCC@#L#>Bb2*%olYXtC@{zL)_+wR=kk&{8$ z*QZceB}PGDbYZuEvVlVg_Cpz|*T$rS_BXZ^hS7^wk+L6b5PnmWp%;Prwza!ygx8+2 zS1tOSJMw{jU+g@pOk(K|6gNf)@^zSkfy$Gob4vo7h;%(@o z2xC+Xd&6Xu+TJ`o!sg1Pe!}lE>=Rhf30sQS(WP1Ci(WSXSIP!Br-mzW?BvLQjY%cjMYuB=f1Pn3Ur-0`cC|$0mJtwU0n;emCQCq=( z#K(J9rj!G$naD4FJNlE~p9JV*0{w{cb*iKlH@(*fc*y*kWteBFA+iL^1LhE^a!fAw zA6qRZFc?sWW{uB_$&v~g0VQFj@!@wYS*gqii}U&<;IKlSw7~&q?O6Bh4x_KenPuiE zE2EBGyJKhhgvbaDRL9_ivx~Iq==tB?dHAOdnhZll~i)a*1UxFgb{}i9dK7gIB+J>lIJ0-_`Maswc5|49G>|ZF*K0!J)JW+;v%bx z%JfDuG)dFew!tAghok9OY1(`T!-aqcFBspoz$N1i`HgedaYc4QJgcYrhYQyu(Xr}@ z1u+L6e&NHEP^Iqz-EN}+s!u|KqK4wMK;6468)zipp?qh680yet0>hKTuS()FB5HaG z1*j<@s3s_3MJ2pq)zmZ$m<>8hJ*!kb_5Th)6t14vS&uKhZFrtk^(-^%5&H|+4G06% z4AiCk2WP2|q7D2q&jD8g;hGe#9y&7XP)Y8hgXrTU9MhXX7S#CpcM4Oi548c`=AkBh zr>+TuFY9eYy)&z1`zEaXl|P2aLF9!;R&pw_526?0k*(qd=yw`86)SP$%!)2XDW<6U z%^lSVH;$VIRF@^XEBk|F5{W2 zNnaRX(CkQ-WxZ`SfG)3UQN&>PWk;fCn_bVTN7>XUfupYsyM)4;;;)YR=1U+EAv3$6 zoO;hXtRZM$CWsXeC}_^6!FR0R3?CH_g^%IK`jB;e;k$vYSn`v}qsWq$L)t@p{aw5+ z_4&uJ?$@D$MVmRS(C6AH24D{2gC1#Zj2L6?VQV2qpLZfgM9ZoRTxoyoRfE^(0M{J6 zRuOWjxEi@`Fq1gn*b%l=&H^laLG>&9LFKY9l#-%1bMU%T$Jp*Gp)8lp1B+ffh+uk3y7+eY1$DAr~Qbrt?2@oKOW!!S) zAOV~p5TW4|1amlZX5l*76I~s}mI}c6xqWSwhvkDhZ1}0_fg>LK;-}GPhVqYbIhOTv zPDcj@yclM)pj0_Ogy@oj%zP~^gL13z+s6Dp-le!RE0Axc7WJW3kySyi_>2t4&+vs< z&z#`tiIuP27_kofjUtRkri=F#TP^-8fQ;7&i?YjA4d;RgYaqs(xA;E_wcY}=AaTOW z_H-`A<{16&It!OMM^t;%C3MhxX~5VEbQ}L2?Y~sKp}Nrh$^I_HJc|_eB3xwwO@6OV zDVN_csN@QNk(6&pDU)kON(8RP=Xa`)s~}etoI1Hyq-4rVD^s52Z?KV-kV~utYXWrm zJGR#Hf<&W|8j(pxM`HsuUS1|2BbT%JF(F|$Z8U!?2v($MQmLxE%J)lZKDO&b`UCbo z0p%OEnu^kVW{N!Iq)6d`)APKfOmT&lzGzjT9xzF1rdgqUz}_Rjq3GpWp$?+s%Fr%j3{C_g@n^A4R7FVH8w>dxi}i^z zQ1Ax;SNJLbz3)kPP(;D#a49kEk z_uWId>rf(d7SSI@FN}pw{TGpJS?X^Anc%z^X!Bb($iZLu0^So4UqV~$`I(M4$>e-& z%hq>;K>+h&o9lVpIp}GzrbU!GLI+ow!EeQ z&m6TUM>x|!bl3~{iFqw&N)&58%}@If=mcg-j^jridQ=<^S&4SK4>NPAGwq=Bu7ks! zX@~g@tMJ_b7y*$59Lew!%1N(sHetQj@BH2)QCKfQ%@^C2{*0xdZWX@G zXOfG@$pwxdaP=qPyiwPQUL{!ZJJFN5gic&4iHv%e7Qwc0WbH4$#pyPj?vE{t>7{F6 z;T%a({X%ePAv3K7!oWAW4~CY}m$RcQ@b00ush3xR!Hfi$@Sh2sp}p;V;A4FXK60Fdvjkt@9mqNeRz6(W z$M^acny}nWa8p~sQhGH=_Ih7MGCrpMEtIQL0OtbfET9ZnN$*s{k121QyNYtm-aI)-JX^l ztQrWU_V-ap@k?5~L-FqACD-8pr6p;sl7!Um+KJUT6U4MV(yVc7Xq!Dtu*Q4xvXU#= zm^9hD^k-(1et*$GHaQDTs-}WFGwZKmTgdC<_kJ+03P&h8p*;u!JuHo?^&_7vjQ=o znH>X%MLDuIae)Ox&j*;qd^dpO8M}v(mdrea?0NKhTc4WRoFhKPnu0{mStGtfpPUGc zR+=VEz44rcv6?#U2MV**|5=|jf-4(!dX#zL)#y|5i?H?jIdy_3pcC#6uM_@tCFCbn z4rl&h{f{sZ)Ykowgm0x1yyXg%Dyq+Ws1uTen8Et#R=|S%E0?SO!{`6IQt$&4q7?j; z1O@Yz8Xc<-M>f!AxCevv0mMV~j(3kJ0VT>|JMZ)63m2gKOr?7#n@N>Q?{nxm>`I;H z{0LK0SOcJ<+|aCp_oO5i^Za$#TO8qa$3x##q;RYpE-fDZIhjd$ZN39w6uCK zxWk+QpcU5W<^K!@9&~(D`1&puqp+G$tO!-*HAIufuPi24H`}Y`Cz+uKqCZKhK zg);AKlzHOdbe?}vjQ0x|Z6X#cEcp=kNdV#XokckQfXAkA#N!jcEU5lC1pdnlBo0T9 zH8=a0$iaVRK(bY2kp|f@ys!K_Wx;i#*paq@j6w+odY9^quG=!*YZHqz1K zo~kM^eu`*THiF+;^(!x{KTNEhk%*Z%+1}~?Ld~lWYkJ&7)g(MPr8oZ&9a8DIxmi-+qkmx+V%ZQTDR$ELo=l!Frw82kpHn3=mZ zFEOGZ-#5RF*0aslOaJd$&&{{&B_Qs7A2YL1`M*SHW(TyS)%=BRK>GM)icUMaUl2N3 zv$J4272Vw?o#M^b^Z)N!zxD25I=$$H_(Ks_fiB*s@I%YyAqJ&CSF$Z3A+o+ZZ_fqm za@Vp=nZu%b={;BvPC111dO)@KM2)BYEL35@Y=^LVGVQYF`N(mOVG7tSEVx6q1yLaRGwii}Sk1&_NzRcx; zJ|-vgmS2Oa|4 zC>5C=D7W%FIrNf5)Xvl6;3=g2y8izEO`lUiQb43NT`!YzjoDAp_ks6n!k1B^y4 z%Nzdl)`BsDbS@wTAQ*hFwP5gRE5Q({SgE9fhhh7rBAv#SW4xK}c00C(L4#F%%~Qg!CZ;;}yYf@5o?q^`1F1 z!z%zaf#f$uHsH%f%p=M}eA&{;v6TWrO~;JgrT-iKtISrV6@O@b%=%_%DPs{L+UY~{wn+l5m@Sh+1GQ1*Y{FJZ&Dctd_V^*Mn&{t$B?&SQOMhfIx5Q8CJXII5CEA7e#+IpWm5MC zGK7hhW7Uwg-S+S(k$-N1!d8GHMkCE491H_OTzga({}d&6QByez7j$syj!0i71}(-< z%$$ZjuLvkA3=3ASyM}ux0D}t5Lgfr#AV8z_f`hrPlZCd$Bmu@J)c>Dm7{K{XJ+~bW zlU<0jIC9(L#B>X0;?q9wfL1%DAqoAVF7K>82z7R4%6*OTIU>XKu>+QAG ze`~9~wXJP!YY~uYf|i$6c~}K$718P$#|NS{5S0ACzrD|ynLI%2|K88%&qp)ovCrOX zueJ8tYp=c5+9%Se`gvU1zphGJlYdrj#o|d_TSJ_mdMti3o1CTJglZ-UMmTXDOz`?F z+&c+s&|$w+467oy&ifA$MSf8ujI2vX~0m z$hQXT-1Y`k^yHgMZ^fH?^&6WT#3)q5Tf(#1tC={E_S`pH1eEVKY#jMKH~4za=(t@9 zJMO^bFZIf8GgX>w6@IzPODKp)QbG6oUb#(Pxsh6fnfB{1FXRNkVW!-3?oBF}n8(?? zj@ci}oWC~y+v?^m1XETNO=P+Gc*fhgtNzqQzh=d7c=gQhm+5h^n zEjvSDHf7RCB~c^}EbM4Dy60@X`}k!WijM}o>4+h`6Fm5i?%Zo7Ee z7}E4HeUBJeZ+>m42!SgJB2+zf^hHD8`%932HP4D7EO4_3@GTQhV{sI&FE0z%hk`3j zwfj^`i@qVo$FA?4kNGUT(z7JIl8O6PMs$ zus(CDb$}2IN^DYqsx8p}dx}2{CHhxV_&}S&U9t<)$diLiBdhh}HU<5zIxRhJf4 zz21=O7i`7l!W_E`Jh$3X)Bc_)&es2%7@cffY)Z;QuNr+Jm zOT+!K{e#HbuqAa0tHVFVJbzxpUr(M(wuCI-V!o5bf;u>QxBDtaeNO6ZsC<0-`}g1F z`{Q|TzQ6NO-=9aA^RIeCnMB^lA5Vcm^ba}qiaU0#KCj5hDXVSOfmQANi2;I`i5dE` z{_N}daVO9ouEXR@^TL?9%7{315~+kEw|mN%Y+!58dHg z7Ed4)(!P|C7$$+5xqXBV>SUsO&EA#0noJRUl|${+?T00Kml6uz>yT55w`-IXy@gm`2_4>0aJO;-ATcRlsGr292#Cv&=7~H+ZZSLEt;xnc!t-o>U9_V)`F%lSv-b{cN?uy2h@d2 zpK%rya3LSxoq|g>Q%*j9VO3h1^t8yhpK-cCZJB?vX;G&V<>c!ELH8cAUUnZKn=gBx@I82NPUsK^O{B7$x_W zP)&>Vr8tpodd|1Uzkk^g`ScM_IcJ%$%hi!ioni{oKFqQGUFY36wPxg%6QbX!p4;WZ z=)_=R*5?vf&9BLV8GE}cacfuiWIzPgiZq6H=p}}hfHi~Kgz_Aq2*vj+PJ#}s0C&!E z4x@LLL;K{D_^G%jpOTYPyMs6*-ib8~GSK1{{nyC?Xlt;Tfweu@yxr_c4Q&!n2yx*6 zO9Ib*SqN5xX+S($w*x5Cw6HH8^jQe?E<~^`AWjn+s85Iy=L($U;c}=UZm*vNfKN=% zeM)bL{^Vo%H>iZs)6R*gZXy~`GMc0e|Hu`EzketaY%mpHzc1-3)c=WK#!*9tMVA_WcU@d$7Rb zFWRkoZa0g?>%U4p6R8I*A~Q2s?BQcEoS4|1J|$nbfDfwbj{ekoO!Nj|?`~j!zu+st z{ua6@Z8EWD+U)MN*_Af)XcN6Awm;9b5&tS}RNFQ%eACA33PO&(ljpY)46K7YPFX7b z*+8Mis@?mO#5Q6SNnI%^f~1^be%C+APmT>a`hi^h5D^naUNj<-u5tbxBV0wZ%H3+p zHR+9tvi`KCx1`RLC@nEE1dDRpuS|R>qQ<0eu_2?RME!ddhjW`$m;N$+0}TOKC1m3^;J3dDnuc@+duJ zozP|KRroSo)>2;m*(p{1_gyKTrMW=01{h2a|7YC4iBs>Z}w7!L3P5^LGQF zfqq#>4V2!bU?qPO3j@T@aZX)6<;p zWF)$kI}OQiQ*+wx0C5MZ{`huWAFy1Z_w9d-V>L&|Xj@BRU z`2sr4C|^Op$wHmgUM$KkV{;jleHJtze9jLb9MDe|2-x?Y{L}wV`!A9}C0NsHuy${g zJ3?-PNLG$WV_#OoPg~mzj?^&tg{_B{!)Etcm8Tbpvw#2nD|1rDD>u8O&r2rQ$?|(B z{;bbN88j#k&x|^M^tBainK2>$Po4yv(9L*`E&F3vb0arJXW4pyY2cNDo9;T&EbiB` z+DU#qB#Q;;Vm|MqB~ssx*Bbr^sc&RzO>53lBT`40tUzm1eY{_suC^;VQcbIgow}EG z!)`1CZZDnw>x}`w!|ex;FM!znG@Z$GJHZo0U`G{s4gW{`sVp$T#NwNQESy-pNdU(7jtx5z*5{1}YwHjQ z^_eA&$bK~7>9_vSsMC(m@D1+Ga^OQf@rSQWka6@b=Ry{I)?iz1cp>6kh@NEo9f|+t zU=zCLN|_llJltXUTJZeAkUe~npUH0{GXSyx@SLUn;6iS!OW|6o)%YEtSN7O!F@qK; z-Manzsz&m2Di0^dABe=a;#H|g&hprre7sdx0;6C#w7ubGTS3jk`Hf*h)jH041`aIK+w^%#ti+XbX zEzw?CJvl+Wn8CAly?8qJ-|EF`r0c&8>moivN*aAFqI2nZkTw!SF1c4r6Hhzrw8;lyQdIda&XO}E zxR&>m`ghpW2Gl>NP8&|n^6>#{`kqa6d1elkqA46`%1cf$f!OTb@=!`~wfS9Qa>1zm ziE4$yW#-qK>D=$!Pwh`^pmjDW`FnhHPDaSKojboYvO$oAVMzw*hWoW**lkdV&y|5< ziGect6M@QSdMSljFIVt?PBNfQ9i+z%$r&t<4)#{^yOQ?^0pm5f>?f+crq$fsOM1*Q z^54n5FSeHiZl2nZ7;t!<1lq+N1lq;_%K|M4Aq1Y0Wdg4P{cykHK;gwK_?qu&FL1?_ z|AxRF39d6k;7beKNZtER-Ct!aQ5@$0c_KF?d&=Oz_Do$7OAFH66e>AA48BbepF9xUAyJw3Rpc+#>p{~9)FSPCPc^7=|3gzFr?rH6xAdggCJeVIFz5b7Q zK}LMy8RN6%OL8KKqF5wxLs4#IN>Ndybk|)f)+Ly@0RDpYDIBLT zrM|CHpP5p{yHW*w{%1Z9kpNWd@3hVsse8*=qJR*_zc%b^wL-<=C2^O&X2ZDw1v4Sn<`i$3hB zbw;1#EPd|#OB?z;xVk-kqy)+?U@#Qsq5*U}wHI)8F#PPFb!hyYf7ut~r%}syIQJ2? z0~@oenipGU@pJ#`_V~&FeFyyLL-_Zya@$rG|LRQ^ekwc1Poc$64w;0q__zAWj`(@N zn46G7^ShNB=O~%BEXuZ&uck5NZ1^QJ;8bUPYdHQYe0cWburX;LmRjYkrAzbG%=-1(j~!tAoGD{K;;PoM^+kU~ zBJ-plPsW~d!yi8jO?fF?O1=siezJKWU!sfr-4~lt@~_(u&IRts$iY}Z`Rf=TKb0*2 zy0aOK?M)3q|Aa^XRUPR6yAJf%H=@7UTWvEw^d^h`w9wi3VDm%r>!>5z(tl-p`bz}o zAjy=$qwZ){7JBfAKIY^dr|x0B;>lw?@$LW0D0I1bK49dB%djuwnEkpWtCUSCiUmMu zMAXNc!Zr1}@0>$DG7{=L)Utu*mt3Cubyn>hGiv}2=)orU*x;(_yMM39VZa~UCAcc5 z$E}NrkHy9|s-LK}&9v+#L8381<_5nm@M^iVJ8et(HRm*754DZD{~XLC0mt_Z>XNAl z|J9c<5S8wEN}mRuikE@rjWM%^1ve97ojf+Q!iOdlz~cvRRyAMqu&D;9#%LeXbOO*! z=a}bg=WO=x^gQ8#D*3*z>s?>de7G0POszTp;z;z2>N~qkh!zJEzQgVzO5~{s%pQm``vNkR&O508qba^t($sE zw>pbTBXavHFxmSYVSpz*31Xubzf@+5R$XBrvRkkw2yn{`?!)-iu z&mU!LGVPRZ)~N^{RdvLg6c?i?`y}&+vuq(vD(h{2fQJ%3e5%!HU)57Q|xE8@B6p4@#{z zjfl4hz5b@Q2yIj`D6Qh|!xwdiP*am;qywgj$8Ewe7RrkO2R0$63>Su6UE9@upI5sI zxEE#DE&;OIb7P?DAFCkx-$GCS`(yk0ZP+6n=C_^nl={$AC3>{YEdw(80fRb$W{uMDF8`x^c?{?OSB zX|PEC?QU``OHB>pIj05A=IMu^NB^-|^spFHHC8{EY6$I{>#e;{(k;hh00Av?#(k!v z*a-BTG<)5KH?k_j*>{@(pt2nRZAkWgZ|!62@>f^}bz+FuOx27mlf}Bh+%bo%p+w#* zwO8c0dw$=Zkl*}oVcWRYi(DoBlRUp7hR+YnYIg?+ztBz{SOgu9xI z#K+@JRv@C-E?b>O_XZ{L%3OjkHvH+v zLlA#&S(a?D`|+Of!&^VhHTTFwSgN82l#}rC9B> zHj**xF19544~!Z2@7Y9Gqe+7aDG`ah0n6By+f8JuI<{L_KoFVNrF&+ci>rt965qG- zWf>bM0#hjPu{r95CEHpecN8xIr500ba*!5T8u6RmQc^pITARo?)Mb7#=2<1QiGHB{ z-lX<>-@jr{W1 zGi<@`?=kz82-*=Q^UnH_V-Zp-<7o_GW4(E zz)sAIU$pt*JHcjRS# zcOB_0)K)ST1_EW(2TEpk<8SHgziFDDYskX(w)}7IOhB2deqbqM1S*tK3C})Jy2n|t zh?+D;DtR2jvReF1sP(xBnK+uane2!|aXGcZ|I$SNZX&USqIqV%z$K^i4H?tlFX5SE zT_y%=Z^_bp>{;sdUXbA4p^-^c%OA`yOw#0@#9Myt{sE60I`afK=i`{n(C(3aCE)x3 zn2b-j$@*;q0+XL??#w&owouP;zrg&@za@7W0K>MZ%8I9|K@!|DraS}vS6 zenOQ(@Yp}7X^Gr8enPZh1uF;}5{MT&M{wcm%S!tKe0?V<%l{=fKW_AVZewqB4F=Y$ z;%Ijhc`u97R`*O`2quDEQNN90%+%9ByhK5D%PCbos#{JoZga=Da%dpx-uVgn5Y!Y( z+75daY;9t_-_1!FV?HO7X+(24)YCdUY?n*{cMs-om)W=JIy%clIROQ!Jxb<9k7xZZtjr!!JvVnkv}gqeoopP4eiZB$?U?~Fb7iU& z1AK>*8w@1kf}6R?A~*4YCO?8t+hn+%m%ojVAV;uIzY-H4k)a>^9Scw5wZY?QRlS8w zPG|#RiZCEl#Sq310U;t|_?F?HvZ_|}8}tp9Zk&IUvwT!RMdD)Q$le}vt_`j5VheiF zf6jcHGa{H6v7GK=?1e{KT#uq%>D z#CgX`J=5RVfg@+9@504|tdPsjV1fkIkDc*ZE0}=_Z=c?V3hwgW*#j)OC_{uWI|i-| zu85(;dGTcp^j{L~F@7r++Y@IrQArV!LeXe`SKAFJo@;sN{vO50Q!*9M72j(()4e01 z$CDK9qUf&pI+MLjl68e@L9CkEv@lgIhux$3jIhV;v(i~(n_s?!^JV|K-^4r;jWVxj zqL*QX{Iv}o%db=UF4^U$ney&$J1P7l75>|Ew(XI-^{2-zJ9yY{m9m~BsKx#if zp!R1JW_`0`qwTpV9<;?5QQTQ>7tZWf7HUQjiPM>I8=g8orw0mP8T&uq2RvY_6mOr@ zo^qoF(Oj>IYcaryvlJP`X-es{jx6rHY|&s!aULd1^!y9G`i7g$dUYJ(j*_<9@5Db| zqW*!@FGajs1t1v()~>BMtMxRFDdc2f%S^`$VP#pL{)|u6{|)-syfPo1qHH9Ptt<<` zbUI=~M?mxFWF|u|8}j(29rp)$?B#w@S>!bSAE5ZL*J>OTNu_!#-rGpQq#BW}k2BuWP)!yL)PKf2-(UQB+{$ zt9vvL)PVxcsdbIPl_-|_cX!YUH+{Xq6wP=4mG5;p_1m^FVwyi@pXSf~)pPT6st$8c za;ekItteRMZMlSbdB`&{^sJ>1@AqaW_n~x+tJ~Jt_Rh{vh%kSCf`tf&wv%om?;r0& z;l0Npw0SyG*r;@S0KIN88u85i5yF-UKGFM{!>$F8(ZAvoiFnQsZ&ZmAcjDXoTWfP- zqtEzHt%`6shjOX@Zp{hmGuNT`VL{IDiI0aqobCE-nMGi}8Gk#vdzeXHPP=V^=g#0K z=;3Fe!4LCJ1qU<7x7qOvcxa+*SOd#2_tbX`>ITw8BCmCmLEU`|K;8IdcdZ)PHqo**-AsN4@q(s^y@*XNPmZPv5&l_N`6C{4?Gro5yZAt~o)s&97Vd6xhIL zg?bOvVT)HPn1q^#{q#JLAJciS+5k!PzUc$PxTkW&G(xoFKyn{783gn~U}r{7a(rjl z^YC}J2Y-oR2)e_FM>G_j)5B2ozObce5XHc)f6E}SP57gGPMcO!zsexX;HS)|k4G6D zmz@|;PPGO5#}D_apCXLuXY73?pkjSK=U`oJ%IjQ6r0O%xTmG=)Gxi?ng=0b7 zcDvc~4CmfH0AAdyCcz{u=&b5744qXT4zXvs%3#^8Y|~)sVKrm=*U#%;zT0~W6=lQ) z^gG)BDD_enSm{fB?=0+{(GPtdGN%cOkqqzDeY%Pvnp3`lbr0JX;Z55AiEkEv++skF z;#El4xd=YlOjk?{B>W-Z)$)$c7YY`$%H8exB?pJD4Hn}v0lyLF%mlQa6%7Kailddn zVnoA|oX`%swkj0>Z)qXuZk(zH8}GtnN}65i`q@8AjT7=%C1f?2$a`barQ{EP@&WjF zU0FW+%}9sd)7!@cduTuO zgE7H4$KC6scxBfp-RwL7-gcBZKUrHg@&%%5;+6TS<9TvdL6)$m##Eo6i8i9mYPDbv za6V{9&B{?I23H${L-(0p%)G;HR}F&p{(jq&nfs{7KH=XW=Nr3OU@)R1(kbxgTEkFLCQJ)N^B&7-kaF{k~c-Es5( zU%-FYA>jW>TlgRNe}n(_{|)@_=>+YZ8{cL4hWL69?f13=yPf=a37+ai#xjscvT;_` z7ioLeckY4JH*jt++B5nBnETMjLACKc3`k{V&&b3^LL_T#5YiUwv%iib*x)?j2fIkQR1pHt_-~E zib&?khV42G>+WD8my_V^RM18YxG%Ia`5=X|X18QZ`yrpkjV`Qw{nr=cr{CQ6_^B~_ z+!HK**x?30W|KeoRA$8O5q=Po!Kbn|w~xS7{?_9bKjG5GD$?!HX-;6D96`P!GQdwi zgP-1!`us?JCI6Qdq=vX>4Dk_^u1>ipl;^HV%c;cRBT@zBtK?9`R2)w9&b|7|oNT;} z;!JAfI8I3zS~^2u;y_0PZa)+PE&i6Y!5>`Z)+&3C+%Ypb>6L}wUqc3q5jsjP+-41F z95&5av9AWF?=dbM#UClNkaA>Zt(P*6oh%>s1aI2I$taX#cG=o_x0Zk2v0E1)$h`Ua zDsOCzWQS~C5!s*kOW4t*qJj8N(lwk63+J2|OayoO#+H5L>|9TY+<`JUYB>Sra8KY=3_D4==lN}?zTbxP?2XrQfmVdg+ZZ2;6>-9(ZuIPTH3xLE@vPZvFFbaZ zhR-*GH3wWMJgfKG3y-;Vc;iY2O-^bwPs=WFa%P=~;bjPvFB^ZQ8GoD`R@H6lx(kP_ z`IE6xt%QYgQhoULmKE{}HlNcg_$8S~wY(@m z;BD`*PV6=`m)P2p^2JqyT2uc8o2I@e`N4++=zQ9?4LLDs7MGGoIW z8UN|*Gs1kr(8}%_y98d>2Gg}S!^N+G;W?|53#pXaFapfJ7Dj1J(=WEK(1~4VnjF~5 z=}K7(f0NHaA_F)#j*1koXZS}scjBT0XiZLRsQKua10_kZfww@;Oh&^PJB^ei%2j5`nJ2o*f-8VHC|A@ZP%n1fmO>i9rTuC(B*78^r&4q-VuTPkL$LJkD;^ zGY)|-SNkEI`SC0*!rNtrx4$opEmawhB`I(}1;mo4ipIH(0uL&QZci@wQ;`Ztd~~IB^ej z>0k9TM((2oB}Sl7d^~3$s=*+g&{EnoU*%vT{kxlT%s1bAa`*((~H<5f+~4MlcM1KVi=M3E|#nSd*)c-ElQ$->LM`qK{6t85sB@PG3DLun7b z{-x*$e-0MvgVsiZ+Bng(jZ`VeqpZ<%n74a_LtmjoELp|~xJu2-;2!?zuk}i=%*ra& zpQm>@JiV(YE{67BwHaj?O|Y*S@5G}tX?Z@HY4tW7V1Jfvbm|Xf9_j#1m}w&)?i|xF z%h9oko8JsIrH+jRUe$_ePnZK7r*9Em%k6TB&D3(cOdMOhIWlDfhgT6HG7p@_KW4gd z=V&a0u%IYOszDa&ZVXC;zuLy=#nv9A#kJl~6G==VkO6|+AMR;wMVb_3hK1EcGVJf& zQ-i2zOhs+~KIxpEW({rkBP%?z+VP|L!J{9Z zRxxR#ZJOKG%y;sHrN$s!NLEj8 zw_%gV#~&K$Bo7$&La^fwxTp~?W4cu)H;`&-iUi)&rD?bR=AvLE@Lrf-*qL-J=Kbek z=sK;O^dHF3$Q0~K9**$P2+IfK&2T*F{>20}KRYqo{$_~Xj+L=5ebfP8MmA;f^0q^W zDB*ARNgi(uR1+hWr>x9}Qe{5`-DeK~mxw)n#r@FOu-jNEmPg&V-gfu3vzT(jt3aB8^dqQ&{z$h?o%7Apgb zbq-xjB%Qatxwx{cE(OkFQfe{E=Ps@^_KO*dD{-q~)Gw}NSd#&Fab-R~6BbwY;HPqN zWlw&>i!0fuVJmlWWiRImAYEM9Tff1@m3^xBb*bvL5)RE-r9Y`*PZscF9{5|Chp%8O zDe{~Bz)B**#g)z~6+z4LUFW&$Fx=U{e7^&8Cr@H3@c7%xzpMPM{n&ejl4B#Y{3{4m zeF@GtA=QDZbE;dqRIxb9yYTi)SwQEwM=!MeR4iZ;y@&qI@RPMqAIqK^L$2`a&+ye# z>R9;-0UdHGSio0vh5hRzr|u#xPZM)mGbul`vJ5ABokf1Pz1^LKk5C|-xVSl!x-&nV zxV$-7KjN&*5`*)}|I^i3I9s*Enm)d`J~xnoKejL6EWFgbTK91}^%W_HpXhb|)bggL z{D|}PhR97DMgd}!Q*j9)U#MXDa#-U0E}_5%?Y#ZzJM6q+peKE+`z||}+HqS~rmhg> z^Fq0^UfHABdyCHimVM7gFK@6m!Kn?iiWt*Y%jwMgC1W=q#zv3NYGHBP7Lr2{7m|D> z@&y@a2Ot4XCZs4!O-+m-ej{)HN+eEpsK{`4AbSU5JS>ZwqfAV_Ur`wzFr}W!Fc>}O zrwV%5XFOYiPQ{Bf@%ETm#|AgE7W&}WVAcR9RmV(B`^RaB#YX>luFz88HnUf1HX&zX zAfH8t#ucP)GFuYJwevI;Wi{5*G`81oY+bv?vcg|jD~!uDHr#9MyQVQl;y4<+gvKr? z@OD4oGZ^z%w<6{0VwNk5M4?3QzCX?4%6PTUm6V>R(pP(>W&5FY(~46t(zUsvG*tO_N*0O@rtLjJ~dAreF8scRP$pGv_8b{lXuZZN}&7 z+>HLEFv;5g;z5wuYSu4X=ASS3!)7EntFQD4ZSj|a&8aZ!OAcv6%yK%}tD)kT!iiI_ z2(egdy(H29*TKXUhbg{%-l-a{S)a0SdzWn8N8uyc^|HjNH-wu0*(H?79ULi6NrB&r zr{(-Hp~U3@EkyOHzvd$?m34C&>>Ub+FN~+^hg#Q1621CHSmB}g%Rcpt>{FqdeP;c4 zOjadkZ9F(UeV5*Z0-GYmZ|EF~`R9d{8H*;<)1z%q-Y#S!V}|sPqAPycI8n5|5J}_~ zL=t7A5F?}J(S~pT%J|oWZ`w5~7Lg|w5pA(Z5wT<^{&>*rXRWKer#rs?1~`Pm&7Q}z_}Y& ziq?Vij?2(0eG+zVI8k&(sOc?S4>yO4-wCdI`qsX^E5wPS(#tNr4U#Hhhg?Dyw&LF6DZLYqI#{*sx62p8}7iattsBvuhE0|%09 zHPrNBmq>hHsOg<9lnDj?9+|%3PdEen@1>2Qm3~q3 zVfQ5I{M~uM(${d`#DlAW{<>56NXv)9OvzC3`b(JYv}Iy^6J(Q^vW2aa=6mLtc(A~0 zBqMD3qf|}_cN8C#EtGL)Bi!dyEjv%&yLQC~_YCDzsrYch@ z>#wZkm|0M=?yyk}OXbIq$b09v#xLZ-$@qnwU(?1fq_ahcrnQmM=E~gD{@J-?%&bPl zXCuQPvdq}Ok~_#J@5#!}e$4vh>h$`7{iD%H_^DslX4U%WDGl|#&%EvXIRwWQivJ1$ z{y6UC5A@D8M!&gp%I9Xwtk7FKB=SN(0)d%@g!>(NbU>;6)b~0zzwV&_eY(QD` z%!y127&0@CQD>!VX;X>S&rU=k@#+{R3X{l|M)#Z&>&7oG*MQGc>fM z7fQM@eun4UGy&hH-fmqEj6{X_HubZFA)G6b*Cz*k{g-XO9OQoqU-0E6=1Z=nkf4&$ z1lS4|tSuV|7#gJO$_D}&xx331;DC1b3KW+bQ^KdAIGV-fo-?><{?W?9Gb z*OukyOkG!|z zI~c!qVlZ~cz?|8qORI^EzQ_R7U-P4TzxkSl!?i4D^!2#On2aqhtuyZ+d2}FV`tsW# zWKqc1H_-pz=rE#^zi6-jkIL}ZM14HNeO4Bh`rtt1mQ(w@&{bc__VkvjGlTVWF-LF` zi5Y*P(tX(F>Ss(0m3}n;=wLmIrE5X@I1->Nzd)XUm>^7PzAw@DL&Eiy!y=_U@8-~w zt;AeEZEyen`Liv#<5NiqCb;`Iz|6_ui-^Bv&Ec}44rHnM~%H?SA!$YN;=e-b) zza5GHouH=_P6)3#F}0#I4V&K9fhUvBH2!(v((TT||HGSb{p5mB)0^bvy{YxG`ccPU zQa|bV{7dS?#}`EE`=80tBo)UG441wey%9tPg~&-p285CCL5Tz-K-pZXC_vS1I zi=Au^OnA|ag3+z{-#e3v&E`lE8Ym+uT2B zU@5v|yZZ}sxrs~8x8XXA>)e}O&*ry=_Lq+y! z4J+4IvQl7TS2Wc6`A0~h0O63L-@w`(QJ1b#GW`YLqu+z+dF&l#*G>wbM-@@-eVWjs>dv{8OW#%6x?9*=pNBHh1(GZXend1w(YmC$v#Hxal9Vcg!DhYTF0hLxqV4NB?S*tebP0gC!WZ6Jf zZ%7quo{R5y&(bomd0U(nBsNQen@k?(e6?I}>oW~3Rs(gd(Oyr>T)#4g^LH+Pt)a?u1=Uku2) zQAyp*g}>P4cWUP%hgefNwYPCmUOkeObvJSqN?ZdRek%Xi8v)i}`R>VI2@ZQYQw9{P zWoDqMEqV~B3^Xq=8Km`dfmOGfC(&0xfJ-v4(jaam*TKM=0=WWcurN z4a3zItzp>uqFw_#!=(}68q5)}Zz8+G@wE}V9;%#5d{aN6Clkyf+h$rDXIRSID4Xen z{3?9o5%X(9YNS;L-F;-=(HD)p$zEY-k8HIyLHjn>(%o`U#XY7Rze9xrjA3hyUDHNw zGB9gDY(f+x@qdtn>F-83Xk$TxnL@8iN=Ot4-x`=a!+OgJt6Xcgm>71#t$g{!w(JQ~^D$a8`yI*690=8J_VD-L)`Q55{x7W`e_^)${Y60a$Wc|wX)ZN{ z)cXT0)<1T|oUs%lU-OzUMa~ZvKNn2g$@>;BxHmF%BTMNnD67P> znOvwAxX!?3(jb7A{Ed6}TVop;GCt%Q!R&sUUo33Kze$~1K&KQ5S<_O@mCi~m52TJ! zUkcsxQ?@UK3s~SlD*pPwQ2v!i@)odQ64m1NvJ%iUs&OG z8$}vDMp}>OAcE|L9?-(Lx^E)r@mOL^Nw2L#s$R>O+Jk}JJTG(ZU5o!s(Xm<&I!vDW zkDQH3Gx%Y&LbWI1rKf2QW7zm{NruC=I|;3l7=^i3KWoch!$p&6T1Qs8KTBG|Ow$6Y zQjx~T`s`*K62}#CVC5zbtn4x86mb5%$Q18Tu`6(HtEM4TjTTAFyJ|8ZrzRQ&2+eJN zudJsR5DMok`UCSS)D$cD)ZETSL;eazSPneHM}0CMkze94^TwhBFM|0&8@wk^)Npxq z>3PwMLWzmsoN3x{N9;|e>HdQ-I0mA96vGa>hPNgws9&=r>vbLC=mm%wCv{>aT2o(> zLe%_fnX~*;RNkO7mhf_p#ci^?KR%8<&dgxF0UH%M{)-yhiM4bA%=hY7UbC;7YYl|) zfz-v46O*+l2x{esVq-Yh9qL*F%RkYaz2IYl_Y zJ&l_NR=R5>uq5 zR3X+fm}l2c2B%>{JMnLIRAy)-Dx8Zu7<)_}6++I~MpS3|^SSbl6*a8X84+ z{}+92NVv|B@E<^LE~_tJDM)5?388C4lNPQ>TY z(h+N`=-7B!B6lK2a_G1hI^JsN2-8~p4CPj|%o9!e`j|@g<3jA7-zsV*Z`sLJQ@-dYnps9^0u{YoHmBwI*GqSrJ&b=0bC=R6uB- z=5J=D02-XyhoF$uf0=uX)EyTs3w9D_uE5AD)|kdctJb9MP~>?s#X5*#EUBDRC^>Y@W(BK@W!Mf#mauj$N{{gM}B%FS2VihT=-F zf%q0CFw(@|5C<;(i{-$<+CpXhSzfchnkNz^*9TIgw0AFcQ36bwEA}N05|wspo}&8e zX*n)mSU%9s1d!Hu!q(WtP4M04X;HodIXRv^C{p&dNT+s|&K2u1@9fY)d~c<$0Y7a; zx%a|Ikp(|g-4f+y^UF-ki1H#&ln+kJfA1q-knf;s;||8rp);t0zA$D|!~boJ8T^px zw5oe~^{ApVs;<)!p_-WsO>#(+UI>$@Q=pX|%e_Lawlst4rbIl8;-`sKgH&RdXPDU| z@tu+QcIynDrcNkv9fP3lQm~id{~gV(t*rm6zApM3y@2U-hB4J1x@D}ES`}oq%%liY zcr8orZBMuVZzIQ!Sgn6P)bPdUb{E+XoWxf8kANG@;nCGxX7ks#0yuEPS37wu=PRl6 z-c&XF4J+R&HC37Sta$W3!)ZoOY0qgzC=JUaQ!<>!Zl|+UMtHHA8BwWkz$lV#pWfXs z^DyMgUje=7MGd-QayDFtj3ar>4!lmrgonP0a%J@fCah2IJ}mQjPfux}1z7FtqzkT^ zSbg5<(edh6BXEZjlZq@s)3X)wG8FqP5Jmm8pdlX0a*`2oIiqejUx~zKffm1^Xqp5F z`pMV60%;)ayT1M;qP$4mhA3I1{XYUq{Y7F^)2^S#QYx?OzHW!S0SSVbA`qmJqTzZ# zGgSFU+Oh;yq@#^Z+{yTFMSp-Q_qU}=p0o7EEUN5CT_dU({b5H2u{%;IanR#jqd&Y9 z5fTqdkT&17CCGRYwn+ea#ML7ELGDH5$r&Q=HAO&Fn!@Cs?T==WJ?^?W zOJxW35tjU%Y2L_pGx%EP_fEfgQwji?Qo{Hvv?C5<4xOdIj4q>Byq^4%N~2U{zJG`( zrUaJ#cngI3o{F$R@|fH%_gAFO@2&BNf6FWaMnC9mrP$<3v_9gJF zegyvIUfLf2zO-{qlfKWK8DES4Zt*`+_&4u8`%XsM6-X*DuG-A2r-AisX=mE^=ho>N zM?^^`ILOnL;hLh zamdo$+zZ#W(c30`+KKT4Ye;&3fPpwnq$$xthE-G*PP1r&@Tj)I$R0BBNNwg+g08%_&fa6UP-jFj;n$*NogQns#BT_&8Ynawu^{ zYw)H|j|wM#ti#?Ua-?o#MRffw)cl^U;(IFL*TQ)@;rPoD=hDArn<_c}=G{pAC7pm{ z4pYE`p?C}VU2cdJzeI|&<0En0*s8iBRJ=9Baxju0O+?)mYkU=2AOr4@KYCaa0*YO`k7ze`aQ`-%f))zr2 zlTdnojtA0iB;n5M&6!M^`p;%Q$95qFMZirHk>iY{H=fp z^PwpyM|-L`kt$%PAHk7)!|4wrdWM?Un2z0?)iF82yem^QPB7LfRs^>=->S1{_IDxo zbNU<)F#l>c=J5@~6=s!>c~CKvlScM;xr@mB5v8~^1%lIG5aE+^8N}AZ<5Aoc?A6cY zu;4p>{3kb^Zh~3=h36O(-biL5Wo6}=BrpcK*S;p{EC+gRH=7a8ke)VtM~Y)CzDcq? zEE_w7miig&1%K?sW@>=d&nOUkXv4I=;w-jVe2etlKX0(}LPuLq0qGBw`)``t}Dfz&IZvh$9} z53)Cl^A6FI01oslueQ3wY(s-OYbZHPqF1`VO%Y@KXH3_Cxdhv7Zb%2`vYF1V=G=kI z-}`3i3XcR%XnBL)hD+&f|I%>j#^_6Gb(q8;iV9K@XCtq-8{CIhe&WT)_#O6w64>aa zeCob*hlc@9&w?y)%u3M$rgir|_laGG)ChI=Q7#)YOK`8-^Dwl|Y|0kss(qkPTbSH; zs2yPAA5-e_24WqFzLE_tX5n>MDG3CBFzV+_WoI@q{BR9n?N0RPh)ob zssFa7bjyF0KL07}1WEAbpUjj#7q^qYN96i}cSXK?_-k_0z^|9qi8d@77%(g8AgOf> zx5d_emVHiLF0RHrpuYHA+(dev85_OKROYzuKWt6)CDt1@-yZI#cJUjb-Yu!z`oo=# zR0}i*GSFP=LsR0`nmW$PhDHXeP_Q27r?P@jtnssqxura|6L19I44mPE1>+JUy2nQ6 zc;H-Ps|wdMap|C%k|)_omAK5E?+6?r#CU_H^6SraUeN74JU7UOcsTsjw6l=Ng&sC% zApy^VpM-?kC&uW~;NJPPhxX(>2#F5+7qY*|qGRnZkFy!(*^ zVOCm?=mQ|rhiS?=bvodqX3T_Zr%!e2ln)^bn1Zhg%`r)*?~e?*L4JnvLx% zhvaPHG^zL(k+!D~Z%$+?*9HGMOh0iW+%pE~Ltvi=AA+gj0g`Lni$| zuHe1D&JW|O=2?+N?h->Tv@a?;yg1puIHm0iaZdbGAb+Wm%1w5~YA&RZk+1S0U3tXA zr1izrQ}W~gck0Gb)+a_B(6jX_!*8Q0dslxkoyZs}-8=u-LozFe9H8lo?}$Wo7Suv# z?ZKL%Klb+E0n$fF0zskU$7MvwuB|E62Cl@ zz$goAdngP4pP&Rs##Rtpn~N6B;eWO_q0&8H#Qhh`F+uzhD*eP+u&kH5@~G*0sQ8me z{2dQbp`o7;4jC%mlR?z#Hi*)o)gbhn*7{e?e*x=|ul4;@TNnEgm*(IN!?AfJ$$OlW!ix2t9ei6?_NB7RAXvHtiR)({sXTSTL ziCxS+lBTk!Pu*+Np@d)k^CUt*`)GFh)Emi%GJX%K{HQ7sRRtwz^kG_0be3Ez2;|VU zE3bZx^I~ucU7v>oF66dA;j(9k*}-8#>ZB?Jj0MWJMP`vmd}FA2JJFq-2mD4L5@-sx zvPESp)=;+~Sr19OO3^;tF8~l%xg6&|arE`!z!3PQzzF?MfZ@n~Xxt@yyc<8_R4)8H z(y4tPg0PX?YPb^}z*%Zmv2;jdQ#xLbe&O9|!Q#E*qzC!JY$0zmDMN$o z8D7aRjTCRP5PFFb!_bl&juQ@6`Zp)`7a+nR{e}U=H$+O`xa-!6#WxJhkCgspeqS8h zZy1dm>01oTfjzJvhD!f6zt9)Md^GO_-nQy(Pcwd!F&2mZ`{ZnHe00JsPsa_nH1d`rR`o2-%}nPYJ~?=K;rBh7hH~onDOiG=d3%QG4QUm|Ef6;BopCb z^KxO1B#7TXLaNs69cyE*!4M#C{7al<(kG;#7GHeJoE0pLjh-`_funPd@ZkiV8eTKZ zF9%4Q-^b0|!%;RLJZ~pC6*B>~wxmhz%Lr9zf-@G@&iAw`mqNo_MWhk8s zBpkn#S^HA_E|yOk1p5#OaV2%|$OJ+}0^4JwM~xEd@;G5L)z57pV|yfiSh#-bWX^2K z=OI;0zMGN$4I(0TR1q3+RT-8(V>{a9)@)*bf}n>gvWodB8fw!=dOt$v6)nLklg^s1 z-BC$&^Tc5NOb~eoh@Dq7R|}spvxkP7cIA$%@835Vzl!%3;Y_j{(hFu;-q;yk`l66% zJDYkL!$P4BJ}KSjBxGC<*I$L{?i&h?nMy3j)~Y<6OERC)Q*^Ohl4fX95b33AG z1t}8wD&i4slv|(sY96HhyN$>9 zcqR%3qSTG!V(iGBPF*<{sqUe5P5idvL)BV!K0!SU{|!#e0zjy@%#nc?Vx#}-JcvY~ z)9#I$6wU&9lQk)T%*hSO_ZiZtOd|?VnLZqAhlc^#gndoYr}nI6ftAKxk^2mlshfIC z5Lig2D-W~5`n%LX0fST}3_S750&{rw;z|g2(PZLmlCvaPNc^#nL1i+dY%t?XCSgeR zrg`e>avPWK_!m@ab2#4O2DvnT+`HtzkiKzCOpzvcnEiE({5aaY-{>$R1E(ao81l_pBVQ-;lPzDdf+W{`2-)KM=s(D5=*-}&Wx_D*f4>%;q=jHH zhaSG!SJUq>{Ok5}{!j<2VCI3b|NciC`>$-u6J>wA>&W^ET|cX7IsK05GopvNa$OEu zt1pB71mjYRRXn5=Bg$QpZ21=A4A*S;o%^v5Bj+UwAohOuD!I_NGZ<%?uAlf-=Y7!r z*L9#Q18#>a**9gkKmV||u*6UPHaX^`}uOi8r2%ZySX znXG?i-IT){bK&yDz5QWGg6dnh!zkl6RDjK*?Is}PUM~p^3la(k6aM|ZrhU~Pc=8Cn zF)NtA%(}#z|Bjv}X16N@u(#5dc`>+d?YneK!cODMz1K9}7$rd2YUCC5xbTz_zrVNg zlDuwC?HiPWi4sH3Y~bv(zG}(Se>7~T(G&NvABrqC+l!hk;US`7->IZvc&S{X!G>Ea zDMoB``8kM&hA6QER`pL6xVNnpo$Rd*?=;vk^B4-5B%S^dHT3hZDUXdGoMS_7ERJa- zsCMhSv~CiFLalmfDnVQd=YrViRkWo_5%VJF*Pp2$N0RO(W`(F(0&%^K&l?&VoF}dz z8pE@IB=V-tBmg@89Q@-xIkgRb1^!Moi5niR=<_s=OCAz|8>2(?q|CtK6$a={luVA| zp+WNVOAm(ROYXBsUThliJn#~E_nrchZ!5D%w(o@GzmJgoH8>td-Qf5zWoiXT-5wgp z<)gnC#|>Wr$EelE`QN2ERGdpb{y zD9P+U?;GeW*rX2=-ywvsHJ8$@sov>KGXv{Kjij}~&Vrv(D4ZyND-_$?Wj<4XW2zvN z&t~vN&J(!;>lkOjt)^he_>VC6n!*HiWERQCP`H;D|ET<_3(hoOT)vY;IHvR#RsE_Q z0Lo*#3Mt*cfT~Y+7PJyr7*1UCGAkVVFB71X@q0S?qWZxDBZQ#V~|0R!eih^(1pn$)eyX+zU}Jl5KOz4^6~XW{rxX{|G;0^+)B9{7a) zb2fBOklau`QsYPJE%)X_ufgPJW_5}o%lL_WPEj+6CUn0lXC=OxjKI~NM*g^gkZs2+ zasO+ z8~>liszS*NQwmf`ZW)uu3NCUQl1B?W{(Fr&Y<#v9BS7&L{w))VnM}IoRymmplE!Ef z+n4Vw7z8!Ui%24PL}pyT>AvwOUs;{{DkPw{XichKM1EJFrb89jZarpPBDafVj%DceRozX4DGs0VIdp?#^}`>1(i+>1w$&a* z(10+(+D4~ti%?`l#6a2!C1!LnQm5PSE#Rk5TJ8*H7@sLyPbJ)zd$Z0InWVUm?e5i+ zvxtW6gEb1@ow7p9EMdg-b*HD9zJSib^p8Jfrxo2En(5y?=YNUmeI3W2I4XpP zT07zMtJx#1Z2b@D3I>%YEIJq}A8N3uoGTaxiUSgPA07`XH;%NZGOqnC`VglG=R_FAtM{-QA@tju_zl zSY0t;=eRF$MI5fXR!>gn2~iF1N^Y>-=<-%QSLQ?aVOPNadMpq5GGOaAs)j*!H zzR@KK)X=}VYH%<4O*5SC^N_DEdU|47pY-&{v;tzyw0>3&&2@!t`Hw}%jw`3+BcuuS z7aC@Lbb_}&;+%u2h4?NXfoaAjjFG5T51kd-EqV9(Gus0D(Apd?ylFl%mZ%f zqO>k&hT@H^u|jfuB2bt7;4ijf_fX0|S+ceIdW|=%vhkg99WwFyFV$}a@nkK-N`Svp zgj{{_HCQ-tL(zJ>_$pz3@D^Wo%JPD!ndGDmh!q?8Wk37V)X9>^59(>GsX&v;41&=_ zR+W$pw_gysgd5W1o{2#&+GHYFswi8L5Mk$4Qcv2;@6eyk?xWIc*o8R9tUq7KR7DO3 zTf3Y5JC1*8{ZV@v4W>dVt^#GQVhfKX6V}c%r@+ALB+MV7L^22(c)UT6OJDS-93lrj zVGl^CQG4aHn&|!JyWcYTi+23Rn}57QScs;XR;cN2YSIMsp|O-?8hV|3&%7l}${(cn ztQ_dA90dv%2-XwHxv}+S_NOqdj@FuznI%!d0bz$3xu(8!*7x^!2t9P!Bx_VC(soT7 z;B^bZQi-$QA1;ZtSqhoD%>4Itp1z`|r62h{K3_aDSzAOFaWL6_di+uHTgZn;z3!@n zsX1}>efpdlRT_Qqu&f4*P4|E%Rm81F=S1GFuH=S6lcjz4$=5Ku5fj^o+=}1qCY~QM zSwB4L^&~}dR_ITPL(?WHNI-^&4_059^ORjj%NnuryGVLK!A7}7r{rOx^GS+*V){`)eAp3m|pf_rdsc9_RT>JTkb>mbuNsIT`O5fOoox6q4-;&n)gZy z*cn^!-_jDzd1Mc8<%yz4cxCNC4{{}qyV3lT5rSWgacA&jOh0pV!9SyfRC8l4rg7oU z{+^+*;)ihh;0b1*Z_$QUP!n~_fGV^y&;s5_QySZi z`NastZ$rb=Ip%g#Ffpm<47r*54fm~Y`deUp3_6s5&yLvXZea2CB~ zSRWP7)b~J9rTJxhQ@>Q9s=`KRXN|};r;^NswQQZKbIC`b_;rMB;_P2emTHYZ0L6%J zywdWVD!}8N06CLJz_z3vbJb>c%uNAXq4aLsBQUYaz1pn!SoNq#-4@L~7A_CYgLGBn z*QtGg{u;9%;~|Ic<~&HGf3vlw zRXMccPC*tlNIpMg^|7|FdN3mNZS5ZH8JKZ&XWvQ%|F)>W}~3@o*KNGIZL^y9(f+Qij~MAJ4;bu zlPNIJ6gb1KU!B@Ndi+yshQCfF@5|xkS5AobyrVEeCI=|)wls|`Eo$}=vx-FkruRXWkCC;DVPRigbxV)7)Ag`pXhbL zm1o>oHRX((Z^LI+GkIyxXt?H%{OfP7njXDyYRw(JZn-gfesEo0Uuwz&;jz&Rjy3a_ zT$=Kld)|}d{^57lWg?MxK2DC4e6`m2Hh9`33M;G-lChr z;)IWTq&Zzrz6D z8m5GA7JYJA&XY&$dyFIJT}HL*^3FZbkYgUL%NyZc#zy~Rh{g6frW0Km2EBM^(@N(B zxa5FSP}iEG2NTv#R^~X^!C7X5aus$leZ5Hqi$bc*n3q0I$9ojhaj-PZbKd9qRlgyJ z%WRWnWu>HS`>d4Zf=&4&fA|~E*QQNc$|+PS{NJxy51yHlirZ(VbO)=` z1#Y=t?-%E#yj`2(vC+TvzU*$kY_riDtUr7EXW)w=Qy5Il?L|hY*~oyiSMxA7I;szy z+9#N`+>MV~hN+*ocCzsu`l;r!m_4K()$=1a_}G3OAgu&H zIwQo_UBifGV*q~<(oBqmJVw7+_%BPS34s7v{J`Cr+-K;+vr?z_7@j5b_(M&@on?Qc zPA|Tb2ee+xm;z5-)Z0_lM!Etuwy=>MQUe@K>>EC_Cx6dz7XHA()0HCg&JB~z9G47d z;qA68;F$SEFh%iodB#~7wr?r|baC&QPVLY5K0~Htj76Pr%@NAq@x68sz^I%w>gU*77urnDdE#tyqxIy?GcfC_5XS6haZ*}UHny*9f z>2veOIt#{|FE==g#^}rX{s1qW;67HR`fzT?!M z0zze}DaLwq>F3!yH|xpAhTuKW)u}y|LKiWj$eGpnlXU&ndj~m-`ijVDj!w=+IA`b+ zaq7OogadtSUz-5SSy0a`W%!ekRmHXGu6i4}&8b^R5d$KqZn-sj2h`~Xbu

    Q#Q<@ z!HbIZQT_3OX#eZ>d)S5!+`?L*?e{(O zeP;Bv;P-1%@6Ez7hL|A}^AZ}m$&BRqbM{128%?bQeX}^Hr;}1cK_0WRa_5>-7*skb zHKbjsmQG6*wk!2{r=^Zfmy$?akOR`o6PLf}EGJN1a2^Q7Kl1kaB14T_0{_OdDz*-U zVAuNH;Y)Hzzr4xjv9QpKfD0D#-d574>CK=7&F;CChcR%y&L%GJg16(mOCSXl(D-l` zjhg*Nis%3h4wYy_ec`Uq6rSp+eTl?K(Y z;hE7nyv`LHR?xn)KzVP?&}iTS$zIcPW=Y98(UWX{i23wu&8o4V-yhCLGq^i=Bq$kz0`{{QsSS&4kt`Or^4fgX&3vY0-D&=7L%1|AADQME zP&Xoa@)z~iY1fB?(;Virx+iQE^bS;K~5UnL1}Ppsm_OiDVXNoYW%*Ee}>n?vvoT zqkJ%ACF|SDG$TG^u-K?}4uM7E!DFCh*v_o7McaU!=Cht@hN0$}XC126Bhs`{RIqj? zY!lkL+V1}7VeJ{N*X4^3r7vsEQ&V82d5Tck?*7(Xnx|9jXJPhyCYnojxL$Ri&(yGh zOE$p5xT>6M3SbI+)qOPcbZF-34>C^=OFuR8-@P;QYB!fur)qA@Jbg9u^fGg4z{Ug?WS%~ed3q|B z*@-$b>*r3+qF?cN{Ts)BeAJ`=)Q(xR&ZF+jLB0(ddEOC0#qiRL!Oh9wiVfHH$!V#f zX!9FN2;B5;pHP!qz|l;cF@8fhu$C{BT{~F(N^r$Jn`@6dqx+7j!RB{@oKvzH4dvaQ z!NiCkQ0Px)TBXprKe_#g$sZ5;cDj(QHlJ#H>cpqO%ap!Fuu$cy@_Rnm^Q0VB6S-$9 z0!9(~qQ94{=1%QXn{$}yrk}GW)a=So|5W;0ZWQCz(k)obNsC)v@N zr@ySeE6>R3?2n&+SGQo|>ekc=I_|M0bqoh<8>6i`LjLLV0l-q^|KH=Eew6+MR5 z7F>`&v{t!@IO)oq#ZELO8_EoE|Rk3YA%0;arR7J6tYODM7 zsKra=)|%hvJ8SQANrFK8KL0<@L-yI1wbrazGqYx9&6<@n2Vdvt!qClVG<}znU$qA( zA#n=zLR#5CU?F*8I8-ir;?k;1IOJd&xpCIx^Pq9pnyuTKd~<19b}Pz&BhRtfGrW(u zNgaLPzkQLYz&jJS=Q9oSw*Js^27`yc57GKAM|OlS*_3k1Q1q~#@)u9SU)-_*^>A3u z>scHKv+}*e!oEIcuzn7acM7J zW50Aq`#ruchrh!^&B|0{`geQp#fK8TM$qi5Jo+8}hm5E7hcUo@B7aTj25o+UVKPHE z+^t`%HZw{%cc(y^&-(_7<*MG~eV`9mTOYD|w-)+Dx5qF64!E*0;|4G~@EM@h<^9ak<|OsIMIO&`^F~q@AJf=Cg+5nJhl7y=ow6OJ9^C< zU-^{JCw;3**UT$IYCOsRd8BsQkaFk^uG%(mR&f@{`WzqX!Q7k}-1O$GlzF7`T8ZXF z7y^kh*AuA`8T{#)!f?)KT#WdnsB`wf_P1rPvBnuXeN9pnd837{fM-*$ir;B-i{{&z z_6;3NK2S`BmY_FqB^2)r<*4bukS^2J0u87sa!Xe0J5tw13!fz8$fW3rmsrmlclB7L zU1f*$KRtR0nD|$(xo@c!ddH!>OTGvllaVp^0RM@0-M7U<9Q+1hteO(-afwnPBZs>! z8cZEC`e!97*|$r2Rmm+sDk!4(?USU*iL(L{Gin zDw(;6FyNVm8=QO+H0s!u-TR#$T|`ywz2^SWFZx%--x2|ztn9B13!$S>(~}^)VL^}M z$e-}A{XBrRgCE(i-cy}$Y*>(U%4NKd*wfroLd{F~rKqK?T&tqr{II&^AC=qxq@xQf z8voXxh~i;NjIi+hu`uzl@`m=~>nGxrymDA(MdR) zgKdU;n>~)zEr0hekDz7oZ7bi3NAI+25D4eMV-Pbrqnhvv)ySawzZ$-J0onv9f$Dn# z$NKn$PS9B3g=&oWHT!XTK@RnR<9oC)mJ_3W$8s*CBM8ofnp&JWJ~|du?MQI^dQsHQ z1Vyb6NV2a_lHoLx9N)9Y>CrG1?Cdqyal22FV-h6k6Tr9Jl*oF|j^pZBP}ngn)I6PM z4U4-o(pp6dbEdEkhP>j9Q&IlI+uzWq;m~+O<@`vo?F5SjcznUTbvAgVw}w|cWP4!e zGk!B)VJVW24C&8g^tyT(JHBCSj*ui?V=IXBj#aFX7ODOD_m%pK6#%1Zbq?ecKKW(c zFtim_c1?va%26-lrMGbqWRZVNaphCNvEDl160)-GTxXsi;=LgR>{ z=T+aL#{Je%V+YenxOAJP7o+cM(%T6CHfTe7c$aOstO&8cvAEKiR@$FqeQNij5bQg= zd%z@fJ#C$D05VbOgLa)kM%T!h*;U#qh^_!-Z}7U2I9qrks_ka?IXP#~)u#Q;l&Kv0 zI{Wrv(SQ3aS~=v^s+O4cu&Bz)%s;4Xt&}wjr<|>ABF32n<+H8XSP`whbs+3l3L+R56kb`&5t=KLbUQG1*(g3R10(eD;4I5%_G{i0m zM$gCZq>k`S5`0945I7Slp~dLnzx6@oWdTxd?r33<5|Q|z-L=G18YEs#vi-k(E5OPR zl8yh|8oxi;crd$(fhzB(>DVV@Fb>`npj z?IVSB_0@F2RO+Tw_d4`sv7N_5Hop-@pDqq+n*E-oC}JXZiH_22QlpPT&62VfhI_O9 z*s{2PL&*pNmxF^2V&B#CXx6%u32+SjbAyJf$NseA;;QY49^#86;c6t|W`|2Z3El8@ z7WIS{qMtCFI3#|`7s^kxxh_|B(j1GI_3L3Sk}Sjr=AT7k(b$TZ#~fUGpq2>{InyfE z^e7n-Zby}Ic?`iL3>VJ>#?{YWoZ<3yG_Ibn(Hx-kp-b1&uWL+ex}M{6D#YFyxdZyi!#%ke24il%gE%xKr4+lKC~Ll_sK z8wYjSmCx_kx2^zOsBwd+Bk0QUMt(t8ewNl1jgQ}*+x;?Kb|-awt~}9oXLZrux|1?K z$5VUf@for|oqE^k(H|ebQ?T#s*eYI#BICLCx3~T6p}&e5EF$*?WH~#t{xCgqkx=%; z_uqt?&X#cUN%vR&z!gaTpz@3-sZ!}$jdzXTei&DK-%>}w;dVC9@Lf!s{zS?m;7KP; za<+xPK5+Ljdqb3syC*1|@JW!c_}|-&{*#wN8WKswzDL-F>wDc;wKYxtEmBS3tkT|LNCx@!%Dgi6bR0DjrzCz76OjIMS~hw7 z0@E=fi@vu1I!%aqkF=mA{GC58NNw>=5@M2IbqxWA|JTPb!hd1m;g0`kxTe~%)eAKzU?@=D&^+&;scca;) z;up7MNBol2$$<)z!3Cl9bNUPNY2%i$ye{!>2M(};qs6exmr)^6em~}l7R(Zpcb@yH zX{5@3+hkWVh_3WX`H66k?I6s70^U&nlZ&|O{t*A#&wpO&-)H*Qoj1A$NBZ|M?gN4C z5R3@_fk^~y9cC++Bwy*uxy2@oacyV-^x$AiE~ux9BpFfvH0w_nOTPn(+o)C7h_yx> zqfg%p+;a`Y?Bvf&?JHZJyTBFj&a&&r-c4Ln3^C6EA{sDe7+>S4^56#Yp4vmMTV z7J;svBDcCBX`o}fy@B7WpY}FHt|#Ag8^ZI=`W=Omhg@glr*B;KU+k zfLuKBy(1=NILq$SBL#+;OLfu;;GdD}@sF58A>8;u0~Fu5in?Ex3bH(Abj(Mp2}v;) z@^M}Q@UrB#!MmHtQ}x@mDs70)t1#`)V*C$~{cTxi`W**%_f@#O!v+;) ztFx#_RTvg$%}gCf)sYYX#>RB*mk);6*UYJ7JfaQ9xRj%xJ)V>+^1Cvgh^gK>5$`QCNpx_rTGu^_zvLswbNCum6y9wb!l!Vtlz97akdoUQ24PPp>^$3z*tX5F9WS z9`X{$LYn?hlbk=0b#sR%ZH38}K;H1Cu^XyO=PsQv{rudtUf_j@&LQz8r+aIC>2tw% zYOyJD9|*oR1|NyVtbO7D4wS<4xI)$h}i$trtE;mNQ4<5mm0AJHI5Lq>wE<9P0Z?sLAvPo6yP%01!Abfn?8=q6a(7v|Pd;*eoRlcnk}S8FpST4cxriw1=hFx>MZWwkKw_ihOW^qP9axcY z5r;vreF%at7qQlcqmx*%lwcwLeVD|E_s9{967S6AV#ZG7%wkP0@-4M*^d8a79G$dX z0o*s((k_fQO>-{EbzTtf&5xg~Ivtma1?TGpORKnbqND$DEIfW}ff`}$W{v1sTBSBsI#B*Y$ z-P@V-QSp(QV}O!nS$a?Xn}FpKK9hcOxB6@!=`2lqZNioseIa`y`h|(0ZJGdw86eJs z7LJ@n0|9ziWh_er(eXzDO#D45V7@!lwLi#*bVM8%p_9BH@%!C zX?(@|yT2~@6VuNJIN}n_<@0xF=`Rwb@j;EoKGm&arzmunG;Q3O6N=uTi6J`rnuE`g z33uR<_68pKNA`~N$9AgBnr$m=$$G(@#9>r=936c!C0o`qasXA!_U*sOwQBZb#iqZ| zM#1TaY&?C)^W&R0)ZJw3GXFK7dWYCt|qJh5w>_^a1KMgDP?+!0rFPhL47dxfI% z+0)d(_onUvNJ!iVk|^X1@3m_kkmZ^w1ms(Po0II$d zPgpa4K>l$t9gC*>c?0DK!b2tZ(*siJ8duk_KF;kk1%lzM>v_gPzujb|-t1VM@+Qtr zD`S-Htz@ZP0~;$zTm{c?E7$DGhYZp`uhvMaH$aUf2~M8BzjS8(Mc2LCbl z7V>+%!iI9V0o3QCKRrtC`{l+Ta+c8E=| z`Q`4jExsTu%0$+7iceVJ-ZL65tbo3A5KXvrLP1^D$Tsvl%J6b>k@uae_TV&|Kix;T z1WazM(n0R%Nb|>5e|;Cz-H^QG1IhcqJFg|Jt#t?K)+-l7?8@wTG@mD)~Oe~oM^@IGB zGwmt6`pK18a%r&p07R+``k`vgQx;L)O4iq2@&2Am9h|~ce{8E%)%n#rUfS<&vTnal z(p>I>32<%AC_LlzCe~mu$?LA>erDkWjX$Y)$&0E(WWTO;83*841~dRJ0Mj zl*oYWNs$@Zc!zmwp~Z=z9mSzDq+9KqJu$K{8$EmjDMgyw%0u_A>C`xK!EaVhSaQ8i z4SHD>xd3wSx|h~FR>_m2u-W@m-c57{p&UiJ5G${$a6)VBCd(b>Fh`vw`%$Oy-vZ%` zQJE&v3V>Be*wAfaIh{19AUPI{YB}_cd2%MxbLpzZ7pl;#pf@hwXHUIxG!*p4Tc#B! zxOiH)o&K2lHG@^E(lDoa0Id<72a&{ECWl`WqUhX#>dc{nr4sfTO-#T#?4tZLz)gm-&X zNBRz`j!Yc{N%cLUv25$R(ujY;VY}X3a`{)c$Z2snfR5w;6}i=s@nj`#8JF+4u;m3e zH4lYJkt3@sqvH#;7f#FU97w zk?~pX9d~Z3C^aKd%A*P8A^}n?%e6#)i1Lu+SM2T%2VOg|oA~SIw|fH7+xS6=>8Lm# zo4^;S7wYPGT}j3UL)}cBrZ)V9MEv)9cE0Jo<#j%_&&0_1J|OT^5ctD)gg|o8zv+#h zBMYc|Rb=4_;A{c^FUg%8S=dK6`66+Ie1n=p3orJyWTyseV2Aga+%l7Iqmwdy$4mj| z;wh-HN(+)J7i+#fhZxAvQXOklO{O@YnHcHOXL6*fPj;BY-@p=Zw~!I~g$h#QNnG3m z@v9AKy+U1qPzMqnBrUKXu#m;%yJ~Bl9BgW4x{0faHX~4`I?`KWi?+H?j*Rc#p{?gy zD^LIe*|aZ>-9bAG7h6}}Mlw`$?yMn}?oW;k?_-Vs#$K!q+MP%i-0X=hJ^D139rqU> zPf0T7rdUJn|vDSZrlV#pO77_ z*OX|zrp;RdQ`rY81MHyCxE91MKMkWBx_KPtgZ2C&epGXKI6zH~05&LL&mhCT%wD`4 z3_B?4Ba{H>p$6#p#CDIe=;}~nSO`#J_z_BCI@;b}RS{X)ctci9Kx0+^mk)I?(jCbP zilR4rAglF3GZ$DlHVOOc{63PfX1r9Y+GAU>C(z+(V(tZQT-OOx!MKXFdh}sjp`iHN z8rQ?UCKhT9SMX0)!zv!{ae@si{y$q^#((Sml9&Wte`;6Rk9Ye|ZgWq(h<|PLpD*z5 z=lJ(m_}5FgA|t)&T=!i*=A5~|@^SaR$j2FQoUi|PB_B`Z^_R&p+Okp3BkMV&Wd3zGPeFo!#yt4CJkujm0CqdGh|KJ{l zBXyKC3Hc8754HDQ37lu&QWtI!cb#=rz+GJnoY-Z?U4hVEw}=og>>Cua9w%_nJknX9 zya5MPk~YrdcVA``#FvTfEh$P~D#`CjYTv<`9qsE{1F?NxN;50xUTwIrc1)A(ZqhBS zosMkWWjmH%_Rg4+x@rH3&jxMY18@%y%)etl@&CI=Uc|pPaut0q;JWYheca^zrSCBv z95RWS-~Dj&|B1=@AJ-XfG$kx*Fk$4|AJ~qy^1jTfik`~>kECTK*9Ed?R%OdB!eO#P z(LeLK^q7L!R(=KgLv`tfP}7x0KhJSc9pR>qLfg`#CPt!}Oyx|{gWZlRkGg0fnZ_@UL2g@?NS$*5JJX}NGy;`dbcN^xbR?_rgZg@+}&yW6_E zXu4XWi>R&W-l(pWtB%YVMIOt-QPq(vivhgvz{aw3H#5GWCY^{ZN#o6uHa-m9ZXiP} zm17*rWK~by*gT%ihpsakI>TeKPeIp%UdKkkA>@wsKE6UsyTOZbO~+bi!~}%{dXgDc z!kS5F`7_j}zH5)uJ3VAal_PpE9Uuc=c`Xqkn`RGU@S6C^Z9N~zi z$&tc=DOf3g-LP_|kClzz*b7#441tdoF|#Ph2DxKjV%yD3X*2u5+X7DsE1T@P)qBCe ze~#%6$@9G3NO+&+&`)PyV58&OcNL|M>nPbBVCTa33TWCVVN(H3RWd)q;@N z!O7^}SF59ioIvugZp4Pqtd90LadPz3%O*z$urX^_cIf6Gm;@S6=|(o}-#mv~`I}^U z%H^`ot_$U>f7bbt7)Ruv-y&Z)M+utlLDkVyPppn!-(DRZ!1b)m$ZCoVNInwWky}WjSA(jsczYU_7U{ldx$r29349(oJfkfzU~Oz_I>LQG( zze4tPgAIrxg(WRz05AbNGgMTh{%Y=>W`=Qfq>l`7>G8f%`zEpY&iYtH1cD1zu54%C zLav&Cj~^5~)-wcRm0sWg(x}WQ$UC(36WTDbBx`s|q%a@nTYk3U_g)Gu)lODn6&JDv z(D*_85gc)LnA0K5Wm0Ol60G55*g*jqhTD6p&G|0Izd;poTObe!pDD+`uyXD<hq>#K)6A7`hW+XGlNCTTQOMi(Hm`c7aYDUlT~U%#a~ zI*}L%9QD;LZ{ZcosUG>R{fhSse!ZKeUqjwd&vPqFUs>3_l6}6VJLXX z_ZiEXW6(B+kEtqMH+Qnsc@#P{Gt5bhpE2aW+raF_{+A|cFV!u7_6}lk*%ryikI{_o zTjw~FxIuX%I;^^7ckDDxV#*`E&Z|(sgn}@3cqj35Uk1$kaO^$}Q|wYS9-DvM_}rfy zA7%ktASIC}#H`8UJ`r_dlZ;P-pk}^JNJwGr1d}2#4M!KdW=|t}q?-lNyt1n`j@U49 zpRcS+xT{-UlZw+UiGWTK)@DTdK086%j11GZYh6i;#S*@(cc5tOrlE=~dLTYCP{-u@ zlDdpuP0;_y&+*XGTy@J|v`%pdZK)7?;R|w8SbtnIerFQR1Zy1lbtzfZ@)AP3x_Qe& zJklS}{dQ$^zzInYD{V$jJ%MHKxznTxRYiIn3iYEa;x}k4YkWz{3;9c$rrG#!_6}kp z86PW>!F)%iymKQ>eiGyFK*9MFJ4PhX=yE`A@Wv>z1KvG>>pqdd-^=%n1iBdsxbYtq zs2+_Uggcr>lGL{H1CP!U^VY^s>Zm?y)}#k+tlZ~GHI(hNDBV>pZ&yVRI|*SREaH4f+HJPn=4wLcEc( z?_;5*m#QuxE7JT@E(5Q?Y~R1h5E+K>9>%C_L<%$MGM6|Je!OIKQh6>&0^G49kWPH~ zetccTR<;8Z^B?nL8$A>J>?Y*&zCzr@7-dfWng7{z1=y}!oxnoqW)q;fiX(m5`MeNs zz9t{MyK(2;-Df3w_Y0;(Pm+ZL-$hwp{ZiB7D|~2{713;%f?8kS=KUJd^?t=4oh|Tl z-Tah4`$CP*tAE~C_lYEJ@`zoYrjR)Ll!5K*AH^EpTFn)+q)5Q07Sh6uBg;MBqlzp7 z7UQTvFh6l##Og%d`q2r#UXcuo`4Dv2SKgNIeJOmh?;dsbU5u;%2I!Ix)=3~> zk8RdfJ76x7ghLhHn)1Tm0W(E`=@wAL$(H?|Eo|Tu`yruhKkf^DJj#z?&Qw3=tI7sF zq^$?->Q*=t%U`V)_1?Ti@07q^Sq%Va@j&gI>8E7c_wfYaGGbPFG%M0W0se1z@9t2@ zPjHx@e@U(3;M=9znT6TGhA4TJ$RtFtR^vsgg8j<8S8zrc7 z^@o-Yr1Bt6y*@YCY4fTt-`)P1pUHv8h8yyKH{R zd%wJPhOl#%H^F9`gF{PiaOK%-L-`%-wi&IGbWljthMQdTw7C1&$E@7D%?mBIhR==z z+jAq2UbxX|P;9%=mhC{zV9jUoFr(kl(jQXD>}ZSjwzzJpZ<89J=3>84Ih*^VSZ~cFe%DV2quj0qF z1xtJp?{eqQG$P4i4v~0f{Sl6T{(%}CJPi21=}rIPGQNbI*7Mit99RwaaUOG5dWCcoNN!1dYdS!d??vc>iX9c8sSx#4dS@d>fr2=!z5|Q82SNNk3OWV$yqU-aOYIiWqXRsM_>pbi5Az_}F`$MOxVx^bR_Cn`I7K z(iiA23y$2`PL9Ejt#x~21dJVi$bPD@7-{YrrTM1FJ2(u~cK({H& z5qFTqf_^N-2;%#5nkGAb6#WR-k@C}&i;7=f^6q-Lix3JMbegbP}Qr9LegI>ce z=z6$5jn zx0Ii3*+PGfJ;Z(``P}CCUp>rK_m}wB>HhQE{QF7%b)5fvfq#Dj*OXa5F%D=0cLZ`! z+qWPF$03SxInm~HZPat4rDxazZk+m(p;?=KN7Vl;HpPsHHt!F_7YMrFE6zYiX}#e+ z;~wefBgvol+Xpxr-|+5o-+JG%>&M=Dt|=CTcYZN-VFBTqQF!d%*~pSqv7LRVRdHX3 zFOcF|EEdZ~2POHFWqI0IpRY&#<$u7Npf41{zp6E^ganP21&eO+lw_gn#7nGJZK*qr zW3e_~e{qKGUGQe#0w4+n?cGpveBD7Ne=O2;H3xzme|-IK1ZAB2-+0+b0WMz0K9%Es~3fDGhf+flVKPp>*=X#Szq@qIlPmJU1 zQqYk^jQ`8WO0N1`K$qP9r^WlV|LOST{wHmFIwIKiMAFc%wmqp8ZF#z@Lo2CUo-VCn zj0K__zq^y;SER$9h}dIuK}fl)4$No;C()c?Pv7b`v~LSNc1Y;^3it%b06Pv~)b9nvoPQ8m=Qsfw9P)2|L1br_31S*e=9Sxe`Iq-^ zNUy#34{YwKe>e2E{w=sSy?-wZOJ%|Tx_=A5m+aq3k0;0PNqURRtG#hYJNa8K@%=M**9(}zx3>wHm7HfIu6Ar3 zzQi)=`8VlMc|Wmy3;`b)7<go#KX~lc3=TcCSazfoT>8{k4T%iu zCYyh}yML?$-`11urg7)d^`TZ<*8<>6D0(CF-8%1$I_ts4-&qfAfz0E}Z?SnE6aNSgnzGTRrjm?`*qyY)Ad9s9SR;G)g`M18B|96mLod$9X9T$SVXM)6Ft;k z-Yg_pF?E;@MaZ#ob&T1GO7XOh3M+M|Ns4a!<>dDrH0Q%m&gA?40JeCJ z{hjt{F;_uW%SW6K_hj?x#qV-dj%J8!M2StoJ6=a>G z8n^w{)mXrT9`Q5jU^(#VA?Nc6nJt`qIT0b6QO}lBV%6Prhdu`H)D@P*i@ZOKQ*U@> zE2&I|l`UtRURhAtGCkM6vRF9a&JDM)QLLqg>okPSY+4=tH4;+rlT=q(ji;Xl02$tN zzkSBe+JF96YM%p!Erwt!)zCf?s7~M@hT`SkgFX<&J`lM95J2OA06Ycc@j2n*{2y0T z70Fr>X=QO?TyZD3TIK^#&Z;K`TbS2b=kX<+TYlkl28$(9}8;8&aL$@R0HNp5awO}6Vw=bm)lUv{9i|oStM-eNr+sklkWJK;EMCJZG0BA z?b7*Eg(y6?b)X&HI{H}&_Iwz^PX8-MJ39bYA4~J1p~ytW!G`n#0R@EG2obrihgz@E!9fe zj4v!&lacAeW8rE#c+mnKFT=hb#rcVL;}w(QAvP>k`nmqiotfaz$V7nDjD&0h{Ilp3 zB;pM$(;3~&M(umonAc@T*5U)4TRVrmPZ%Sid;J7lRP>RmNE@Xu*_vwKx$%=v%I{;j#;Zn( zz%=!=79DlnGRQG9s{J)~VD}O}YY~MS>p}2Pn8Rp?~RTTA9=4m1#gsYswb1=W=ZvE&dl2{ zcJgEQ2{ODw%|DX>0kN=B-p}lF_SLEioid#8`Tf^gHIYj&-EV0xw?~4QL+5!H70Ki;eeJiBsYyCkI5lnM3u%PAH}%YQJy}t9b;Pb2T+N!`RcgX*8W1 zc&AQRZsslV%Dd@ik5MF-#Vz^!cP-B^DVJkThj zL^w^8=dCszmFw4!xl`la7iz#dG9^p_#J^k zR78SyM_dK%_AWNs{jpl)6%hK!4AvTv?)%se&HoFAOLXs{pB)JCmcg9~aUbF*=N{$D z*2MZW)4^D#SM)<~I?FFi1KCLLM-M}Ka{}F!{(AJA=2iG(nmq4#WApz$)?f1<)Q_e# z@fVz_TEI|sHJ5xz>PiE3Z||x9_1|#XFFUNetX~R$moI!o?Crgq-{hVS=5TVwBg-wy z0R87$Na*=+<9gJemD%C#D|fVCPt4Yj`9A#Hc7F4(L5U5_heC?r$NHG>s&0koRrw2! zF@ua*+%$o3bX>MKYXe$3Ohm5rRTSs9G{~p*vt3J|&Cl0wj5ERMi|Dw%UWt7#jZKqc zMuyHWBXP2o0yqlV!|PRWy>-~>4d8CkUs)fC4*vWHFvcrSqD6=yvc2~X^$E3gZ~jGx zpM$`%kDubEEp>-AQE52)8H88H3cv;z0q}A5&GN4AGsvopFfaL+Eo9j*u;+8EW;29C zzR+Y!5<6P8g(y-IdglF%YwN?!uh-|{A`ka^J>0k!%&!&Z>j%W=Rz-V^scK$RcL6R3 zKB#JWSv%ER+O}1O9xE*m-M+TGslD!rO7e!Vpuf(W{s$r3G)r@W*$hF$TGB3Od~OO5 zMhK7%6;}{9{#`@dZ|((gcmA)es;rUj(a-g$nMV$n%jCEH?jb%twcj~6wl=AbJN&&$ z?|uB`cfg-;!ylNG)0xOa+$JTqKHmI#9p}UtcIqzFu8Zv(!$Wpe zMJMi1!u-ZnJHpL>t_q!w=}M-v9owoxkM*v=Ykqpu#=0kwZ@jHLNK*iVfc*%vgqU2; z^4ST#D;sxahHjV3I^VEz{5yt~U*7`?Zg?UM1-Ip=p`eGaCY$`Z#_xM>6M^kMcLn>a z9ZS`n5{{m^!?bIzE6;#90tbw-t;c`k(T&^VA!aXxj16kAsTiD>~Jhd|>_W zSU+mSU(rtlU$XvS@}hC`*n|Ddpfa0}b$Z0jt8X+1Vk z;7uCnkC!QPt+7Gr_Er+J?w8}Qca#0kR|;m7(xw}EwhZ0gJLDk%0V$*r+L3vEnRL`% z<`J4<@bAd1|E7{Ll#m@m9r^wt*6+Ky#G%TZQy!J(mUs5Ow`RnTrHXFW-P_$)cj&7D zJngQO&^gQ9(_3^2It=Id9p#sI^SP)K(X173F{g1_G5I;a=JbnPuiu5++r3{*Ekei#Lp>mKQZOYe{UJE76=yHEbP!M^-pN<-ECZA|0pA6hAwiKbkCo--E! zZXa)ET6<=*IQP;2q*J)bj}G-;tNMQ;{P-(2UDV&>zo>tn>L2&z_1}L`D!#rP{?O8o zlk`^`Y!z^RplPV$M>zYcKsYLv3!ua;F@&CZ_p~{KoX6mmt!!#LqVnnBK!obdb@42{ z;@gz{2udfFXC*3@Y(;XMb~+E_nGFnF*5fM=M}KN=3lcqs#xs}t`w4J2P~~hlO>GF2 zkzrNQGqNkUw@CvDHSH8)5|e2+Ceyalk>W2)Z_(_wYR=Jt6<9VoPj*<=6fVlzUG~w# zvcs|txC=hX8rhC*V^NhBVG=D<8esK2EY%M)$9|C_R4Bq2#8pOTPA1pl0n`U4W$Pko zFPs$_BBfSNOW0-wPQv?p1z2JE*!#s#cafEawL&eIBEH@C_-_2kK(+bb^NqZ25H(7c z!o6!v2RQakpfg@sQl zr=saE15vTiu+|f*Y(%kUPEo^RjC1yA<&^d};du%d^v?kZxz{DvqIuiC3t2#{TAtM* zQj9A4v9#7ePU0%zbD709ZI*7(0s3u#rC4M!F;%>8*5f z=Jw(Rc(WR_&fRQd`tq$v$DjXP1KKp$4Jgw^@C@7Uwzs5 zZTV+n{5ItLXX7_F$e)MqgGPe_-MF(yecvTxF8k({m)7@KQ$8wFHUXkV)Ey;#ovgKW zZvI@MgtSD1_mvDQSX(h1CX`@BD_L7^H(jYIHZ}@)D)7D!)Iw>tDJ&)l6-!hQyGWXg z(eFZkexPA<3j+ZIdR{ zzI~F$-_OC{3w-`QKV-e(y!(K^xBt}olS_a0lfN|~rt`P?_HUeo$8j8vGR`+C-#=Er z;*ZAae_ihT$5$|tt==7n?1A0A6}ZDy{c(c7xAoe8{!a1V&Lfb@h}8LS zC8wV)Y_MT*JJ%Ka>15+Qh4Pm-C6#B3R_BMK_Unnl2HF)ANN4BO zWO2ZsKX3*&-Noy0vR8MQ(x9(F$bGf2Kq=KV2&hqU3k;*2`Pva5*W`uMbb zaYzn=avgr${+;kyMdR0Z#B*H|TvtD_)Mv@$!m2rzO0!iNdBf z$OXK=1%(h=MU!!Dq83iRB|B1X1zY)f=3FMRtV6LP{DMyh1zC$}GIW3=tG;n@0Ses@Rn?P|iH;gySZkQ~ z)^KRDA3rTq@_a;Q{1Uw{Hz->Z$p@5Q(Gi(<(B)!8i;r;tSI{o;SDQl36D6SORY?NK zW`K0_&-6o_yE+y!DegmNQ9W)n1t}f0ku|6x26jSisUOg=cw~kMcktS`H9zF6(}iYi z-T>i@;=YfTcWa�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�ou`70nq4Rfmfm}eFB-RgXH!u8l^LV zJNQZa`tYli76%vwEslPmq~4B*6yeo0>K{8D!Cz!u>`B3Zh(s`A=sHM=bdr??Smr>J zu5?A7=YC=d^O-41-oNuMXwEP5e-+E(Z zn;}yW5w=+IWo87F3dg>TbQq^DHeg9&6Ql-sKUnC>l1T@M&Ih7%f#{d>1fn`0rj^J+ z;&)FonBMnSV7mIVKo+Xgpa{3U_v+Vt$aeU4z99b~R7KasQ|lJ=M4^OB*L5Th2NinP z=|N}o`16tC zWgH1jT6gd>6@vKJGJ(G^oGsc6=&lGD#fQ$V(85cfd0cG9tEaNiH+gr${w)WaH+c76 z-3@HEh=~459@B-P4?6z0x{g1+|AWKgL(7-*+J=td@a;nno1rlB6&m^R!Y8C|D~{OV zTXmqsPMLBL1+q{tahrg;0k@TFz$4>af>R;3bQ}p0A9}sL@AEA#X@DehuYG?4bKFYw z^FG#zSX(+teN6Ou;M5=${}^)8U~Q+rp)ZhSKx(!^WUfW;vbuvq&m4+hl>aHMxjHC> zL1`6b)BGW`L30@!u?EU}glvxO^w~k~koeG+a}3pYatWLpvhaH%t!A~c@ ze%3)Bj1EOs0atvJA%RLAKAS?0j1Pj|$NOCQCBbaeSGZ)3qt$zALBJi}va9?7 ziT?i!`vV7X=J*8T`885kvR^sU^$g(s$vZ4UzNVNcV10pu_01bHV7+Be8rIS{evdQy zn8ga!oXdKQ{p42qhz)!pp zntWqHzItS8jue_RXNp4+cAV()hH(Uo?2)}&3z-p#{HXqC}TlI>jKvQ zw3?lLF?eq!_MTk#oLDjRjuA%CExI&Wj?P5x+>=b^zx)O=|Ft$^RkV<}&wF`(fUXXn z^j^EN8z+8|{F497&+qk<9AC-0{9Ygs?Nw96tiMNS$z4L3&MjpDEOdLb{pvvwB=Xnh zraC)=6D+(BkE0x(vIkXyG>9vSN!j|zZVrT*oRrpMg){IOO)GB1zd6YJfvvN;r^J*9 zNbK>H;Rk0}x>`wj6o9|3FZNMhD_CV>ys8KDBfYI($;nzTp_j@GxGZDr@|yEC4k_L7nGI^R zHHv{=NVB4^%H~hOUm|zJRiyU*C!sCG_dkW_ibwCPh!UT+!-AIl)Kd(HuQ!A@{X@{2 zfgDNX{;=4Y7&8a$14^fQKuJe)G@JjD^(EGO%@__=#Nt_njDXC=d^?{eylvWaM_hvW zJALOL@e>y^kIj3ohe3nI59o8v@D+Q)KM%*AQVjz0jBxCG1$M7~B_@BS7)*^!=fCH? z?us<6;<4WQ?hR%@%peItq+9>HDN6vw6xI* z+iK%c7LAg~;UHl=DiiU7F|lXiaNY&*u4qjDWA>l8^&S5VcHF0RtQ(I*vDgC^E&h~NfYlj0_zKgADi%JZFLu7o_hGTy7uZCBCKt}8<&mk78+A1pW9(EN) z<2mP4Tcl17d+8Zh)OX1aUqNnp*qr&r{nZ3}fvf4ljSVk$*8fO(A}k8Aso9SU6}yy^e1`T8HK zMz%M@oCDs!LL{qgc~YkF0)o|eYnhwV;ve!V^sabaD%GUCWD%&XG<_YfM0ZaqB;?vj zYQ6<4fqCRr1%1r0#Ah7Dlyv&%R)PckKGvy{My)T%e`))#nx6_-M#qtg%@y15AlKlW z)1bJ*?H1Z|J4d{x$Y$Cc^IlUpcKD9uE2<}6QwH`z&3~nwt-#fkgWY4sF@GIY!&$bW zr7aZ0N4;J0jiL?nv`SG4ErnK2B0lV&C~*YBjBtE1s!wn9k?qKcPcCa3HT^wtOM$m? zmT?O#z1cFfrFztz9R+f+~fG?0HL@D*T19c|NW4vVI{OpU?yCq zmknPY4?eef)kkR_?%N9S2>fVTY)J5#(>|LYGE=xaVz$)D|>Ty-kfM4KRk`xal{&I#|Z4mA5(>z2CJq)t|rCeq-k7qyD_qN2WySc?RzYDf30jnV#wg8Q5RV=hpUE~)QR4o ztrhM$Dw$SZRx8o?^@UsuxI%s3;=cdO==GZm$*WWX)gc911McZciQdl;i{jtpBj6WW z2;F+XzR=t}k$dq=z%;}CLye@+Nw$HhVvu5GM8Y@`fJ!YkPR>!}_u&#j(6hGw)g^Eox zFQO+M+#VgqdG<006GMo&b)ur{U;~2io*;`#@)?EZFb(`47#K#1#t6j8~2}7eZt3KZZVa z(Mg#seUZ_;XK64ymM=!6*q@N&3Q)SobaOcxwg>Kqx3s58gQ=+@7)?^_S5us_M~|K z{n5nv?7v=S#b%_b0H2nNH3$4MIX8ykPj43 z7wj<$w7&q(zTt`LEbkkC7fhDBXPA^KLlkmOBvH#OY5V-4p{2j%kunI`EGd5wJT@o~ z3n5{(%&3uJ5w`nzhz24ac7_St-RXV1LB0L9YU=|$tA>u?Kyu4F1_-`#R7gC0_@Wb#Y^8^ZvouqL&GlZXpz+SjBuYlM~R zPdpr!+ar;CP0e^FVEC`{okq~xNPKcQ5}S-8bu!A}?d?t(RD4TfixZ?K@;|Myq?J;F1gYb__n2dYb?jOE5!m>52=0CBKhMw=W5dq z6r6KIXP=3;I3f!RHg?@a4lP?=!IbXh1ip5~8 z3}-kRrZUet!;u?@^o8Fz&`neyJ3e|){{yX@1&yMc~nq-bY7t#1}Ek16EqQ8dNzGRZJc&A*2E1ZHD*6d z57(oV8_TOJ{ux@@g97|0n-o9opQazHmwePeH5B;GG(LnUs=>iv zG^!o4F&iIyK?A~an8B%{0ko`t$^S?+n>SZ<60Z0xbnD61KSY)QRwB?<;;_Q!E4Gi1 zfo=AMOLuj2J38!DsSrV)?&Ao?88%uQkTfUDZWRV^5v|u+4LX?9im1DFM%wM>std}R z{Zpy%yKr?PIuf$&j9nsFq`HewmUhyq>@4zig+fv@SoD(!5snUSq7|>!pE>hF?WKv9 zzN*MKm%}nLY!?Q4g&9XHkpt>^lz=MyyN5+%JEF07G*?O2g6hM?nk`wTrMZ3HrwV$I zV|$mE;+AMYj4aUdSaZFOu*^{@?6s*~c^_Q-3ARQ##FwmLDDZEWv1yekra)X3H6 zokZ?|D{!W>cy{&+&L*uRju}DnXui#mX_>d;f6p0rk9YXr5leL1_o6cI^kBfg#4mhgeJlnmgmCh%X&&*{E1%h_*E!K+hH(e;on3m9B0?fSIq z1?*uUg!N(v%=^yLRcP`1=4Zx#K-|03Lg^b3%;Yp%R;JzR}ftP9<` z&t%@d@Lt^i?W~Hem7OwO%%whyL|brD*7sNV>2xPwSbqswDvYSwQx7QLT)dF-Ht{4< zx36)2b;Z_M=Zd52B=Hb$Z$sG{YGUN2eIoRIrFTaUX?|WtVlT^bFS2 zo?u?7b&#gDOfRHj0s??4Fx;VZ#&c^vigQ)A>sXDTkG-)~fyOGGT+XM}+3%{?mDRBi zBNh8Yi8ACxb?k4+<+KkghL%6X4f0(tn>5+LMbf`-b^O`FJlW~fS__=X^ROggGokiuLTdFK)G{}Za>n1oRyt?hk>!QnHSv6lsj?DHZ@+%y3aJw(i0nWaif!y-PU#IcUNZV?nDf~b27F)}T zkq`J?jG#@oh~Hk|y_ zZo^x}G`LzIVYbc6IdQVYRBc3y-tb9Dgg|v()i|e%w^oUuAY7K}G_Av_vs8N~jBoI( z62&t`dSeC;SgInTIrK!U%^1fg@_X3+ljNm<#mbl^B2<+nFXEZ}Rp(eYV1@R>HKW?- zUHWgWd;10uEM`@|SiDf()|c{!*|}06O6NDrm#*E_tZ#)Y-U{9RzZ8T9@&`{!^p6l! z{5liy*I8oZz1-c+^LQVT{&+|?vGvuZE31* zN=Zt9D{Hrsbt|)R)_ap|c4qygR{{r}rEI4j8&;%IDkmj!h9##mXxg4N?BZqlY;av+ zdv!2Gg7XXR&ow$^NLnB3LuiJsuW)tF%LBwWh$GIXwn~;zSFo_XB5z_MCz}J<+5f(V zrMJM-(3-qQybnOZYI?=$E}i_*m4UO8SC|_rAlGhJN58u}=+~fQ zM2ukNc*NZOAkq8&euu$I9`t$u7uCyuk~yZdKX!W4i1mneMK^1IKa#gHHOzbHGIfXt zmOO!H@&-iX3#BGlH7y9o%EGZ0=@TwRb}b9yYhbEe`&wF1;M+JyzBEMgxbYHY$ZD_HwLLz_Un8I5}2>k&9Bti+>%aWK&=NB>z z_+x))v2AW>YR?WW{)|Ub^?P@OS+ZcoBAmSkr*rDNZ01g}GX)~tQC-UJ6;|COw29uU zE?rm6R%)c_kYlx3cB%Zk{JQoq<(D5@{+IgZX#74?``JK!8?o`TzZQ<)Cp0^x>e3C>iOboXwte;#x?zphsnKZz+p8*J34C==-s}ZRy}3?~)49YM}j+AEXU_#~(Th$(Qey5^i-O0{8<{(EH&5eX3_m z*3ToxXx%(;wNCFKL!2q%q1ip)p~-t450w*s1m|FvQHR#l`{PVqLm!zwF}ITm2iFvZ z6Z65pLM{>(yhF2v(ve1hCFpUJf8Kd})V##F7Kt7cNidE=qeSp0v${zbmFiS_Ss8=$ z{_wnTDft^ZVmH~*qUmiSpT(`~UV)pPeHUuJ64ZLXxkMh8e$jaU!?hrn9LK{z|I9y0 zVIb65&NAt#`jo}v=HP>zau*@dpH@-K9FVEAT)Z3!hZy)hkDClk2)c#dnsYMIp|KPu zXCm{ui7!7sPx%LZ{LqXhP*hVZ`h(%?N3#huyZ%VAFo@#?XUQ@9YzN*aZE-q2V>%L0zmk*>TcE2lx8Pemw6GZKnQ@A;a;gxZDNw-7 z1kJ(!GQqzgUl31BZBNdmaJb??{n2ns;?j0zz|+ERCJ6u(d@inmfiPby*`EqpIAjQi zo&UCT(XH-j)i>9CFFPw+MnYc1XM8sZ{4^={~?izt@GUe z2SoLpH`INpzAJP-ux5C+Lk&Pq~ zX;0zp!|hZhbJ&CeYG#{Pf132IIl0sfqN4kYq-R{VX=3=OqRU4@Z2?sj{az=ZIy{pP<=9G<2d&z&j^Hk>9J$2bVapze!$nWSZo zp*VSo&wDKS8##1FIFkGwZz&&_l&D{ImIh5WtcuyEqWY>X7>wZwb$ zViXm4Dp7F9n;l(PwBLsCthlp#M>Nzt4Yfc-@AW(@6KmYu z&7YRhG3M9p_2--X9!%(J-uzMKI4iWjC0c*}gi=Tr2k__B!BF)E@9Q*0AEzTt(!kOW z!m{Lp2&$I@Wug71O?dry4YpBU7d0-2iM_>VW?#W#b*S0-my6eH32ZND=|}}QCR;mk zHhI^N74(7{+?SRHP}XCeNwx#{NmoNY($AcKbemeOJxF&)$97h(_&B#R^vtL5_|pWv z{G4TKZfr9B#{52Xp)V&KEu8sh=D|8~s8FXAmFuoVcj1=M9eJ=5M8^aiD|zF57Ha$F z#a>_WkKE8Ro8!~&E)V^5_pJ9EO1pzAK&c3$&?%u)$}$lvI>FeG5*mIG^!obw{0{v9 zY6GW=pEwo_Gx!79+Bgn|FEiXS=kJSb7{1vOSBIV{aD@6hhv3(JFm58g7E?_?bPA#| z6XD%{q+50w%uGK?H60gvX1GJ-?_K?SC9^S4u)obA1=&0(f`BUTv+MTMNgdImeqbw9 z;tFjP`c=;GyJLQYHT#*9#TwJS(>?@x+|^~Q%|K@Q(0dYBOIkkGu`=S*$M+p}x(|o` zc?T^1zz3;MsEA@)?ep8mG~6~5xx`Ln?-wayPtkv++aTv5M3x|D#LwNU=QyWr-u=|y zg$_{zjt+|sNry$EzDm(yneJ*rcPtP`CMK8~S}#-C5#p9KAy$Tdx;-Go?tM83AwG2a zAqa6<#+28|mvr1k(}y*ZFR&pXF#V>W8}pw)hV@#TTL>!rGV>&eER`&%!|{B}k=}C7 zI*oFcwKVW_%o*)8j)o?!a#O=Z?($E=S&ARP>v46;+52I^yDZFhdWns4t#8)LwTl(V z`U(e#tn}_tF7u|BYy1Nr%u41*xReE+4imkVeb&T)T%HZW*w-(!6F0^hnJw7<2}}F} zl1t}b{oQJu+dw-1fVhI?U|<$G-Ag#jr!7ah{uNB*eT{0NfpXsSiV*Iphg~Uya z6%$0hD%5m5LMeqYfQWL?kwN38J=9u>pqfQ^GUfyk>9P6(CKj8YbrXwIsn+5zM-;fN zi{~@{SLmhSMI6S@6-t2^zNXqdEx^gUk4N4X{s4~dbYu%ahCXl7sRyShbqr`g%*kJ5 z(3W(Wqpwhhd;{>5WADypTU^1OJ4r5!ylA3NjTg(pi`ySiY>DjM93A#LGP$Z3`%Lym z(X$mB7yNnQ{)MwRR8Kx9RU;%S%=Js3ko6vO5wISSlzP!LkWMj`B$Y#=&+VsQn&tfp zB?=s5%S+V1I{#>SjH8L%t$&YYjp6=qh3CANI-EzZ@JJ+F$O4G`0|b!4?farcgjc*8 zx;+8D{rTTgt%fp!{=L=p9>iHS^ob@WLxU>al3Ek4crA46em+nYrG!>>%#2s8185Lx+74*6>GKxfb23Y~q~e>=|b355`r`K`S1vGemHiJP-iH?j5!vBdTz zua-Sn@!9;!nU{u3KkHbuR5r}){nS6}OjmK0Dt`PKM<+e4-hSibBM1VTMZNtoPBi-j zK8oFmZFBSIxe9EsxwluQ5R~?{YHRWA{+df1&6xAE$2PBT_&M9B(RbMbV#BFZQj9axc3gi~su*zel&ofV{d3DjdLO>1Uw z{Gci=O>Ai2!lZ7#c&ZY?I`1nYMvFs3<`9UxZDw!jSG6G5nY#-%dUy$T&Aj(Pn?*5I zMwwG;J$Yg*2ah?L6$&fJi|lp&k>p`Qn^kHp_*EtU3Cx4mCFkn!4ihb*#xu*cB-co9 zE%|ib*jGtyM~VUhky=GERJI4pzA%|!I_Ps*fqb-XZHm`U&wni>DJe*U&2 z{&PCk&z+IwZ@R+xS|I`?PUdQ}6T@2R87W_aVEwE}oqr4D!DWkZ!{NlRV$0`-e-PQb zk2DaW+t;za91T73YU(gPfEUP|gQ`fKP7pu2Dv%2bkK%&Y@$fauie_Q7Q45zkov?OVoPL8x3Y$0HU zVsHyl1_t(PkqZ^?0QPE?Kp_Ek^Zwden_HDrG(m|)O!?TrU{n;7VFUl|wpl0XBUVmE z{_{gHaLT*FK<81bamL(r;N;AKI9ufrX57ERqWLezjhKdNHrMAnG9juUKQ%whl6swq zaO2x&Iv{1s1@u;(7=q&S#x$mgEdZgmXt5iaCCjW#|y(qmAxn6pu zISA{rzL)p25d?+Ef474hBwKw7$(9)UqX$^*UiXqcy4pRuO^<%#9!+$Q=IGJ?xJT!? zM|bPd9qv(yd$fp0^p9sv$7T(ZfA_A&c`7}v^)+m9zs+8hbL01-Ad7? ztkgjLBoDyh&w-IF`SPrOgOX%KFqFh(_7&S={1)$S)P!V@8>1}_2s=2UneqHYLRC`K zqKo>9(PyAI>-$0<(thHk8Iq(kB&H~qfQLf9f|lv|!p)EJ2Oj9REl5=;2& zP}Sn>8>9{KLq5VnNiBeNpi9Fy)kDt~@r=Gn&bN(H3MtJ zVBmwQz)@(26`Df^Lww~Xo=l%2?Z+e_-S9#~%Go+i4OO7$YCi&&(*ZfLu;ADMy zVL*SfFF4;;tlqSbgS;Aa$D`##D6EL5v~?x_{tv=3sJ4cdr(isSLN+S?iTI0=CMp!8 z4W-;CI3t-FL(g15{MW+vqB-~|+k4d)>%RWjWG^_1+tV$-7B^+}z4<#Tv}C8~(>Zb% zoZI5hZx$U8;^r&6I?5_{_6N!rLCpFd@9KVTNu)${XRSi|jY_(%Jl%>(6a4-9Mi5ER zQBx^3{i36$qYqva`E*)T)gbkY+=&Z@w;<^%(|x(%&U9b?eAMUlP| zpMsb6*`KAP61n3tJ|n-D8&~MopS!o0{7v2Qzk@!4*NffjXWq|v?eLRT1bzoStBWY? z0E9)-xE0}075UE<_^{4=A*NSr>~EbKfct8&PhR-7WFGUj7PFQ6%hF*2xv9Rt$%o`# zAwyZxmMSP}qF56J z-GvRtOEnd(X{Ac7T7(2pxdaj}+hsAW_NuR?Ep7c*d$ILSt=yCVtp-u#qE)M{&$`-z zw#r4#|NEQsJiD74==*>FpU>M*WuH8kbLPy|cSl)WxwJY(D zt}Ar+f#9z9%itc*@8X&+A9M|UUJd1|OJ=RR)mOLv^ZU+PsNN$8 z>Rf{gjDUBRy}(qHuQPXCBK+gZhP_A5w2-W71$AB^w{IekH$saC*>bVIU5t5j_(m}k z{^X6ua42D@H_9)+8T0EIgon6pmbea{!CwXN%C;eBaf_cBjjt$f&^5D|f->mGYwhyR$bz~^Wi^|hYL##OIg zuw?8&IJ{c*#Xcj|2H~;nHChQRP^Mlp310DI%)-NWIF$+kVCpmBql}Ghk-Ec>@5xuy zx$a0bF(4l-Mj_Ih@{Fez&u%Zs4Faur z-#-KsoSks|dz>O?Kqs~45FFkM3^F-cP+^uiv)QJImoP6#Zfb9@{!ht|N|PT~be11y4MBdqPcg3abpLenW9WVVE&1`}|5Eue zVkfM4U8`foPc1+Gd6r{F<3Ho9fHO7A{};%QsvQh($+P0$|GxYv`rjr$W^QLxzkkLN z?NiE+v(EhgBR?94JNdDaUxdM>+f07Ui6IQ`{gv?V%a6MhZb5!B_xvh7U!v!Uyy5QF zc-^YEPfUJX&j;D^aA091HsMs$SaH7F&(9D`L;>6y&RYJTJd-PkHE`)hPnT1{@o_?Bx5xUJoNGlitA=2Ds ze46cFPJ}{9vv=){~6;0+zVYgovZ~dKR!_PvnH|rvQ>7t za3Uo+KbGtL^5tM~S$DHW+q=ITZR#if{`6YL;rGD+%(5U%$m|z1IU-W^7mZ`&$Ony3 zDpH&iITgsTh00mb&Lw%6oRN)1nofM;Jd&)~fOn*J0&H)u{yx7^YmZ%^jGK-e?W^ z$NP33;PL4J8vmT&)3#7>8iC8ap5~ImsPgvesybS&(b#6ZOs|=Gm{4H#Uzii92 z>_Gg3nb9r(oOjFt`KQkKr?6RUvx?Db1TaQMFR~Fpzq|T$MvtP?+tL4y4E&H0dgzQ) zSdB5|E!bj5inIWt98-aN?<$82FA&Nl>aq2Awt~3E>Fq-Ax~J(=%9*pn<9$_09LCe1 z1&Z6EG+el>wf@&)-bRbaNDrb&gV^qkJ+U*XEvt;TQ3uz6!s&a~u1hF0Dl@8%^m!pO zKJ;AkPdNXy{Bx8VCAR4}3&JL1aG+vL@{-H=#H_v|`dT+G}2q)S=!2 zI&clLg(@%(r}SFSw%Ep1NkR`d#G^}z_}V;;swD2bm%Y=+-YMH$_b>l8gUNTO){K{7 zP~_d)yAy_NOUE|#GpMmE$G<`hsx{!Lo)k@k}RDu*Y~wJ@!bjc;y&Uy&)SZFU~Wo)H{F`0d8&%_-Q% ztEP)<3Dm28@OaX2v@ z>+s#sqD5dxwq?(@N+mxIkp-uh@=J{)^82~ei4ymdI`m}XJ~80Ad<={);t}zCVVY4T zZqu|QyL#OhW8itaH~$1M!|z^&9Jp2DCcCvu>(kG;n}t$uy3XOHr&V$tLQxDN`^i7Q zzbG#qd}B5@8gMJ4QjA6mzlsf9WxsxHNS^=B{`NDw^4@a(Cj7z*0mEZ}$&r`6-XkCG zrtgd&K+BOfURK$!Yfd{$>PF5Dbu07SHAuu&9{bT$H4cs)dx!jmvtg$Hz-FPQ`PPp6 zPN9|g*{6`4%hXReASi4w*x%;=A!}Udw=ME*8c^D|#`iPDoBUr8gqQ6lUJgLE5o>oz z@GhrcxiFK;?-GD3hl0HwKx+b5vxy1k@9O(L)4P3y?)6?cN!0OU2Uvj3f$AI`vWk|d zeby2TE{SLSO}v4!;=^aY#{NoEQEx1iysZvs0 zX3jC}h$MOyXscoC6OMVvsKDW@PkTscZ4Iq`qQ39O`;d!J^=#gx>>ccsTmC z#rvlYtuZt<1%~x-V@>xKX(oM=?;0^;uhFf&z z6!I75eg2HKHFmWeyu7B*iFl$QAKtZ>%^@8nJVq2%Ull6HRyHBg zixbP+y=TyZJ{cR}Qdb56=+{1f!p*r*F=2bB=5=>tP@8a-3%UTe2xb;Z$u|poxPkyB zu~!AqPuK+Xi&jZF(GCBb)_*M#gDRYy_G;PdaE|cwX^6UqtfBdl$?oP?^aZ;w`d3)+_a# zBjXwg(kPftL1c}o2|-SSjBsH_5Wn%pVSfC^&_Q&L|9gYkr!U`%v6+82w-lAI8U1Vj za7c##%RPTW&%L|sllkt}uXO7LZn=m_Z=*hd*5}%~G9^G-oQu_!Ke;UViSjp|3;X*zbd6-h6!pu25ZixJ;sX4ib45rB$K4`( zNN(;$#wbZ>Zt1jOMOMU5cWEA>0akI{SO&qnfe`aA((O@h%}r+e{RN$;8muA_n%|BVOwv%avyZTr^y9K6sNzl<(d6@7-OO6~D7xH>rCAHQ4OKTEG2~L4Eg`V!p7+KW010j0=Rj zBGm)3c{Xa5_xi5)jb*rbaiQ#4=l5VF=|pj+AKq5;Zl?+B9nuaOvtg|Mx@yN)sCIm4 z;jNHc_2ZK_cV*TD;Jfpy0sI94{FkXdz2-)~xBng~D)>dhu}V_H-M6HfxRpY$_(+A7 z4-LmF3nR+V92zZZ~v#TZt6X?0|f^Cq2|IFP#0N1Q$LG zO8@)Ib>WZsw{s|*?VSeL$*%IB`%r;cc}R!@o6#rqh>un0 z9|XiB)JB)X%c|e!zVA6B9}F5%9z|WU5pFxG+s`|F-+Kn}SV02>ky!)Z@4f+0b^3~n zb5>F=B4=$EAo6^}ex48N=6UDwAIkWzUA-#b2GQ(0NkPJ4T>{bZ`<^rU#&bgQ8o-um z3~Ys)yGCHg?|aW62?wz`K??y2?(C)o#y4XgiFXWN=fe7M|-uffxphx=-4gh}udzwDiKJQah_BW37!1V_!&F?7=M_OorK9k?&0?qIU2eX0o(zGYrZ>xBtb;En!w_PUiE z7cAPQUtH>Ai8Utht*cH0icvF7Q=w;`YTC+u8+u|_aPmGh_FYTh$rmIpc`&KOnN}kx%vE1^rqu!T!rZhX+ixdBzg`z`;wxo(?!lo!z=)LxC_NYur zN_7(QHoi{%ACmgS{jV&v0e8{=S3YU~p+$dYu4ia${(s+Ctq@AkNiMR&yO-&N)ZD&O zCZWaFRKzD`d@4H0c+5UiK|s(Jm+};gmJK)G@s4ZPRr>Qcq3UQu2CujhC1vyMJY@+x zJsH^JKsTu?$nN}ibYBWNwuup{t-w@-jK4QpI z+>}oYCSl6OLTPB(3MhcTpbtsGdf;K4d#$0tH~QomC-r?eF=iq~nsa$?qTVy)?1vTG zo?{0QUD!IZmj#&XjgzFQBfEP9LF}aItRmVRrQV=pe@^BCIjv&^w!J9C9wVGKDzT6M zFK=eCdd7hF-u_qDNES3D$=`Isw8QU)4F84IIrtS8!EbH26w_q3SnzVlipxePrl|*x z!Fgs-58QGKA_Jb0vtc}ah#I&NDb;Pnu$WMbl%ye<$n5w$H)msNyc;oP10qT&;~&J> ztpvF~5o?vp2}4rgPx1bRNvF?CFr7OzjXgQ%0gw~U7Cc$Z_xwM*#!GU4CzPalPZ#oE z`}wDpMb(&a{@c!9>gUkKMf3ykXR(5nrjw_J%ekkUiY8mmufdNHt`t#Qa78NnYv~5n zSKHe^wCo=IBOJQpq`dru5Fo6WzLS<*TFiRuyVxMYEL_#xfQ!9#`L5BacJ9iL%%`d^7Wr)j-DAqftkiiH@YK-T8WL{yK3tHv4PZnM(h431@=Re+l5O<>JMO3ZS{)dKy;M-vQsfJDia<7{lFI32V7qJCdi`E&IbD=w?*$!6* z?9%Di@z2L_?5E-%ymOpyPV-NyOY(JvZ@8KjQrs5QXWu$!ZE99W%tP7soVVF$Aj6&7 z5Hm>rtg0t*WWd4!|3Nqtv}yj^ou*mvtugL=*%t>v?v6JPFeAyobKv#Q;aADWGy0dE z&^0A2(7!Yn$un0Z0mtHupprl%JsId?BV|2Fbu}Vk+y`eE#;(b`gv&SWa&?d z%X5==)42JSrAj$zfn)u}d8Yb~rrUN}uRrB$9qby5$Odg0ys!9HYXknFSx& zsS5_(UMnrs%rLF=QV9b@xW+?+BPE)r5Y`=9_OKQiQ}KDo=ZG&~xkr|nUWOc_+n;p! zI622wr;c3~rMnEeGIVA3x0kKA4&@;9;ibbcAea_vUdx)ct#tUaOoz!k{BJrg1K#zP zSfTS|PCn4pJa+t*6<>jrHr^4kOP}RHSX=(=YXk~Zmm-*X%AZB#Ng$IwnmEF@Ih+`M zOE@v34a;#&#GP5K3XNS&(qJ}6QPV3;MT=}9BxY|#)sd^JhO^BwmUy;#V!1}C*OA05 zG)yL`Qpl|S+kmQ3)Mn)Bt%1SS-}1PM4reE6KL;$LiEDGUM?2DXNmKxfT5{1))hiPc z{W1PovEHk6!W}wZD%LS3^3~u%%@?R&M;f5SU^22?Oby(osM<{4UF^uUJh@#SI#8kldbl%#r+UGtkg^PI&ddzCfnZGf`D~C?#|xF{TfB z{v#6;#RJ2Q`|?9eWsn8)i#hA@xouk8es#wlBF@liL&?YBnvtufsuGjfu)LD0wu%1y z5dn*!qAF3`w+fA$N0W;wTQQiwzzK7qx*6L-JHI2nKAPqrCfqE=%~WyFI7O4F!Wh(E zlP=T%Sl$l)(d!lMUS}pl1ifC}{`LFxdb-`&+Na0h<@id_Ai5>{@X^>m95lD_zH*Ih z(<~c_a;h|Id;8b-TZzmRS4}0{QY#?8!TQc+my|u(QWtbFbxvopb)>BO+tK%Vy7J{S zW*7&@G$CpvXKTgbQ)J1pY)J=_9V@=v-}anazm+f*nHgplnbc+&HFApimK#m^`x=FM zj|R}TK}oHt+j7@P*G9oNmsrqDE#XnLP^dm(di(BTI!2hNH6Df2{kQwD$bDD>!bWzD zC0ji-s*!@<+y83Uvq7YF`_##8-D1z*f4VHAJIJ{~+h*?KRd8dMsMd<)8>pM*RM0S- zMvfRaLkMot*X0}MX>*`+Fr_Ix-h^)8wf(!!G^ihQ#Bn}>*IjGZE_q)9r_WtbP4Sn#K+O_?8nk;{I zF0rPz$whH)+XO4a+?T(IxC|8F7w2Nv;*$GVy}K!Co%%~AsG;%HgWyH0A}x(XrWDWw zUwJi}C_wAT6-o35+Rk4C#GI#6-|jGRy#1X2*X#KjT!DsJnACdaqtf9|bx(X6&yqoH zW}|=VJ`>`xFN{UoxQ}Dn6}+z`Gs^`T_$u9}`}O%OH^~NxpTyupDN>Hp<_L|wUsY^% zq;wa7N2&h0BmgP4PkZ!)wB1V+5?~yaLrA4glW`ar*=(gUaQBWPVbq=AIJ;wP!*J)HF}^5`u2KgVh=qpxBcd89B($s48!rbBd{YTfN274Sdig zOS8wB`OMZ2>ITdypls6Iek6O3#-8;i=-WoimYDXP_$@g5-na`~vb}Eh^RsimY0E#W ze|dQGKP4VWBT-Rgvy~{2-Kg=1Cqv0p@kcoIbNx)U>C044eJ@+xoZ`OI6!!yp^hstE z5|vExKL;>&pr&&nI2iG*qThZj`05Z0iNR+Ch3zx&Ip7e1#C|C^8Z@d%{U7}RD-ERn z3yFhK^4+r^4wrs_lreR$ zgEY+0)_Z;X0qB|>7f8sg_}rPqIGB)}|F%t7^u*;tH}rheeuFq%7ijDJo%U}E%gH^A z^7}izj5O0nQH~8Sw_oRM;#_>C(z3luG$LgRBBk#|8u#M>Jq~vpF}R^7Ia%#g@Yp4n z7Jq^N&JmZ)68)#*{lsG&WE`nx`QZG{&>`w2IKGRw*oT^14iFz|mOMxvKt*e6sR7U| zwuEz`rxb9Fi?sfPW>Il!grW_>up|gwYicF-LGrgqNx22j!IKJT;kqy5oCIK%$^DXf zIxmrXa=Epy`pp3pK|4N91(o&Y4eICopeLIArAcevwQ8{Zr#)sukh?5G^%6F^sUpf=YEzTkF$A+d2brXVi$mLbm-MAbAwV)YRn?O+cM#G?JK#L+QW`6I1BLtZl!| zil9wV7Q|OO?A&kfROAyMqz%<{sCS(FW`)@|f+yY}s$Y;f(d%cw{ZGY$8U$g74T>bD zm&UkeinxM%@f89}RA{SUIuQj{b<`54$_^Ng=WVlOBoEP=>;8t*?S8k>D8 zDL)_iYBMokzp9G8;#IMeTNUdUjrSr|-+5#dy{&-jL0n_YGHI$}`&0A7rF#_ESh^;X zIJeE8C1(00TQw|DaP9jDr`Rs--%jGPxmz)&d5>+4Bf>lEg#!pQb&dyx_mU^JJHYMM zrxk%{Yka#*D`7Rxk0!7HCWVmMJeHbg2pN1TJalTlA0J7&ztEyfd2T6CPR@aJ)Yo zpwP-ffVX(-*SooVcQBXLCljMuEDf6I1rHh=T|)i1w))#sJ?R|R6Ta`Z)DQnL8ce>!O z%`m_x0w<}cHWL{wP*z(jrJDo4~=>+S2Rcz#4-Hg?dx>z~Z#>{{zm%Egp4ymB8zeeX#nGgOKOIo?AH72uxy7VPIk zm(Fleebrh@7aR(H4u`7;A1*OgW-crLY@+#VxLK*D-Y$b;=?D##vY2Q5W5^&hnhw(R@qfUJ;@m=H1s;uY0Q^MV?JCOb0oI5 zIoV6Av5m})F&J=Xgfh_N@k|yORi7oyf|+_P_AgiMaOWE9geGSpquR^OdIR|vTzy08 z$A^|_XUYW zdl@Kl`;Vcfb9_X-OM>_A5tS^=;HfievIduY0~aAEwbwx(uq3RT&sZPa&Qlm6jQH}z#F*pV=9+57rtOo)eF&rq?#NFK+Th+Bw7>I5-?PjPRk|}g8q0Y@ z$Bp8LRV7B8T9vpFxzL~A2)k}$zFd`<2QCPyVhfHxCgn;ZO`Vt+d_4PXJi#bskB>hl z7xQScc8_qVwklU#g?EtwVcSA3xfhwdtKx(`2H8P_-W_P>LC{35)>N5lZD>OD^_!`d z?Q8=&Xfv8|+K6KdBi+ne8)(pF0D_MdUS|;nPaKSuM@Zf1j2G1zs$yOhJ9rwAt#85p zohLy?Tw=%lJ7q`=l1BPky(LXVhIHvvm2es9eeLOkGSC`Z_uTsS5;*BvKQoE;TOJ$t zAkpH(3ajE28Az{ByF-f>`zSRNbBfJTi8s7v{+ZOY(dk&DsfSEmrZGnbXCDJrsN5{{oPPt3ldr=2{JMkj zjb=faFbw;SrP%z+1FBDcexh?S{8cC|X(Zyv$=^uhp8VMth$>~`+yW=0dNhwuj5(iJ zXT?%%>==dLf-k&7EX9VZ;TuUcOcHT=>gtEv< zS5OsuDYE)?A}n6Fs}vCy?&@_SEMBkTG(CV8MA*mZ87bXNih&tZsTM3}3S~Z6Z!z?5 zIEzKSWk!{=O=kC#;)QQ!_E{{$J*u_FG>4jQWZ{tO>N{+_n%dRtES*@yGlRy}s~^{B zT&Nqku9B5nWaPGN@z$!4gSIsHc#m><5E6QIYYs-ZNpK!p9C-M&K-6ASMeTI!4{r)}SG6#CVeqgeRl zbSs?*VM9&V8(Ft`E7|{b&JG-J^7@>Ieq|mYimaetohy)1)CwEZgwBiNg2qtAI zuP`Nq=x+vqY1K zH9Z|>fToNUpkby50Eeiq-zRvlB%1q7z#pMStAJn3fuhnEOT{sWlV7IP+kQGwmI>$p z)UK6!@4nwVc&|t+t7rKI;w-4x}Ze`Q~{dNW^f zT=z|W+57UYv)^r|e@x=~Ae?CHgLl}U4klr2X-Iyn-Gbow?*<6!^WRAEA554D4YF_{ z#Rp+Ir>N*~xwy$4GJ?xq)IgY%zF{(JpY%enYlMOQ_ z2Bp#BT9o2rSR%}K{7S?qdz?vJ_>#o-Gms>5;rGIY@AfvPRK-%s4~z?1yq~`; zijp6~yNfH)_zri+i}QOBdU_Z9@nED(j`hWg=r`l5KJ5y1?v|7$9FpfiygxrS&g2d{ z+AO5K9Wp3gtt!Eh;jQEhCkMWFOB21hl{u03^`kjj%8?62rWI58Iu=e!;NWyKG}0#gy^6@}5#r!7D8 z`}IdDulSJWuA1`4s-ZEzL0I^(X|ujR`+pP^ z2rY9q2LeePy7?`Fhe1z$Dh-54n)YG;3xScTPX=R}9Ug5uH}0TT&b zNO|M7P}5HsAiACkN;OH>gCWbrq_8V(Cl~OTWw>ADaX3oq6cV zlDkJ@Jt9La!}RxL$m*ieUc z5rIpOeqMj0PL2MeUfbi1u-CVHZ!p=irinNDF^5mSLF-FC6$mlMKkER;p96@bD~rp- zW@028q@uw;fR6JhPB7-saQVK_f^YFbI5sQ4nWG%YJA|H$JADayz3XUQ5{5C`9nSIS zop?1`$JUwWhvO*N6$Nk!N(pQlUi~oy+C4teD}*u%vIZ=G_!v)_S8f?3I_nuuzdy+NwEr*oxxjXx|HtrC zV_~h`;Ag1fRKU-cZJqI>{o$dHWHW}S) zq{ptzK^^nHs^d*GR}+q3RKTI{(BdJqLY5Pl>Xw3FeNk$&#s4yHGJBIK03u)u!=>Z{ z*yHE!i40#AjrSq%m)VPSOF(S;dqOIfCiFeii>@v!u(gbG^zi94BE#m=oo0D%YqcYJxz?vsiR(f2VhWHwFrm&uim`p3 zw4;%Gz3Z9Gr1?GXiKRH1+RfE6ZfUMAxyVRj{O8@K*9p=*mEVs1EBf5_P-psF=PzC? z6IuSTZ={K|t|4${T{||k6?fFrV~bB_2|+OgQ!Z_04OLWs`Q&BDTU1Cr&kg6kqS({& zz2VS>do%cL3oU)y=;M4qb=PTDjSM+(vGJ)~9xCrIf9OOlkT4#v0_#AKfjpIkxd<(vg5BQRP+yWRZ zgI}0!S=T-|qc+F;&P1`sE(IhnrhY|7UiZH9`%b8n{kO9l#Q9is_!BOC{1rH?nF?26 zQH;+hqKmXHgm{*}JMEHiY-)b0Na!kBf*dfPqxaDJRI}#qN~Glm{(9 zN2lL_s)14tJ?0LdF+NPt6~m!;?-9_mP|(Bz-2ei0i7m9Hzb-b+yuy!R#%S5lKp>W{*Ws1Q9ecEG304cJ+_AA$#$X7uz(#=aO3+Q+ z^lXusfuX%kR7R`?C$4?g)lISzzXrD_)ihC=>ZZ%%dpJMPf9{iAtcT@nAX~w1iITeCs zs6;mL$b;p-4=wsA!ynaxp;j==GWkKN--|ewnai=IPJ8OSgX%Op^e{}^i%j%aYRiLU zI7`swys!RjciXtoxMwgT)OZZ0;^$hIMr{ z37~060>Odu_%i`>sf7Zyfb39&JBuzJF5dJWzQ60auZ73qIQfUJrGT4%H>Opaw;?Z! zaeDom-zM-v3%)BL>A%Jv3y4~i&-2@?K4|Yz&n4IMO7r}-oNYNd(+U#b&nY4YaWkbl zKU0u1a{{{2Xr9BtT&%=4q%|t66F+%9m~PzDYv#4$4>U|E42jvrquCLueAHe98P(n$ zhx3VZOr>+B%RkkgvPzL&=qk`jGuavzUjyTKyicfrcE?$ zTWLW`x2meD(r@nas~m@iZw==@Z9-WYRJ=J+~?!-&^$CEG)u{ z0X;=dZ?|f6@GY8!?t_RzMF=Fn)HUUtJe7Xx=l4*Qr%lu#zlWcX0T=x5gm2~Nu+xFe zlShpJ{sSepxIFZ5fy-k)yZ5M7$@_>13CG4TXX=XcnJxw1CBN*5(?(F8GrJ#xK1i|< zq~Z_$*81tDX5;?+x#wCU`7--A48J^&6%%^+9LHgg3wNQaecm@@+XfAEY*1&P?lsVZ z6c%ob%2+34}=8(NgR^*8W;Xpy|!VSmd}%MC_U zPUZYPYBaR;7&ERMD}2z73CQRaDTTDCUeI{27x^k24QWk28Bc_oo}vxy{8`WCTk3e$ z#4T=?AAQTHX4*H(T(eE{V}$qgPn2BKkF}5WXT9)0MVi1i%GE^&c+jvfS9C#_A}XQ& z(z*n&gQ0eu6xzKle|jzl zE(Z7ZOA#>iirmz3w#Q;yfd6@1qi@gogmc8U&EIE2YvloEaR*tIS$oX?f7UNLNv+KC z&iSiJ?ZVkRDS>YNxgYlFpkoAH{Za3G+cYmJmw+9mqimF5xy5W)m0+>@E9VNt60OM9 zVWRdSQ;SI4)s@bXeY7}6<0LvC+_{hK*!TsXxA}GT9 z2LE&v--Z%z)X%%dL{gzYod)jTaO2O)-&&%^s}&vSzn5SD3hDsDJFcY^Q~fBow^fcs=Xze$7Vuai+$hic)qftoAGG7A{dW@ z|DPH9IruA<$XkSra`4-5fcXUJdl=8eP)tY+2H_eibFad!nIdoKVSOo~EQx^rugVc- zcbiD|cQcWsyy8T2O;#ax`%sF@$SoOcClS++y`M+zK`)-(f6O;N5F;fObFx=;(+GHCH66 z;3eEH^SY*NTm525Am?_-Mu|m^Z1yf&dq9*N@zVpLW-79QBVDvBV7F&MeLZWLB{fdvzbEAaU8yJ-4wrg6wWC9(Y&^UBrgdhImaZ| zAfF}74>e)lPLh{MeupzMor*TYy;gCmbzvsfMqdgw{tee(t6${iNc5~M=^jS9vpnDy zIz%o8GnxU>zJJEoG8+HE_q+V>`;-;bz2@HEz!$6h{=iATXkO64JYausdDpm?)GI+g z-_?O3gNfZvK8?=cKP>z+wRPSXA|5ggJof*iQE6bm&zbE;1NsWa&?QptHiS1rb3S4w4CCqH|dj0qS zWJxYc6UFiWi;T@*AG_dx(%E+A|J(Vb1OKaj6U=oWj_<(k&-;o?7wmqhH=iB?b`J_T zQ4OghcdLMtv9!I@7ctngt)gse-9P>N-LbCs+J7AgMXx&)IsB-CppTz2@h415oU`VF zacZrY@hUN++(@cHq^1Zap03&m1> zRi=T0!pjLtZ&V6bpVj_htY-Fcdwv_+p5LUuPkO+y96ej?N6`IPI;NybJDziZj4NML z|2<6)&vJ zMIoCW-?}Q6Q^}o?Hhxu++L}694msB85B{pXNVA=H33rLJ|9#J8Io=0&he04-PQD+{ z_f*VE<*`le+W%rSF@a@`FwCDCQ>*4yrKEi50;Y5i&MenMhApYj^Ut)I>Ppo!GQGVk zag;barmmKzyQ(|U`JcB>E7y0W-F#N(1{kh8)j6Bwr z-0esfum4@0h>`rk0Z5Rw|5Th8F!{O$MaF8mQ3zIx{WcY^;#WQ}GuQ&7zZ-*DW}Lr% zQax%M=_sqcZ@&!{u+5y|9MnG!4CwZ@gA8o-r`Ra#pY{X~M*?I*{ea6V=3Koh-pnQ_ zYsWl}hOjq9=sO2WszSfrGCn~NJ`)u8OWp_9STO?c!W!XG%R9}fjck*}b<^aA&Aecb z+m$ww`)vwq=gx7X-biXtS|0mwgYB*6)Cg#Yzw;G#(3t=MPJzHz zVj+Ht*a5VuN)Z$zGy68npRn4y(2s7NDuGa|g<^`ox7D_KLgLCHpyLK28*~2?fL0ZI ztt$4m37)75vCNevL(9a^O?L6y^2#jyo&mjK9x*$APs-5{jo)veslNH&Lko_<8-p(~ zTKbymD3xLj2Fx8D{*N%pCcGCe(i+No8BIv9H5AI2N#hX#_Q{c{VN@jL@(TblFqQ&+ zHW(_|@nW(zmNhUx=*!=p2hct{VPUB$o)6KUamK ze~y&zs3T5P?nlLw!>k)jKKp^O9l_4bhmMR{YYeHADkH0M_gY-3f@l^G2a2lL^HrrA zt73ntDt%3HGgZTrk=)e;IRZf|X>3AGI?JLX619q5tT9o7gK@LB1%09`!gdFTKGwvr z`dT7rZSpcTE!-_NuK%l#yYO)7KB_*L7=vx*@=sKizdG%zs?t}hVy{<~J|9{AA)vla zK-N)_@|H*_+Cr_Ny5VAFR@pt?>Dj=seAfAg*~7WJ31FK^K~wB+;!1S#fOB8oF9?dT zBpR!|om?8iH+Zdfw?(6U$}S1ee9e2@F5&#=yl-aSU14`$jmDDR4>Om`xHOSlpgC74 z_==>emPj8MDHXCz6s{0%!;(hT-fiD?cr9=i54>5V<-f!qgudWjg~%8dLaUQs-uEQAg*{<#lv9xp+)8@eR5}qNvLaNed?F;JvFS z7-_Bi6Y$cn;^uoS2u$z5?Um)B>Uu-x+s$3TS(Jt|>w8#Gh(i7gOVRSTLWxrlQxVc* zEV|i*98!P*j45aySN2M%X^p*=3@wQ0VdB=@s`7t@7LVc&>4W&3wn%wsqkvsd)+#z2 zVT4)K-{Dn=ED%}>y;N7&EK=r@rSd|H&#G}@6Z%GG_h4B{ugVVMY)Sq*!Nz;5>=(GT z_AKWQ;CEyY2_(=R;QK<0wA&-VNeq2ukKD0kuZI@?kPpI%VW+5E*n&!9&A>msBeeLl z0t~L0YEcp!6`qNm7nWm*)DW#wcK%IXW2M1=Fv}W@V5)KEDYCk)SEO-$ zuSoeTq1(&RnWVo_Z!nY?!5>h7XvHXbv~?WggPj~tLu73yB7^K9MAatpzH(fxovV~T z_~U5oP18@kp#uPzHVEc-jMkEkzKY*>VqK@t){oRv@-&81367Z*lgdBDs zY!6$|?6c9_J>gid;z**>6yJO;TdZB}1@Io`R;Qh6QgyDHeR#m6MBZjIX$SFo5T@<; zwzFi;RXmBaZ$2QX!FYIscSCUbnm63Npf!4{q8@ZIW`j3@%VsI@!C1Q3uI{}|eBN%S zQ)?~@Z+g2L-?RCco&EV6sFv9uApAhfQ>|&z!dO`SRd`eRMpz*(T2i^Zbtax00v;m> zDkgK7Q0QrwA;PLkTcf3$mA)$w6FaoBS4^h+uQi-ZqVno#=AyZ@(4p!dd%4uZv3xx z9Dh2#LH5_u@0d`q=;=ArJ4JCthd&d}{Ww}m02fY-7NR%V;(M>|Sg~J)IIqxx`QVlJ zyw5-EK!j#IH2kcdi)uM!-B&f<)1Kld)yo1eWB4d`JFf@fH!JMb|#z!LWo_ojW_dSFj|;Wt5&iM)BA0Rb-jDFCm{1vdG2g%R(EF@N-_ z?*zSOejR`OF~c8>PPH1D6|)%Y-# z!i`TlcRL)~4|Yl6oD@O*$o*+ky1 zezdWvs2#oTxI3$jXOGUb0cE7Wc>5OzKwp#wIzt{mes_HaeoVO_em4NZD5k>{E1*ekX;+;~mI&Sx zG*gIiKOfF$ts5i<)1ff%YjL+%FyY3B0 z51o47rI*wnvhW&QI{tVT1*At;glt6#Ivx-21IG61Py>Sv?)u;ESTv=its$ z1~lgoTWNbk)yA(y?eADtVvJexO5ez#f2EcVML*`xne{U4n6&6@(cxHiTa>6V(H{l| zzE@^WAcr!qz9Ljg;)`*r+LjVa;tM}>H|Ml)z?ljPBJsX=4EzVVLSoLtm-tb(>x=W)t4Qod>) z-kVjGkLig!Y@hnfxY(9)q2H1?bzNlhhg{)4Tm|Rkj0=t1QWblZBX9FwA}6=@R|bvy z`gVQFPD(M^{Z?I&=szr4zG`k?5=zW`J^8R0PLtXI5&sys)f#YP!G0nC4TCy3O1T6i`uXOut%KkG(&OMP!h|&y=y;FB&VJBw=UjP+QF^ z#9oEjmu^0kps#9<|!i?b{vD=F|KrbG*Oew6dMaf zaXz`Ery!6!w-Icx>ZhO`*0UjOxFV2*J>N?f@ z`Jx6_ET>k9OhniZKM>5i$E&%OP~FZWGw##Kifv?4fr%C6OSvwIO=_T5m9}ac!emd8 zE3hruk1Nhi!>WuvFn;Y1J59aa8-U(UYFuI}yfwr@=&>w5vLn?9}u3C}|B;$E7F9pa&7 zW!BXYchqC%kot2tgmQnAmb@Xq<|j2)@~?4Ezj~If0n^=sIz9LtcMrF_H@dqw>FyBk z*-fk$i2*H#gM`=`^kDXAOv)+LitSU)=q!+Ie(s!?Jvz5Oo{$-$8{f}6jIUq&@ezDn z$ekSTCY+sJkMS}ap+%sax?-*UUZ4eio9kNF__ENnCB zFhEQ5qP;vf9^y3c!dLBOd2^r_% zZns&%UCe=}l#HD)9Tqn^Odn>L{_+CD^ws>N!iMO9;J?J(E#;>3J3Dd>j^%)K#*jau=Ev8%4(heX6hZrnacQ(QS*hY(@xx5~Ks|(#F}ds-B=WYub5YJp zc3uKQFp>9-7rBEl%iLM^GI!WL_wS79SvPV_uezfoU&iFslYk`eN1a-^y8So2b3~_h zpB!tt*uC#vo#PEU0=^>fIo~V2Z4YPNxKjJcv$~$w0V3S^lrhccp90z_@)mN#^aHKG z-v@F9C>AyB?J@Hla+sGk>~(|hyM=)v(=tQd|6IpAeK%d56QuLST4>nYv+j(By}jzN z{>J9yH0;guo%V^mmQLUPq0^mv+TZCKtm*Av0(YJ7e7XHQ0_!A!bp#L@NzQBk0*!pO z)187&cSf9NBpLGV)ee8&Z9`z%MBZR`|D)ZIY6`cERMIbQyTzy0f$|$EI6qkb-I3oS zmi$l-{~Vgrj9^I&*wnMxp?O#6fg`Dv-L#>;Km9()ZSRBku<;XlQ$;AG0((1ocXMCY zg<(v(0$o{)xeaH>c#>1!`{}#}E^v!_djFV-0<hYpX6y@i330-wjYS8 zcSG^6Fp%u>uC$oB8?m`Ig%+7koahxHVO!q##AuL-q1Sl!re0uAJJYiL5_wmhcOg&Y zY4d)sb97SS%_I!RUNrvCYW^cuhH(5w@5fzq^dn znu?XwhMoG*q7}Nx#;*&X?S$gJ7ISx_l3O;>hQ0>Zlib%4qfTNp{0n)U{gOR?|66GZ zE+#@s#KPx7O-f&aaTjXZqZZ@i^V7|fzdM{CTKFg3C!|Swjnx05aJ)w(Zs%L>y3san znxulOWmA3P)7X&bwW@fyB2vD)9yR6Sa3nr8jBlX+!qCHa7JIxNdicTO27VQ7*gy1r zol_EGSm#h!TDj6*+cx`E90LmXR4@8A>k;$O5TtTfDk48Zu;J29GtTkV;LPCzV(z+fEA)->3j2>B3P8TlxIi_%Z!g z@ov2T5sj+>aCd0&>HHb&A2#k4{Avr>W<^1Y8jxjG3!D`}9)@t@B0!r9Xs;-_PUD-s z*jX+UY@5ApXYFYNtO~(5i&IFU#p^U-*pP;>Y1m|@R#RJ4`}698$RmAFLx9XQv{#3Y z)Me^9tX>;xQKIBL|Lfmo)`ftU-*{w_fa+yFlHu}zmJ>Bs&cQ$&# zs}b@idi&p%?n`|Yy!m9`yYFL-mjkvARn4h|-d@{{bbpgZpDhigwYHdUcJV^5nM zL-j^+r3@Cy@9b%N%=F9HyVN(~FJ2oQyv6~*e6G!nC;eh&=ItHcZ}=l?UhDaOb}ch= zIT?d|y#q#yah$@Q+Yp{V7}l3z&Vkst&3aP~GM^leHFJ10t%sc+R58)_q?7 znPKyUZdU(0PtvHGiWQF(PW-WWmFSe1_i8XdGRyDmI|V7rFH%#jhZ9TvxAP8vC6eRa zyiJ(a;Q+!_)ZD1&i0@~P;B}q9PVkD(!2!;}qrwRnwc^$6$okOn3H!G}P>U@bmJca$ zMQ$WsP-VNJ+oo4&!4UUol1vF^#E5cvPuPuO>CKD}YTKJYH$}mda!2jbOhXt6;KX#z z4)R8i9R-gpM)u`|nyNuN^j#`H5nM556v@r=lV@^Qqp)JVAe0v1Ous|##@TIcSir7= zm|bY9<9|TacKmPO0Y`P}dY_@2ii?CzpqXkRHLXH$iQU>u|34JgjemofSVhw?_T_$y z?&~04_fAL2#x+bRUjVeVXhmE0vI#l=9^V_qHHVPQwPEHHqcZW4$UFaKCa_Ot?}w*I zajMR5W@ecDkR%s%mHVq3RoFoAt$otwS>m)8&LDKR;PVa@VZ{(#Xo53dX-gLJLbn7g4>v?zUqrY>j#NAr$ZoQ>jL%8Jx zyLaL@gfKJzne@rCvZF<_CA+(p{XgT>z&>k^54ht$x92R}P)`I=-V!d^<{x+y=N2AJ z?#05(oAoZYoQ<~T`aP__sXujYGy9J7FMJ4h`+ba*#H&DotK+P6L36{tlk4&t_FY*o z)fBJN{vLD78)oI6S$}Hi;i)~YZRS|V$#tBv{rJlI;fZNK=Hkd{`HgFyY}j|?%-)aD zY)*>Exzz~8wp4Hb!u7yvT?BlH7xZm)$&@a^Q2y4ci*laShaveNy#3`Cv=dr-C%2>{ z6_FB|Kx{jYdnvmC9I)!kuIr3Pk|lh_RcP@MT=?sg%8xBjeHRY?5`=}Q-ky$0Czmf8 zTvhJI6!~n(tb-ISk$SdZeOK>ChNEr(r{b{{_S9lurzmX++=?Tru$`&qD3zbt4QbnC z@N>#x_5hBd6dzUD@Zm}IUaEIw{aRr|55}ne$2vVgu=k|;q<~uQfFj!%i(AINi%`FQ z@!i~Exr`D)pAJqVf)%rRARN)J{^Ce{Oy4R_LOgcTjo+MHf5X>KB2>M8)VRELGu0P)X4O8>a&^4qi8Mj7e!|?e^L5^RMsFW z68jJF$pe9#*fZ(bzax;tVzRb-Kj+f%&rrMBs^`sI%Eg=SetrHTD8kK5F<^lgzs{eY zW;-<}cXm*?vL_GMHb1}S&mBY_0nw=e>?sc}<@^YL#NOlF?HMeOCE;sG>$!2-sq`|K zzl(%Q6vIiyd)pfK6xD5N+|#G->Bc<+>Q*=I>09?lxN0yfmj!cpm!*L;7~j0shmn^G zlDB|?4p3$OH25y@;VaRq!|Ett-cvHJQ8Z`EMKy6^K=ht>!$=n+hXyR|$D$S(N3mrc zB4k3Il9t5*$^?ztWZ*bGybH78l8%lqh5N~w-9u>b-P9d?ku-c(QI-^1C{w}NeX^KZD9wOQeuC~{7nXg<3ka71sT?yS9N`sB z7s?i!^%-o&hKKLt{KVmk0XTw<@KYN09b4D?TIA~q^#dP8-sGfa$F>Ezof`Jl*7tUI z2W0Ll;ZS+YoPSQ|K;7Un-l;3$`zz}?X}2o%w}ySi^)H7d774w2e#S6DXv=bWep~(e z)Jn-WMJsM{i-Q<%%|fjY-b#M_hGWx@BUr0U?vQ>a(b-F;;SS$=F?~S;m5X45uEuXB z#sS7Z6z~skT+=H3reR;7nf^!zvq{}!)T-F(*tP&p27FB`vu4g)(?{{q5s7K70M=*5 zn=CcXe%FFCV_Ra{lXmfJ!@iU1Ha6_Ly6!2J&{h88oeF6H+B<+c9aWZ@AD!W!_N8pv zr9B6U{^W^n>oJ=gU4su7)_XtdR=182ldEXXI|lZ?Ie+KnfsB+<&iH%kMZwXpJsk4C z-0O_D$%mwkw^rkz>XNY}jfz~;VvEu_JdR$2Xm1HE{v6kuv39gN2p1;wL_sH7qi2s8 z8+v4LKKX}{zWYu-QQ2F3O*%^%yO&;A)v0PNUz7SIWPycjR)laplq)?Cv_T!@Th8CC zH7qoyz546hs=A5NbF0zDy=9+~FzZ`)g5=n-V-pSAUTJHqY}}JOV~FNdwc>?K(YQ8F z|9marwo)*u-FfsoxcNf?42Qezdd_+p0=L}!u14=`DNUYG`NKikJ z+9K1ZDJErXGc}cc8DTPY;Q_v%?7qz`coD)f0 z%n{b-lU2CA^gGVqUni6I;?eM}s(qDi(P1d3--U=fp zql7VyIz~%W;5!e#$cDWt5eBkNRxTuVX$Y`iN~OU*1+Z~cPy!%C>UV)nMbA)#$r)PU z3hZ>6I*H5L(yrEmaPGbo>fV|HR9io3IQAQA?A*~&U%2>2?VZJ|G#EVISk{l)rBZz3 zzaVmJ9FAnCPwp}Q5Ate#L4^1g@{-J{!B(9+F&e*+Bf%SHULTDg0rM&0eWY{)5kCd_ z>HK;ds&Y3sp8e5V{_u8sm$0j9m3s&GaKl6M?O)KGT22e8yWBJ)z~;gGug>|CmRoPl z8E86z*poWX;e?xrxj^_ubQV{NB|2+yZsq(B8~9*O9?n@;DFi0m;H|kiElh#|ca|p{ z7Z%%zxRuO)=XG@`0UhA4vhl;Bx~2Tvr*2X59wv&d`lB{@uQLf*FSIMP%`S0CwR(RE zE_Zn6a!LG@Uid&k3G!LBdiQ5u7|td6%k8yQ-W~jUhw7G;)O=}fC~kwjyRH;haYwo& z@?miD>wB~GNoOBE0>=E65~*r#);|^tDHTf|^hJ%lQ#3p!+{oVZbr$8}r*g9qdGGyF z*7Sh4PmupjK@7ZHp^m3WW1H$-a<4sK`dRlJkvyRA+bwotXdSEIQJx(`cO+y?o8=)3t>p8PeRu z_LYtY*gRUMTfXa;li`2W#_!R+9=RyT`|gDI+fo#9A{@=^+-&@aY%l!6M*qz59kDY~ z*eUT&bAaDe+yOg}Z3XardNr&BDDoDS0(2uqVU(Xt`#|j#b(e_fCs+8CR~IO-fx7Mz z5%q)@QIj0~&&be!DiN)7{Ja>4D72A^7U``!;+{X_0x4q8l4}ZVE3ef(@8dtO)^qv8Usb4w zh3vq36=@_7=h&7%rbJ%Drgrc@C3llQ-p=^Jp>ub$lSvy5dOMMK z$&T?k-bwyF@o`u|_4a7ni4%!mu}6lh0cSjsp!*h^A9pqI4q8ak+*4sUY+?~4duzzDJZ*0_!pZhnaaN`zct9Pg0OtWj|=e%V4 zr+1tGCTgUgi;%M~ILL4|@yh%r5H|xx4CHZ) zmGh@>u(YVYmU{Fasu#he8q3x10_j|FQ$k@?C0nAQ)|FBTmsQ0k6iGwVn7PI~R9(TM zG*ZfS4Hq0WsA18!{H80}tEFrg`(~;xe@%WgKBXG13k=p2g%kde5_y-dg$AJ$|xxF(dF3D%CQLJu!BzFQ*E&d^(g zX5@T@@IS6P$J_Ex_yGA&D3;;(+}C~ln#!!1=vCXcwG*{Ip2dg(o@*VREASX8!MgL| zat*2t<)Ar@a!_q3FZ1?KmnLXJdh*x`6`@hmQ&njxFkZV>jrK~u9J&}}pYUAY*E zT~EIg%DnfcshvL>wyDPzj@LkUs*@zZcOvhh)f3@vM=fv4XC0Z4Exz3HDP_~jD0R2f ziy&4Ofr>;y2vkF_PNU}(Qru#$K^HO%YHScBVEQqDbzpf6>1Lys8N|oftU9Rotjh~p8eXZ?u4M%Zp zwKRO|;IrNh)@ic2Y2{vF_5pi!K8((OFekYf2j~`>Kt2?(gCV5m&>F)$m69@l z-M#cK-xs2M32P-xK2Vv2iF~LdGP>pxUz%I4d4;?U3_Yx;kfbnq<^di2Zhak?Szo8P z_%T&WAUc;=7{W$?(vBNkj4K_q0}LmmnSmvQmYFh3OxdW4(49{!n-ZqJS=yIM$7=EJ z`istw=?;^i47_gSYmKBr?}ft&yFz%WLww*wjtL#`6FpOWC_WW@waD#v(T`a^?OffD zkE%s~{xVBkyEi!tN|Qwbw#4x2kAcM@-7Xl`Qvf0uRe8U>9ks5&L#HRce7}fLwXGeO z#qG-wdY4nrDuW9}D^C#aO5Xr@-iB3)lW|${Ks%an#3ZYrd5}7K} zWC}wjv*01q7a-Gm)hQ?CxXs*M-rh~3kiN3HoH#p7M{=mvI0r_;=KO=j4K%2(L?p!$ z!5jtn@BS;GN}nU4%808(6>IEP0!)e5X(Q>KPP`@Zs<+*qlVTfB2L}>)=kixjJLIxq zEQ6av{u(EzExeP~z91@7gyE^0#h!5Kvt;nQFwv`mI-`oNQ@l%L_?}4aDuU){xDSnC z=VEdxXTi#?zz0CcA`5{rwlwdH9f4wl+(%!aV)wAp7~)DeCG1!?$fw}_`pb@4x_nrD zA*?c?J*#{Q{cJ=+C;LaD6aPYz9Zw_KG8{?y;46G78h z->v;A@H6VqY5e@7>XYI}@hMa2%c-zev-ZDHE@2z*Fel*JyNh?(^|T5_6zs9M{3M6u+vkIj%IJ zMbrs;^aH9`u3fJ|k3nxiPp%g&LOHZAm%u8u7x&vmukiGD;`32?c^UK%th*J(%kB1x z^xs03kEGnH_;p0Pe3QM#ry}v*RpoDo8s&Od4zSp3fy?l=LZtVeZT`$2GlCf7H`Ga~p0wHZOGh#ppSawsH16IgUTL-79qa zSzLwNa+0U=n+{-Q*SAM#;V&2>FZB%FemD>DD)r>Q2@vp-{Hpjh1#om>=;14hLJyB0 zPVd(r8;##u5{|tYK$!*PEK|(@GWM@%>|?TTc~=w(+e3c#TiIlstV2y{_44X;vpw>p zGPeSV)MW8|M{Z2s%9w$-S7_lw4qo>6L$^=n?x%)0J^n1vpD@)d3v_2ce#XFm<2Tvh zpFjP-0scyW27JydJmA33W&I1?zJfpgN8ta+BJn!Hzw;P_zqlRzi>7^g_@nXRRSVw; zHHF|1nBab6!Di%7XyJS}9$4>rh!JV)IG#xzIq0j$qKb6GL8qsO@g}hY-cSesmw z|LL0r|D8^(w)IV3Wt{O*ZfM~pTsd}+aD|92tV+zujjaCHITt2IoLrT-F*maLBZ;Eh z9|7nHDoRAEO5559N((VjUkK#V>w_+20+HX8$QX4cx#&bw$qN!qA#eWIe944E_dH1^ zDnUmm78yiyu0C`G}$-uUxb-q~byF#(@qeZOd3dVN2HHa?mDqxGGT0e^ijWdFur-<=ZcM#E~( z>b;`4!m&)57PvyYzO_)Rxab;U@g*mZ=< z-5=q$L$#ZuHnrC!49Zq_?FMZI?FATiZE6h`T;awqMjG1lT~7i@_wA?XnnKY_-@HtFJHhQngwx zYLx&&1TR6Xf@u}S%d@N^qH?X~`~T0(v-@l=)V}Z6@AD_w=b7isnKNh3oH;Xd=1ey9 zdk(txodaM^=dvO(ELiFJdUTht)(k(`$ET$lf1wYetny-hJoRkWx%;Dkv`bf~+nKmp zGyJ9`coAWjXS!7Ab+>;2#uqfmO-Y`>&DcY@DNS!k7F2&y>WTfLdgOoYMu(FA;i$PE z2DSO!jj|<(tlSX{E=L;bkSYG%j#bM+JECXclE{gHbZp(cyL7(cKf~p}5-0q5ne2w3 z_Ijm7V9u_WW!OKYav65DGMv!xVyXoazx&nXm>2T^$G%H=r7(Oyn9rWYmH6&2th3b= z_RDQ>qN@U2)tv+4@4D0Qcf}r31wvos#dzl^Dhvenz!8DLQB)kbSE%UIJ{5Pa!ICe8 zxh)kxQB(}IQ(^vU4j`9rqs;$wtL%4R2d5wO7Y_h5nAgtWPRz5T&@o?cIyWaYW+0Ih!s3m_Kl{XhQ*WavdI1O7up;(J_e=ZY=c?4rzJ8xzTe+E;6Y3 z-30V~J-@@G91~+%e#x{itIM+!Q!-qv(#5FWoQ8n>GXHLNtol1DO%G{Cn4!PGy$tB9 z^+)x|&J}$Mmgfx`G<|Nx4!CPnCd`>z@p3^`WvBVx^Xo&;BS%U_KjQ@g%$YlXq$@wI z;`abc^3JcASzoalMHa+`0z`~k7{XwBe;v?{+S{O@nPb+Ca~3#iZ{S;1Wy(z2UyfS3 zu@gsZa15TvNiY#>%whVvI_?$s`s$NuIA@Fk=FGi$(43j1;~dwfg)`@joPGPOxgI&F z6|azuiVyPEhRE08L28WZlU;GF98b^-*cqGG|EicxSZ|Lp-@S~7xV$|<$0(dukQHvw z0shIUwn$3w4+_s&UQd|5ZjRcOVVpm?5;(gN=iR_Ls~%X>i50HQ7S`a;h$HekF`W7B zOOW|2W-d|$N!Cs_*z=>ZlD@8zqE|Jr+ztWY-4EH!1f`F~E-nb>a6u4i-z&>rZI4o$ z=~uQ9QPID_#n{;juXeS4;P_h!rYjYa85w`o&{C6C4%vfjs+B5vs6z!|QSc|W9!|MR zR(WJ=RU+hE3##RxA@WM!TeM#1ir$u_zGg}4W+kcp;crDj&9+M*{7We%zqO>b;+H7b z2V8L>pU7)<1X={O95t~7Rkg39b{f+}Tx%HtN@IwX6%0yiDHUa-A`qgwMm?of6h(__ zzlbm@QB6?DDBAII?|lRyXrfWW@&%dQ8y1njo^Q$QdBe1Poeh$R1%j&yftD!^J}QD? zPx%E?s!yKfy&kx0kVDSLorL^WhVkDz!jj)DLtEh&Z+xk!;4f^0e@GZh@?b5<_2y!r zK_}>=iG(oQNP_?D_uM(Prv*cjqL$;hXjjH93Q7y*x}0)dM!7DhT+gFiW3Y$PHYXhb zCbUHpKxwh5L2PB#etB0b9P}69pw7XJnxCi%@93(|)$x75eqX1*6Q18U;+KQY1Ne2* zxkTp2YDf&90WO)Y1_@b2R7(+n<=gUY>=J6gD5Kz%bHJ!He}mI`QYj7&s2%9;<*Z0O2om+L2L$Mw>{xcJ1`GmkVFlK)>H_IllP~}wUIj;hyI3jc zU%Yj$ID7dOqW<5QwR{=1|EpEYp#0AZ{T1UMJJq?7Zery3sCaDoGEx2&zePzoaiL!k zB|_?Upr~-X`nO2`UG+2bOKQoJ-FC)K; zMVvSyhqv{DuZVPW3AzIS`pR&8Wq-N_f60?HWMli+OrrVa|4KpI`>cZ9B546pk+&@m-BC2T-UsQ8!bf+1v43)9me4g-aq6 za8Jabs#9?loh6_|s2|?@aw4}MK<2zs_Ft8Q79|ronJT4q1Y_1_%KmMt>ctqpo4xS# zuz-dQI9=;kK&3x!MisUF2-TsqsUBZ=`hEmC(C|4zCZ}U(=BiAraO8Oc z&NR65;@6dH#O`pUb*3!j6*$sF4;zlOI3|=JA(jtij1<4(GfG9nXTa2_6Lnl}^~il& zxj0fpnabAIu_8b=FR}2t?-A@>lN+bZKXu|ViT;dDn{4XDT&j0vFoUp8APiBCea&f;b(264Z2mzp9e9;&fKT9Q}lsFqC6)fjU%M*LDHwhM!4Wh%V63Lg}PLI!)6o*W!5 zaRZK{3LAVDR>NCi(Zx^ggMgIo4LZl+wx*b0t&m&zCIEhSnm zlR7)w%*)0U5hpMvaTqNnckN%#R$rGz7bKPhP76}KL%^`%XnuX6pi!X})}k;yl}5Kz zZ*m^Iy$>?u4udJlFh8CW7L51scpAZY;F8k`1}?ztP&-=l!&s;dYkr8`IAvalNswkU z4A72=Upx;ts~x*gQ}hNS;)wL^@8FX4v`%*dusVh_@ECKAPJ>$xcKkIu1N+Ol@n8`j z^6-l$lly4UtC07eIyej6#EgN|;n+}uQwEK-vN{6}6tBI)={w?R(K!cwyqFDUgw8bw z7n2Q06_*cu5PuJTgriFu96#`n4ioT80_|{6O1$zWIDeenDdju|A9r#7m@W8IBKSi+ z%=Oq$ZHt;-G4zH3HtcF9-bZXtDr_@3HqZ^LcPnfLu$8sK2Ku7iM>2tJG_a9>Qx!s) z!4Tojmsx#~huvt-`iZcoAVdNdFC>i~BbJv4$%7tbjlm1(LAp3l?&%>ST8o!CV;n}q zBNG&lId-s)86=t}xc4*?q{fHiXhAJMrE34U1SS&wKO#;A#cb8f|2(RF2$)wrNjY|p0`r!omP5hD<2bq6Jc9EBK{P}~RG^Oo zV(AcBHb)iiLz7haSQ-8yE$@<7;1FiMKqBch{v9eJJok;0ux;E>gz!#1IpAS}u-WYS zxN3|_j&bGgKx%&!#ic3iMMGn{0~q5tk*GqkU?x30aO_?@H*jqgg!xzN?VcNTc(Xh= z9y*Dx-t&<1v4A#}2BsF^;7`$oDi+TTj7WF65Ospy8@Lg)UC)h)Kn5Rm@!WXLjQxwk zTE<3pvVDP2du{+fM1r)U;eV9p#y2BQ>L$bh&^I27=61|=9H-T&N>V78( zC6rfz%n{gQdZEW`Evjj*=+8b;%FCC~ZQx#v^&_+Su@e%#ri_ZYl%AaEKz$RX17T=l zj$${gNqG{2Vyo0zLrg_N!S*yfsUdHpGjkLZ{9_PkhE;l-a; z^OxUV#X<5mYJjn#PSKs|jVD|)pUX%8QIBNq!leBE$o?^pa;e)N7=CQ~KbpnG z0wn@GpQTM;wUMBXw(vrCxN<1tv9Qjab-PS*&_;FeW984vto!go=k#CTmpc;=;FqgC z#r$0l!&iP+XD!DsDm-vg&ndqzWpQ)G(KR89nK-fIqzBW38d>4wOJ<>OYoQP4 zgx+)eJ}B@t74dStgE%X0z6aX`gQnX4m4}UJ8F^^L12tH-l!CoX{`wx3^)ALI3N{k} zx|w^5T-B<=J4@ZmUzpcIw7_9M%#fJ*|t`>w@;eBF8Mr;Y?Jp2;EjiU|5t} zHINb+)>Qdh#W?QY(khb;7za``4mjO8YAz(%nDz!nu3f0lgu!`c@MbgE^Jq&j8DFg` zGJHJYDx={V0EbBjJAzs=D8nL5Ii!CceS_!INUAKXQ=@tzdcblpgq@^LewBka_Af6~ zlaF@SRM8Q1e)`u70#rc|Kq#nQf>Xmwm91v3>Q#+zdjP4&H;m?mpo^1<60BR8Q|Ckd z1yZLRfzF{t!q25pW64Xg0}3lVhEw&D@Fwg)M1m&>OaX1+Rq{k{An}(E=rE$@Yss?P z3rj>wG0aL;#Is+iB49gUj!G*L5(y+`iTZw@{to+LWQjRp%mmEs}eHWL`N{jG3`hsLodB z`vR$_4k@a$RjqL#Z6Byg)l_AN8PiQsmG{%FI{)1~9~ek|v335}+Rwk|8>toYv!EnU zDff4or?Pa#Wc@BU(5jejZLZImaQ0C8`TAaA{ag=MOG?{u{4z-F9bhEaNdhlrm2+|> zA-tSO3NM|P8fyGO0ND$}V7?;=sI%cy#1M`ErjJ*Eyqn<&CHyeTpoD)dWj>S@lN2eN zx|8afee@Z8kHOWea7PYa2N>>Dm*5++evU5~EVzCJ{=Jly22d(OW-3B!p*N*5ir=;}ix)ajTbA&b?*DttKi@755DKwBtQ2gdV=u6>{8B)gXDXP^ zBJ)_`8m3-KhFyVQ&fkYClwMtIj4WqhIOZ>OpsA}* z_L>d_YiQUs4VxjbHCbHTWu8WoaX^vLN5f`n*lZ1ZSnxiSb)0xNDA>aX70J08Hc!La zNjCiocAJKEYFItoh z^@~@qBQ$KehON}FQM`C>jxQB;@FJwBABEJMs9@_f>@ym6qlS&D-}wr5nugu1VH-7URQ-bFM0zhi1~*6_zQyi>y)#64HRuG6qF(m^51 z{6#3}>)`n`6#f2{bo`M+$f}!}8@~L$C3s3O**dyI=10A8TDy%tpuVBn2;6np*1^}o z0qHayeD^KFr7oH}LBP(d^-n2lFi64l*OGFW-vD!5!;}#wS;53Au`liKOvv!EXp z^y<$Q|I##chCsLK-xn*`G7X!lVY4;ns5XyRup=~Vu7=Iiuu=W{z1d3sHLO#^8XDFv z)8-Qj_LI*Py~P@~M8n2NE5TsLuabWS|Gb7T)$nB+zK(5g_3w!awob#AYuHK+8!i6| zcAAE*(y(9rC<{@>{<=GPQ$j9e+B=}r-~oXX!wm9 z-l=gb`B$*(H0)*#+sNNQ;#cvI{~XG{*nB+ck0At-Wo|h5J)&m96g~`Y$uKOI2F52^ zH#|*2i-SfT2O?^242&7_izAu%Mbxo4$BGYu8&B~SC4G zEYrfQ(bzU>Y-t)BJ#y}G1goufqODAhU2@XLvR9=Q#}Z!dm1)6SK5m?!cMisbjntVaCeetSle zJ_C=^Qfna%^6-rHu-STO!UG$zO31(!DEOuQaB8N={?G$TK8b-EYn=u^tig}t*L+LC zCTUm}LRg0PC29&A`znRad_=+i{bPlfbP%>t!`l0axk$l2qhWWChX{dNWD-fihm=zial4@DodjG6+BinoL+jX#Ri$38OKoK_ z|B)6mI$qenHf%AwP$D}}8c?%J&)}DxkA2RZ^IJ9CRFN0j{G?sXkGy{35(wa#n}`>Y z7A{2@p=p$@GdJNolg9lVNiG#5BhY>S0=x}pmps!-+RdbF_Np+NZ|^`-ce#mTEHGQB zIsp|0sZ8ixsXR()=TguDcOkr3A!!WHZ=MrJANa?jDJgtxN(!U7ce;p3*N;?FN`5vE z@lc{zRlt@I_DKc%>3#*fUxXTiq=uys6E+vWQogxZWq4j^IIJ@q*BL0~%s{C(Co0%F z4I4xG03p^4Kq?AY6Rb4PSFqDGY?_A6;4g@_6Jj2_N$GzLo2g;51@@sV+A_>TnKgGQ z*aQumt6}pr-stY-#Qvm$f9FHR5T}MWH15s9Jf&OBxe9ijhAq~xB^q~BpBb%SmuT2h z4O^yRt#Om`Z}wEM#TvF;!&Yio3NU$`M%d7e!iy{oTcu&^H0(wVn}J`|{}lYUAE^4( zYxoEFiwjtPg}#duOn8Q^hBkdgRtDg$9{&k?(eiEes6RK>^-Pwo*w+Fz6mHxi-d{$A zeI^G>c8*SqAn4OY8K23)h-tm=zYeP`hs|e7g>}Jy=%(gZ zATR_2UrLjNX$Vo>MkR&f_TDfV)uV!;{qUyh#=7SB0qL;AN&)`PaL9>dNXN-N;+31 zB{69MlR!=-i=s;~T8A1BZtNW8#j2u<@T*i7TJf_Qgm?R~0)p$2t53!)y9BGIjYxxw z0s9ZqW-RNxX$BIwT(lcbkw0K>$BhMrerLjd3LZpj(t@i*Sqv85j2LwEX~rw_d-4w; zUiB&h1r!iRJ$_}Ms>d%g*WuR_m>x&Vriy9#A1&|@u$V6xBQoU|>(BCQ;+&~sU0~Rn zW(0?Mx9OOK)RWJst$+hBv%7q+BG~M#(K`zJ#$;y7-T+d$1R|yTREeZ!t>{tgGRW`q zqEC6~lKNHGd5}yCSF73zf2`o#tP(*>m^C8yoo_ilVbqLWIdW-F>KDvAj5*=M#rIcn|TygL53Z@e%6lO8~f0jNvxu7AM!(>z#o#fy)Yi<8M|?b%p$^~0SyHJ z)dnAvl^xPx)$%1Z$I)lHUN8UjnnN502n2yVh zR1o-$0(HVXna^3f1+A+O+66kyU<->?+bsy(C-Q|z(2Q(>e~(^=47Z$L>(GBN6~5UmPC&cHTz;CiTnM|JPmx4^>| z5fR335&^*Nb@IC(A+jx1P>%|kyIxm~CE&m-U|=`1F@UG9c~-%Wgmh{G-4y`xvf7Xtpp&R}e+W+)kj2(LOeXZ8?&&aRZR^{BfiSIaXP$LJn zbOQDGUIE0&9F^fA9fe9cvesj_Y95TkS1`TB{1yi(px<$0WJ^Ua_GT#y!m*JkESF5! zItY{{f8nhFV}>6gkpx!#ccmSiJB+2=u){W^I`Bb;s4z?J9E>gCj&bY*qu~cclsQc2 zC?lc}rE<7FCpeS}aSCxvp#v!xC;8IS>@Wz9pYykK-=trL&DdF{+57asFbrW5qq3 zY=HGFhQgD915w8ZEg~=Oc46hQei}7W=%7}n?rcGygv%%|Y;gp?5&H|D*d%4-u9JpM73iT`PNgT1 zp3i!ed-9tWT&%r#_TZQTRLY9KngL&yLQ>ggPm$=a2I?z?x7 z<@opFc2dqH3%acghsW&AL=6!g^P`D&E6+N}*lx!?UKtZ8W0bfX`G!m8a}eV9xa-(n z7a}3M`fVl$;S8l@dwifz8jR-Gyl5@d*^}RZ*6N0giUn+~sD_#l=z|L@q@i#_k~9=G zS+0!TAYLwvV5`+Mjn(ttS5?cw(-nPJTCSNbS0`0fomjUZx^<-G%u#TH{c+ti+;FNA zY&b`7ILDlh+f5Xjt=$~eYiU*Jw%h&|WG+@H*DXi*;8HO>+AVGqtJ6_&bgHzKwV=0E z&d*rRgWJLqLcr6Aho}jN$A!6MjcCDXZ8VtHi)gxX-W!G64zvlk79=VYu8UdQ^O(Nh z;zc}RP@D4RSkT{h>0KDC)~%JK0+nD0Q4K0in!y zN$mI?VgRsxxt2^<7&u=A84N*ObVxopy@W#pbPz&Rdwg4hjCw=*846nZr8_W|A*vUQ z!b*rlliqC^9Q$5}5Uk$986@2hQO#1!lO&}0PMM^zXy_dhNhXwgpxs>!A0zU*yGN2- z`m!%_>5Dti2iNXp)x!&sWg<+?@$q~0O7_qPr z8sRg+`Em1$$9ca?#XaJ>!{GLeFOEvbq0+PJ7o>qPeZZJgnck0shd?OL#v`Wp`R6gb z_iMOS%Pf&cNqqy4t$UrhH>OP&3vSbHVd5Wpv-bT0u}dhNUTv~P9ZoSP!O9RzE-IM} zmmZ6JVyz%EG32uEXJXF{oe4gQ)!Urfa|zu^B8w9o8UZH-%*!kSflFeHv+aNs-~QG8 zD$0MWGe$IBhioz6P>7Q^jBwQntpHq5ywEB*19va?)|Tj-jv<-w3dIcw)8CX!GhAs%)(PB*B z!Ep`I2@27n^S3O#O%xhBUqWZ}y;N^O%Y>}Z2ws74M&KFVdQkmC?4rKWm;oY4Br7kG zl1lJU29;wW^rBPn7r+u&c_~E2Hz5;DmK%6>o1LHw%mVz;^+Txbo$l$|(b*k$zZI_H z9>i&+=c2k|)YY$X98RT~<2I=Z2hzDd%u0_5lNKA}yCyq-536kH>CpLBm6?*?u<+JM zZINGBc+BZ4ELdB{pu%CKsIWXoRk#3mcilUHb-hN{72{KHs2k}LyUiv%D&eP$nIC-* z&Bc+0QWe~T$z7|lgRe?{7_~~v59EZi3ScOf@o9}L1)+Oa-H{tp0Y6z|hy>JCYj3!Nlg{1%a+_UN)aWBLaMZg{vmsF`lAe1YA)i?=(QKW$e1$m~pL&CVlp z@KdpowI;LEw-@Bb`sQU<-7y$P^6o)qwZ<-8tt-pVX1N)ZgS3LcP)Hw=bXNq5{128+ zFs5$@|Bd{u^KXVkr?H_qGl|@G+i1i#@k*!bHYk$1k)$)D2>QK6P}=r_!60a$F})zm zm_A90D#m>k#`HS|%Bt-)aZKE2y3e7|?K8Lawc3KLOf#qaQ#S^QObgaRkx6SP{`ZLR z-zm}JKSPzPDu=`%zP56(#>@=5Ki!z#Y`Tz_^(~f@EBVJ9_v|8r^51gY&6r|r6(|8Y z-a;8-x0l-~Ig<$_?#e{G!&$58bI+6Q{z>57G-YmN7&%zA{4jh02X5$cfp1VDC@s&3 zJyJdL$vO^lN#>^+9OTZx5j3L7hSN08zd8AwiwFLKR48Yo*zi?mSC91Sd{0R}M!=y2 zI}v|Bq8l4IGe`m7WNLH7T;9iGAvws}n`fS~i8KqT558z|vK`?@64%Nj@ik9iF-)6C zX<#|maE{}b22i8?KBP7Vk-k^nwO=Au3QW94Jr+XM_rC|lI!YVVJQtRF|?Mm`$iZ=YPY$J}mJwh*%J!T$Cb~fyx=WMEU3o7NIII z(gO_QoNlfOekY<>iu)jF&s%8VbGLk%!3M4m0lI2k+a|RQ$)In%@#GCYg z>^tId8MKyq3RehPp^TGOe&&h=Ztu%i5g`>YvB(XLW>39_Dv;<4r7|0RSXMk#JPy&9 zVcLDWB%kQdX5suaxN&#IlX##i@9MkZJ_G)}*sNS;SQ>A4L6_9)RDl$Dsz_nDa&e$8 z%oJidHL@6`3p3}lAS5aXTwe_!+z*8?66m0`1G7bGxbmCaj)_|^+8Yk{PTZE|a!hPw znb{QR+M@-Vicy5iG2v^joU(VgbKZpT9^MekH0)3KPIp2722Vq0#N>A(o*KS-$_$}{rGB&=UJE~k&cgP(WIK|7nCuTk_ z-!a#*4_%10?CJNRC+F|(9Guf@WF7V+Kh^>A5j_%U_8a+cqUN~67)uL`AM!)|vgtI5 zf96I{&UO1{WaW(yjL3(FL_DhfJ!Ch~_vD00F>)Hk{Nl6kq~du985jRD%8hY5+@F!h zPGPTN5#!}U5kjD48%DTD#8TQsP`?Z}YEBT`BYy|ng2=1~ZX+=Hdxb53x8azG2@+K= z8*AcD&3@lItuW_*=D0f~iy>Sd#IieUEcL?y25jY-zXqK)$xAB3WOekuA7o39v?;_= zECnS`YC@SHA}+nDC#o_fU8pTBeAo)s7Y;{I(8pIZ|BoT{ZxRxoDs+k<pJ67tNI8&|d5vrN82aYpV@;`Zr& zVD!X7o>r>e5nPpuLd&(*boFZ*A4tbQtAljf28Ss9ehbDv4i8*#sw0iqjI9@1p^{m! z?@93`;&)XCtQQMGa97cAn+5Jexr3XrY;hdt`cEJ=Xqh~GV&iiYf`dVlyz5;DNReoA z*%iV^?qHDM5&>pi@KUOCsy1G&9EXq-jk;P+kr8bbDB*jh&S~(aO6O!>CHb2*P#w~_ zyk4)rAJ^#*=*(rzyp}Ikcuq_V8NDU3JFVIV=*PwBFy$BG4-X0-;>&D#`3Pq#C?8Yh z4PqWNo8&QQ8iX2+Km0zNFPGv^J(={35MZtATN?w`y1!Dq9ObEv+1&f_Yd&yKGCxj@<)Dz&~-;RNf{b)i>KZJ#b2XH~Au)Mk{nJgUkGDbOsz(DwBY>4QCPn?`! z1g2qKU+mgqgvK&*SNh(C7MWq!HKu`0lZ;7r=FenispmMXk1#X;19 zSd4$?nE8pUk(2@ub(x()ibANya;saCD=xv{>!^82Fu|BTj9C2~zj3E!OGRhgvp4u{ z45bem$6)s2kobGST0#b(195)xGDKD)k27Hh2gi#s1|7p;9*u{p8N5SV2Ponea~Jc| zIBR{fcRZ+rxyNifXq`Q&%sv|Rvs?<;$oiZldy`=HpzGqUQ`;V6gIh|9k?ENrOJE{+d{eT6gGRS|EK zwgN+y<>Ht9o4N-ox6rqz5ObgGZ}b7TQfcjS{Cz2_iYUXHM_MDIqvRu6qTI5O)$uE~ zZ^XPF0ZFC)WTcx?hYongmvX*PWAbn(QSqHUnB~#VN7w~MJYujdwHFmu|4<5H^L=Cw zga^}jz;=D135Ur$ageY zC8g^Dew4#~1jF}m`~N*n%NI^9ld<6I*MQ);$60u$L`aY&O4nxnQpuMlc~OHp-}mF4 z^hj^9iyq4kiyj`L<@>K%zD54n!b<)!DSr?>nOZ}4QvM)%SfpXgVS9Z_)+BDKmzak` zO8y{v%mMk!rTk%!ojIT|42(|9!YWPTLVQVmkn1~oENbtE`wLn>3=!c}Q{v-OKkK=!=A0Q<4y3s755jn9M5#QJ9?^0!Zqe{kz z6dmi@t`@QHk!5UD1oQGdaf0X07mHr5P@t@Nl52Zx(2O0Z+M}I){EKwBE zvx#CZ3ZZ^mr$sZ5?{?9Yj1keCraMS01p}$XZUIFTwmkNXD4LK;46v1;_9Mzuvn-nHds(ya zgjOG6fE-f)P!5mdmvR_`{0uhHgm;iT%aX~LOKdXv>}Zk6>mBQ3M#SBfIU;&Q^NfhA z$lnM&>VneH$Pv-w*`N{8!&%=Ew$Ut2Mzb!GogA2jh_Y93CXfV#m`>~_U3&QmIz_6b zBeZ&HEQiOSO{rn+QEi>z$0P}iWcvV88B(k}M>W=+`iDGYW1C-os#-`HiEJU*)+&!< zz0QM?Rq}AyWu_pb>$a!+nMVC#D*K}(F|0qBpL74s@{7aa^7~MDWpORu1CwHToAG9B z7$b&^c^TF#<@~xa}+CWr^wTt;(NHYrx4MW*eXq@m(9b>olxhHM(;QY%YXaITv z??iW)!c7PCf>Hx}M7$adyTyg~E!3j4lW)#-vg)EC0l@9PHp(`@_7!cEuIoDLrb)C|ul-6^CnN zx_HkG!Npo7(osrfw^9my9~K3!iygc7m}meimZX4Dx2MW`?s?1 z<|fliad|ZeyA+Rwf%&n<^rIAob!0jAJ61e`k&Md>YmrdkSU)t^S@lDgiaym_;)1`2 zIm28QyaiT$e44j&?EAsH@Le!&*Y;Qb4#(Z&fe(T;4KuJ3nY1!Kk$rCvZftJZv^EEV zN|1KfnPljkS@qmAni-m1eY^qzwZQ|S5lvra#Rn(6eIWp}VPj`aw4qS?~6MIP|$f z$h12rNOc6oWGzp)`n@qOkOC`JyN~JZeJ9Qrt|7ywIcjePY2o(7Ojh%Xee+9D*+JhV z%dk&pJ}+pxcr(cGZi+3OpI4uZb=;F;p&oj6U|}pJXC!w2>_x1oB_7n9_%J*rbk^-t zP<6bEqZVuMEdgeZ3pU{~oKt6zO(x%wpby_L2?uKI^E$BDkXG-kYFSzlYS|vzZ{8P+ zm8O;W!+os6IR0W4;e>ey)4lw2F%r#N_;dlD+&+^#g=gat(@^ZwQulD5D}%#urmP2G ze|Nvq=t=A?bPmAml3yVR*_=O4J?-_Guj^4YO)m-UgBK9ix-aJnGM46z*lr`&Lp zM(9+y?=&p?Xkh_7L2!Lg!We&HOj3P8{_&-67&#vpT=4hp3^icuV_^?oIq%1H^Eq$D zFG)**Vyk9YIr=`WgewDA>T2*?kMTo|@4tuaXi8vNDEC*6?^S3Gj_*oWsSB?;#yx;^ zj&W=8%Q23?cBV;sL{_0pB6>R_tL` z$fvUUP^#HWwq_yDvY`p(1TbvXC4Q9ZhX2oSg>R?~A8_+|Tyo3)d@=jDj)%#|M8N&|ha3|MOkTTeUC2RZGaIx4|0 zI1;xkk%oWh%iDBrpY-*=VKgP=v5TB(q9*E|9Qf`}IpEE5XW$P2={TMSc^K zgTh|X0PL)`0HR0&lCNbFG?1OT3Msrr zw%scfx>L1d9a5%I6l26_y&t``-u!Ccv6f($s09_J{}uzv(tm6-(AnCgw@fw)XT1=F zzJdF4MeSwC-)#Ad(*SUawd^zOTsmsrB|Q2Ow!yHp=<+AK{G**N|5Uv1Y}u_;pMPF4 zc5o4b{{zjGr`HY{M(hrsSG=d+kFksR3Qq7%SA| z28Tve8b-Cqf8p^J0Y1SUl=3G0Ym?!b==Obx@fm^tmQ8?VZZrh1oDfLC?SChD7{CJq z&cXFRTn4r*XW>;I-yRC}7=PATWBgOjN+`_Ve^+t^{G$r<_bf~HWjiPH( z$_}hyjM}om}~g z5!syumzAa$W2azd`rI`D1nRS1Kv^*_^N-rv4_(C)O3Wd1T3XN?y$ytM#*KjNyY8$$ zFLpy_C5iJihE5FZ5$fXDFeU38#|Cd!A8DfA1=WWUbPTchc%Rqm&2Vd^W0vn2I8&-t zQj^R#<+5c6Ly))IkQc1~!pn5sVROkM9p{HUS+eL%Y-gMMdgJVH^|nkP!46xZ`N!bV z7PIi+QM=V9a%Il7(2K1mf)x5)YmP_1Yx@XCeIqo`fi5ulq{s)(2WL3$ao{`FVw|#c zNOl3BZ@;f@h^cSM+Os_Grr9^ocGMnB#p*Jy$GY9?sQm!X(0wnDbzzLaHIJzY7huo- ztD)F+!qSYhE-m;HAzqkyTeC)QtOxCl8MwbSu}>zHo0=%38|Bbk4hKZgS@2k5^{XdqS?ax6mOaE zJ~>S7j`Kk6Lwodv^;it;(Lr{Cz6{Yi~w=Ah{}Dl7|T3YM)!7Qb#}oxdFtu5+*f z(E_6Q<*5A=l0b`d&W(3CY9Gc6WFckdeB5ta`%6Lx5*LK=%_hD_ZTRN3#rHFfZ}x5F zj@n5Y-`x3*+9EtxRh|hE9nM^V#NJ`N$;9i9;1&4~rZYp{jgEWYq)K?f&b^_=3wM;y z9K?1q@{5xyaP?&3>xEXeKkg^~Ri_3=D&E)yD4@Jv2A0`3-#*9-|BU=26~kQ{=MI`N zbJpzJXS(y9N!~;xhWZ29U14N@0W$L$8>*#1MgBW#7ZB+Sa|fZSbLXQ~i*W(a4NOD) z|8V}9%wKNHKT>i{U$9`%f;(;(Sr~%KRSudtfBxM0QX6)|A4XfX**F>qF18`~C-&9Z zh^ik^n1Eo={F(DA(6Pb@{u)NmyATKtwFy!7&Rs%w9GOpCysdzDG9b!t2d7lG}@&^~7gv zIs1U0Y(KO4;s{IDF}E&%vxUOEPGKPZx7#p$JWA+aW6NJ=%YR=ue=kk{IH4_ZfDOlI zr2je_hW>zowBNNDmH2oYDj~P+y|+U+NcsMvAX0mixqI7ko8qUa__scs`$5U=sM*P{ zfyBpc7_K-M81`Kh;lN`8)7Nih#`$(tHu+a>%h?BI3;)*Ga+lf4zurP&_EH$6{cRXV z0mCfdx8={aq{Jk{&yB;Mmfa!qgSQv$^XMwMrz&%r3?Ri+j5(U5&3PfP?!%Y45a^0HVkJuh5qJ& zw))%h-yhC@o#e-vX?_hP-eSY?yDLHegEkDa1g7uHpMw7GLVxcF{kgWBFZI>*PqpRF zwv}IRp)mJt6AqC6LsvvNa5peOetO&Tn_Q&P{dZ3isqE*kB>HPZegBej3DkJbLR+$zeJD!;)(VLqrZNc-C`96{Z|zvcmv+ONYp zzs0{_hx1=2`O*ITiuSkRxQP6F(1u|aV5;)Ug@2!&L?wEXe?1iieR{h_Wvj#bp{?D=1pSiXC z+-9LLuTvPL|JyK}4GiGl8e9G{TmHgu{$85?aY9?-02_`8r2je_hW>!5%JT~Ub|v5v zy$tg2y#|p1(f`9EwJ-05+`VnNO}%!)@$ijEJ{yDb%26$kuiR2I6ioypCL*~8!Hv1tb@7KK=WDm1tizV4JY}tk)+r>^~ zJBQg0z9Nl%E^@WxM=IN!xh{(2QZrIanET@2xiZOf<2R7F6Pe6J0mO{44mVo?re!l% zG>j2N3*QL6iVWwp%5*<7HT5Se!kNyoGL1l{`p6mzCZcKyMf%U;9rnc&W>zxiW|^)c(v< z`VL+=9`j|vQ+T0e%a?7};03n4ym;(jKedBhZm-W2`si{;fSzUpsM` z_LsfCKpuxi*Nng*;dZ>?HoRb-Dh1v7Bwj3D#apGa&|!P<#bW6Id+p-w6nyqAz$}h5 zZNiI1=m{8zFVe;%wy{^^#cGBl_Ai0Y@x|g|$o^&Ch2RLgIT7UB%lVzXocnR(@Qdu3 zTLZ?fX>3pR=bnsH)Q z7vdF*YVb0C&3lGpeR5vo{J;AeLVMw`&r0ZpHCbCV%eUH9K`@p}Y_h)g6TP;ThH_g* zfIRwttbp~acRFf+t5V>HKG|^8V&xv#isgJS zQi>h5OPONhNjJlvE4$Zw%&D7%BR?ZYz^&`S5&EM0$KYW?2KGnQ_baULnbvnaOvr|P zuD+jReFqL7w6?o&a0T(0UM@(OpN6ttZGEF!5pSO;}E;z5-P81iHC97W{(ak z3Hx#Q=BR46zQ07(Z+)bGX&(QqOdMr%)cysDhz^F8k^At3juMV9Y=z@|w;#fBmPmZz zjhH;6zo#A?jHDtfjAvDEyj^CGmYO<`Nm&wK*g~_KXu2{GcZP-LaiCG*J5{em$39Xw zmd01}Ww2AmOhp8}hTdQ6C35qcS9B#M$b&mD2S+u|tpY`eUpX+#Q9BI1!sW}#YIA*y z_%G-h<4#WOA9OPO&Lr%(O(%9@N+XJjPnbRQL95=c*Y^vwY-C%Qt|q1npbgwWhOMhK z>HZ&L^9CO9*t;=59Sa3o&2R$d$+N9$M0SwO+L!IErdIk_lbSrCX01^38&E_2uj8}i zSe<*T+L7_Q(UNk%F&mP*i4wCRe~+V@y4~$Zq@t9mu7-~i#|MVSa+9zM$<*yS zzJf38JGfMQ|DfCv(xZB@VdSVHAoh&* z1h_LwZ$xYWGf}T^NAUO6_^U@gCRlJBIB}$4VUQk-PZ{PaK_cUhmjpV2I!xa`J|WLQ zpA`f}f`IHculoS$*unDcHYecG^z~|o;pu;E!*E%D46fnUZ{SIB8BxOYXQYt->ieVZ z>kUg#C>fSiM9Eh?src9O#rDg9ypi4 z0|$Y*Qt<1_bO+M$dsQxi-CTmLd|W1tEo(f;&MEIjj^%cK6-vP~E=^Wj#?tWgI5iqR z>SP4c2kU#02kU#0@$169$Z!7mdy#R!_}dlTUeF$(dGt>L zB&g0ML^)AGRIMWp<~s_)@z53wg=?*Drk65^-TZ%(TbWSYi_J206Oy_SNFH7eGYNoC`=e_5=?wq$~ z>ZVS8Kit%Dc;xuny`9G1zOhYX2d~l%O(BlhU#iJ(&`ln^rgdwJeL351dx&*9k=B~B zzlt*|3fea+_}x4O`G;W^1zB~VJzk5!D^a-hrxN12Uox;xOhn3 zFeWB{a#}@q ze{p*Lakb%x@{5C9 zB$?X)M*KWzV3Qceo$~)oM8|v>AY6Y6ix&E<-6&no@9py8zvX7*@SNp%YoWIW&oF;> zqDB$^jE~}v0sj0!>OUU#w}JV~YW1f1V}L(mpGPmcOX70-Y?(kLRB}t$lvK`W%+OR;*Zv&+Tyn^0(%ByG#UAT6HreAKZ9})W7Zg zO>XiD%g3K(o5L<2a*L3EGUS8vw_m95hL#`0QCp=_pvsF&9JTY+Tbce|=BO=IDV6wM z>8QO*-hN3V6Z6M<{yJ($szgd+Si8|bDZidcj@rKJ`?|K@nS?76xHIAZB_+L8ekNgx zs=hb2{mvvzQPuaoZND=KQ&jn0Z?^gVOD188s`4Li^Sz!)j@qB9?=*i}(Z?jzUwx;0 zVXN;-^ zJ8JF}6zxsJ&A(`nYi%Hqaj(qO@h~CV{DlS?Y6F3?P#}1ikY~=-AYE-BP74GN6AaU> zK@M>(S5J0}Ef73RC^2(1$Sxa5sRe?E31wy{fS?r$)tS9N*Z|8dKs-#SME`4Erz*cR z0`!|Iw77;_p`KUOA<2AN!%ninS~e+`ELN!JRSyuh8nBRmIWuSjUyE-RYW2Ko9l@t) z)JM@+y57H`Noc{U=T#dCn=Pno@Tlsy#g=C?(yTn{c~v8l%y0i&Rr6Oi*d`mSdS11c zu#JGV7KljyO}0GyZF$u5D)t|9wZ?y`4fe1NRz0s`UqXEEX#8=uJZgq2LbF0WuS&va zbEwAuuHY0I{SAGet-7k`RT+d$YK8v~wmg}(JnDHB`=9yFW1`>hw0NIugHz9|*bmJo z72H)8oYMxUo>#Fynl*sa<0qUQ6}`m*D?{Yn>iOsFn`Q}M+Z!F2-(38ssPW;86K&V` z7IxEPLz;P8NY)kPu!QB4YUV|u2-!wg%l>!^5~^`E>)3Fp#*j`b2BvFco;`@2})5K~Ikr};hAK7{=;ODb}Pu87p1mFdsQNKGyTwNjIF@PK2j ztjP~8-Zz7%z|HEBPvxs>bP88vNw;t{=HU_5ICv|nk;rQJhh4)YKPFtb`(=BQ5vYt< zM%MYT$oj~Mw@K-3F{oKl9MS2WZTNHBPGVhb8m^WT-f*|CE1>kbshB09Tc zMS^;XD|Bq=(+Tm#ki_$QvkDrvCKWk0&`&!F9>>#i<2=cGJcvlu5IU=%`oNW#1N9m1 z&VS9Z;%R`7sq1rw2L~WMzIR*=2U7~FKfV%yY}0$X5ifbg3IG(KuhMv!X*Zr>JH&StQ~Q4>Uk5NXx1A|2@< zF1-_|#01ERV;ySMu9#-`gM$^nZLM4^mz(^uGk4 zQFTMla3O*Yg9Czod?)pC8kECl0jbycV=FH9|C%bO`eciD8ZyQ4cw9L_;_w#Fx1aj& zAw)r4VXycQVyA(qAp+TOs8jW4#C;jT21}+0wll5#UHJixD96m?uX!H&AoN>r{FpuX zrz`)Y;17d;CCINVDxQF7b0y#HKDiOu&9EQWz`#5`<99cHjzCRG;meO?vq$Uxyqe`i-vGU z;3KS|OiHu?`F6XG9YoOhEm+D+bn(b?!^t>z4nldS|2%|^x_NOn;A4l7+y#(v>;?@# zTxsMSK|A9Z3uDLy5}W3syE0VNKJ$WEoOQYWNUI?gNRy_p19U+z)R4>GDF)x5aLapF3gD>M}5^ zSVNR@%TQ5zkPxukc`$+_9^>+4JY)D6?Xs$I(fK1QT$yGfb0EKna($hoFA&_?$Z!*R|Jfv168ZA3Rzh`K{>_Yzo6osPv zT@`t1{5cuB(1HAMjvC&B6%64krS!npM_UFrW5?zN_YJ}b@H88h&;2PjD4NV|*5@^C zKJ&7i5x^MhP1bVfy^sfkvXRfoX)=9Q*3vdvak8Q%lmR$iK|h$hMsY7-X2i=>(RqMG z4qK$-faqCxa%XkN)5dPvRT~Sz zw;1n0EKB!@@m}BxjDmTG`GvXWu;%0Z@vZp?Y~6W4XCV%+z)2>(urA)ha}n@#kE!Ua z&}9PM59TBbQ+69nM&Np?7VM)amO*5F4XXUbuO4gJNZQPKd_oh)m^b6e)v}H4@5$f4 zZ05qb5UCX0O9G+!oD$>x2gYMF4C{P^Ok&oU?TM_9K4iS4Yv`@J1^( zgZ&goNC_4gRy8hMV`nIV$ROasOR=1SoKSPpf0}VS185-~eH<&6f;<~7ly6Y;A-;8Y6~=}iO~gvWX^1a@QF<6K-(&gDV4Jc_DQ)$b4O>m!+%P}}8F+u=|hG6dhm z1sKs?BAh{E5fYlpdY&C(c=v94tz1C`#T}l>AXq@`-}veFe$8(H#+vP>#@r z#ue5r$trR+e0n)iWsP+;d_L5Z{5@3jMV@5S)o>u&lf2c{@X2|e$!XD`3Nj`ub z#~$wFW|#(PM)Lba=^aO_^X`W*fO&j>bLE_*sp08&&~WSoQ{4zu%9bAQn*x0qn2arW zb!4CHuOf&1D}{H#$gH0vRaX7 zl+b+0?kMY@=5PeJres$dvF}4yS6s@2;FLFuDu_93Cq`uiHIzLAXhg;!HJkAs{41sy zG9}!Fa11t~(xqt`a{Eqtd|zVd8p|2+~MA zuuGRyfQsD_fhj+|z~ENuh`>+;;_)XMaiLphW%$2 zCGUklt z>`AvznycKbKdPFlR5w*V<%EJ`HJOXSH~;4H?Q;44*zvg5#fUg z*AG4&#YUN=I9bdsbKIKFMZ2*(FPeWQOvbc7HnWnVN)x`5W>v9)fGgc6Ai zj^>UvZS*}iRWe(RiPVq5Q>_-XqK8N2-4< z8%XthT^wVM>J1j`h(Uv(PU1WYHzzz~ zswgNQ_eZ^OKDINJYi_8!IYc&E@r={_^oVr%7NCl}{Gt1Yn@9zWe=KP=%QGAR-2TK@ z@GN45()V1VeAO}0OnvKcvATMB7VOirg$(oyQRCS_2{Kp@<|z^sCs>PU682sYMZ$oNNjSDK!iR6BXxD#%yQ+)~{v%6)DpBiXoPhA(Hrr z2MAK%C%#{a-Z(Ww#n|co5MH5soakd8{R-+ZxCZMNR%dMISM|R?N6z0nAe`HU2rlT-S?m+4{@RtOZhFn+7D>$pe`kRV)mw#R9?Fe#dZNB-O)7n=SO;lk_kthn$D zo-HmE+DI@5SX{VBkjy=+aQGa}1!cdiNk1(shDXy8c&0;EoO~|Ailg$ZSn)odEmmA)qvNw| zixnA)gpOFT@!Tj@bm^FcU)xCdrHzC|HWHo~7-7YszLr4T-|e(q7#2;!Jx_PYg>)MU zX*LqR{d0s1*)|dmUTAUQEJZ>`T=?@jQCvvqn1p9hl%*w~l4sQr_t{AJub)J?@O2-H z3-_LNS}t51O~P{7Hf>i=USuO-fQ^JRZ6us$BjHegiwh}=gpRoIWM6Ut;XqMr2o8Q& ze}1aNwrG4d!ia71tQfHl&z3|!G{D9PxZW#OxuWZ78PQ*;21W{Miv!9O-2VM1>-uBjc@mGzm9%OoG=&Lb;8EDK-+4>?E9TapB0Br{%&g z&W_^3Cy#f?g|0RdQf(xB{ig^QYA=j%;kyir3v(3-9dW@CO~Q>GlduX!St{!1@~j%- zb{h$CHWH5FoW7EUFH%p-g_XTp>xbq)cF2fq8x>hLDw1qeEa`7!L{EzmvlJB_F`|=D z5!MeS9h2~1PemB)vO(JJuyw7CgvmA%F0+wvtBr(5x`2cvn)g>L5<23-cRixGFt%e7-gzRz zg(i7cTzDSO78lI(BV1U}UAKn$c9+v~VSY3T+hp6eT`tVCk#L)hgh@6MX4*(tM6+5N zVxl6UBQAW^J&Fqj9g}eA@dy_V%Cq9an|QXk@bP&OE?mfY7LSpeuP2|D3v+}7%rL@J z+#K`7f3a_LJj306C~Ahg1+Qv`EBjlg?m^7SOXaM6JJVbH{tcsM%OaDtf1{Vnu?=1V z(%~x{NKCy5;c1Ob<%3mX>~LlxldK<=)Wp`yf#h=eTZzAFdjz|v<#Nej2`&@GjQqMJ zqXj+%vAFkjfm6I6;Cx}lNFU_)!2f;>D=g7E$Kg0gNjjRv>oA{vRQos$QAq3nHMTRg}CwPsCG6c46!Q#^PI;p4?WF3bavP>lUNmv1ww#rWLd zDGCXszk*|ZsNF*Fq=)1lM#&VO7~siPA9%vmK(giN)nB(TJ1bO7YQ>*}TZp9^3wQ)) z6_;;Gm`9x=JQ{E}eiE%NoZEpU2Ek8RcKH zJzhty2;*`IZZ|)*tcO>4`(gS;E{b}_)XTkkS?h1;ub1Oq0xX~aF+-caZE{4OVSen~E3Y@xLb$~b-pKz7=f{BK{ zqyszHmJr}l9oc_07msE|^(7uY_6MV@l7)w{E89vI6fuSmMMQOq?ve$EZ}e^iYPuGr zK@48Hhh0NO+%~_O%-*5DVFQIV3-4g~cI`fZ&1;I(e(s{MwvZ^w1MVTji=(TE1ncbR z3XwoG|9z@D7T4VV(Yf3PhNFTykq9S}x9N9)J0OB(h}8fd{jb?dj>0EGam>ciw^yKB z4I0&&nUUwkhi|+!j-@UvwuOCU$ z@_p)o{|U2aNcQ&R`wWz4F`M!|eEffm-(mT_8MDVWJcmyI|0Um@mx1Ru<+tYf#hsOW z*Zul`!t$>>iF{kbWLUKX5+7I^VY#`>^&jK6$oFB$avNS}o}SmRE8&f&OiI{~jIyr` z-G6PC$GQDUF24&=b0#IZ;Nk7>1!tcHb6NX!DAdgh()U<5>czlzR5WnRYuD}S)$nL_FZMxvRmd=w^0HBZI zTKvLd?*bwuoS!z@FE{KBq78hFmyT6c$Yv43%gWc{-S?g+kn#;;G1%>yZ|wGr%zzsK z3fl%#V1yy@Pe9m-6OI*Q5h=*Ed%xko6j3K$DfAWofc^H|Lb&3$>@f0|WiCxHe9JP8 z>cxmgaxUEBQzd9GqiEr7>0RcnM_L%2YzF4frA{~~j;1@FiGmE?@uKb&G5iZlSab3& z+@4i<`BCi|>p{RCj~}i8Y|ji2+Vc)dN2EOw!N+RSm+nN9_Pn%plYSDMZbW zF7WLuz-3Xm6GIChI`I^&igEd?(3~I=taWS)E|63$Dfz^|n2OBzA-XY^CL!9wLHIkb zyc3&)g}%*@>QjX{NoC2h+|~p&#aMb_Tzd<6Im~XjMB6X~s>w$zGnTvkDR0uzxd*fb z^iyw!aztJ!c}wUic7OubQSN*OjCtY%aQ-GUbRdmDXrA&9dQ-TpHR(J9=a z0dzUeDk#DM@>+VW0&W6+e0yDD6O-XbjN?B)PkgxYbAi;>>1VxRCHE62AOB=k@j6h8=zyu~3 zlp-oxY%QgCgc(4&1t*BpVQSjaYO8(f^Q~>QH?_6iunK6oNGn8I5NW+@&vdLsu@az? z-}|%nIWvubNkQK>2KmeeO3-Yv;K zt$V&|c(*M3h`M?>fWRO-ZW+jt0ENV?Tx z!|Bfu+8NHo_L8>jbNaz}CbpMl*R;Qy+|-OimIy4dcexpgB= zaL2ie-aNZfZk0D9fBU)o?Uni4OY*l3`P(qJlK+yU68a)K1;0x|+o9U4lP@+Tw;EM# zZ_>`53@7=8(rc{TxLURpva^+-e4VnZXz-;vWZf+DLCmv=Y9z*Loq*XayHn#3NOWW4 zu5Ii|?A5qx_eIgc>)Ea-Gt{Ge%-5T}Yb6QIjKAc$I0rzvdCYiaPiCAL0z#W2jEF2x z3<_wA2Y6w(hs__SP%wA}j(dCL5A(LM<;eVQQ^U zzSsVCV|b@1@`PymED^}-Mv>QLMUmN(Z2Oqhby-nlwk-R5VQicC=B+{wCaQMtjy55$ zU7^;^+%i)SsU3ruJ89&5*J%IzJbX&dCT%;8ywq1EW3>SZ$x+^xnU^_ee4*^qo811H z>+}AXdjO%^U#R1|KF$lk6ly(2lLVTK*_V+8Q^eGN{ zn^B|><7hDDsfC*DM$}<9w{sIsRW_xRDiJA%+O)PQHK?j7{DJhQ>vTXYO7LFDCQzD| zUe9Fm>RB47ZQ+nr`qz8DVP2XeQr%_}glAOJbqsZLoUb~}qbWMxc48yDpXIx-sa~Tp zdI4~eCI*D!RQ2Q~>9byIN`D2#so7dU(VwFI6W8I&NSA&vLt0Z-vrY@2duNYuvySRg z!@2qn)B`(&S{ve~)+hgbNqRVKkrCHd;MmaenyF3#7K-p;Qk?`Z?#Gmyk?%@Wr)=ov zdwIyJ<&yN2Ulxr_PI;kZbh6FAwM>3pk-;FFwcC>rb+Sp${`}2Gm zMOd1Dex&Dq1?rd*Dkx zWs9%@?m!S)A-E0_Rx5>798fB*%|vHq2Fo!c`u6vS?Ljc~;9t~%b}JbLjSIDsI}L?& zI~gj)^<;nZUPYE|Oa>6_70~NbO{u|6xD#2nMdeUK#Ic(q=TvEe2~pu+V!atv-3b|mqHKWHzlXM2T7vxLxZNu z`?M*~QcW~9$*J-;Q9Ua(>F~_pv3}6xvq*t0?XPAB>Yg>)mi9MM^zi^DwrjZaB)K&^B${GEjg%!fwR?^1yZ;#LfoQrP6#8n>%)>5DM%R^OOLd{n9m&nf-GQG+ z%%Kg)>%AX+JvZsy&h3E+jZMFm-sN97AZ3Z>D>Dxr(8nkG^3NaNm8UPKxjILd=u6@N z+7dB5?bcy}dXpyBGz) zdY#dhI@N`??&5*yp&3LsG~wCqN?XlV?P$>!tK*msNhnh4fkE?YN>Vc!_yUXl*lFJC1Sq$r3Tr?K1=scFe0siX6g@3*UOQZk>b z(-9yNIAN;&bzCu*@Qta5IdQPRQH9CeS;z`3Dqs8p9P#@q#}N>!l!NcQ>y(4HZ|cSj zS{bTSp@;oWvVBjT%h^*Tb2SRlazsHGckyF?qsn>Kz^62UG|Qq=2XDMGJ;xhUy@BUD z-f(sKkSMIPdk6_%$4oSin#q1HYO%F3{@C~C{(;`I`*8_fQP&7+MkA) ztM+O?>vOQF)DcEWgb3RaLmci|o!N8H4LolDjxyHxJY36k__^Un&l#7V(aCP=_d^eL zL^*9@>(Zi;|B+^z9at41ic5*uimbuMQvUf-^yPFKuea`bw@$P!O!iZ^X#M4_xYh@L zc6m?nV-}6`R8Mc*Guz)d*6&|=Wbxdo^r6=x)I8>OVY}M9f+v!ll|pZ|XUA~4L_X=# z-<=cDTIuPO2de9+}cRc~<6Gb4-acY5rE!@u%s2l$U9=FTOb;=k2uV(xUE^uD%k zxLegb!WVUJ0wo?bc`)e=yfDC9>dFXq1Lnc6-lmnlXBltQ|dFC9?e^q5DWbuyA^|H(x2gAvK0tU$S9Onw+mjTlZZx zhpU?1f`263v1q(z`)UEJ**j~+`=tFE^$+9-h2iCDwr1Y8z!$6hB=~Bsi;o*QSAkgi zwuZQ~a@*;PV7SUrr%|8iOWhcujxOrs-ayHthZ@+w_6A`8{$97i4W1iBbk-*CUTwez zUlklTZat8CK@-{_9PXG;{-905NOSg1$**Cb+u7-TfZC?{gT5PVwK$3F&==909Ce*db2eq(yL`A_c$`6IW7mRux!(P6Mjw?Ypc z-Lj`Vbn}A@d|F$}o&m9jmOV$s$^0vWqCrqLT84yis57&dk6ZQ}9a{1)!&i@G=Bfc_ zmR1sfYARz%M}i8vqWmWkS%)W)87$+Gex(Ea+|8m1dd=z?JO}Ss%_;Yo9oP5R@=OE{nQdg7!9LCI0hPWtq_{ z@(TIfatY~3YGm0o8R@KE>4iD_SMKfx?zHNw6orb)o@HBQi4mC|l2FhpP7e>pU^oJk zj_$(k^C>Zl-1sFI5TS#5wXe7_bV&zE3K+i`n)a*xC#J4_h}x0=?ekYsmE}7zVP_PK zA(`Dh4OkrRm{Lf}cD_|+OkSgO@@F%M@#RkqGH|jE;+y{|#LtYPIJRi%D{yzj8~?Dl z`}3I`ch|w)kKT~u?m9S{Ak10N=g1iWcf<0IyDQ-CtARE-nT)$le$Nw4j8KEd-@F5J z)6O>j{^2X|_hY*pe^&x|49CCUc+c_gnoaL_wr-De0!KiGMy1eRjZkg!aH#X)Wk(gzrZAcs^bGXV zszH#lPps!?$hyBZ5{mBeYqiRJGOBj87k+2{W7eB=X>aQa#J$<;K$sJ+N$($aC;fW-y;VpafJoRXmxVOpWwbp6lkRCbh_ZrPMBf zfW%1iYI?;dral>7SQ0C3*;A4o7kaoX@yfpBUQfp)wyunmAAw5N^d>FdyxQW>P1_Kn zk+l~q8!A=MNa*46#H;(JB`@ohd5(v0sBMgQ2Nql%}VOe-#znD&H z_#`vHVQ20(nMMyM)WGp%;QE>>Pfe%}k1Pu%+fZL!aYl2oN@| zCdf}K?J{)p>Gt)w>QsH1_p>vC$`d!#;6E-7YVK7~v0s&c=EVOpqLyJLu#!Qg5n`!M zos(Wj{$sJyEu4cL&G&$sjc3Z6gHCYbDjE3UnzT~l~rF$BwzOq z>Dt|)K~+6;_X_ooA@#O0^zkU+Y<)2_7UR+WIKzK_(=$R>ceFiIEVN}m65wnF>eQ zN=+xt$qm&_;a6u}B&k#rj{5pO4<*Md!>4qP0$j9G$Va+Ggk(ab@;PHS)l9Q0Il8nhowTTgb zebt|dsFj)MuZIpNP0qDV#K#q z6GZjaOc50cM6ReND+5F|frckkC(j8zJh3V^Ejgi=Q2@juz)@eVj)$ay>56_+pK8r@gG2$evfGQePP^_pe}bPlAN8{Z-u507dho%OP6 zGeM(IQSF-I-pmj}i7vayQXT^^e4BjUTO!1&9=UEbo-68l#`_&FJG{R)!^ive;9dF) zcsKv`UghsfJYDIpIR#d4%w+`-%{+Rr8C39{{V5-|<>|!dqnBQ3#!^ zZRAO=m{z~*sk)+2>ks(dg!>)A8NMi9(b)Nn@*nT|OXI44UqpiA;-=zP>JvLF#h1!# z7@I*SqeI$Z`_N5u6ng>KAnwwi9L2P?D#O6m)|H(?rC4MZy{{wZ%0!j$ScHk}XJKF3-tW?vXli=dC8;mJ z(NW*Bpr~bLVK1&M=*9O3(2L)C4iKF#|44qd3{BLC24^T#MFbWcM3)b4R5!%MkQ_abpQA$A z7;RRpjV9;P0xQj}l8!n3lL73Aa4_EvZx_|%vG*3p#w5-0%DW0MpA)?xMwqKCAcnbER)0H>4~+~xE~>tAqG;3#)m(p~nF z*cxeKsWMk0~$hWVA478jxdKyS~Bm1IUF54emp zBzs+#9b|$IBS4^K$sQ2A)c{dL#__#msO&-vsCwx3?D2va_CA~JDPpgACHwe>1=O#% zseUiWzNwjIr`N!GMD)v=hSPU}bN4ob)w6fyI0r7sSrg0=d{_Vvr$04AO8)q3)ys&# z-kC;x?t4sI05t*#=o$Iwk{d9zqBH`DBLMd^$j{oAng588S%2wXBhk4POc3RfAsZq? zHa3#uao6)ot=_n*gD|F5%DPU}&5~cbqCm7WHd`7RSd@mgeyf=Ce8H%O_D`JN!~Fe| zBamNdyM1{y7U;o0eiyWGwnzp{`WKcvhXiZTshfKpi z`JHXr#%%x|pU~mg;@ThE1Yzikc()f60Xf^ewQ#(VGy2W;Mj!l{Z}y~TIrz`W!@v1M z!TDT15Td3cY7PzTSXdMUbd04~6alsuI^6h9R87W1OIQb3jVgdUMm*IPTJmEJ8C6<% z`l_m^b9frO1w6G8#wX77Vz^ZIQ=>Z%2e>a(I5g2!tzM|LEstQdUMPr2%;z3gJvVZAA<}rz6V({0x&n zfnsHu>ko{d@8t1Q*HVj_XrT}P=14jMT-SN$T`eft8vn`~rXUt~MSm6{mwQ)yPN3<{ z=45|CHxld8-d^z$iQ1yJ_yvpSI;Y>q@Cx5p1O5L=pM^Npx?1|--s|jZCa`M8R?wWzlLN*Sc^CFk2Ul`-ufPat zi5bl)BAS!%u2m4DrF*5+W^X+!E`bVukI5#|WktMUGoz0mZdGNE6aUj``(;5M<5}HE zi5U$D4GL6W=FJ%$;IOGX4h#JE^8zK>o&T$C=yx$ZvpTh!S;_b4*WJ?HqaS$k-GVaI zYBMgZFg=pG9FcXbIvvB%?6weipU0tUi||0_(wg$!K2Y)>ISn)Kau3|(?z6!A9(pM7 z)vJMIv#mA@_~br|=0T1D!|B;!RDGMOKI%m=iCYthPx20F*ZW+xOkTdzzwVZEq#yx= zoPq@U8PKTbG@zqJe|O*&Z4&j4Eo(B+vvi1Jsv1FUDa_7A57C-i}VDI$KQKt1$LxzVkVD|roM=&YOdlB&5R@q(p(F!^Hp^(nv@wSYFx7W z?+j)jgR%GlnUT;<_@Ij!3Ek#8X*pk3MXy8^{`*W5E3;LvGH)vU_nF4@6lMP|{TbCo zlPFIwn*O?Xy)&Mp^dRdR{nV-vZdjo$*d%VU71~_vOB+ zbzjk#oKP9nB<)8_paS+p_RX1JV&T#F@W0_3lrPZ|JAeqZ@(QoiW-UvVePy|$k8f^t z^znCmpC&7Ogdb}vorzGOz7hXCjAeQv)@?ks>&L;o=fR{xmkyMF$5RekkSjW`aeQPD)q3OZQCWed;)AFOv) z)lgL2Fbrx|p>HUDBy{r|%-&;D=dEt}tHzF5Lj|>omr)w-^q16k zSLv%@n~>{dR^6MZkiZ>tBwiPIR`IOO=J3c4sf#l-Alg9Z#((vMRHU(r7tfYpX&EaG`w}z z6d8FGI|2CFCy7xx2ob;g&2eu1ykejDf4Sk=M4p2A^+`14H-tAq`qIW=Wa2&HJ2B## zKZs=pcn{-aZAu=&3U#xsP{${un>#W;Wxmudx^?PZ@)uQ8)sNJSN^B1Ahgw(bDW_;B zMpUSlP%D27rqybjL8=eT-&a}Pr=r#R_6Ig#mcH4^k!h=rbaSE6q~E7tBmq*yhN@8f zFe5iS5e+s7kr2qU{xMiLXxC2(*y+*aRNDM^gt%=i5(P8pSC~S~5;2{=T&ceNd5fDo ztuOxMX*}UWHt5emyKtSlSkS&jqXaznp!IJ}pWcwfBxrLIn$p5*&M(+Jdx))#6;Z8& zL(=C@FGH<*?ceV+Vfav2-hLbo6j@%iQh*07j~KikubOP&S!Q6cGf;HkREL80lkI{( z>nB0giUUnS$?06KD(8rp_zdWa_m#;-^<^u(AK`Efe%ky$zFN~oRH~QHB6@v$LF>xh zA)slBn=CREo|wln^Nth-oz#hjUkcr{od?c-u2a#LuHq*LNHh*%#@rSe(%!^i6%1A| z_YEq4Lb`o4xz!t@V-8@(B5RsWV0OJxblDlGW{+1@T1Un}pL5qUwitWeTdSIR=&irP zCVSEgIf_h|UjBj3THot^yq}}Ut~CdBxzEvkOd$*WoB8$SaW=b3FI#4Q zttP%h>GAxU))q<(VVi3-HRv5qk~y`$<=?&HrJSOZJ&D_+;>R^AYAFVcuR>uwvA$(k zuXt}>H?a@kFij6_+0TiW>#XK=Y^(6TgzHCxui=q25tI+tKdqKf>Rq42dM}GKC~4gS z)7E(kTV;}e^=?arpfsxW^-${%`G8&yrfa?9{Tgxq7q^94ccVS>dqzhf3od&v*h2`_lx_>_r`@u}-J`0Iqt#g9ej*&E%U$b`ukB9Sl{pFXW-| z`ob-xr;ufZbz8#ij;C|NO=I%j!dZ&AE)Z@vb~xd7>0wT|b*(w5%Lj=s+zR~jdHHsM zg&;ZkrVf~V8$|8iZ5t0H->flMN97MK-!}dgWc^*oZ}=n6%Qx3+S5acbkDtoPH&H+G zEylPd-}LkUAm7|BPZM#i#{4-cClTSKobC#w+zIOR`CU3~QcgoojM%$c_!;0$#O2zf zkQ0p+(q;ionyfR+vM=k{_|MeHf;H2?q5yHG>~2Ui$uSPoX^^?VDYH2QM#ImAZhZ#o zTyStz09Bb_-cR zS_oH7+NpWB(Z=}XS)4`G@10BsEsRZ-yy88p7?giSGRw$u98bTOK4WS8~2g{MSQ1J~8JT-Ym4 z0BM~-5xV(qy-!VCSElE&br!BQa9v3L=LoATf`69TF?Lb`3=ht^lc(EHY-3OpIEh5s z#&i+wCaW?iUa-Ov{t_cfY$QiZ|Gq?H!6I^<)>fZIfu6|PsvfJ7EvdDp!$i=+SN?X5 zRo*&?JDUCyv6YVGH0g_KqNK@7W*P~mNS|fq5&Cbm>}IpG-q9}eL^D;v;0vJ0LF+>g z4Qr_FoYOBJYD_JtiG=6XEG%V$%-+SH#^gKbAK#58$5cj=H&jN`R~83sC~YgC-MeVn zoKElT*B=3+F}yjH?j-7ql{=?qZVn}WWnG<8HJ1(`y>@tW@tTWf+vpjANoX{3aKZ|X zErxHADW+EQTDeL95d6dIBW`_r;y()JmaZSV@~!Nis%Iwr=IUTn~ZCI)mS>8ay+GPB-8{wY1Z{pi_|WdSj8Elq3^7wllL+UBu0GZalpm-Q>3eKd%HE~ z)=-_DDC*sflhv$fU0+60=OHF$m1T~VSv2{wvc_(MTXp>=S1dtxep>!^FZ3^y$tv$1 z?hL%Uy*KT)E1b^xqu}JyhRC+$!%yA2-3Vv7TjD}DciC@&iY2o@bBLZCAGk%SNLl4{ zoE)CX^n4U6vhd8FC1$?`n2bveS_glwpiE-K#1%jzew-T9J5{PivHvPJhxc84s6I3b zU+17vW9$qGZ1XlSG_7J49S?tc^X#{g&km@PHJ#__3WwcJOS-n{D%+8M)Y7abm@+kw z8-*MLZfz5Mk$C`jR%5yj@zBlcBhl~7A~_3{SWYr)YE$^Bg%=9EY7C*c;QWhI4NG{p z+*-UiHSnhJ>exMbsJpsdby?;P|H~yS7m~T)>6t_G-SSV6RO?!EP0hT@ENIIzeWk~l zBaK>CMU$_3Uos%9^j>QUd~n@tqTan{$zma6DYY^G2IkOAIrSFWKJ)(jJDHt)|8PZ}KYQ%d3l#S7S|HMU!=v_&6%rt%6N-U-69v;n-y$pyKWwa&2l7T1o^@@L4`x?k&TZZW_hPi3JJiH3$T=2B4 z`#a$y@7I1Hj>#VeqcWJdS^xN*Y_}HJ$8$Y)lUWE=DMvGPUqPC1I;oh>-P$3sk7)RJ zto;cU(e&s}j^Fl=A5FYU=H%f=)ADQW<7oLE&WH4BA8^YvR%RnBSh)~Sy*`K^vY@aZ zs4h0Tirq1HnCB0~_KtsvP<>{#cjnAelHN$_;%Zdn$dG3nNuV=iH>Y9u(vCvqPDu|h zLo`N1m#iUfA@&g|%hj^0m}hdYcRmX{ksDp$1*B0M4X>VgOf+c;mE*nF^v0<6yla`y zydNv5LXjBncrS2^{^Wg&>m$%Y5nD*g0WIqzmoRf=bEu?W5A8=0> z`WEqu$XkXTg@69*dD>pYZR`5j*F@TcQ-kroN(T+X%_l2_FIyc!yr5yXd#e-##Bjm2 z#ZORUD?&wHoly^oE>D*KZ#%wK^XSw=ju#u&sap47eF7MlGlwlBhIB0wT;msm`0*TU zy^i1y1%A{gUM?G}Ek^0m%tjycoRG}^t^0(0%kw^g_~T8XrT%vcgfk3}^I1Yn)|8UO1VzqM>35pqVS zu3_|JtdYS^es8x{p!yr2^m#tjFVwwH_2Yp-o-6_X<-kya;5h=PnF!LQ71rQpuh|+j zfCFn;#1kX7Kj2BX&7 z(I9|OM`0-QJdXwXBu?hcp&C9Z2$d-?i%$|!D?mm(V9^(!)W?rL>EP5HM927^_f@7p z-GNjH$bKXDZ4!P+NJRH7NN#WYX@#Wj_HUh@C-rFhI#RI{WE{G=2}g?WywapGts%6< z8M~%2V>`|8PMa13<1bt1FUN7s{&0#j^9^uE)3PgfwE1g%qj%b+D%Xm3CFQh4-elKS zr%>?z5&ON|bY9h3JZ;yiUPbZGgS->V@U1`e#17jeu3k(_LSD=Kjzoy_sQ3*ibOESE zye9y4%*7h>ax=<`LeaurwicS16|hci3DVM`U);wh-lRtQ1*K1=!DrqC=A&qEO%d_o zZsgOF5keX3YN&((*ZFb(kvi-@zZU(Jd4C$|a8FZh))ZkWEFYvrXr@-jhOW;}$w5nf zy2lE-BZ3_)>9ePYsa~C%^tqLQ8s=)m_v_8#r+08+sgi20Zc1NK98FHHxi~re>yoA6 z4GR~99vXh+;?5SzEa($W*B56=&9}q*L|9Djx*-GZ^QLF0KEIFARHP;vj?^ytsl+DQ z(@w9~32c_8LvA=hP|eRD(0I$e5*x4VT!?(xj7L_>>AG5c?y}gZ@BitjXqpMc&a&tyBdnnYfT6EL8BEVML)$VPthqdK&-8t`*h6_2A( z6%nny607hDZuj~L?RdH$j`Ui*UPuzAv!NAb)avBV-c3@bkQa@e8=8`T@sC5+CK!2# z)Ou5KR_J+|TMIjQUdg*ADeXV)XNI8LSSOa8LZw0TbtKWT`pq?bQOk|R7sbO8$6q$i z3GyEJnJgIZlB+Pe2F>IefPU9wx{Y+!Rj+8FA+L$v2Boy`gzyyvoupkSbpJw53t*mk zu&RX~N75z7=BmrgHw*FJA+d$Q{7=`<4BdPpj$`gV7Fu%kVQvt?d%?1d8DRw_io9nx zVn^<~f(1^Ix0?H)XvJ48Z2F$5NcKW1=s)2#G*X9F|n*XAGyFXdhG)bIlVTst&o7E&d*jqq@g(L zGq&MU>k;JVo)C)QYqx0fsF_Z?om3gIWW;w?wFv&AMenT>gb82KVkeR*1^C^UEJtwJ zJShE2<(&!aW$wJo*BufEH))$1^Uqmls+u0=pRcHXACEcIG5<93A)@n)_+d{TNn2St zHqMNfJsHxEekNbzrB9ag%O+^-^`yZ=Lye{-Td4v}(Q0RLo}V59a>Am{W}YGguBZ z{&}I+A5#~1^W($4pAbhB)L1Cr&1R(T^(@~>0K-@}X}8+b7YPqN;Q8|2dLbFHKc2s~ zMguu0uYI2;%u^+ac$azt(l2LbBK23Cm6MZuE3{+9@%M>Vr`lu70XBG>W5~pR34I%aKA8TaFQYWjoF2 z<9of51Brp0D1X{S*`b`SVm2*I3yliwvyhCSyK38;AS&-hDb$bdG{vfRaIt=NC6$}C zg*#Zr{KqQmfBj*)^vM^-5}*G7;(~2{#|atf{(l(n_5!V~tDx6K?0@=+FFf3I$MR;n zrE_;bwcgZTkDwRSFyu+?2nsmHMF{@aqml*t9{M42k*xU-D{6Zx*R%id%l}_|IIZmv z>p0+JDh7--WVdYt&7vxbzh^L`{P20`AhPS_0zv{qZVgF(`BXpsB;T{qN`8-QEuS=!hgIafM4b>{P*LG(BuF2 zfk(*Up^PldVgLO)*LwpNcJlQOF*Ep{DtUf8qs`CT&c3tK!Kp=nz;I;Cxv2u93Y&55 zGVi-#Ua~*vp&Yk$pF93z?h8=kGR3R)+^nDZ6o(ObBTwB40?jrN7%IBiDDsvlB@(Fc zng@z31IL0g2~@OY=HX2#G`M!VclOtBLO(hGLfR~NvPRp^!z(e++4ek_;<46Cp1o7S zQ>}DaP+1vj9d6{Oj6amDk$vioF?gOg#j7E$FMf|CLI0}S(W$MRKhh_3v64cAT_Mfm zHK8T@^d{Xus?uvI?Z+STQR{2=s`Q;dLAU*W;pp~6SN!D}Ic}w!+O++}yF|2DP_6SA zKC>V3w$=zRJV2Tg5(s^nLG(&zhLm_u_rL5>(Jq^UMwVs2hHOaC8uP1n$IrWnhsQX{ z-4_pjgS&sYe}mILM1!wBl55b}-5p#64R6}7NLA*LRG zK=A+iSf7?*^V(uZ$>8*qa*3@ajy#trfou)k)Q#fJ-X*AOb*%)MD#48NFPSaq4S?M; z?5r5TTW5h}tFp5q=$B;K%>p%NM4Pc|p(H6F6^(0Gt8h~&x|+7|JeabII7$(m=BR zHW*Q3dM-@9r=T-z!jvVl-Q^PVhYc9)8#UuVVTXh!Ukd6u_|H7Qi8cKEUE9kGnNCzz zk@tvr+9Xm zf+ZvAh-u7Lqc&2XOh2W&)#mvdfBQ`zXemJRbsBd>&i^5})WqsJ+e&1xh3&Lhtpkr# zyHi0K@ge8(Ev8@QE`5OeaDWJ4>QG!@4Xh&~)ID@%CQNUg(y4=BK+bfw03w8~!qlBM zXfNc~rLgwbHaY&>`%}lC$5_k#|8;h5B6Dz(Oqg`1KasgrKPui5^TE2GX2JH;IW+xN zOzF}&s0XG77xYN>shbu{-A!MQ4P{q>4W;-+t%4o{@@$t_Pw-%JBbi_8@z){hU0+@_ zBdagcH8Sbvu$%k~gv~cpeMBdWoFw2?V^$_)oBe?{W)`3~Q7F-I;i7P&V@Rm=IldNu zB|6S_h9#k`T00k(eM_%MZTgX2TOw5*=SyG(6GqsrYgBI`M3!Fi~w? z&NR6Kp(WaSZL!31!QW7Rh@+VRmS8a0W7eo-?fQ?S<=?-S5x)|-ndevErT*Ai&85c zOx2OO&V2ig$J7zt*y7QBpvhn^CCvfq#7aPZ`?oW|Xn_bGP%j!qzYJ8%nQ*q!G^R@< z&oWVc_Q#GcPtmZ_{V)D?Zr*5i6V0|nHhYkUoN7AJ=e#^5xRkIzh>r0gCDoy zITy&HIDd#9$4?DCG^^MO954Q`_aR4hIzZYbww3wjh3u)_A8Sf~HYbvbBgH$lK97Zh zCi|$i*-Qp&B16_i!fR$;B!fbBU^HFwB&N)M=dfL1TzYstrqxZnUT_rhX>n)KEB`8; z|Ch+xwQxC*=y0K%en)`IyWRz70+IvkC$nqwP(bzbravK)A=8dB%o7sX`Y}rFBzqa0I)=5Ze z{<24spqbzD$0kYI3N6V%e}1;UXY?X5SBd+qjFJno6Q-_O_^l6@$Bzs>d|9t);pSeU z))|ytQ&i%LtNzfbaxVb;|H&S)#!g|%~{cQgVkF^TRy|1~t3Z0UfCm5&!_P4qj z);s=Lf7m}41X6f}>9R%}149#GbzMH)l~xI~1Jp zw2pib8@GFpa$6u!yd((+#0_N<=^q$aG83{kqDG)>&tQ8n z6uImi(NSvtmK`k@EekOJn_}VPEd(6I${< zxMcs*7LUN&0eCuk#}Bv2diJj#%g>TnIe$yd2}0?0lpa;Pde-2?h`)SGs2t#(f2y!Z z79#3!{_Oc%yzJpbILjHG+^Bu!HMXs9gEs^xmnNx*VrgvwZVCE$Eib^&|HpX&UR%Xf z;!2@cw&EbU9#6oRt-V2BskL`5wBg(RuPXN=Tq+{TS(O&g1#~Mk=cN>v^FrvRS4FVN zE6PpmLlmS$LH;Q_>9YHbmZxmlApmx?3%JWxe>2I)P-6@3OynNi*{tR;SpEcez_ z3OMK^3geSLLMkF+#u6ibajyWcVHB7iB!_$C@LR0O7@Q{&V6W=RpR6CKkQ z%}aD#u;|i6M@?*aU_VN93=J*2P4pqZawP>3NWF8-Oa9b^ZYtwBcNc_~?xSeBd6N;k z>d(~BwM56Yv4J!YTGGVpM+`*?otN^6{7=A~+eF9AMOBH8ud3ioC;uMlpL_cV?(JN` zSg7@4>aqDL(J?#JdIrA|9dkoV-c~7f)J@9Ii(GE}sGc#(RlH1e%!?lm@jRD#jc@2^ zV$b2TPfjd%Hm&cNY`yL{UFhC z`0TUz^~3r^N9mkC+})cU#NQ_!f90O8&-ST@Cv_?wX*F{Ib+|;jn zrR3st2?H%m(>==j)OojJqe?$wPgwjj-t1i*p;j z0u)?rj~t%6Evy)3s9F`!|Lu;iPFKlv|C6@aI*DMnxg=PmSLqRt{#bhc8WU*r)~!rP z7BFOk%VwRR|e+c-UY&)Oswl|ALediQ#tpgb7g&c;HLDYo1(=V2qf*jz^&i3J}4K^RXPXhW}N0V94Er)pkXkvy!({4}4^!^xLlf?Qv|03S0P zktWN@hxM`3T82%DAK_iE(3Hf}6*9XBgib#^@f0H_d&)P8NQi*y*Prm|XYY3$x_w7R z^IJK&9C7Hr;_E`U<%p>R+o=N#~k+AW$;ev{oj>pwCzcRCD+Xke)CoWpA?3-_v1ZOjbctDb%bbq&D(zH z?sQ>shDJ4)^F63dW1AXDtij^-ZchG_iB92BC-^`mxkvx2FXgnI687Ud`bDfBMfb3!l10&3 zDajls-j`v8pOHxFq|2@~+`YG4xMO!VIX=C$M8^te2&K7h zu~xiE2)qs?XICKO`h43F{YmP6y8i`V$;r4nNA%Y%%@O@vi2l2NhIS=JLQ7HVTA#u= zz~_p)t|=nq$>b}561vzX(3LKrhQL_lHp*zzmVoCel0k@^EFx)ksRtay4}=M??8N;= zNuI+TxwP&+B)PmIebv#&(Ruo)6^@%#$qb*rIH2lcpts;7POK34!p39UYpC_}9mlYC z|D%zCgihgG;n!PnH18$9+`0;cPPP`rfHms%RFv3e^xnFmq%ZO7Wohnx28XggS6zuH z8rz&0@$3??f_i%Tu~Ok!vW#WU83)shtc#GA&fD1EeFC>Wx8P(feweH*|Ao((z!)Lm zdDNW6N_>FVhtp#)!16_1J}^sa%~h+Eqjlb~9fyK8t3M?lrEn%$$fk;K?{M+$yKo*j zCVjdkaJB|+Qiaa#THR6<8(|E4fh7Jp5g4!y$chmkF$nwdR(@Pg=%LGsZ<$zif#T~< zBD}6==6ZTLFKUzs@$_7yc6+s;KOK5>-^#m;%!%)_?2joyQgN+gzR*U1Fc$sBdkJ+9O? zN}1f07;5&uPDzf^)00{olyzLvDUur=yEqx#bo9r}9fEi2q=~MsbeFo!KACG+2QMAC zP9z_R3Yex{-v+w+Ms%sqd;5|9pl>bo%mPPSo$2O5V-}niM=E5RZ2D!=e{ro{0#p{V z{`SMUAv8r2$#O5QLMV9;p&ezm*uw)C8X!scfC@n%Q^^U3R2%K2nir=6fp@C+CA-UQ zTL9IPZ11%=$<~Cox+lr@uQGivcA%@(1){6x?s%h)M8qAs9P)cRfspDMGZcQyVE!?o zkS=}VK_<&>sV*_1)*d?EzqgY*2nre?Xo5zcA3IrX(z zoC=lCB{9IjqcsgqZ!>4?-Btqx6-|8_lhO$bMcLOVS5FIXv;}(lkDw%C~%_GL0NspT)AgyO<5=(d0GNvC9?m(X!{7I6a%NuM4QvO0@Vn#MV+?=gngZa67JqsJW{xrr6%D`xTc0))YjYj zG<$(I3u#QyF@Yea_!Btt2g@nv2|NxJ0TzIughrjVrIY*0G)5`gZr*|x0{fJ0cla3< zw_JF2tdw8b@=XIi`_$H`tj83kYo%9{%` zC(H8XA2*Fgnv$UFl@qpRN|bGr)xzwumSJbd$FeZHnq$FNXF1fq>O5tE$5EN9u3IG= zlx$p@*d0I$6rD#ttYuOVl6$g!sH2x0xxRM6@ExylaFXpKLe)P((>*g68cTAk(p^f~ zQDPvMgudGw;!`9zGI8*%qTIP_1XL8;RK)g$tK-@)wcrwc93FK z;@as$LDp5px6&O@E(gB67!m7>+=awH|B}AE(AuRhN96nBPk*&t`|`z}`f`4cePOYr zK#0Qb_3)@`k6B;Bxyfm@jp;_9EKCNwvv63m(KuQ)Ju%|$xstm0pS`_h{zjrn)!H~5 zO(HweqpQ6iL2-dbv7pqOh|yO+Q8=%xaocF7S{>!yqtwvD4jMO8Z1x^&6EmOmD=VExU@Or^-i_}Q zkp;O{S~i0e^fduL$KGD^`&lM(m!iCXgsIE<4&-hm&S9Ff|B@?CfWXn%kSe()q7yna zaYWJ!WeC2dgeSAVl$wA4zZ*!qIx4(r(UA?|jSC**B>VgSo&62|t?-Mp>Kc+I_wxn5 z%DuBs*DD;*YkFmuOTP?nnbXf@Q1IJF16X>5G=L7k1AY|wpjf4C-VVFfWABap?F)9h zPER*->pm*CzQuL_APa-fIesq~F$0~pYYmHo0m*%4znCX^ zkkI*9$$jj04}Nsh*ks>SHkK;y2yZ`1*60-xR+ar`kN64QypDSPKGdn^=EpR*XCb52 z?3UY8vS?Byym>x(#-48+vMI`Ll$$kWHW7X}IyJB*8s0E_=IB(krDPO4t{cKHEn3@< zzJ}eO4Y)1BFD!brA-r`#$;jmJmWJ@N3rj~PV=dI|4heWl%rNUT`ahlSf7zMo(&v}{ zdbIQ3c=LV&HhClIo}7PsM>2N%zum_~3Wz8#L_Dwv)$PZ*ZR-It2AFr>>=7{3U6pzN zfHds*|D$>SkEs61iO%{(#|b}+_g&0!WAl&jexo@#q2pu{`|9UU2=tG|oqE5ho(~or zM?Ydu)B!n92_|Vd_GCT3TpbIK6S+UxKyh!HUi0e-eau&9We0he<{GF^&n@QTvjTfq zdwAdc^Yk$ka+XTbL(r)6!r+P;c%j;x_;80wDO*z4h&Af67rXvax+=MrJWgh{M^Jfx zV-nrJk}5B>e-j`R{VUD?LZ z>q+=9$p3tNU;IChudHxEWu5Cy@>($Ef1jefc z@2P_PWJ)9Men$MuV)kE_7cJ^f*(Y@8^>uD4LWWF$yyNZe9iZELo7+PH<7clP5*UZ& zk?rs+2eePWPJU?UGa{+uqNy=uS%N@hSxKz!BU-6#>|CcY%rNEUeMrTT!{Ys0%1 zZpo&76m6yacm49`QLJiodSI?RlE@a+jE_Y23;&R@P~)yb#JJ5n_m!T(p85X4#D~vc zTE86-{v_q^E8qins7Y}7OaWX1fCKa^d+B7m^8}%Ijc5}6iWzOuN0Pflh7Uk#4$QeR zH6Ult8^xj{`#*wcP3AA4r#|^k_SPI`)O5dm(~}CC1|X3G9RDdXEs?V(cIqw4Z}Y-2p_>&9>CX*q zPCqwgN3mj~()A+wwvvYM+C>E4?wma@IsE=;dJ-9DH_yJVA=%(--M>ItoY|P4|4sbV zMAF!3&~%Q6@f!jy=j3}wb3W$}P;huCLj_R=A><2 zBezatH~XEvF!iU#URarra@$>yc{~2P9|+qr+Ybu90{xiSE&{NnAHOhrb|i(ey)M%J za%%X_NO<+^t69Bls1J86Jj@Pa&JK;A&7%7g5v2j-HQ6aj4%d%VY$r>a)w7R}r2B1% zq#H}ZLqm72VtdSbYV$*e+r7{0%!nZWrMveov+MIxPa@m~nsfw5XQbVGD$p0YUwy7; z9YFun=h2DT^yuB$*U3MN!ovvWKWkkg>qNLWvWQGFchMhMbhbbU^hJew?eF**N5 z__5?!_=^v7eg2K&DCpeJ{p*kHx&Rfj z9JP>1mmDu!0q4`TCiuo*`Vh6^{pP#7I!Aoa>CAn5i(~!uK{@Ng4YME2%JDq&2N)C5 zF=tG`QOVk-|0i$DMO&0R!$x+x3>%zpMQhm*`p=2x$mLg;n6)<+TPz%_5;H;D`b3MI zuV|=w{^k35+Y5>A0O!X(o*zH`n4(o5i)>r}Z2wL$uIucWoNE}$Pw!+Xt7ml?%B=6^ zhQimfx>wpz%tlj*jpkDGks`HnHW~{PI#DC>qmvXa$iS-s+MH7Y1lWH5$l%QqfR&Nr z&3hsWd|Z~(a-FtPvtcQi)!eIrD_A~4H{VvPTueC0M6yH`0NX7op9=h4$N8z{hz;E$y z3t~4tTzC6I4_#Q-(%C1*#)i&b@&2hxVYK!+uVl`ozVsYU0M!18UULq6RB?cq4tKZg zJ`4+C;>L>NIR0P)r3(!R+2g3Dgna-$O_~RNoid$1bWVC=ePJf1>jsbCX3Wy)(^~(OM6aE;+h5Z{XBp+Pk$8z_H9i6jJ*0*%@ z3N1MwB1(;s6q>VH5@ocQQUa3rQ@h>do$FuEL0$cWPVxjAa7jZ?SX%I zHxyJDUKe|nGrY4w9pGop!qFh61|L}@@wa`E@b1}>#&(ZnD!9MUpToy5IxdnP!=$ik z_8F=9kClX9TF_7FYqP8m*0g1Rr$wQQYRegW=#Tf5&TL3_cq?>GtYmUux1es;r&8zL z6n=5h8Ikl1XaA7p=o6{fO(o$M=QDYc(9^ppQq0UrZwQsc{##gU*B{9p(8pEOPkzJz zsQ{ArlPx|@p|A4HA>)G&As@CWEaFh|VWNk8xRpP?e7O71eisfQALReL%f**m5X6@( ze(QNr3*J7@uKuA0{&}<0*~3H9XK|RaEMruc^KFMpDzo@-i)WjamoM*x5*sDqAg@Ry zMe5e`l8BafBV@8ta0>lh=aP1P^Jq*UiM_o;>5q$Y)ANY0*d1Bbc~NBWOY+64GtpG9 zXuAI|&TcMhEZ)ryZuxIweaW>NtISNImBff=u9amwzG&t zjN|}vB$w;G#V0OU7EP5mrfw)}Oda1w0=4I2M@GY&VpWnK8HLU#Mm+dwM-}~dh$=|z z4)S$;vXLc-a?L18QwMR6Pgk9+)7?d1;a6vk6cvD;JF8mMUsedU(WK{&XoMufcd|-| zeN$-F8?Z4scQm7bp^tR_*qg_|%qos)Fd=l8z@ zSVh_#tZ*>%x-t1wz&L!SIDi5`Vd{o)*o?8;d(Hw}#V4r;eZe%z7^j&5qfWM8EjY2y z(T9@)xTPP{|KOQ%&uHVG%oah4^R>P=8p1s3qvP-tHGi3+UzpKA%@_w zo9BZYW$dyi9llK3#MR$vblC#ewRL($wN3<**vJ3vnk7-5|LG2{{-|!Pa-XVtjjG5W zm9@gCT$Q;|?Ib!Wb#a-))l)~fQMLG^TG<6xB{^K(K{@OCEi_^`w+A=(1UHYUeE{CZ zl`aV2|HBk1TYEWfGl<4dFfBa`$|2v>w^9{fz#r$n+_6^LzBQUAy(`fGM5j*0bNI7%dgF~yd{HQv|JtkmobzuEiM zEMuGsaJ2wUZgLECQ<)FI>5RhwI5)VtCAhhr8>0iRj)aaWyU;;FU#VKFUU``P->%u^ zRjN#%wsG~*I{pmzsj3$??y@TpGP(j#SLK5NHXa1@IduQ&uz=tx>AtyELeTB+41w4z`zU*LUpu4_eQ)JmOQ zk;S^wiapP@l06-bECK|ikvYYpQUy)1XmuFoR2nv}aOUKK&FI@~1a^vr^sfT_{78D5 z7;(lVr->zS_jc3I{n{WXwcxb$vA$|?rKuJ~auJAbgb^HR1oQK|P{+9UTj&_CFV!^c z7lIO1$TW?0I{p!@OtmO5-hB-V+3!26DrkC~Q#s7Ob=6K)f6s z{FIcBqx4V}WZKa#oc?r&c~;%yLjB`Dr+>`9eBzL%}$d{t}-S!Z`=y zs*HBZBu1>6C>UFQDDOnt|BvB(iIKOB?(wRZVL)lf-QiqM*RikN>;P@0dII!a1%T}i za39d#`~DI~NH{Q%|9M##AUpcs05H5yn1gpeAfvx$e(vBru+88+q8>O;|4abq!YIxY1M}>`f5!30hW|mb@l5IHL?ci4oVTH*KsmAI1CHm^_!lPDB2L zq?buP#ES7sYCKBvXehZK%Y#WAhqr##*a(|2Jc%|a`W^#OK#Q9!ne+Lt-a1umRlE=Wksq;2K#Q154ed8kFT7GR$aP?;a7H+IR=(6Ovc6Hu*nntaS1UItI>zjk{ zN|y2uAgmK3Iwy#XL*8V%V2if=62!062Qa&-0B|$wwn2Dory?qzpT#-e=xheqfKeZJ z=U!?xuP{HBBMa%h_h`aFxWfA5f8=wwt?IY4M@Y+f!A0v6#|VgJJ^;u>(`s9jH`HH~ z>2-G^&cpc(4azO&49-Tsv(0(BACPnOn<|{1-KHL9Xp>JX9&@wwCbdfE%5_Z_&eG>} zo28R!o26e}+V}*i00In{|l~+ zh%3u{NUl?3xf#Oe%IGpEW+|Z4q;pgW{t<&}tn`EAl)d&GH8KBP;}OPU66cA4LNBC+}ve}3!XkWMspWMgVBCbSAk;`Om3i0p|CZp#!g z-o%Jl)N$1x|KfAik?y4J++3%Tt1Y%QA&STQTH7_ub?vi^t5i>*MHr#jZ$TS5{QfO) z)zF0w(pIt%(x$JiqMQAJx^$I$^mjcv#y$F#d$d)Ldg;+Ysa^70T5~AkepnYNwA z@z1di2@(4Gp;Wr@>49tm^i}6V;J<9ZeB2#!pUji|SLwfZ?|g@cNdb~W;qmmKd#=O&)xF;e*@n<{XXs=a*RUJ z4Zgpk?_TBx2j3dKEQD`BzwWC*-F7q@z&U{Lb^fx=VA&16Q*-dWdQ1=Sy?5(D;rsQ3 z!S^@kIrwh>Q~+PM?Co)3&3a@un}51bisTO~ln)z6JNQ=9fe$4goYg+Jw0_(_JT#!+ zJF7an!FN1;_mXoRd}|K`U-#9);alRb*bWZg4@UI>-$wJU?k^vF`aR<&gYRYMI{40; z_~GDtEc>Dk0pG8wH_-1oe5)S{z6X%Mk5|WNt3o}}ulwrY z8pqxKvhCpT{Xs(y@Xh>5?H>@n&$JkPcMf&%J@K*+2j7RtlYR*JhSVG2JDm>v=kS$M zQD*QA==breNH_ZZ27UL|#~pm_Wl!?K)pBt9ZSYrY2Z!&7i+g}?a`Qpq`^7~D-*4AA z_^z1n;ov*ztwX~1zL5^TWpv;_hi_i~vdEOC$5N@e8+<=T-@Pxy9DMC%Pw>^(hteNj z_g6UwhwoqOdw}nd=MDyQ^M5sQ=Ez=PYMLevDV0 zH0oAqrM`YmC}3axdZ@hi=+Kf~K&)j?|IpH%tS8blKOpd^cuplTJvEW=xEi@Hm4x)F zY8GQ3=Zp(I+}tbiDtn%0^-8>1 zIW4?}XjE6T#VnZzE62Fv!F(u7PNe&tBPj?lN<*_y1V|lyWY9G-O#gp z`_J6n8=`U78I13QHXTV|Q)+l3yemeuSN3)5ZT7FiFK%DOBz^mVLb}d0VBVBhTJb+G zJLmI{^YK5oGgb%|!{`S%pvyx`6&N71<~_Qm`>%Pz9M49!xcH$Qs1{>f8?T3M&nVs} z$UpxmUXY3x)dy!?A+2Ioa`Nn7de450F$Ww_FYRF~BPXVj>n+eZz3Jv*{X^-byN#r4T` zB%9~pCYJv7$-l^2Y@kR@)Zkt9(PW0ry6B3x(9?!nuB$q;;TASuSya?_#3U}Th^@oQ zhA>&F=+DrZVnZSXE_<`YGY=8m+PWcrlv3!NVe+GOQ>c|tM~-CIU}APH&xHQw z!?@vHp~NtNgTI8;`|u70RYY>}iH%|6uln(tuAFwul&aImrOsQYvA0l}3# zz(-kK|Nj9J2V`?Maty?7kR^|CH@>1tql2H4itNdD55>5t z0?PpdU|>*jw)VJJ4A@0?IPPnzo-UIi8tbwH)|Z&*G!ku%Ns#AW?wwD3l3 zg^lijf`g!Lo$^54*=|RZ#Uc%4z-ogU%A@b3IKDi}&$X$asF?0wUNZ+2+(*q57WmZk z-@T9D=B)9jZauG7&@51*iMvdEY2q%2oXCd;8`TBGUJh|DFXtu8o+~4*+!^;eix6i) zgEGM4RXW(hL899;=k3+;NOMNg34I2pipryFlBc#DT=gr;IZ2itP84TI4F)d?0RVl< z;NPF=WUy)-SdM?{$u~ANC$roWc#w4q~X^hn7AHeDsESQqHCW+qfIazo-=SSrLEycT)aEMReR4 zb!CQ-XqP%H9a?JJLTjy-iYMKI%a?{D_Or%S1h9SLCQC$;Wp4ke+#K;x1L5yzGuo}|Dx=-Ws+B}1LRJJ2l>=A$j=V8Owx0Ikf+weAEgK8j~V#j zMM~zF!jAjK%ikX6T)}+7)Wf2=1%G6kX2l;9X?TDBs68-$JeDh%SDn#H0s2`nGj0`kZiB_Ii~max6%vwE#QXh&oEi-G>z&uhsyX5nuC#j zM>x0S=Lpd5w?1=8#)#&8+&73$O#G(};VxX|2SSz{C4_V_usH7Jzyd6V}D-teu+11=`BSmvCAXE*`!XT7Y_r4IL;A7hg$MB=W&T%%n*XV$4KMgp|JY2Q7lx+0ZrH#qFym)Fb`4#B z|5A?)h8>s!ZvVC=d=t(w$(P8t+QGiu@; z|H*$4)-f16uh4mZM}`yGD?CG4Ls;zdmb6!s2l;OrLH^Uo!ARTdV59{@BJC?z)4xvi z?;DZ!wx=PjYH)938FzTn&Ofa!Y2SG9aHPGzM@GidiE6_gs-t*z2oP~Z&+!QhAcKW-f8%bTT_sQe?QygzbnJ@yi{pP1m7_RF9R;-ADr8daXS z65`dEBdnij)(?sA^PTe_r&`wPPB+@1egX#w^Ivw{~ z>io9c^5?1a=EI4H?hWgZJ}vNn{{YJ^|9x)%zO3bPjTFd+0Qrd9sUdtKXuT9z`$wp9++LT(q~U%yfAQb-GuwSL=UV zIzUZ6efpQ)h)RsdR0ea=s_dW6g5Ti_jebdOeavl(-Dh!wVh45#b-Q9c0bQh?C_;-o zQcd;Qrg{rMp%vI-bY@+|-yUIIf$2E&2b-M|3*6FE)c%>Y?{_(IRLjpN>+{hqKks7p zNGk*C(A;s_Izhp?yr zLIe8Q6dm4P>#oA*MtdLn?ny90xsafOB4jO3t&S{9`K-9eu;SSGU|e{OCvY(W{QITq{-28&H$S!im7RrftsNJ6SXU>l^Shxxzyw?*n{Pks%gdVGHats>us zelN}Wy8GDsI-IX&|E6z?@5CBwkHJ0<%So$@?yl2P!&f_ftQOJs?P{@-gSYCWONFc! zZ)1EM;w~OZS=Qx1zg< zZU>Yp$bhP+g0D58+$1ZU^muA*d$8k4wug6*^GKhvJ)H4`${oV?P`0a~eYk&FWZRd< zMq{isYDlJ=K&*Z9I;+u;tsR$cMz(#G%Aw(9a8nA6xe zOUvJd?@7FS2k;fJz@G*zN7!~WlZz(^K;p!wXuBFFxtD}stlw(R$K3cQNwjq&ES<|A z_pX8BQ@XNqOjkHt8NEEw@P%ZBm_*9=AyWn{*vX_~+ZS!8UEOvMsbp{cX}1CDquZ9yV!+k}k7J z`z|*9%2(1jo8;Q0o+Ke3NLxBt6zF+MYLGvn7@x%dwi(?nls!^qVW-7p#czUbai3Pc zA>=x?Qa`)lFHS^~heMJDiewk-cMl;>XI>_`sG{sAPEn*(?JGz2ok~n1_hRNlMCUa5 z8We8~|FU^Ge~6YIe?@FA{lGb(JU*K3+w%NtBKro? zA+8Bpz)S?V*U+UaiZ?oSbAXTcFzpv_Y1_A73^09D=IY4a(-fx3!>#cjpsK{sbpO^q zZkQ{7f+1^VXGk;qWOdojGqHX@O?pU4uiK<)Ht7zM z*x$8j<89gv%Jzs&Dzi!dqokkPq|`8Ow*necQi=f81J->G{VMRmP^~RnC9cncqO7 zbZWdp?Y>A5t6l#@jO0j3hd!FCa)9p-nygyJ@rjM0=^tnx7{`GTW*_(zxny9VC7hSG zfsxTNcrCt=HOJPm0-UdA510%qGjlQgj$ncw!$fjlZ_|$ZpWmw))@WmlIgTsCh&^e7 zfyJ{nec#Z$T_;dD5YLNxcV%o>bE3bPE`CjZpt5*izB7LiKZ8+%RTuD*3ix6D1HVQ8 zEnM{90QT+r58Uq7F^BGduGjxZ4$=Sdw*MW~|C3DrZ~bQdmw@o-ACULL1UwJs5~Ngr zivp|4^Yh36$tJ;R|FgNdIr7d|%ihT{{ykgqB3R4f2VM)rai`L`S9~tq6aFPpR4%If zq1=iT%1u%82=c8MZi?UI4t;>YSTp%kZ`>x_7@!+QPFyNFS^CUnz3#y`McJz1q}ee4 zTpVY%jBmnYgiE}#ky$wYC?LzvC{!3xsxtUv+}y5Ehz_>Hd?WA z;-{=%xhmJ0|5!^8XNrTHrvChSQLK*R+8Fvy}S{ zO*^fjUCWZ!^Is6Q=RX6s4~E|b>RHJfM_K%y`mLazbv{r(Ir>0Q|2PeGwP_>AUH#kr zhDxHh4lM8OdPw}PR-TfRJxC*_mIIILgLA^G=K*Q<0U@24hIC~wVZ-9L?*X8_8l518 z-)@KIU&YPf{GX}OabJDt+i=A(g8KYX2g2{vG}Jk!jU4wX(?)BKc#a7>BG2YS@b3tE z#rfYOEhn7ttsuR&3P>NRI1r@M(~wRzZCLy+eQe@^8lHz7>kT zZmtxTuXto%J6!=p?Mn;E!u=%2XPc#Dh_dP|=LkO<3rkgj;wJXhTbkMkP`j%(EWrZ3eJC3z-LM$2^?}e3SrO|Z% zW$stm2K4zuBS1#Z`h^3I+hrN;P@PDmc*zWZzCWu`JpL3$rM@jYZw znviBYql+bClrNEzF{%ei{~#5#A)YWmus|-aw-{f#|tFc)n>N$9?oyo;*nN z3>wK4V>7sPWL3t}9@J@^c(1SYFXp{a-68j6J z)f?3ej>gBq%!Za?ebRG9nk`fqf(>irZx#mUs+sqlB?p9D+)ScV(Vu1hrAVdFl`0~g@z_`w)@;o9=eiuw#1BmxB6|1_}z#*?syWSh=g3l@d4sL z*Qe}@{*(Y-+^gxEf-pzd+4+a@ zWcfoaQF&@fy6i@;->M|XQqU|(v!&R3|8%}(p>=-#b+?rB^G-T!{mad1t<^|hnK{i= zy(FhrCth?C3HhPpRCSuZYWMbVZoWqu?MbBowQ0LP5bG=^T11;{`PA-dUjrtVCtflX zvo>yLNgrJYQnb0|xae*UJaJV;X?rY;dDK6(tav9oRg{QRg7YJGzv&-Xe6<$Ee%mfQ zQ?M=O^TJ8_Bd3D&b77iy&N)}`xf74pUQ;N4u5+I-W`80%t#4LUUSL&ej*)b$O6AQ5D(IFr7}sGE5UO;ljJ=&2so{~?fsC5t zcvNN7=)lKB;BenMYG?DxjP|MQ7DsmfD%*4=g{Z5ItP?G zZ2en%sq2n#KPHX)a)DrRua?05UBKZtd^p_uSho;`=lIZsV8WUs($I*10B9lry)g`| zj5DzG5GrD^cbCQn_cIERl}8FG z2O&>^;0b5Dm)@JA%o7Kv%nq2YcJGn1j$^Pf`ftmxRbC@+Y)EK?B_}b4q~O8!?1Lu3 zGA+=|C6#`$`z^o0+3hh{s`_t@am0}oYG01NA6V>SpJ!KkFbD1MdW*R z$Fn-BV7oCCq*enEn?IZ^6St;J_ojS{`)j{vRMu;Cs$+H`BccFkQam0cw6Ws5NK8%> z(6`JrFf#fH2tNx6wAP%rN-{s#kZ(qHUTeZMS{3}dys_**7Kx4h9LR{*v=@p126tg? z?@7_b6ugbL!9WRR%!v_V>a28s*8E=zn-zlXR?uvevR>f@9jZr1acVcwM&*-zm|rK} zZO4rgz*8k6SF0il(3jRk2_duSSzQ()M$rRhCFJN%NH#qpf=w1&o2bSd7Fp&icfUN2 zZaqE3wxZA0FnDtou(1D}<8J=Br_r@A4SJ-K6Q&PD^anYSl8{P;d%C~1WrDHr<|fUV z!D#vBro=VcHt?C#{k4%yg|2%$ z;QYGs)gNdc{MzxClr|!+xgj}PKBQdAnV$XtXT}hQ5$-e4@WiLozHRlcby@kqE?>{PBOf zg}G6EG+P>t85ZXL7LK;#e@aXK5jDN>Z!0k4UlllY7uoS&-)8*lG$CWVi`AdY(0H9X z>8_BxRD8favjV;uyZXdX0$2Hq znFBn{`tmAoeF=l3-4>6{t{E4IU68B!A)u=u%Dh#jG0@>;T&Pf-Ui`?RSAC)bv3S0i zTs_@jJhHQm6fOxL_<#c38|?g$@7v;0bEeRmM}>;f|dBa#9D!ucjX z1E)A^a%BygVv;n|nH6dw3&{LbtDu6JobjfwC>!Wcln((ZOU7k44iH$t%X&UGY-MGv zJ$Kq8J2|IXU)H>ih!HRPH9ZTzvy^Dv6*Zb`wmAg@JBaKmrL0t??#0y}G1{y%&9YT9 zfVsz@NYIq-cYl_8?d^CHK7&oE@5wQ+xcfDCa-&p7F1cHs>=lR|^?iN@mTl+eqHq^x z>2By_fd4u7&$ws5@=0^O_8D`u&seimdyL7aeN-FzpW@**+i&Rhm;I{EvnBk!RV&_iSW{xG39bHmpDIm*_jgmr zTd6wsE01mC(#tffyIP z*o*JBSpHu*^9SXz%rz}8zdOC=w19V)9Qymp7PsF`+QJ=9E6we9_;qsoUGM#Fzx&j^ ziXqPNdG}K9d9n9AkEeUv8V?^shCkoAEw%e{s9*&mG<~ z>OJT2#Q$Km-yz!-X@#aMnjZZ7ai0NJuP3>z{ikJw^R)`8j+6}DD^Uv3tERctY`to! zv#N9&`7@H!0+DB>muNk-s@A;mBT~}Il))HUuW7(7_KVf(r~V~RBfn&?{zXdO-lH~@ zzn0%_=Tv_E)IVJ0-uP7U6^Qwpb?dfRhI`^i7{$|Kz^%E)8xM(7T2si{&*q^IdHu_i ztU-Rwl?@yp0n8!cE_A6>4J9v?Y(#*u7eQ0Q-xxz!ljk(ax-(8z3zD&`Mwq-j1Nssv zImW=B<5ow#sb+eS)(rR{P}4dIy;6xDB%c~pz!?HC1f9oshT@}+3odIK9$e-Q4aU0_ z!m`H&mhB-D2Elxa*UUWw|MZ)s;b8TcpxeJ@B4gNGBp8lD7Gq#z|CL!sQw<`O+LPn0 zFpOtiewHyxK9`XP@Jj|*;F(~;>imTh0;@(%(Wgks#ZAI~j{D?75BeLcg3&oZKZ;g% zdN5bz28!RlsT+qN4K%ZJP_pr#GHvW*1?i4AEfBfH;wU;M$0{@XcH7#=`?XI;pE9_i zg>}Y2TAhOsB@UxB*UU!9N4$n*IPKifgR~qbnCb5%ev=_#p0l$}L_mFU+$$2%}&KdRbKf5O{@7z?zo1)&oNN zC($$5RhdwL3Nn40xyU+C(`X}|HtV;(xRS`T{VwxtRA7Z{n`Gtd9DcYn`BR^sd(#sZ zpE(%f3=_}$Py;b8T+_A8dGwWvX#O4ia2733W|3_Wv$hvD1K-CdfS??c z=LlIO1Ysz8P5$gU?15&P85;|YE+`ccv9Y**tal=}kO{ZjMw8cC7|b2gsg0aJt>a?K z)h7vK-fAs6CJ-sP`@fdSKACTbi^g2!t(c22x~MvtJQ`Fj8vi<;Uzb_NAOq>3mIWF<+NidZkEge!8g z%Lt;AlNpMRElvDVLnk&iXJo9r5!V(iYDg$v<}4V1j|sTIGM~RZ`D-m_4G130EnrR7 zkuArxxi%XeAO6IccOwv~@MS#57RVmtEO>>_f!N4AxB?-!w>j)o)NKu)hvU|bpF@lCg6nD1c`HS2GXSiZY%CdX6bfdD6Yt7ivhHG`{UH=)D5DsQ1J=Q{2eUX z5=WV)4_umpiN9(wdGJ0a9yrYR8xHe*GT+tNqc~wv(C$V8`i#X$_S5VP=K=pFTt8ln zPsxfXOjyc!nm~3%biI~y3qHm#r81Vmn2C;y4{L;uL&nB48v~KAxXEA5NW&Mu3PmJf}3+ zjG1s`QK)#&j9H=RK7Voh%&V~dhWxf{|Etd|+c(|3AKNQ*)5w-gZ{T7ks@6r&-0ErB z-zR1elZ8i-P*h;N9$fZ*=BQ||q7f_0i!$4t8@-|^TkvNlKFP|+7#$nmh$f=>$MEkx z^eDsyogk_SYs2ue_^dr1e{ia#gLBLGVSN?KrjRKyxkU+~BK+e}Y$&})9yNhxV*f}U ztqLytBnxCX3r-|IY0OCW%Dxe?!Ox)%l$r29WgFiq>;HMh{H-;;okv&dYPZ;9W~DeX z8vbhr>0IYl<}6xK9^GU+p6ooR!GjOaFcV$n02G)j;+D4{L*XlsVeAQQ$&mZ0CBt>| zz9AXPzabeiQe?;u#ZE~4C{sA;s>x(ZS#5Jx_=h2G+D5Nf#RZsf(**fXEc+ONzS~)_ znardi(EB|j#QhbDWRz|EcSZkyRLuX#Nb?mH(SFbHL#UF{GR2JZG}2f^3R`~_hsWk1 zyhkD-8_;Kpf&}S`+)BDI7Qz4+ite$z%hVb_vuO=@JM#Fpc-!`g#al5uusA=ol-j2G zL-TN`E%J=F$R?kS1JRMCq4?}(kB`rRkI%`>7!wVhc zkDKU96b>l|!TN2s4P#>wubIotz^!|Z9IaSph6b&j!8Ff<`<*Q~XV+>l(6fJA4E*zB zi-95R0Jp)wp*z3d0H*V146Ee>4rGgfc4MOD=V+GjCn4LvKeZQ0FTjYHzub=U&ZGom zmFPxI+>_Xhb<{YZ*jQMxNo%s*2N8jce{savJ+dZ}K_*2B8tPzya&QqJiXnJR59<@Z zGNM6}<>$Q7COWg%CaQRqHPF|JAZy*n7iuls)a=yV?=@MaRr|DY@%%2|2msTzp>N{2 zwyn18DN5uTbmqBhm~(eI3$7(^G5(_Gc&$&XjOX_zXxSkCv*j zZ{CsQB`s@?G<9+6{@&!p$20Z6#xGTC;Qi+HS45YEVn+s>msdKEuR%Jq8kBTi7F?D< zIy)8f<&qCrAr%W$+`)5HT58AMs=!e&ZyTL-Ave z-HIDa!Ctnpi2rYs_HH5RD3a7@rE;5%8uv0@tqiz&!7INjdzzMozQZ`32MP+TwrKkaI4{NM1q}i#+J>T1dT-k{4A{yF~WjRkE+! zojUxV=FX-_EjevkqpRaTUFL$lTCjV;X-|giO zUmmaeRb+4PnZ4pwFX`DWUS<5hIJ7XUlL`Kl>=uQ{eH`nRB5 z*D_RdW#=zta;Z+Tf5gCn%R((0f}QNaU@3SQZm3R`!%E~b(5)?qd~{!Fw%ylji@j;y`sxmdID5{Xr2; zcvnICJBeN)4pYd@_50ksfqoLx$`9^pO9=IX&2&p$SA%}n)v3k&E{itMp9x7dI_madSNg&ncqHkw>Q6KWaC>Bp1`6?16+kBIBQMG6nqfhmJ&fgmSLAP_=Y!3 zk+!_i269U*AL8gT5kUPhWmAMebM|2XS5-c~Yi^*~@xjPn1t`Yx%Gi9NwKAHgi_d2V zW8cr#)?zUBv`LQ5SH8+vd@&DmuR76X-w(xc6Cxb9I|thq&5xIe(hN{bE+1NtX<9=Y zjQ8p%ew`h0P-%fQfSZibWQEkE^r>3}2{EGZ0EB_T}#VXM+ z*Gewet7*oV#TQp+o8MM4NeZcJ<>d46*r4xbl28dG`8XoVCo?PK-)|Qxz97%JeH2=H zD0Vpt%9}7|=D66TUJz?*_#cw86G9BwDY9;Bi^O9!#TPn?pFwjaLY=)G!Lp;XAj$ku z8M{0?6f?VMm9gQK#l!NQ+ux=2P;7CndCZ-g60+>QgCrLu-K3SEcsW?&@oscQ-cA6uE`q2 zs_$Q(yNPMY(^W&!*)T?qY3;bm=-=I`G*}ruVQeh4x5;=Zd#zPQ-x(L3w6`hoFgDuC z*a;X5hvj3t>g3$=ThJu=GL4^^&in!Vtc=acsbqJd?rmVef_jFB)$qw7yS0e^5XAoN zEVwIED61Dt!Q$()=XS2!ka&n6Q|p6~X1-75JGHU(bd!&6uZke4mE8YOS-h^&39Snj zH`ip=ZAex@U`*jnCRFx%_vkqa&I+dL(5gMo^177PYAp_Zr>qbh49@6~L0ntZCcXO| zWq*3q@YS3=aav{Z+s@68k-$~nxh$0mDhIfg13p1U1b1%|*J;17vj6f>ySK5@62E%1 znJK~GeBD_Rif${%fWKgtXDG3O%!L<^(Ej4$YZ2TBzD(yBEWaerhd$Xg{eqFX`MKcN zS@4vh)ZF}>isDX~4p$`$$ub zKdhd#z?!Y~O0_moqifkG^rg~+pOtI<;P&ly0A&4pv%n_+ALqLP-^@p8+2qkyRiimn zA7n&@w0zUr87p^cO#0G3fIO--jew&q?ptiKa+r^G(re6B#D(<)Tcz#_Eq|@a=PF+i zCO*&}lh34Wq@rCpw5u2-|HQ;_R0qQ*d)#%`dUh(^3Dd#<0Z!aqxF=X!)`z^+OW8&W zYl=hhg41<4o~2(wIUfqO^eb{794ox-Z%~r9U7(8+3bpDhO6zX1Z^kpluQ=#u=eVfsrq;fQx@79o#>^346N@RNW0q$n3JJv|w%h`E; zwX*m_%%tY`38Q2AkFimZS5f@_%>I?d?>h^04Lz&;+~BfzGe^bpj|YEc#jiMZn+=a$ zP*54alBsrwbMrB(A$ob9_OIV}B40{CdRo0E;1Kt?us;Yt3g*H_DfwSNy)0C$v z$2yOTU-QQd>;MU8$r0zq^AkjFb8gX%Nt*JfhcHV!rZ?w%5xg_kYM*rgKZi+Tq6V% z#MqK}m>O&MX3gY&hT6RyYq}VQOWa{nyUaW)u^a+;{8zgdWue{>WN!WxX=5ivN*25+ zwm2HhDZg45bm=p)wkta$b1?gX1d*Z*Dvc!M$J9f6*bwbhOgVBu=+MyuZJE=n^ zcnvuVGz@}fuYYCu)L?OA&ZP znv(r=A5G*64{nSdySRC2^P3Wclr;SvK=8sKw{+Npt z_2!SoY6*e7$vk~?molN?{^AF8)!UqS@^OY~_kWnp3Be|b%Vfjg^x{Mnua^Vc6YN_C zqGPL!1KU>){D-Ok?)JjTBC{lvj51}T7cyEeoDeA)vR*{YaqBPjSpLF*=Q|cqWCAw7 zFh3pVn|tTIyqK2RM~QK9_Nq){uGc={|AIo>{Mf>kBa7G(7+Fe#P#)i(c-GbVmt-Us={HrldQy97 zy?VD(zZjx=x5&N#&-aVfB1h|=oTA>*GUrNlVL?|a`(G+U#Y&E*ynlJZ*t|%|i3Un6 z?Us4~8K$)V(*l|60m&g#bG6U^RIUQ)jq9kRGInt;YZd-q&1C;?XF&yPd97ZnjLBYNSl3I92*$di z>vSxOP3ne(Ug!SUB~BWU?cac3v-YzmNZ?mRSE@zbHFYlGWI3&?8Y_IDbA6x>2Jyiv z28%jAAf=kO8i7jI zss{6X!IJ@Y_b`zMD_9qnHGI|}up;96D%GPR!FazSEN}retE!kEQaeh|@;gan<`?p7 zd6SU4m#2EJFYGHl*_B!URC7Yo%j4B5N|?Mp+N3r5ySV%BG5vuBk*XDN$oKp34bV^9 znvZzZkQOvHvs+EpHd3gboeZCdo@1ql9$(K3M8Cpf<0FrV(pVkF$v9C*`*1q?d1MmW zUMS{>l}BQ+=}+K~{-a})`e*9?2UhpDoTv<`?xEjmwwIhN5)(f)#=Y5P z%~yPxAyscD=Too`m*Fvl+NmBJ{@2i}_K3_fhpIGS0*OL4HAcrm{nOyFJ{ZT@ykoT6 z5xX)lE}HpDq69zQei+Uy~g~eLa3EP?E$>U<<`{#}WWDHpwoCOI!mJt!)h=f>B_G9C%v6deJ*(8># z@a2ucW!o`(uL-u>RM~lbWKVNVCvAytOa{$frf@sO8#LDy!Lw+V{`eCZQ_NmwTUh+v zBV-RF2#ZQ$2l_Pk(^;+93!mr#;0*M$2w zUX6a@F6GTVi#sHYW@qMyLan=sv}!KZs@X6bf)`y|oHj+O-8A>|VH!qW$PIrEQ3=-1 z0ilUeuM&3ArA>gIyAQCEZn1ve&C;;d`q|1GsVJHgBpNn}e*E64-w2pT^qjw;Oz}J5 zzQ>HLsB|j+UG`U-V%;-H`6LuCsag@w2sssdVTGDr2!^AL{4rKd=V!-27F5Puw!_{L zD>K@pWogo>)?##;4~I6^G&4%YYBEnh)VU9@g;OT*ZRUHOrzdQ!>7iCRa#rB{%mnsE zD{CN&JCgt=b@a$vk)lyt200e0+mVvoMyV{uOG62GX@$0o(JLc>m{SN@hcRqeL@d@sw_XB;t=ESaQjs_86YtU$v4ai+#89C}-Rt;u3PFkjxBIZE@}zTJu` zpe(9Qvz5umXs(ua09)G<`%jefSR$#R22-!1ER7o?AiNe3bJHwDX@s`Sd_0-kVotWY zHMm>w3`KWH{<%x}39n0#08Zi85k0O6M(|BU&)sdjHd4zkFTUkQ$l$FnQK%FFWp=JT zpB9jJ^rNC5N9p2&Ukb%DKVw&g&GV)XH79a{?6d5$UCT1VePZFyILWY+<225K8RQ=q z&#XN+p1C~Po2;4mTNqrJ&^@7ew(nlN_Z zufZZFBiW%my1I5xr%uK8P#>`yJNn+U{v)rMl7E905#G2e1I zGoezrNw!JHk^OqHEn)wm;xV@3krnh@_tCV=s2L)ct+H6}`g!}lT{0@9rvxM%x$ zUG3SKHFmD6H%DjTc}@$h3+y&73>*d8IIDYfnYJbxaQY$Gkre(cw?2RcV=aHMVYwY7 zH(;lI7w&2%eA0h-klp=|CmvJoyF3kB5&wzc0LIdra8NnYq&IKoeCYQ*+UE$hd3Bt> zp3LyagQu^CV;;Nlg{&%P6!20I%bW*HIa+@bfvUEcP%pxRNy7GGp6=9C>+p1rJH&^8 zF_V+LttAMd_(S=#rCkxH%UN($m(&y}$uPCtdCNvx=H|fBh;yrm!W0~^>G^`yS@Bbu zol2?YO((rL^25=X=eK1zH!qh0=sdrj*JpUucsC0TCb(SMKyXNLXHwI?s%CkFiR^IH zJ3;m8rAjYc+TP;@W>Dt627Vd{B-oW8$!`)gcL40DcI4hhbNaYRnd0N~N9o5l^TSr5 z->&ytHR$(F@3$$$?NzDvIBk+j-Ci z_Wv$1bxolBMrXnIZTZUh|Fpv&cM zo-z1F%|xNUaTL1|VE*sUg1_lNOY8(6yHM_aGyhf=zv(P^z|CdErL~C&fX8Beh95rfA_y#7U1xB0h3BiP(}B zm91%UIS|o5_r4Fm(TGZe;*%qE0CLpM%^yYW<=8OhcQ*#Atk27dfD!B7twN7uKQh10 z>}Y z?$56^KkPdD8v^MAmjc!YQYTnm3rR~vaPM(fnAgqj(sa@j=5@RKhe%S-k_^JBex zS1Qq6XkJwd-{+*$tIeycMb3}>)b;KU{M-q5oS(YgE%)uHKXtpC z%PWSR>;6-LR62Ic!;>@IzpW%-zga)sSIo^6DXMuy_X*UJiu)l%%5Jt6T{$RyxhN+6 z+}lkMhL)Rk)X*<+(SP^Tn|&SD=+9$}{u~>TU0al)u&FjS4*H87E1ANowRjWTAvMh{p& zt_4f6JK3iCuB$=macey5?b|sXc>Z#>uHbcBhO;Bl>RgQLc|7yXZX_?Dqna(7-z@=T zYjF|3C%NC%>|#D;*k3*nppK;~X0OxDt#?cyif?cZJ150~_)U3EjvYo$&klNBOeIdw zkvV$TxNv%Q(rbfx9i0=1tSksB-YsWA;-8Tih@GQVeUXzhD%!WuUl`?5||et>)q#EODgL6>ds7>M^P zj+Ff7X>cI_$^xm}S{F%rnBku?L`z19cR+iuJAyE$Jtg8^*(6j8MXZrPGT4#at2M29 zm54QEk|5Bw@y)2p27#G@_&AG(V+}||(kb5TM24FmApCW~$HCOh9xSTc&03G2P7k7e zbQ@GjFq%-j7f(e;XP#Ijz9Wmb)2I3P5o!+lwWqe{DP9{9B;JTA`JIfp{5d<3+ zPaX8S7!XM|??Ni?nfdzAzz=81{U)!DZ``fl=nu8~xV$yW4~6}Sg?q5p{oGkF8*UE7 zas$iW>xjYNJC$+bY{dKVoR}Ai=ko-BK)cVqhSa_f%VPU}H~_*qzJCVo&tECmk?88m z==z|p71N@-xA$H6Td>{0R~T6K&f&pf@D8}<6C z|GLLr&TGAqf$lvg`WAwCTSHOn_4$9$ay=2GnNK3du5Blqd$ zJCWIJfdBj*2_#Ue-2oVRGvE62jroHwX6QE38}p)WnU`(;%T8W2iYVxNo!eElF}7=5 zs<1w~-qVx-x^1T9A`i+j$TyvCif8@y69X6X*FM}r+Cp{#iFksYEhj|gr%*!MG zizf9HVEQZ=7MnzN0R)%|EAa{MX-WW?stB;6FXBlRts%?sH#D&IB|h>G%Tv*)zY20d~^xWY0P@zu9m`jx6@1<9k#AuC@k zGlG{10I| zT?V(y()hj+F`rp_E+OpBjg4QCeQvCL1tPE%yfw{WnmJ3iKO*kgpz4^*Y}FAbifw&x-!{x%+Y>D@@^e9TromBV65+WVn2L}hwO%rdC!OJ6a9}DPfS#s00U@8 ziT6@sLi)*KtDijADRZ)C#;moruW0&T!KZ|kXSkn2G zJ37|y{<7i~;hx3oe6x;R9cCwU&4Le13$V#6(x2;RTw-cocVvs2%T%*Bf0+6o=4*@k zYX~Og1F71_rR%fJbx9}G&lqGHxR@%+IL(Sf=-qTHuPk<5p{3tv&Vqq_Br!Ld`D9sh zSs@xap7|ztXrI~q7W~Qy&E#+~naLHyQSo$toNA{;)swj$oNH;Rp<+g>w{DvEJ+llpmqw(9xJ>t$~xS^=t2FeP?3f^y528`CSxNr+Y=+ zyWu`8sh=T&KIh-w4Rn8~BJlfQUN1ZbD_kYkQr0X@Xf6p@N!b z9W2=E!pE4LM6?Pj@d+9UMklSuF)_3rz4^zFN^fSY-{xV&>PyK}-Tw|Xu3f=cH&hgb ze4UfiHWy~yt_5tZ;n$SOxrA_U_@KPEwxN3$Xp6F2WH=l3;N@3D+j5owtoSE!2ftd= zRfI4M;;o7*VxhtmK@7g<=7?OD6ryxg@tN&O?m~^9x#Rr` z?axj8JMtTLvN@LR$ zp_2-jsKsG)X(HW_hVz##>W4QZY0Z45jz-f^_!xAT@G(W)|D)E30RCXH;Rxo0vkQXJ ziD)L}$8ak~;{F~~t4*|9^umQlc5kblkzk1j*-~gpZ8QE3L2kwetUpLq9f;mj`3`A2 z^Sw32Q~o)I^xF|Xhb8@Ize$mv^T0kqQ>5R>XP@-%{~P`4GJ`Nb-+qLD$k0s;P-`$~ z8Gz&RKH+y5KT~mMOTrHVRG;vsU|Yglb~1#2>EX77@8LzSZ=lJ;5&kkdA;Le8gUQz+ z{CR2(!vBHYTjP-3hVUU>7$U+C;bmoJhm5hY@$Cy0i*0^CG&~H+?KAP3;rx=rb|Qmc z-J=Bb`wAIQ5gT|%Me$DxXPy*{{ZPS0>+~7<%KpqoBO`v8J1REt(X!$Tt5hP^gm%R4Z` z_k~1XEk;MLM($QcbD~w52;vDJ;EanLs(xPOBpV*#nV7(4VT#e>S<|W5XRrmTvt6q? z*$tEOUoBD@9$2;mYq-arSgh_EY1cqgBr;ULM1OUCqA?p*kV*X+UKo$1Y~W&NIX@c} z{Om}{oZpJ7M+9TNIGnV}{UbY_CJHrSPLA64t2kVw+*v#2PSkazF@wqcovw?p3J-?A*TSZIT?)1X(#XPFaS%QDkaETe3R)7a=r zH)ZrMHTQQgXPX;Oa|7BoSET0t^5%babKZEjfP&TnC7o1O_6b(+$7&i5r@p}s24u$_rQ}*Ea|2qx0!haxE()F}kG2r0* z)Qm?`y!+q>;u(WB4BATQTwiv_vyLOtA5v#*0||e6L$c17*=uwPfMLJTP{0?|_DF9a zcINL-#T-9iH-`Cp^cK&24to%xw^=uR>gJaoXxcsvKsClRNNZIq1Jq92Um^R^W{%-iEmSEcr+jzYu+ueE1h%oyxBlrb3k<2M|KO_w=%o! z5KQz$CK;+<#Y>9nDfw&U_xAmVUn}{25=B$AKY;xHg7Sx={|3HS#12mXKk&UR{gbD( zrvH7=e=E*pt>{l;ivIr;{Wp9A`bTNO(tnoT+R$HjnHk-(EA|ev#e%j z?{>(0OaGMKHm*>Wem%YI!GGB4d*3>B>F|2nod|PH-^uU!tk6ntOZGEkJeg%4sg-7V zG&5ojXY9P;7`l5lOLeAwmPlt~C~cg+tv=bwmV4Db{R|vYPvwu|gq_IK#$WEsTe(gw zZFX}^qT88=o5>%^4|g9tuM(g0WUl;>hnIc3P1(Z3eUm@3T%asj+oP`^1d6{Rn5%|b zeDF>B=nc2sGL`LSnEeuIsKY6rpJw`vF1*|7!kN1R>puv@#}H>Er3|0@cZ<~Dz5ex( zT4E~i>E3NCZ>tO^I~^W>JyvEOV{w>RfEm_J>b3?QtpC)=Pj@T7?U}Ik=F9#0i`83W zBGar9Ex)UY|6jPDZTF@OP5cuid6ZF3CZTdJ9xo)6MtiiS882YnD!0+2{N34OwlX&E zRG*1`5?z5+zdZSKp~bSR@lH=E!XI$0ddT_fn&7JC^5&^@%GU(7qIiAKE_}cg-#Kuc zB%c8yy|1XM62v9CjCw2(BD)p6{q!}`iAt!Dcp?D zR`h4QY6bd;NA)R23-qZD{{H1Dm%{iIU%3?7t2Dk^k^UJOHd~Xv-)2aEkGkuVK9Iy* zmL@&z-ESO?&@4XThV(;|zVcX+-uT~p(YL)xFHs8VHO{-zALyOQ!=v{e1`jEp@o+!l zPm3{wL1%xNlk94&2Z@U?;t?NQ#g_0#PKAHsDbvUA%(GGU!Ta=GCkvCO+0Z&yu);t^Ck@hJU#v)#I0CTl_n%)}qmTx{caDIcAa{7Iwc{aFRd75AV z>uvq}PBrzao}IiBPFCFh?{w;xbn5Hr)R*n6ntG1cdMFFWvllG(U~iNonqK`~xop?p z5!Q@_;hT?%4oR~oEc<7JwSU&4ym*@<&x+a1`AOz~;$CC>Gz+cq(r?%o!xa>HyRr71 z4mDk4<2T|hni+2I1qf5w$t#Q*+r9=OD+&V5t98=$_O+&BTwpOvIXNTQ9j(i+C5?AB zNPXXhs%%94Tmyfg82jP|=_s)xnq0#F-E1J1Q+&x;(6>zchy#eCoEbikrLyWWMHZ<@ zychXi=!LPPuCaYA{p!cE!`{TW&J+$5|Kgx82N( zwDX&u|JeV%AN?r3|I2=AG5e{76;4m~fq!|AxHOQ#9~5G0abc=RygaB0(B(XGHCX3GRSeQ%wz5ZJ3E50AXj;G|m>N6GI!ZqB;l6sW8CXudu!_!&$!`423LnGYjy1=`&PRFOIO}hk z9}^eST-md*eRDY`!sFDL3GP(Z?}DKe9{OdF3%%a_m0fmOgavSm8L=g#M~xdy^7H~q17Osg-wKpQ zO19obGc{b>j;fdJ?shlz@~%n&u!`)3x*qqqg$w1y;4Hb#5O<-8!>CdPoI|P=J$WzX z-Sj}`q{7@gv5xukHBm*jt>_P`A|+R=J=EowPw&Tc1Cel`P!~`6i z0^FTx^dooQOB!p6TUUl{jb0IbE*nnk$g)TFg-BD@jPGLZ|2(z;91dFvoZ&34S(*DU zV4BUiW7VlEo#DynFvH;A`CSx_zjeW@O9uYUZXbSouMV&EA{(@4s@4U(xupx|=J#>m z%=AV)DkOJ;a~Wi=#C{*{M?3WR*Zl3pcMGNl`OCFT-rPV@4%s7nvz$nt=55BgAwB~J zM)EfheMUthB`?*RR@_|E1lspAg3bbRi|J}?R<)!^fPhVG z%yQz04GI|(;DFiQ`T_bnk?WKeKhwEYG#(6%cX6j@?ED->9SIcA$aUhQl!K}?s}#H@ zI6sHDl8?)zJ0mIxR16#Gd-k=suwAZn##O0wohthYdQXrnoT38eghn+0Qx`K-q-5vM z)SctS0jN40QHy6?LQR^#7@Qm3^&2FE#2In}Q{6>Q&k;DKA!T_nb5=Dkg%q6sszIgJ zPYwIQH|-kWTcPw8@Qs(&XjXa>V{PC=TjTym10SIqEqs!VFH%zqzCpm}frej*)3dbH z1Ff`5FMy_-*X8eH!ix`n!$Bnf;>+|Zh4m#aNY0?Tx_dv8hp(4g+AvP zcfmR%vMI@`#-e5T!6#>G9?8(Bg00{oti zjb4d2=F7E64RgVmMcQD-phcPyZEj{pOM#Yn6W!<#`biy=u!p}Qb18WDS;KV{jY#4F z=*{I*!~svd43^_R_@Z`S`OWzAEAnF>Zwm6n%y4@FiYujjk348ho(kc{qF$)9U6o zmD%Vq!Cb9xc5mixvf+{K*@1QhUDH&~{YVU{0zjAMs;k!fn%ZZMw>7t8eC`7?Ad*9J zfLb%aem}WI%UhJewjAUV<;R!V+(r?ilqSMu?$gKlR-#9F6AAK!fSf=qbF+J|sX=!Dh$DtS>H$vyTfA}ZDqFR|;-J-b{_LCQ*LIs0SXE z697+AB;JpWDdX&BYA&EPYSyS%FO4;^(TOhvBeB6Z&-+T}6Kk>nE&1;JT{m?01Grxj z`Rb;dI@vqB&!6{IGa4B`;ggKy$oPvHc(oe%<~8fftW>d+$V!Dbb$*d45B)58v=VYu zmQ98XBFfqT@$%l({Ft~#giQgbQSS!6lsK{DKQR%}a6rzriFW)yO4T0!PLp0;%WvU- zcKvg2@H(j34eLNM=hi!dg=unnlq(fXf-*ujnQc_YMFyCHQehl!|Awdx-HYS7 zKr=IO4*m;Yc%3zxM*?N8Rd;RwB!j&Em8x)+z?)#~xA%?PP5g-P0Mqj5^T%b_8`S|4 z@WYCTx{1gn?teZ+O^du-s>24FW#WU+$G?v2cZRcHG9<8mkC1`09`TC+leowyJWmKl zGo==($F{PvXO9Pxib1O@qHElFBN0K0Z^#&M2fs`=Z2hUu8TjVxJ8b`EUh4IY;UYuF z+8fTEK_D5zp=b6PRy(7sxkQP|b!c<|?Y-s=^+12NMl<^;Fxb;iGwMtZvy=dEo1HDy zKK)ut#t*nk!*G{H_?$KfZ^LV5EFO4iXL5=@GY5F^!zW{_*b)z9-yqK@j+w(P69ev$ z&psA(x#ByY^6q7=;7BfM)3Eo`)NjuRL_W+jVzYSttW)J7Jb=sG%$eV1dxr=5uLl*x zZ<+(4xT}j8tH)npP?D!c8&THX^?h3*LImgj-K~3CqC*^?o4hp*i{(Fw&r~1dW1H2* znT4!<35D6UdEVYyzRx{TohuM$7D_NJU!oa^A39mdhh*0CpqeB@;u%D(X5lpKJM)@N z;ZqURy$p5Nw4yGyoQ>|=f5C>v_vor*)=Q?6%a`M=m>1m>=-jv;Vmr6$QQ~Y0r2EtM z&EWSZslIvq7npH@;lIIsFh|wS=pNna^Pp%LtIi1w_@{=??tccBeFgIW3Gz=j(3@)* z9{#gIJ$cjIXo$bby{&gEA~61&TH@b`!! z7~urlZG-JJ z_R=jUx;F9-2E;R;o)_o$urnGGnPp}Om2KRH=2N>TucG(rivEq|omZ7E9QGaj%Og!a z=Dv8)<~{q}3+eR*45Y>8YAzII?+RhR*13HP?B^`$m0i2HcE*{}w<0?Lq2zP}La$>= z8$Qm&JQ@A8%*@PX8@B^R?_Fj6*w~_`)OjyfpscKQXFn;DjhAjLOBP>6Ihpj~sn?P{?XWFhm{}N%k8KxdUP%i#Ua0}mb!vTCZBy-x z5!}F47TM+yvtU?lT&}p8?aM%YFuIo58)d>Cclo{RWB-+kx|hR1_SKB@R%RAXqQ+zw zingODC2%Os?90dL@#IO+r}(Q`Y*#RceTtUx+ERMzNfG+BcPjR?Ucj&5&U@U#^y`Vd zTK#zHch+N|AlXi!Z5@^=2T>`*1NG3SiIC(ovgr z4d!Y0=~z-?5I2_gS|yvSmd?)$M0>HE!zD~h63*+fIN+-}!;ve^cu=$UZ+8Zxn>m9N zjDD_rmvla|?-D7l4dF>G?Zw6n!-Ctiult3x0gP1=rid-IOmX=WmMNymo!92~1Ls;h zlzea-)bQ#g-qLDrGdm-TNtwJtg!cD$Ia9ZQM4gOUzn$Q$H_mVt$UrTrPrUbYWBEsO zCCc1a#>EHrt&Cqwgm`!6tTC}}9~=DRIz9c;Q1SNZ<3j_sbG>0swl}>8`@a%w_eG@S z`Wvz7-M5CzxQ%^zD882>_5Wk- zUBIKNuKxc75(r3~AfWLc6m9TE@YY00O=!RwoM0@rM${Hti)gh*NFd5BFo`e@gQ?bf z!M?S9wc58g-)b#NYZLY5>IJY>5v^8Rd&aQ}(#lQE@AF;zoS7s9^?m<;o`;+>`|PvN z+H0@1_S$Q$y|&hS5mw2B%iPPYtmck-eAhN}RkPwZR`O7mA6z;PBnTKeu+iJhIxigC z+pp;hKedQn)Gux7U5fn3SgbU?bm4_x2az2h_DK_I*l*g zw;dm+g37+;-G*_OJb7*Jz=ayRur=?RPHRsipU{G*SqFhFU!-0nzYc&7u&B22{lQ*! z5Z5FwefT5UmlZMlBOYi(gqYgIHKWR^TPF~?aZ-%)b1Gh2cs|L4r89Ix4yOwS`h%Hv zO?PN8kmL>cQtAN2O7QWZcflvr9P)La=Dg~ zJn^O=926mY9@m=05x3REk9fEyKKwRy06R~`2Mdar>t>%`lNkQ6RMf5Mqr#&}rvGGQ z^poUMu;VeHM$_X{Gn~EA^uI!zKfE1Wd&>!#I}zNt!Ngx>O72tc{g)CJ^pqW%D@)YH zQqgLe_KcLLp2Xeu%rm~`1~2MtH0=y~fI$Yv?(xyfC>oy_mxzyhnEgG8aPn)p5zdB9 z_a{qQxMI)3QRe)2nRL(?AkDnnY7#?egG?=*3%97^^YV#IvTblD(;S(iT*XzYNUa60 zs={b%DUS*i-)8jB?v-~zKH(YQbjT`wvg`Tug|syLFkVdzUqxvgq{epziy$q;nnwehX3y1EXlc%C=^56Sm*yR*^4S^itRL#c8<|e92X^=DXr@M{ z18<}s(33-Y0hL|r@A6Io7$EbGx2x&*cD@5e!(5SffM2D*|9da-8G2=hT{n7Zu8Na+ z%YJY3wsLLHOb7ei>^r_|KxVJ;{RKsRjW6!eA*(<-$jb{5pGDp@4YQE9C0!dJk0Md` z?60x_t8UE|dNsD)kmqXbo=x@`zs4$u-Ukp^=uU3zygb)k?4N`E{@a!QbG824Z~D*m zbN3&@9ov;YAl$XaLea?oL^ywbXju#dq-RISMPtV^*Rof6^fsfPNNm@sp=I~-+$i%b zkuKZ{7ek%Um+k*L!szwV+dhKn!PSMgeS|O!kN!aP8{5+_lzfr*(E(~lZ(_e&ztA!* zT53t6g8h+$DE(e{Jt+W|-yk(YyB7YUm&mHGZ`n4N|51UDwdifk4t#$?#ij-SlN!%E zK|8jba7|8(4~dbICiW5M??p+zw7fs{fOz&PwaIW7I}KynKQnuTYjk2F8vAHM#g>I@ zQ(KuGK(ge|+(E*3hc}Ds#P|_0^4zFBp0xmuazlrfj}*v>qE=2&7#^FL;Dgl_FD%6U zivK)cpXB}1cwf`>iPqj)?^yr$;aopu{G{Lb{>v0tcI5nYi70D_Mds@Lmij5^Mk&n71!EnR$d zZQQGk@3v-~eU*07XakZcS1*vz+aLY}zf zYF8iX1=mYoC-HH<6g7uD&8O zfo7ds14LeUlX0o4J#<~|$W7@H2oNlSq=iDBjamicqsXj*kS9XOoH6s#!oSoeFCbMP zOIFffM>^jstR4F*$CE`m-yIs<{ViX2Bj2>Ftt3jF*FQ3PGaI^R9~Q~|03B%+@`e0g zbMC@JrO?SDx@cQ2c6s?hZ=HQtiShiNnsScS?h!xu`1hk)GS!i1Fy>0XS|4v^Z)-JDc*m_vA05SqyllI4cD5)m{pj6oMh?+NjHdqJQ7wlU> zS2ilKZQJH~oG{I-vwe06Te40CU#2(SPUK1K>3VU9=?`1`JGyy+>u2bP-Yv=nLFXV$ z#?6+My;Q^0vR>wf9{iI&z)f&cwm!l4dnO1aAKS(SL}!fS$HIPu;Vn3|HaYxyk%{=9 z{g<;F5XTf;(r=>8WLsumM2^Pl*1S>7Kr1FNQ}hqVUt)X?l;&{Sq~z%#O?m41;n75K zb!&h1UG;*@oW7R844va`?dRr|7r09NZLsS`?ymo)<9BrXQ6aa*6-_Deil{6|h7>#Q{w?TI5tXuRy2p z_Ouw9{q&Ly7h@`|7}iuR=~rqjjkko+QsSbG@*_Qqrv`5t$~;c$(4)AT8OgHpDMd=V zj32P#ykb((l5}+)K9$}co%T1n4}ZE?%FoN|1JIuK_1eVr5}lJs;ai)q)|;jjKoKcLO;5_H%5E@2D2ce9%S_$;OOMXPhr0v^26XRwZE9o=}Fkc zwFOFg51t4-$-=)rC`*+^$gyZLu63!erWSi`uF4aBm2wSOl?Da5aY2cq(AZf{s-gs8 zX^4ifM3Q!gzVMy%b5^mUw5XWUKe9IG6Q6jG{&KJEhQ`&fr}y?>e2fs^h5ppD%RPR% z{w>V*4{Qh{RqUx>*GO22;wVRaEtd^SiBl7iqV&O(TV4cW1|!AoU7PrBiKNN%;gQ=( zzeGlXnxTZ#zT8Mu+xfZZcTI1pcQWXPXvSMVMR8yF@+o6{9-`Mni_$-{3EMk406g_A z2lwZL@5P+|U*NliX1o(V4Zh@SK4N>qw=9c4<`+q1dW^Ml_$5panmuqrAM87!aiAvi zCp;i0wB*l<6@eeRPO_BoZyeRo!wgTwD#S@@^vHKsx=V12`1FZkPj8oc zu!Qu0zoG~H(8NQO7I>>f0S2+XH!{e!`-e<2Ua3Ifc}Xj61$@LQ3b`B*TAJ z1Leu^3wob>XHFhBrg2nCcpg_d$F-L`d)V~$ag~jQsm1nQCw1psCllntGT9LuM``|+ zMe^IcTrlozzI{@Ye@J`&xN{KH2rXSZo}yZQ(~;w>e|8aff7D%QNsM>2{@>j{ z)Rv^b?n@KmucgZ;B(JvWb3)wxY(o5fN+-nkrjO>Qy=@N&G6^0GP=&EuX`*0OZ8SNx zKZ}c2+7whD7z&9(O8d*fQK8=ZwY!Q}=R9d;a<) zM&|c6B9?gi@t`>a)SvX1z|4=_b3U0rr;y)2(-T2Ik{Bw%0@4k~#U1$Ew=->XhL z5kuxN+PO8{xtB8XRQ#z+uFZqOfJs8b^N#UB z`q92G5V?F%RV#bq$F3WjJpsd1pc(eJIlPG@Hn)UFZ`W)!!~D0`=|F&B%mR~u^X}o_ z&Wj|gfC8s*jmd#6{1xL{d;;SD!|T+8D7B17f90On6u{tN7<~7j*`?h5h&v<2@Xyl4 z{QjfK_e`PD<2oAYXN_Fy8o96lMt4$T_Oap$BYfz2s?oF02>NaBZ>=^3hxONlK^xj7 z-&toh;ul77tF2hy7)ot7QN&Lf)3J*7%rdxkgbMCzfo z8t{juYCxz>kxqJhMmykR|I^6{0sI8#r<6)1s(}-L!0)!t$+QFfo$5zJEt%Kw!?DUF zrAKD~_^kf`@L%2b8GxJn*U*5r<0wLiYX0)-nxS1Kc5a>zU2nh|j0FADHpwv~p?nE~q>kseTi&d1#Z);fe$5ka4$E-MFE+cfK|+5&X0c|W_4dAT5* zb?axKj^XBIhFgcUGJ@R@$grQgwB|6vvO7}0HfbsCjkvU(c3?)cb|dv+8*>jUmgJH3wPX;EeHVC=`A4{-2`XxEMT1}d*6q@quoZ(wG@dXgZLME_Uq$UJsO-X-w!|hLPMI_iFZ_&GE z8ioPoESBD4vkg|!1ot)*vH?p9Mtv%}uJ7Nhir3pwOeI7ga57 zWIGs#tZ(y_KbciIa~VZM<86OGm@Ck=Se;Wlbe2HAR#Jz+=(G8?@Y-FV? zqm(z=B5H#q#KEqMZq1Hemr5cH#&&7P93J9d#7jr!`G&+To5_a@JgNkgdln)`nsSsBK0> zb2vFnjteL2ay3{-#dj+FsVem7hb&``{w2#8hPKSyFV9n#F)q%fa=+L=LgRTd(4PF# zf6|ZHsDFlb0t7mFE=tpYfQ@50cN0a1?=@LX?hRi+pHs2=M6qF{Z^*&?LX+&IQAAkDEVRSZhyRr4tvY_u@CjIA zYECV-nqJBjJ?)T8R(^ccWjVG-0MW|aMPHC1Ro+cc*h)Lh{!sterm(+G^}b`N9e_4< zxt7`vzM;^M4_}c$D^YwMSW|oh@pZ}%ruaHeV3HPd=Q7ew#ypxs2ROqANwKvz^DWcV;jGgJ!dsttxEJJ|CYLNj(7F9vA?XT zDma9XVx=11zYex3uw91n*9k4W`kR+2Oh*Ic?4+ZKLZ6F_-lOS6L9jThA|p3pa4mps zw0%+^_A4uHWFJWShEIr~1sN&Me5U&lTgGqSO6BmU!$7k3x4^!FA)@e4M_iU;Du{RM zi8ACW@P;N!CHm`ZJJ;BC-bIpJ+Iakw`V3c>W!6`qCe->974vGjMz_vei*Z6!v`{To z*?57xQ|GfS>EtUM^0X6^ua7w8d?8OwHn3BcjbMp-)`GHwq8*5TtI`L1FDu);3T!7M zWo`>00ZbH@gyVJmZy;&!k?&tG^`4W!d|MtwU+!=J#Hf?KQ|GD#TnTX9JrB5U|5gvU z=AWE_3rq;E9Ty2M_B&xrbZ{N+`1@=hxbSBI_my72Wk;`heUH(Lbaw%`@%t6%^2ZN& ze596}iNcf7M1#{RBcyr;HnjgIncp#&o~`<3kDmSKNtvF30rl)q>zQGk@oQvyI@p{3 z4~Ow`zf&dMF<#saOW9aky)L zE1p(TgGCdAYf0=Hj`vgiTH6|QEkF85F-Jf6tvfQVEF8a>1}0hq!wf$w-236gST}}* zBm*cW@~utzV>h>_FBcRDx4dEDWL1~j9F#ortB3{n{S|+d#{;EDY;UhJHYaI5F>Z&0 z3QIFG$9NNYA+_uMxxWb+Bng^1&Glx|G&<5asHJ=iR*2O)8(L$*tV9MSv$V}>>hbkxblQz3j=TRvg`mK{nx_tQaRUG}OOR^~d}5eLbQ7-awi}de&DTc3=qb`#^Z|T3B`^B$uPb!P##kJ>@2U z#e0bIc8wgw%B+t>V}I7!+E@oRz$j&ko-9s1uqPv8oqW9yqVnZybN4v$rLHf(3#h<* zHVFe82XQ(h1X7nP6pJ^H z!m0k=WWA3v#S{u%NIvmvUTL6C>l;f_VmA60790&oE0>iK8s}v8EeeBY3~j8MwYwH= z4PQ9f&HN+}XwISK7Ql!J?9}#Zw{){u`lIIb<^GRXb%1Lakq*47v(Ugs$G1>ge!L zH+Fv*lGQ(xmH)g*w75DzkKf;9VbiccQk}>yKS`=(Y2F9B!3bH>fWq2Ly%-zD#l15$ z%~Uzf{``Mv1-vfQ_CtMJGFD?$C#1~~()?`^#Eqe;E@f zQH$QS)h~9J4viDykb|QxVNOOEZWjBmwc&G*Tgm_YfPNxKqIvO4~ePruCO1!KPV65j2zg(WwMcfAv0bTm_$c{67IHBsTB=D0h&-epfY_!*v7S)U;dybXoFC_X>Ok6PH~==YLCe12YRleC}HOtbcHR6wuG zdDS^HV0QJ;Tk@8KPYbt_zo9mT$BLp6hFTbzL&ILy9(M+$Mb9qbt zoUqF3@a+iqjB3$qXa8zPm+wn)cDKp>T*^cX7}!yGuIO`(*IIIM%-#$b5QUNiJ1=7PdGMn>fFJ8-wJyI z=UhMzY|WbIOO~JjtRYGw8vlprn^3>`*RlXQ;t(8_Ei^ozBc`s*O*1=U^JP4Cdv|Tr zROT}$3@G-|blkz!oB{HpwA&9-$5iV)C{E9`cp3PhI`$M3+TKC4myg|?T8@q0Xg1X< zf1c%^0v5U7j%5nUAW(sl{R#|mXSelCA#VNDJ`oqKSTkQPnIQwK7wv8V+WBO7 zTGO6B+Y&nO_8xw|XD>Ub5-1(&WkaONnEa{7~Ok-q*^ES5rJsjoBoLCO)$vo2lCHmI;$Ju#50sSh}SRf@(Q z)ib@3c|L#>>EV+`Vt~-J(=;a?y<%z=tAY;cO*3Iybk!ZqFTZgsfl?M>m732J^;Luy zl}ki59nw;M0_TAw^J@oPmJ{s0C??Yt-0QF3F7fzO%yJ9(X|?=cbfbXzYwu%zzf(g& zORw1_$WN#KWczO_y(V>G0x^dPnQbW8>CN)XasxH=bh+4>pINYGI6;;~M{%{sX0za}G)_SZyg3f2E&|52lB;b5qs$BmQ2}co%;!YrIVX!5h3Q zUUT{rSUJ@2EIEPv;^UGyWvLnT#?&Ct5rpJ(E0_x;or>;P0wHNwGSoH2%+RO-3yU`>-p6>STpu_dKxZ~{hE-A#PtQ_C7_8M{fHE!=&cLqZV&e-I}?gY z|GFwo<1gDcmRg7UhY7DcVlc-BvbWrA`Sgm;mlY|fM{3bTG3}%NeN)N+Gt0d+&`uHO zjYa*J*w)fGBK6}TR7m<;0a1fgG3z_=eeTJ;Lo^dT$TI@;XN{9#f{_W1$e1VZujXZJ z=+hVC(fx6w5Uo1Q{@8x){6ePH4mA${HDuH>l|+(xLp2+oXhF8J9s`HNs(r?t#-347 zc_=`7_Ue%Cy&`-~>x+lA-EhBM^Sx@y+vMvE6x&HKN*Ry=t`Ce4`c$wo7(c5Q#slmbO1fkGU-JQVj6nTgWBf6H1@!qao~jr? z&tlC5I>^fC`2eHmQ0rBwfg*Mev+GfQfwXrkAvHyFm8|e$05^YxTK}^ zQY+X_h1`~3>L6fO-k(X=`-2>Cl%IBzS+jm$wz72%dHpu35xJ{(d+RKS^#8_TnW2%~ zC}w<80}4LJ(Cml5&Y8<_+}QBx{8g15rTQ|an^3DxZ$!?PxztnLotWn1vcCE|^Y3t*d;lvN)mAGu1_xYeV;#I(>RO3^K$|NNIn^! z4L&n1e9t=K(}#(eUi05TOfUPV4}X$Cz6j<(zKk^a(oMKr-%P)Majp7oVMh(q5h$nZ zBTzJxTN|1F2WQnXn4da6lUbvG*7!{3M7Ssz(-++ObKR^{Eh2=7HAlSb=7@MVc)5TY zMNdVSWt$$6J3Yq3=4am;Br_ss8gjB)4@qMB?OdIrWphp-IQe0;ywb;dhpw6V+DY7& z=8JQhG;z#;FlQM*cORbK{9COlB#^HA@Nc(C+}8@2#KHTdO&=8L0&|Q> z{P3pLHN(2j34{rm(PuEFPwR_j?(X+#FlFR>pE{HF%kaGxFq6@lP8E>XekZ^tIupi{ zKxc9_T|yTdO^KEnfzGs(b;WJeb&z^W7;KV9K0HbuUi{}106Ll9=t_S`skhb@UG9o*R?%-=(PURNM@2tzMQ6LBD^zrg zD=KwG7f{6d(v=N&WtFNn!xiPaq7zi~Raf-hOoQzZ6^(aATU}9}ipIF2wXSIUv1KJV^n!dqv(n-ZT;@jA}j-9b}K4Nj{g`>{30JptN z%3s+TplF-6WXtS@zyB1hZkyAq6$Cm_U^WPpduc6@iyEGX^jjN%&c|7P$|+4@O^+QE zD#66gm(_g%sMHKg?$Z=*d4rd8$KD2VNr8FRSS#E9a+IF_1ev&F?E>R+%b4@>x z`{XzJ3~dReZh36;kNtG|<8yRsf5;b1g2LB~I=JPfSzqx5dlu^#G=TMG-|idh_wt%T z3nmKn%*Z5lH4Vv70M)ecTuPF@6BAKZF)D0y6nWB#hvc<9c-Ub_`1Q{ozuEm46gkyWBlN^`WWNx%%r{qz3$N0EV_eO zsZDdn5UQKIV0g=d+%b45*>6qeYjoiF2Uuz2a?Q(+v*_tJcuNxm^TUVC4?lR6`C$`( zm}O**`C&!?z3A2QsGVpV;39 zM%HvyCf3-pM7c7 zfdMm})HQ~*GF?r>oa^K`lpTx{t=1DAKEGs))So~=`0GnwT#){XmD678?n^R`lm&(c z`~2h)L)G^V?%B*X>r2@VzY&cS1+gj09^&K~CtO2!zkRu5w>~=aG-;@@EDEjaT{M25 zGYn>UEpIrBF}Bo%WdHKET4<>sMgBRtEsHB(Chx;@CP3pGiJ!hgLB+}Ze_d@VeIuzB=AWr*n;H};5LCmNYx)=2Y_^5jRlm*Ku||+w3nj>- z8M^@s7D?rrb(QT!Ou;ueQ}7L#g2`OF z*82*!YdJ!_2zxVpX(?#D$7FCbxMG&zJ$3_!%T&fHOZ-k?M)q#EuMt=mF11rw5@A9= z&nqH)u>{nMMVqx-zZtia-$oVE0s08FJ;?Kx8!qNfS_g2kBx}1(w~47Ner8UiUxe`e z<|O9>IUwj)Jq~moOWrVzcbanuz(`C*U6!%F9-ql#)t}x@(BGEd`_P_YO%r-@G4A#Sn7!i9A>YUde7La zAcEw@90$R*ge!DY2V$l`I&~msN(sRr`$tYmpa5pbAH@gop+^`DNvr@ zPNY>XhjKBmZYpF2xRp;c`J#Z@_ZgljN8o5@=Hiz`=c9K-NyA=Crr4cZBAvU>sU5jC zlG~BysEof%7`s{94Vd>)qc5pex)S!-uA4xM=TmCl?1+8cA~>}vvMih&KERUqB#(US zz{~t21YG``xwpxuMyRJuL7WLgZRfVDOZOkUuANqo4JRiP`1>3_ZFG~F$A)983E2A} z8#`n1s0x9Mva=?pGYEWvFa6_eexcOReaHsg4Ykj6nYjl_V(Qum`sX80$Y|KIzkajuwjY=@g)55I-@6$Lf= zURF`*l|f_ZPfu7g`~BnSw=K(`2n~N*4rixm{zUQdK71A-f~S>pP3Da%YaQ5%`*`FR z5KQfjm?3LKi+inGGr0-Am=9$<(Onp3M{m1iFBWbiGx zZk_)fA#VP6e-Fi(Yj}}qxf}yZ6YI%t{`VE_=6@&R-Td#>bu%JW_a|{^+oP(C-%(3YuwWWAC`97s2)OM?tOaZNRWudlK_p8c1ud52RIUDShI-b{Ya4OG3kJi=edHIz3 zP}>w&aB=yRi$iU8Qd(ll3@6`sV@9a$RM#RKojI1SZIu1GZ7D;Rhrno$;A7rUu9jlDo}-^B#}p%cdB3Ir`@WQ2UWP4T;+xQDzR==!a)^oCf9lI zE;DkyB7kFB@R*y)GrVWrV@{7T`9HNGc+Ab@X75+-@$vrSyIcGZ0pVhIZ&5VfP1Ng? zlz*wr0~u0g{z~l)W`aJLGoZg~yVHg!qG^hF(;wgBCg!uclJY4fgn>BWr?{hTjOu-u zuwHZao9h<5>9~=bNyXkvJnjoz&98fJ>kjcg=Zg?(RE6vxHg-@*GTU^&vl`>4?81Y9zXt_xBu`4Jd(=6h#M2CN2_+VmK ze!Ht!0DOd3v3}8E#EV~0DQiY_m?{*4a7nFQfw{RTJbEXYWFzstk)2yfX?jj%F1^_^JpS zU6>xK{A!89>Z{{)V#Ih|IAk2(_;2N@_XGa4Yv2mJ^!FT&3sNIB zskr&$yV>zAqJ#5T`LYSu6j#t6mVJk7ovvxtw3Tn)p{|_q4=y&TVY_p}`B@p*7!w%E z8rUGR0PE<#>uN`LM%e`&igI|+0un7Xmuvm^45yhC%&##L68XHwSV0=0CC_j}3Q4{; z!+q^4E@VKL>CxY4JMzg%$-IMD1-P%P^@;6#t%}t{IRKZ_1atWzM`>_EQ6ejqFd_0Q zH%4o!s`Q);B~6D$6C?Vm`9ywyF6lumO?*8X(&oj|^O8djfV^j(9>E23Joy!)qdDd! z3&|@$a*VAGW6G#tU)87vy3`*JT_foy40&i3y8KRw&|2M$-~Nf_B&#r}_< z_vk$>TPguMZ*7{#QK!to6ro%0W1MNUSVjVOrq4Fc^fA$6Vy4zwF7keAjUxSKA~B@s zB4)JbM@!TNCx(*^#)M(`Uy}HyrwmpC^Ra{uKy1tmhu4fZZbo@y1bKVSc%NC`Im{%P zn%4Z}9d4gGjS6n`3~sX*^#GJZ>CGa5K#li=`7YO>_rZTTw(AD7;1k$+z=y3Y1H*KC z1?78YmAArP%X~i=856|_eaJH`zF}-N2Q@H7yck;YbHihEsrDCt5?ZYEgXEJBkNzaW zkzu1>(tec4$lZi2K-Jro9`!k>yAdX^EsZR9M4xW`w#tuv1x{z}GyJ;V7kUVoZY#C-68eaEte3Hr{l)vnhKtJ_f87HD zGxEo#2ETjl>A~I>*&}_SL6Cc08ET9e4TiJ$-^SOntg)=vmkaP*Ctg_#Xzs>yCYO}U zb<=DT$dnOhez1bi<5C40vbZ!+vC-)BY&h4S+KPhSr6w{_IT?|GI@TP{nFoc?67udS zrk}E$1q2W0ztb+!cw|}^Cz0AVFBoiRht`!UzGzKV8T3gV;L__A>t`KjOOu9h)zZ_4 z^1R0c>96t}h}bXSpFZ+R2NKNTH@9B~zi#~tS{Hxl&WqVbdlT#FX84zL*E93S6$fYO zgMIea(!B49YRDX4S}MKi{B4+{2s5bBTtU) zRPxuqjy_lX%rWj1<7p{ce#;lm<##sh&16*A57Z1Xi5G;|o!DkGczsdf>G2_K>76&KK-R`0 zK3VM5w!YUjA#_pK716}$$Kjyy1&4OluQ95YZ$_G76JgVJzUH_|TAwukTWWbD8V>^y zN|{y`VXh;>Noj6JM!2M;K02@i`eOVGfmuqZxM#6!OGcCyk2VL6}5?DBJoLpLC&&2M|Qpz>HHW=Zn`%2t%!`u)Wy|K(~?zKCa2*e``f&Op!O?@z{a$0bInF)FvrdsWg}lqt{mm;e(3>d>{k9r2VJipZTx`{ zMfH!{?QU--S4V@4RFU^on@@+zqF0o9WIxMXM_-qMU|-T!iN5Mq4F)eJpXX{tP*Hhb zf(grfNt$FK!g(^@Y4L{QX)+HwD!hqWHaYI_zI?}fcmO%_sqr!?K=^YuH=@LWSd8`2 zqAv0P6*e8MgmZPZi3>{6;zO-+V~_y8Hhuw<^wh3&Arm2r=jD(bn>k60}!Xk7F+&J(|v(~Oe!;3=+9(QomsG;UjDGe`%WkTkoKwyy!1JIh~GH% zbk>~&RTmpfMHIOkeZX8_=(#t^8VKH1Z6hzFeG6?wv3tRKi<|KNmgX^ zSA!=#*n#D6-&+Hp(c}FUz23KR!0}T%vNJ-m&B=*NLrj7@8aWkU64}JJl1)6BfBcUH zpz?n(bDop$t7lHv$CxvKJ@Ei3Z;uLJ;HZYDL>oXpU@Zd z_tUtx_v)zOzh&RPej%ftGQU?9f42SY+N^vnm-${Pf~1t99U!O3&?WaF(_V?GI~Do? z7Q$K&ffrtx4f(V4Nb^F6;~gH(wDr-p`G-p!kS*`X^Dm-|D@wnDIIeaZlXk8S?WOAI|ZX`tj+JfSPkWqNF z0mWr^@h*~D1dTEUSh$29^0PF}sV|+;(UYiuSgf*ci1@0=``JC>C@p>q{KYS{^|EtO zG2yX{G<%`1hf|WhbMAy~471IQc-Z%NH{NRlsN3tf^{(cR8%UeKRxR+yFLixJ=myGr zM!)(+c6{p8w;4kJw6Vmuq!DrRkjJAr5o=e*Y1~1g9rZ8_HRhT)B6RCQiMs~KR@SoZ z(5+5b#`eUZlJZ1zTR2wEB&xGc#E9jFPkk<|%^H(yrQIBCW6w&J5Xjom7Tt)XI6s*; z80T^02*dey?`=OIcA8t%<~Ediw~0?dKSfyX(q~Kk0vu>ZM+^H)`e`;0YX)l|M!5Cy z;pFGJ zw&XalMY4Bx7F0u!o&ax{oCN;Dx=t1@RC7snZD8d$-LwEF>=#=JhVWkGk1O*waO;Lw zm@6`YWMa+RG;beH)!3D!iu)RPp9Y+K(gGv1(!^%T3X>od>^LW)nPYuAQuI)QURCOy zC=(lpKAdEDmU2}J^spy2SyY_PkD{eV3=MZxm3CW6g2|F_BG-I^)zgrK9Oawb@$-ebJWc27W=`$c%jJSThL1d)mIeVx79tUbhVsQ2kQA&*xAF*EOAG z^YiA$Q+-v$DIg6-!g&QE;e(Lhm*8&gMZf85fVSAJe=WZ6L&-N7F`AfGR682|^4Z$a ze%QscER|2<5T0l#io<}(5F>Qsq2|x9^Vz()QtDu-2CW6kqgYS9QgRQ7)f!X|gBeL1 zw^SLo+zP#==8MZ6DNU`dcwy$Z!5bf02TF?IOQh#Z5&RZ*==w|H+&wa29WCKn2L2&_ zuV41VHU^TtxnWizdAUC0OmmE5GT{X%iQksCdW-i{nA-a>e_ThrA8-pDSBGv#WbPy! zwI;qkB_%XMa_*6w|DnJ#g}>=o6T<1x7FL?iVz0ODy^JcNy@>R? zPAerioosSoD1FbQ#D#;4(zo}TM!hfIun%XZzU=e`N57Y3?Z1rgJ$|ULA7t#12zj-R zY7tWRdG6DgLCY%RI8u{|$VLLTPh|Huv1m1~A89&j2UJ9g43}qJ*eI^o<+p zOC9}0Ijg-fpL*$wG&ndQ5V6J;-bmKJ(mz6NDI06oo?Jr}?N;+bghg!66@&v(!ESXkBin?_vZ5oM_w%(->k{}Xnp;)M z*;3_jQ>e8B5#j<_vonI9;W>Vonhu9^w~_xX&&|^PZ{LTnATdK+5W~hwUj<74T@vZy zdf%uP;8)bIMXmzwWC>3?}_YuMa;utY*8#5+PJ9*C1ivKM!k{20KLWGuU zNb4;FI-zYkJ4hHy9GOq+d}M$w%!>|hvN?2mdkBE&#fG&NPdA<;HYEQ#jQCf0@WR^# z-c#N+Y4KoRq~*foH2|p+c*|Ik_}$^s3y|W>ufcTbJ8X_5nFwl~Q>kqCp^hB{1$^Rydq8vD^sFkY++`{N_~ zUWArqWn7{oQlJ6MEif>?DKqzhoQzotbKmLOem*UyDs(%i1A*i%QF2PlBdXB%|ACep$L`UGpdDZLDS-OrcVD|@qiPP%}k6Vqw%jzi&cIp z*YVmN_;hRI2LQ|rB~y#WC(j_+&+2ZC@u)sZ`~8q_AM(tHeddh@`?t6V_HO|D zob!CxCkuA<*Tfc<0l|JbPl4V0aocA>Zf^qlv@GPuI>=jdg86qV-p_qtPZ!oQO-17q z>r4kxlB^5!GzOEIEEW)TTa$Tz1@B{vqcfd*GpvY9Ivp=5zW-H?zd{-|aD#k-u&}WQ@eGlX zAD{*e_2U_I;Kd;(2s&;3FxMhdgFFIt^{9k(7;NjY%hcHi`n6UFnfJ}0FSl3sqR zsQd}!j{cpakKeLTMVtQ0dhdyxB5p%9SY+3uL}NVCv`_xPaTDnC2Jgx;@n^7Y7;j%< zQoZg>BYBSM{+!l%q4T$gIj-zDF=~fk zWVL%gYcPp7`|W?pte(;M_$vN~W0gPt1h<>wyLT_w2=!;ZmWj&a9z@Ip5nORa(kh3T zq6d)2>3$n3u~q&d5s_vg%RE~^o*S;ne>H5R*^y?`vP*4f)2dIJEcMCX5EESn{OMOh zwpJ;I=>byl!XGeCZUEoKz*nmbyp!Rc^WdI|Gg2+e*t=$8g8)m-(hnG2lXatj;B0j9 zHb7`s+MU#qaIEuzs1^{div@)L5b4fC2a$j{Mh(Wl4iNJ`21(%P&qDd72pOB{ELo zDQcHenB1V8`*AL@-B&CqOxfWF{&>1aWLOPbz6y|0laNvO?gg1mERU9rYN5e&vG=|?DBVw6b4N>-1*Ay<~1+p|3s53*`-;AFm$81LwCTrmITb553{M!b^Rkx|$|f!7}hvoCdP z35z9&o(ZD6_PEim2P{S#DPf3)eY+zXx$?y?B3F_}KJ>w*IbLEAoR6VUA^tG0Vh1D{ zb#j}gNE8^dAdD|?5muARS+IpI#0r5K=v+=<4kon9>~EoE2b=97;Mj>(uwp$kmE@;p zt6M%nx9}%~dK2#7r6ADHc>WcBTAVj~EF-a9SA>>JV{`V$|2AIR=Dh%yYu4JpRq^IA zyKeJVarI{VKYpbjSMjIaR36#yR$U`WhyIfqi=R8YaPG1GR}jCy{%7#Pf{tjb6a1V7 z)u@ccI#Uk6CG<`b$Pd{KfDV@lDnWdQB|)mf@jR^43bvuBXf>wm!QNq4?c*{N&EXRy zz(wXVX+ZZ0{WyA$kwujgHy@22;QDWl3J&9m&}q~~?G;oFDZE`B*aHJ+1+ZxGUWalq zQQfVQd||T+bty0IYS~jrUY=wf&CrF7nP%W$);q2h=}~LtHngtw*~HywkLavXSZ9}&r0zoT-UshNf!2Ssn=`hTWPbXIi8#w5z@c#x7zGfc)<%d=Qu%=KapE{Q6&EmJ2_)}3+6u(di<|B zvj%TUE!tiZTlvrQKQ^V(Z}I+$tN-1Vnhm)H5cRye_33{zJU)yCEtM~r(EmzH{y!e`vpi zDQN(WG#%TXDE#}smgQiI(P;&*aElOms%c7&H_>CKH&j+a`JS&v*uS6qepjsWyB`9x z(gj1{>4V(&SKK7Bpg;nXq{0f`Pv#eX?J_q&ti$0=Zv;>}F8xkVP*oceUUD5&=VM@yCYn4p1&Um93hu91m!e7q7|r*355V!m|+GnRH~E$rk_& ztyO7pd^|B8=v|33L(j!kVdE-m$j^!$bLYsayT{M)yW5_c+q1ttsW0&V{~dU;Vje827ck;^)3avVSLudY}#_xMjbCdLtUc3YRinT zYrXBJxH0`DF31b5=fEPhJ5KE$;ppNFJVPHxVfaVcx=G5g**m^qI`x z^$u;k(8YYVrmEmr*Txlxc7yGuk20`{8nTkb8FqI~_pz0gERtF!lFzBFpC(-b{B6nN zk3OSH)+7o)cyAf}H36Y}T)5)Myyu~Ke5WJ&bE7%XLP{`}DS+6GT*Z;^KX)?;{B~|+ zRXCqB4;v@8*Cg_v+`cSl0tVp<(T+2j$%JH|0fGO?W7uZdOxPy$_Yb?^nlkZ2l}H7x zQdJWp?x*FxzS{m&Ykz{MhK^lL?B9o-UIEcmr{!_b`AZAm-suC@2g=LTY`D|c*)htIYh|gIKLv%x9}%DS=-#F3nWh)8Sf?lsar7s0n6tTAYw-=J ziA!iugisYnmmr$Jw^x?Q>ek2j76YO&f3NXPFMj5k#HTSo%wq6e=EDbQN|=?rAg_jK z!HSn=om|8BYRtPtMBwf}N|>+(`+-y7>o>`;RReT9CK4FPp05tArT$?bW$H8V;r+mT z1^E*Cf;rVoei?k<=^MAI`!d2LA+(rvdIUcsz@$#RglO34a(5Yx-~}GZvi}u*m zJwXw0HHjhL!;LkIMIee#4V?%1TY^y;dh!J95>I)NV+64(@Yx!vTF%)&EqxzLS4JzH zFf#J-!~QwzUutZ&S6M0Q`llTSJ!rV4@<7d1)7wL>uhaLI%6$C{wQd%H#CBJOmMzg; z{JGfMAqDV^-e&$$+xsHQH%2fsutZe-&W&+j@v~4Vl@)uPtoM7xN?CN4EarI7>Ln?~ zi}k&oi#s=WcQ2;5zEVkqg$}oFjJ``!pTbJ>{K77u|F3!I)HK)Vw{6 z-zEHDG*3Tqg6QfGX_f#>Kjvupz8LWqvJ&(p6_XXI-|b&OIQ(h}?c=wIhD-Qh?6(u4 zVCZ-EdtL1eWC=oZV0`$UVa%EVQJ~Mg04YsG)gwo7XQ1W{P7Gga(R)Op*o+l=^n=cK z3QimTkkXrXzC9S7DlU z+v=$I+i9+6`XF)i&W|t_St6?U7M^l@J*vSeZzF?lWG zA)pSB?2T~j$tt0*alhjmeU5wjC(k@HJ@j3hJQ{JeYVz0-y6!;!f31i=UoYX$bj})k ze=U24tHQAq|KXj*3OAk}x-S2mmoC*c#s3fZzjt~~=(?w;ht8^5OYvDX8}0AQ_V!Xow?IPv$hoQ;kCTEX-8;5{s+$suvssZ@aL7h>7lKB)`9ZA0Lvfj z0N<2(LMHE?bl`E^;aT)%r|5gDlF3_ zo}Y`5iB;bH4uY|9n789bvv3i;x_zD2Gcwf{zRfKq1KoQC?!7G(#wx$5_gKFS^B&8* zxhDJO@44j+1?HE_K6Cvw`?@TB%i)Td@k8>~B&&+V^%Xl7Oi;oCrL1jy$1J;R6{x{f zK_rxHqS2A72{$-3I+}z2D*y8rekKC1^UROBIG<PH(n4YpRNLW&Nwxn+6(7rVG6@&A|$L+9C^GuK;OFjKvY(!`IvS z_5ss7-zy0H?nAm?e%=KLrqjR3>^wbw+VnMF?w6l~ukomPn`4!~_S{ex1OOMl{ZwX2 zy_H+=RC3u<-i%8avi{xsKa8m^=zmt7Y0U{QS~(+UaL%4jkcM`kO;~Bd2SeY!dA?m! z0SZEB@&9Q4%Bn+&rOng}C+=*}C3#y;3y(1aaCyS+L+9i5Lp6B8+tQ}d(W-3GVtp;A z1yy9x;-$fD;y3MTW6>vik1Yg?R$Gm@6|)6#&0;;LI}5{!-%L~0r29ntar?EX3zX-E zmfy>T$|?g^V7rl-duMpjnp}M_&adPXT?>`VDz)66x4SMpBuLoSGUuXjVx_thO|%FJ zwrx>yLT*##bK%@i@K)dtAW6awj85oC#qxl#MesvEaug-dq9)n%%loDfFd%-V|DG%A z*(jQ*a)uwRkDBP1OhuLI{rppE60P*0fVjY23x=cCL>6@j{F=BcPXB3*yP*R)X^uP5 z#H^Qd`sK|33F`9VX?k;L_ctj^zp{qE_Rhw~G@jnyVEXo6eB@ShCtSP_GdV5ezg6=FsK?j45t&jOe`oB6iphSfN+f{A zjQ}f#W${L6BAmGUWnC;N*cT^N3d(>^w|hfDiLUEluRc*@t2S?Nec$-86rjA{9SS zD4P79xW(M;8y?dG;blhD@nH^;9xLV4_$Y4lHYk#DES9i9nLI;{X%yOkgOzVAh z)*^tv?=MmFlapj)TSS(f+??9@tJRC%k_?%cxaN*&6XU=5 zk$5$l;4(OeZ3PqKm)w_Ch#>5Bd4Xw&<@ z{W^Mo`*!sHK6&y7U+tUbh#y$d7guI^)aS~2#A`nwnV0{BE=YbS=%dNJqm;gJ@l8-D z#)4wp`uKTYfB-lhnpiKnDE}QX7iDunZD{f<#6E;#wN`tnhLEjJ!$&G{&XSWUbj0l> zBbK&E{7;e5uSVlnC|>d(k)5wbIzM7(;H$N{&xDf?J278_dAq}yd29z35rW<+Nf$<3 zVjtKSb|LOMv>cB%qW_2reJu7{dcm%!BMz-8e}TM|ibuJFB87~gWxo(cm*BQMymM=q zP3Pf}8=|=z6a`XVTk%?G$>mga{*Bs-k3&n&%L|hSn*~-%IWbWP|`o?C4sLW!u73ulf z?KST3FN3>dYs&XDzV4pJ)2>4Nwe-MfJnj55@6VqZiG7^6kmPk>A~JeIWYJ!&Q5Hr- z+6}mUBoug7M%U(#IzM^oh@4s$@mDL4ASPXmL1u&va9bs>>MqO16OF&0s-`Ow81VSV zVuuE`S(h&AT{0p5iatSzVLB3jjW|#uv8*8V90Ct^Q>0802ToYT&>pWXxP8UDQO8iY zP?}%ct=0Y8ES1{rT~_xEweTFJx=y6XZR&IKGse(o^%t|=$sE&79U;a{3+@eMxr>|y zotVCnAe}(sA(Q;df)GyJY2sf|3uf!3M;L2tI;KspjH4<27yFnpY$ET&I=1J6zIoFy z`-~5Dk;b7!6Kpvv;=FmsFfY!Y!~VAQHCH|PhX>9$iq&PPCO$Bl{PM>xQ4(jyn}4L{ zs`c)9iswUaLFPj2^GonJ^>_5KVfLubHw)yF%I#k>Xgxs%b2g+0*xS(JTFq#4W(uv` zZtp9<9Nny zewlLTFS=W|X=pRsp3aFSz62R=Qb?{pEG;iGtH}v@Q`n7U9ifJ0wTY!7f!aiiMn4+A z*?sVGebClF*ZS_+%on5a#rh)3q|L+XP-1+Y_t5d`neuD(_}dLC8F`SP^nB$*Y9Mjv zy>@v>lG1H78w-FNz5K&{0K@USA5@k2&3YkLx#3lZhEV{;q9mI5iCUCI>m@AJVArepu&hxax8xj=uS{Am{n7I;6N>@!yCqW#ZtPCg97 zoa1xaG%1?)T}WdFfD(ICOGM(LT>}`L`9(ervo=#eF8)Wp)li!p|8X?lvX<)5z1~7@ z2zK<-=R(Ww9SAl?KgS$uZ5$Tx!O>Ol!UqaoBJ8R4sXT5fma35j^D^^mb)L;OiV;urm-oLaH@7eCS61t zNPJnlQ$B2NiuO0KC&pDd(Xx_?GIhcLOFOs^udyOLNV-*t{z0E=F{^S->xKNFw z7ppNBOJ}#%d9$U{`AGa}o5&0(?DY41l)Br1bxSNuI?qq$71VM{y8ko6 z`XQyz@@TF-POV~+2u8Qi(UqB9;e5EmcHZ$bkUWcg0cGSfD*N_ zkrb<rKiiufYh1w1vfM<1!kei$8g10k>en77! z%t#VVRuh~3WauU-3Y7I`91~}Zs<29$&YE1dB)>B2Yc)uqnyAIB1W0}NQK)cWL2sP? z>CdiDC*w-)lM2lfNH}+QT-Mz6kpmo%45e~`P49_FOB~3+W z37-{nh(~JU&qPLVa=B0cS{wg+^`gIN+Br8dWN0-W#H-c?T4^;)C7Y%$T*`|0`}ev@ ziMdI<|IWlX#i{F|Hg@%-uHqUjvI81y`yX_{U>vj4RO(l@uvqKeh+y*0P(X%TL|o0S z)(FSg6;*bVcL$unT6$Z^*3zRlvX-uSGgwP|7f%$mp;4rs-#5a{=?@9|on2qBDzF7| zGhOiY0MeYXrEdS`!N|z%lai;0y4eShmSR!X-AK3z)kbijPwn4GxQwni{YUH9BIo{M z*-+x$I>GNoFE4zm0;Faa{Jrj6|8DQrzl>_{=I^$33%=_s`6RS;3VtJTmqsLte_cQG zLf4h7_I@R&e5ez2&zDKVH#`2l7H_ZdlF20Jg>W*dn=b9F)Zc{FT~EE=)dVA?1Qb1b z;Nbs#7XH#+@K>0~UyuQvy+G@lwEU5uAfuYkY*HUE6Zw)VOcYVDV(3Idc^8h8VABq= z{jV6tY;v7kiW}DAIWwK?W5Hkmpx@4gfBkN5{BqFE<1^iK{d*_dzjBRxojUo@M$sQ( z2qD297AasnT%RT{imBIH#_gb^w$-*n!1H*At-+Sio)(*>dZ|P$LUcMqcd)EtYAitx zyachc_QWbar1|X_nU`i8~EAx677&Z=`uJ6$C_wVCX$CjVDd z2SoEJ=L=6Cn2}!%*?oAw_e1CX-AKW{yk!2sAro+FNkPCOaCaB!oIy@~;O0V-zI^}z zIE(xTb*m~}RUQ=T!3_UFIB0_hkDN%9;raf9DhiH$`#kfH&E4Yr$4no=KgKmy`L}05 zm;7S{A>ki8`0MH<_sUl#Mh(Y{Rt+;E-a=a!sqqg!ad4{f)qg*a{0M%_Ru9jcuH^r> zmJ3|V2a>-T|7G{4%ha@-bo8B;K01M>@95U_chvOim-}++jR}CpVg%5aTg%*=QxED= z%v~~n{bVvgx2XXF)0f(ZIF?|?GwLuDqxKF(hSONwAZw>1h?^r z8f-vX+EpSb*R8tQ{lOrp1 z(;QVwobhuCLPZnHLPPs;sR|7pU&OVJYYE7|wgAeO!HUs!`tz!fl&##sg|?(Q-JY*m zEGz~Grs;~Bdmc8fnE z|DOXVU~PF!&3e`PvKWiL0i-@=Ift>(+}>EN2E3 z^2n$bDx^>HrU0Ah7%G4o@P_m=0GVO|&eaMh7Kk(evR#kEZ13XJH~#$G3`)FT?(KmM ztqy!_Je0vkSO5?g@Z+gIHg1+$?<{e)U`=h&Dj>G2t7+iM0fO$paI)bOECB;UOBT6d zE1VJJ_t0AGVbxEbUL}V=`&zs!*=3W=`yxxhqG)mm*GLJ@)lks@2DLg=l%qlAnyW#T z6aJ0?jH=w0l2`BS>CpuZs6BE6s@qs)+d6gOV2f|Uo!M(l{W0w3DrW!Yf1Rs=%dKMI zmiGKYW(l=sv5=%HvC3oZ3&WY;gZ6u431VAGbqHGPunq&0U6_mS)Ey;Smgpb*v+9{Q z3D16ht)M2zbyB%kW6hF;V-n)!JjB@~=yvE&zQ({;4 z?#vrC&C&niOF&n$a5#i1Wnh{pat1j4>mzkJtE%+0}wH(0XvJ_fveNhIBJO`W;Y5pjGQgmXQkAPqhB16VJQbaC$Bu|4ClA zkNn=Mh{5iUpY7YIS zF0o^Bdgv_Oe>nZ+%Y49Je_%YlR4SVk6J=*mW|l`+t7k=C=pvyNqL^CX?`y*DKlDaU zQdvAhAo7n}sVDjut6X63v3cCw-rmNq>2*x&rfXOWYZkxk*LJFrNN43nD3jC(zW%hi ziS{#w+|;eKtaIKPuO(XC2sfN;o@PM>w!d&k_~+pyff)rkkL6V57%=Wz-^{#qN>h2G$e?$qe8T8_$w0rEdRH6N%=lwlT!S%KL`&0 zHCg;anM~zb{k!6f2%GDgFt0lejXcw~*>0PcJBi3i_V=}YB$S{QGhj;%cep{?bc{&f z>ZViwg8gr@)i`s#bWijBcuS5}gBPm7?jEeBtGs7%{7FIQ$py@!E~)_&#dv}We>_pq zVQ2hAm-zPt2>TzO7Uc}{{(PZ^p1pqGdzo?<+JvCXvW3B9KXLt9}3_OuGapDfOl#7J32WvOO4*vGkj#E z{}jB_{kre_+N;;?{S}}6e&{BtnLYX_`mZwiK@j@?F z6=m&w1`A1=lh)2Vp&im!qB?iepc+{2mipo zVG1t}&Q!Mj%~bH0GxtTnuK2NvU$Da65BgGM#F_W@Dq$4+mCg2hf5mow7Zl7}A=#<0 z;M2LYa0y;v($kCsIf=i7lKlKTKRRBzvs)=l0*B5%Zr=W+F5MtgkoDL)Y0I>MLOP94 z{RNHQ5lxr=MG7vWK@vjgm$s2=YinrF9j4oV-pO5{Tjg3Pf|pEbn3uyQ$mZG}5BG=G zH2HIjm7nYM@Jv$djb&tS%zV<6c{(z+eJIIIV^bIcHLTS)Q*$>}qrckR+$}r*6G9_B85rcoJ>u6-1K-C=mT|4XoQ)J*EL3wDsN*FixUk@Nfa`$ zF!%tZW~#y?s6lN?W;UJidNza5)^zD#otiIqSl3}|^{#tnV%0Qd-fPOd8jT`9SdYG| z8;uR^oyEibzF%qNOJh^vKbvZwiY-}3YjUSK2V<5$^eX_YC^e~bn3vpKG|U^gxy{Cx zs@+LUR7`A%NxPD@ow3Ca%G{QDxS~zKsOn5sbtu}jnzS#2_oNnf#ui;iE-Rl%cd~c5 zLKUPtd&L%A;GTNN7M;UWqi0L1q434wUd2hnGyOLY&&=A)If!LiX$_fY8>_Z7WHwbj z(S{pj3swI3Ey!5|?o10`;X&)?GJb(yGCAo9bggr0V)G?|X?bXlTu3ITMcrbSNL(H` zzY#+J4hF%(mAa;}(AFp_D{Tc5wHvOU$W}{hJnqplKeg+c&+a-8?;xOMvVzhsx=Qc^ zbA*jf#fM3Rc@b#h?w|&C*LiDK@h-o&cH$?3|HCtv+~&@MY(dLE`|70s%|g`p6$eem zzw71c+Zu7;K?%6jmN50$b&0zomHtuxiAw*>?M^_`BJWz&j8u!_4n7JZLd-@sxZ~^! zMcDPT+6ZpoYxYM-z^TlJ>^}e}`Zy_g=ULA#ziAIQRVG+4{#|5Dbgss)Wk}y7r-xo` z#0zYk&@&ug62~7-5dn9k+Oy{UO!k}G-g6x@^va`~BNFP{oz^F?Bw9jRqvM3i69^sS z4jx6l6z83iokCZ^>Ie-9^W2mn)XB4!ogg=V*O_t+HCm>+XtGt!fQ<2I#+v+5MUAK0 z@-s|r@W&K2a*zgB$ILn?MsPg)U6#t&e1M|PHU8K_p*aU{##KyEyHy*p|25#G=if-D z&Jm6pC)bl%*VxRspY3Vl zBKsz61WkT_ybv7qYN~xD=8p%wP5uxPuQ)h0>76EjD38Q=59c>o`&MkeyfeUM@FP|G zUTpFGdac63-kGR+F(GsvOj-*dAtcH>U@PhPIDx3Tik>GBRUvOF&kMLZ%zZA3Ez(JF zz7@w7_2+3ax90uxfY_ql)Wp+)u|==(qyR@+R88KWgvKNMp+~BR8pU>H^o9=A)U@y% zZ-1{O2{F@i)1_-d)B9mEy+f8R?a+tz;II?*);1zD;jw}dnOTn&HF@@Dp{u^Aw8^h8 zYHRXHZXg*mU*ls%4W1=8Wp*}Hbu?9d(vV(V)DV%8KVhXY`qWUnJGS8W@cis=_!KR) zXazx9_u&=U8)3C8;99IN@b@;nBy1NhpPuXW0$o#5Fi$TmB714pi|s{8`JP@N@0N0* zUVx>&qS%tuns9iPZJ8|xs!=b6~0kS{5DEgBW{aFyvA36AS z;rXpUh5p>16Picd)Zw3Sg<{>1Skx(p&;4dQ71u=xL8uL2W1CU^d8-RsSVaDXg-y6Y z$n?N5vE=iO8S)S#S|0KBcv3#;R5{9%?#%euUm8drP(9nFc z>Iu1rI-k(g;HOfPu*l$U{|pyCo}BmJNXd2hagE5kLtHTF-6{T^*0MWOZ9ciP2f)?(mx#5MHPt-doOOwXAI2xG;mBX} zanrue$v$X)vTBurtHuY1Kv_@R=~cPDaq}E3Wv`^_*3UkI+R9j{MKujI8=BuLlwTpK zei7Hp>Ot%K+EF0O1N@OA-VgXSXUUDhFYIx>zAkgA%AL}q>+4}40I?zZm(@Jc{B}5s zeEXC-zN><7bXCyT9ybP!{K|upjci9=&*-&kfzNA~D3h`0wt2fuo+f5jC{GvR-#wE5 zPg>)RTVLc*!eK-lsbJxAj{w<%Sn`DosZyak`}VBox|VwGF;HQ>vf->4rFTPxaA)Rr zLE8Vs7RhBNT*>u95}4jpHsa0fbFn>Dy%aCpg|i>w57*;P4$QDn<@e7Y$8dqCEd_HW zCaUD&W~z(QYoCoR7B3+ry}8QTq)H54!?m)f|OlIDa zLs{72nRb7|v$6TVQvdnBcqtEDC84uXRiB2(POPK2FRx41K5_MBp;To$1Abtn&fjbz=l3XEX zi%d?AF3#mAajo6$!3XyHN$?x@j)Z3N!&ZCU8EoP=xSl_4dr`Sy%SoGnqldOw2-dfhAWRlt{0F`_z}^{uEV6{NQ_dF15;CO;`Ug-+|EX z?T?4}jzvtsg|wbk`TnC$xZ9x615A50KAh@ty6%wsoVMkA7xm)!vd>0PbGW0w4t@>$fuHj)iY*kmjZgYe zV8D9Jw8b}Z>~dFq>ZnyZcy};y8#Dahdo0QPpZ=seHvcL5BV1^Im%)+fPurl?!QNke zkNa015b=iy{)_LXh$0m&zFiOg4JBGpEYSGijg#>MDk*0^O7(C&MI?sJnv@4L@xG*W z_}2mbt9t}!)9>%bKKfa(=2qB@EunDXgzz?^dxE?|G9l=1!MDOe8yp87EYaZjiV*Bw ztM28e(t52)eNl+Y) z%I|mC?<|+C9@l^Ss};V_Qje$W%Xa3`g8(n}5q?a2HtX~Yg0q}ewIAu09$WmprY%Cf zDdb4b$rP6;y6w7+JZQEli^c5BSfsDaSl zvBlT%pp9tNCY^gp4E_t3a2?9gmLrqi5h=g_PgDN+s`IeM*8WH1^Gf?$ROtmJ)IM!% zwqC_ixhxvOL&LhF+D;DH9BNu=JMquK-rjKamQOlk3+`jZpdV7?j?W6CoRx( z<`e6^9m$}s=?AMG=_@76iAlBxUjyS({)PV--a0{bObqKlD4+`m$CgYNJ)5`tI(6bf z{Y5U=B>l*`=~t7$>Tio-54zKp}G?8wuH^-R(9DV~w}s*S&&ZHQFZ0bE_32`2-JT-+dQebO0O-|lsG>QjI?hUrlo@%Lz=~t4 zhV7m81-^OBx9rL9AFxWZzBHQ)3cUO8)&k=w&vt)Ty@NzWy{V?oPwgqEq;A2y{5H|ADj+CCo_sN|#;0UtlW;XG;) zj`54?CAdwp!TFi|*iD#Q)r-}*P|yC-2(N;;N3S=(m-H^918>FB zT5qXIuP41z$M~1uT#)jw5E5U3d;TBZP8H^Ik5OT(tFVn98Dw(B>?5>3*Uvt^$?M;u z5xtZ2E(X!JO+U*}^!oPCEJ|avbYbKN*|NoU=-ncU_znqQj`2R(InFL((yzPad z5j&eK0cJ9c`>^2RW5|KnPh+j9P9Q-?=_93RlBMuzNk2eEI$!Fsw2}~vG z$qO9a>=Z#^e^#HAXE>=fNq@{9J77#K_J^c(lA^wVdzn^BNfcmzw9a6GA_U4xOSAY% zXLnDiu>{?(*p<0@rD_Wfw{K>spf4cpSuD!9$hTQTj~MCqpU=&4y<*Fcb}ixnOeIQW z7mAoZRj?pT?-O&l=IX4zSV@gOBC@6*24_NwfDa9le(@WG_-yiuTEU-=t8dR5Qdw+A zg9AR4ZDQZzPn>^FPqy-H;@@o856TlC+n;>WDL5<;Rq577#J|vQ#TE@Dt<`RJU?&;( zz6?RRCAR$7*z(c6f~~~fRL{%fXn(l|kozCfpO(fJNW)?L@zX<_Q+zrsw(#3xQO>dK zde^;r>))b#$s6}>as8W6TDa0_4_$mb*((80c|5(kSN52_sz5&2c-0Sjlyy44?ZNyW z1z**I=+?H%oz|lqON@22Js8=&TwC_nDj3e>hTv&=QlR{P%>7QrKFO2LPwWcrv2O_P z8-xGiF-c4jzTOsneLra9alb-ceJh%T;JmUBANG>$1k}pxhrqcT--#ZDA6H!-;)bk_ z8<;DC%+Y0;#aa2NC~%^UJ+Q?syUWZsn$N-D_XQGj3n0TvZ8C#Y0lEX?@f^ac%Vw`_94+fF z(~??!qz|Rf=*<3{C5oWhr_0dg4Y+^Kb+FspEnmv}g}86Z`>nXIE|};f%t&WP)SG1O zd$Z4O@cKUte$lZvQXcnJaQ#xcjEduvo=bVXQhw12+}Ff75vTsJI#t*a^(*&BkwMH! zC&p=$M#PvC-b11x(qXsJQ>oY&RJ4RoSjnXLS3>SYg=K?kL2aFZ+02Fco`qxAyGm>S z@X74@Ca>{k#W-v}Jw;La`a~>!G5D66v?}HGt>C7_8}PAHXZyh9*Gr2$F~zy8o9rpK zM9X-lmfTd99QSA}HA}DzYj@I!0#0kYn1udMVIV7PJol}#@hG^R4vc_ujvnj|NMH&OKh2kw!b!>aBy6{Gd-~g1{B1#k0!70f?K;q(zC;a|s zBhK#~uiY?vaMyg^q)M1pRl?@t@``UXEqEta!Q%uya-=ZqnJn?)=&%N9bj@tg4c*sgE<$})mt|J*|5~>+*#IFa};w~yO9df^}97QdAi<*T%s#NR?&4Wlqi?zy5>`hauvU#>rVc8ar&wI(DvbTF{xd= zVK2(AdW}j*qdi69;Kc3({e3_j3W}Uy5s9(_-h&Rq?==j!Xqe*gYwXlpbob8Z5{&T! zs5m45@g4-@jLu-Iaao7cVk4Y!cb0A^zkUWY>F=0HzbLc4!b{Fiu)%EKS(GSbE4Fd= zxlyyky%a?dM1!m>dHL={UNa87q6h+S@Oq9+>9sSF5%O6rE~R0s>Jhe%$A8$wR5xjH zug$^gi|&e~k)?bQ*pl919M_ji9Jnb=wGigxq)mrtYf(+nqM8`^;!v(x_ZQ0Ugb7n> zYR<|{8ro~E24}|p8_V>2UFY%L`h2Queb#6R#MK%s%+^7hP~12?WM1gabymdhMV44E z`7U&|i)$3NJ7DRwIqYq8XWn3ZtJ(oJaA>DomnaA^*E2ndZWVy4c^AMK z;C0#8O*%Ja1He@eF@Q^((r)`V0_rT1T@Qo#b$b+X`S0NrglYvQOR#-{Nu1NK$xF6b zrgwSOJXaIAe&N=uu4?GeC=2XH8Bqw#VJ&VsFS8b%vLo)TXd&ApIPF4=Rt47{N@pN` z%>R5Xb=**Gp1tcdnz;AivM6^j*0M^2&8p|vmYpwi-U>H=A>0sb39jRjo5E2+nf~fp z_qtMj3x1GK3nq2{eu2HL5-%IY<9t<<(C=KGMHR+53*t{r-=zcaAL|*(>-Sv^n>aMqhi(5GnF2?|$;KMAuep0S~;c z$^V5zfNilw*OMdyBR{8s^4S=|ru@I6N)I!F-|z4*qoHf87?|%L_&8SWdjqzgh39hN z>UivtgE+-_RTZC#$t|CSMJKu}?~sMbA9Cuz`8IU)|F7eJ$M!h0S~0rLDUhcgd8Z$K zqTX-=JNnE;1>Vp_+^KMOW<&d12ZrgWw$ADVi@l+@q&p7D9hX_%{?;L3;M-XGH<}y& zte2t;9Lf;&uH6+|w3sC3s*;i76t0EqpZQ?8Tem(1mG6i_^t)7jZ6s4|`&H1i0q6A? zUTo2q3@HcvyFS;hzKYvL28>pb{`0lG(K~BygJT$9w#03cYqaCs7~FY^{BQV^*@^#; zehKQwn1dhltPG2lVLpEvb%k4daJ4)Tg2{r4J6zhz-*IBE|Ihb# zVsG}%=-G5djN69hjtky4W2$@QB$aHlsC%xT%1%uusWSXm+`?Pj2N)}lRSRrgM6801 zeR-L;R(Y|*DsILeB2cPKiP zUOu1r$1@v{&x30ZR^GGv{t%dJ5y2l+?jcbXcN*eWFhFaLq|X%-&#;>Mt^Ps2Cfi#g zBQAeaHE5TIfH=f9y^;RyGvvcVoqTwZ<&A{H`kun!8P;Eu422)h8P?kf5bQ)RCTcRK z1Y3xY5Rq<@ZBX$Hav=8$*f4{u-%|gqr~wV>kJC3TKvBvNK_WKaaYI74HOm9c45p?h z(8ggRdXb_y7qJkkCw9Hej)a#R*oWQM&xl_5v&dj!TK=RrrOf;QvWZQvJ0R_;d^_Nxj z2{${qTTceTF=t}hB z=*tiq4CzaG8|3n&cSSC(7h8gr?IM>hYO#MOv@*DDe@C*xxo^z9sfBVS{x|QmQnBT`8vWth8+L4N$UNSdY2Wl(%dYaK zqgFKzUel1-Jh?rGHDfFCN9hM+E&k)t3dxQ~cu{FX`?iwCK5OFhIyLav{PU- z+gbTud z^BgeEQV|D?`wv%KV$+yUy3E{Ct|)kf&*=Yhy*k&`eh^zC?MXrhrx*PiLY*hysGN4< zOx-HtJ?Ya%Z&cr=%oB~hM-lpE0VViKX#H5)f-w05A06#qa(j8BcUk|Y*r7u!_%o}b zXjrEC_Hx3w++Hy}bNTI+L>Rk$h{DCSzj*-N8>;RN>nQp$^dC5Ia9aV~hjldGK173T z%YKWW_@oc~p?&WYc9ko5aLFf21` zNp z%lxoeTa#T0@-{f$}gr(ID9KoM4!AdpO zKHGd^LuWfhhxZ0zuDrI7D$g1LsH?LVh^(@(+yBlgx&KU!(CdE->}laVaxMTYlVZfP}k@aN{fV)8GJ1I|?P>*Ek$$F;HtYMvSN>gI z@_zEK=mofd1MR`{mJP1j9z4z?zg!O@`AF^4+y1V%S1hKtQ*Mo78%bpE#z~Bke4pDx z#3)N7GeNf_Mq+&A3w!es$3JeQ8(s3LFO`# zRAuE}@H$=vsmz*G)du3v#^#?vrQ+upr zQMf&sS=M6kxIb(s@qDiUU>yQ-gwpuqpdcRmGBzE-k_VVnI_ z(UqLM2I^Q{$yijV?$=orZS4n`Q({Q{yl_w?E9^DJCMIdHhX)HV%UTSm);7K?!a=xIZqa+(C)B-uivRjJYjb(A z)~0D{Y#U?Vk8GX8Q3pSJmg)^W>4jUugeP{t?QfOUKt99o8tae zy^tvQ{bu3h4t#tkXAYtO;n-&%j*)CVE`Hn%TY`OX)74Lz5Tvp)q;CnPfKH|!YeXK} zYA>*tEx}lOB+IU#iAR1Xqo3ue&7{`7R-%Xv>ANj5!@lcJmLJ6P_Q|ye#eT91;5c7C4RG;MMss-tKY0EZ{L8}n zU!IQ4yR!%+--*bvQ})%Drk~;^x3j$(xIIa8;QnDUq_WmZGs&GrI5!`h8Ap2e4jhp0 zK(L#Y|2ggdx5rQ!6q#u-P(=_x(h8yKTk1YT(A|9BQmT3~x0LaduKTz}^L%(P z23xRk!COlB?xJuk(qkyNEHwioRGPbiGDSONOsrOGa!pwfrg1*!ll%-rpV05Yyz#BJ zMg8LB_O}o^p2Ifu?yF-9h9PS7!VBVA?T`!I4tX`n9LzY7spew4e0f=KwHdPpk=4rB z;6c=$Jt#BlmJ-H$_#+zclfh;8xbfOJz3Xh8(E2i+{aEx%gUy*&VYcZSRwlWFHJjW~ zny!0iE`W$FI1YpfhLsvHSb94YyEc1}L@)r^eaW*-invD#d0=(ydSlF9-!%&Gi0Wun z?hUOk+r603;mvxgGRd}rHS|=aZk%f01|d&umzdd28XNTIR}3)Ryb%gxM~A`~!dkq~ zdiFE*siU4t?07EKhZBl~Yu^~()X7(t&}{&jy5_yv$w0kXkCe2(M?kCV4G6WnuKI4$ z`)Chr26R;JaenQ0M?+A9_B_7&YiUN!O>?kO@6f(CQyrecdIixlC_b5{ElZqD1_(PoV z-Il5KPW@o;U;JGRI`!ndl<{lQoo&uD~XP1Vw!D6?zsb_f(7q1)E9q zZ?a$Rbi&;)Q6jmHu5B^(C5y2QA2Mm&0|X1&47M0`!&?%kM~XzlzHJsbP(*$rB;^eg{fP!9og-i3&cI z)t)@=E8^Waq%UuoI=7&A{GQ%7?vW&<5sko4amHnK`q{dZcNpF#>jA|QK?OaKc^A*h{#6O5{=7dvjG`3p=R^B@Z&6a5R<76K?!&hofIsZomB*gMsIYv6D}Gyz1qYIEA+yB$J6rPTu_d1 z&2nrbgwMQP2H(XpGDn6SVA)IA*o660!kFoPXctnou?MUp-gg=mlvRxdlnj3h;pLgSb$f7*8 zYuGoanz(mk0hOXZIIns(ffCNEc0@=dp(|@cS#a%_BKW+&G=fF22w#f_H7xWi_!-z^ z@IFuB6dFUd>#5z83mGQHYe!ec(oNc_K&&Uhx3xZ?M4Xj!%?>XM`sSOPpKmVdUGGL- zn93BjbLj~iue^O@;d8O;pOW^ePW_p-X{AB?MD+z7x4o2ge>s>JE=4iCHTWE;_x0{* z*t@)R;g~67p?AWkDH;MhzbFo}$%d4VrGJddI=ETfkD+k-PeX|s0Kacjl~MiI^WvCO zFzN5Wl{!nZwcW(g9<*IAPJX!ni7DhkQ;C>C=yj$r#LthLx$Y3d)`B_Ee^H5v%CSr` zm&W&y^$hy(HPNrS0)Q0r|7nX5!+hMk&ZG?Q-aDz0)xaicn{D_WY~w>~(Z7*HNpb&5 zqz%gzuf11gIAa2T%lY`l-K`8nW?B3nR`jQL=-sm#C}XKrYjhEN6w75zyl^*>Of>(l zGLvi`R730Lui$TC97`o)o&*ho*E{KE%rwak#|G;$j=CWJ+exXGi?y-~;*!s$j z@QnA*2OgH7sH1$;KRE7GLZ>e1FF??KoepKpCPMJtm_9L*XJx63*Y(ra!_Z_>(*wH@ z5Nv~#n;Wk?)TPMd#lQPyCf^Ju+|5@vAWG>?%5CUOR{(NJx^+h>rN1_Oq8vZiU*ioRt6VSg;`E_cI?3z%g`Xi#JIJ(|ro82$&4QQiw|`gg@D$dDpR`S8 z<{6^yNBrUA*!4GAmYZza*$>V?nGQz$M;;dfW}Fiysv_fA6^iY%F)!_Ih+wb+0 zNpIt0x~@be(RN&H<=9lE11qN+sXaZW>)!aGvcyPQ&wFrW*n(gD#=BZm_SL|}`F$g8 z8IxDjb$408!-L|eZWCbLuF!;T2jrlsD75bfyX9AbEQQ@iG}2pUyCmIKFdRt*`r40y zU`+rKjR%GeoofvdU*I-k+S}G}zb(-}?wp#9U&K_<35`v2#l-AjO-Fj?v9l}Ue*Dw; z#;hc#vFUAv@lD&D(&^*);O$yr)orW zMs2N&3rrs)4sdZ_Q5>{-TrVE(Eym`yy5=(BMtee7^B;+TZzw;nYp&cb+tAsYQ{G?* z+OTO`LuS{e_mVmmrsKF98|-9#V$*A!%f?aT^`^nw8amfE4PKw@gVV;FnK{S`7vQXG zy0+xtm+>G$i#fNj88;Z8%q%Jsbww*@KL)ZXMxX5i z!5jIGGn9%Y{Ju4W@|o2qUTYh>*#{xlAm1OuWJtWJ*Cb%m>Cm0f(r@9nlWU55@Wh>` z8r-k+_lEmduW)ex2`1J3?vNea<@MzM(s1-{hoeNf+G;rJJfb?(2d`E5NeoEc%}j8q z)Zh&+1`#K*WW}0)3%OFdF!d8I<5Vv#P~Lll_lXhlf$%K^lG`mX4&1A z^~u=cpE+1ro6+u^C~Yt1=@plawrEkr3qOcgVbroNf7b3i+z6-Zetemx>)4=#!21>@ zzjZrx7{T&d*Skmfm)nZ_{jPjVw8j$9?`$BQ2?+UDoFi?8&=~ArcBjQoR(i0VM_?WV z_UQw+KM;M8uu?pIRPdhIbA)iv8mLb0wVnu<`@UOJjhJme58>F5Wp<|DJg)uC-kc67 z=GZlc4qvOl|2qr0+6$x-e<@B%dDfliuiS`!`|I5{#%G`@R zyE7r|&L0VR|2f@h^hT5uQqXDM8#cXy=Sb7w_J&PCV}^vP5tW2L$lijS#fkLbal1`} z_}KimiOQ7(FZ>lCv4TpnOI+Bxyd37_uV2B)L-~tsQX|B=qrQ^KDCnp!*N=sS9$z9) z1A?QBEJ=C;CY5lK%R8DAG1&pOb8KD33_c1?XHq}a$$#fxdQry?nwIZp?_ub^_+PYN zPTUSYwS%(vp^hUxxP>Tp6mNlJJffvP}g^3p?XA^*>;aj?koDq%y+YRc35tyl|z`Bzt<$D z>&h$(>%c_eU}V^WUtIS0E&NkEgtSF zosQNoKB}0bmRNS~871{b&0upNdWq-lmZ=^Twu+r?U+65XqAGjq%XZY*ce9dF? zz7Gz+AL+tx+dUbFh9hbXqFaj1UrGiJEE#w4mbKY@7%wFrWU}gUd6KyssFH)9;W+b` zFpJDSMEy(DK6h0~HbwD-jG){xilc`-AGk8Sxh&=3E#!US8%3fOvx(?%QEB!;DQXnM z7|YI!Tp5fVEco&oM;;~05LN5#I3pNC}#rOk{Nq68j@xTS-*pR{fCHt zFm;Z8{ESas^kZ{2Pd|Jmc>S)oAGW?B{eX1XK3JtA`q6$#NI#DH$7j=ziP9#7gu(DV zS$m^!xjFJ5Pht4D{!V&Ie5cs_`;0Icp$PX6N#Z9hUdm@icDKMTLb0WbP{a!fcKAYq z?ZjtnBq`Se(GF6#VZ!N;LLxEWAsSR~f1AkHU+s<~45y2RJZ5CVIt%xu3*1UO=UO9p zTS^}mbIZH^aikJs8Bd>;~#?|Dex#!hnR_UjKnn?(HScQ${I=qDl( zWnsB1t=xV|#6SLBRp&{>$zcoJ3-rof!w)==J)ZeXa4x?RI<9rU`c!R?TL^cG<7m++ zuldvx;*>DI`P+Wx5r= zEm001=F&N^@qBP)_Fdpgop>$ZCt!^722A5q7p~m(cf*xZce z`(LmAk5%VDO3ZFkD^ZT;(1v4h8HcCfZy9Qr1^A&76Vqb&MD)384BL2_f)UvA{?&?) zw&(^!yN60hLlmzc=_NZTx3T@LJ}2B%&c~77Q2a19#ui;nMsMg(GM}Vhjph1~1!I3B zTNXUL7hgkvvk%d_G-YEGo%IZQr-YC4O>ZjF@xaDD&!R=bCcH{>Tq$6UhdzA}Ta=`z z_Q2)rdoYy5nHKc&3S2X>T}@&QO8T$vRgmLcm=!bW*>SW&*av&MD`)MkO(>Kq=0?_ z_K|V#YjCCFSN_=wS1M`rzE+w&ma?F@lChGe>(+i-LkB&^mIk$0T@=b*};W8 z^^99ZKnJEX)bEZjrGnT3^Ppfb<#>V2x_SbnfAx%7ZCu8@7EP41Q!xJQbdw$3yA;!R zs9N;w=Jf~&K%=t@W=w#J9C}+Lw{QvGxV>ERV}VJ@9p{$V$BuJL^^5+;`W_1|CbGOu z8>j4aCp<#e{+mg9#Ae5V5}wSSpW%swH<0H2hHO2Lf7;`4rFAQAq={C^0be(_EHlAJ%DLd(#X zvIveOJa}tkK``KY7G#eDksCt()@}T(ROde>D+WWXc5sK>+5?m4Tvcs960N(>fXk!_ zg3A%K|4Coq!c3Mq;EeiD0Y@#cqhxg*823jwpx_UR>sB5#`}EHg)E3srI|1Vy68r zsF=d9{I%Nbod`Yl`*1}IzqXR_CYdGH{`krYP@JQS<}8@kY#tvOju_}DOBYfWwzN?th)p^Xhr))XjYLhgWuIqiFrv7Z9DVP;@ zpZi0?Vh$5f&^$&2qg*{Hli%ADA-S$fLkV2i$_ zb(Qdkmab3|)DGW7eF`Cu;fv2J^#>PGJVjq@9u!J>8@Nd-_%nMLlU4FFmNAP5@`*tU zqS=wwCQJX;g%*j>DB>&{CdkcOD|C<}d%LN3>fzrI3~M(ylqcwQ4^-|tV5vn=9i*Pv z2eU=z%1t?@DXz|bzXzf_`S6QiP>AF38=W7awz%lKix1@&pLuqQ^Y{Pm$a}TuMqJ|^ z8*G(tKlkHa)>IJuko0t2Z~?PA0|R{BlfGTH={^pODxVhnq_57XMkh4NC}DJys*F9uUW2Oj7kX zCkc88&u3Z(09{JO)H+#4Y@yRbTwc6i<$QKo&PdqrtO z=z?ZpPP7W+>4yx7{_jhZzCO*lEXX@2>fKsg2*!3>i@~2ey05$Jf8~Wr`Hzohi8#9d zFst9z*}S*QF-ePpm#-{G+%VdWHwThm<63PQs2{Jt8cETmKta-}9_dc-uRK zX2@0|c|~k8w!CC=?ZGn+^5R9coH|{)3TLeDXFW99lsCCtY@9GMtFU@=(SzbEoWSjh zN#a42rfP>&%y>PKsi?@k6jhu5jW};qM?!UcRdO<3cGFMM5psXvOKh&Db6y0d-1nKu zwTE^)FS1?^Zr=chY&)|tNb(pgK0a)_oby>U{#$F@T_~7u**)yt{uH(Ut*HG3?R&Fc z(s`1XI8S2zIK^vx1~Ya4XE;srOpntfjW6jm2@cn!ho?!bdn@G1pk43A;CDO*0g>Sh zH06_B|2*s8!o9j?ub&CuUqqGs_uxB0<2x@JUtKsp!S^I@+%rYBpGflQ|B{X$MX+wq z^^W~#yZPeT5gi-T>!4{krY$@M{iE)b8^mw55#7`kUp<=N|1aP>zN;@O^`*7^Ux%;B zf1|=xK-@XEl1B+jr^melccA6!Ui%(s**0Sg3V!JK{n440pj7P|0}Fn&CZrd+p9u$Q z3@E=bp!~AOG+X=id$(V&_K8k26)sc5zStl1_U_RIcJL+m&3#dWhQGHRmv6K>-{`Nc zQKehM_gKTf?a^@f;`rmG(1@@P<28UOZ8~D&>OX`Fh1r!Z)U|j@s}CyA)ThUr&uVkZ zD6BdIB`hE)&Jx?~6&!FpIV22^U@O5nP3S?0B@n()TYQF3^PkExXp!q;| zFd3iie#i4340!&X&h+*|UO+^Jmy;Iv(@V9a23+xAYX%g*naR)TJ)>$Z;; z-#^5S8C^?t?wHA(FMe4w%@)=ymVAwSU*!^S#&LwJ08_pjcvO>mOENnXt)FWZ-GMfl zX})AHms57Pf6`C1I_9zqzZaXNd2eqQ2VnD1U~}?tg^0gY6{YrjyNmo9+P`)MD^4O+ zciJ8z2YgI^oEz{l!qE^vBu}{{Ox+3 z@6;`P>VSo2(+xQ8o+-(AD>AL_AA)XT$1Cynw~CTpL#b{@yqeiRXX7X??bey;KhIHf zOI_XGv{E%~z3UiJMvV;a>hg5m4^om5N`sESg)+hz_M>Q3G9wU@2|+w=CVIxjyETawQZDdsZmMcS(o0mMEvv?o9)Hk%?wp&5rHGBjtfuRBC0(QE(`YJl zFp#JeB$AoYl_(L4Z>!|k*9GGxJ1q&}UV{Edg9y{-W?T&5_Q3 zg%`PXxDZYS690ITzfl77K>A!o zpEZ}Q%I`a+NYH$}gRoO;J?s)Q1OXev=JI~m>CChFZBhQAoBrvyViWW~cLEl63}#3@ z!Xr_n_3UxFy^h%9-=+;T1Y)foNL9#D{X8PhH5Hsa}QC#&H1Wng^p-${q z!AmgW*>@NT>5i1eA!Q-KJCXd^rQPzs&P#CQKKWw{A7JRvALwUn;m-wWXc)G)`FHRf zT?Cuz-B6Erp*|(B1SGs~mT@^q0t_Zb!}Jl4GGJ!tteH=<$UeNb3kqCs54NsKXhute zqy7?ND?w`wTZgfPtuYscH<9^f8S}5)u?2IXf5DsBCk>Lx%{x^jd#Rja^V0>a+$5X_ zMDDL>Q7^o!N+;L8Fk>iY;Hn!La>YwKjDK-!M&XRpTWYFjAWP=UK`xe7v{|_XTO=G= zk5!Kc$ z6XBRii+MYadTKYuSGt<03aVBakENbW*Uf8U*lpsW_ggLS&_9^@(!ENZkrzgglQUyM zYVJRi*@(KKy79^g?DSj|IJW%4N;y^rXo&LqGo9bq3?b9fg6Xu7FHQ_$zj)ZUCqUmZ zeKOhRa&O3$ zJIIY_1abnL3p5Sjt}?5sdzI%;24Af10K;3WG#dC>iEoK{yAX?-X$V#E*N?l7`Ab2C zfd)W^_W+`~irjc%*g;^#8hi3wwSAl*@8H#}5G@XqqN}8HX9P{wA(tl2N?g8lRf_dZF1wBbG1XArRh!$UI|ohm}+ticc#ijA3P>cIw2~{Pl()s!8@q9mLP$ zPwk*fmmqJj+Gs6%g=OsbZ9YjmKr{8ht?Oj9j4iMYq)nN%GcvSKUpX^SCbgu(tTu9`^CG1XUK1_NHFHpYbVp<*|1<+hFQ6T6{AfXyX=s zWEZzw#zxf%ahx?dPLsMGk-vdXp09mt_fGPC(Cmk-lXLh{Jy8!G)HB2ezz6F6+$rQd z!CLHB!H;bmaTIg890aYT&F_WmQNCUe)*)*Bo{;ZmsGAmd;^)XXY|x4-Z}>RqMd$Uu znV+t@V-DCg^jpRX#C%st;l9$gg*+(NphyCgPqu znEogftX!exJhrBj8|g-sE80T^~bigv0lJUBmMItjzB5~ zT5Z2eD(da`_9#5Y+LN0c|G73H_%3i;Q#gvt*Z$~f>Z^0qg}m2LI?$OOgXdaFOmF~g zy~Rnk+qm4N-d2vCUjb?MOg>8w!CTl%`@)@+I3+Bloc0WNRLg%K zAK!2N@0lg?e**p^_pQHoY|+B~*T1Lx{1&)y5ITj*?$ZaUrGAs?P>ImRtU=O3sfW00&UEEdt9S8d~7l^d_2G7_?;Lv8KT0! z(Uhbxt?QIO_EY>e5`@U(Cg6tjtG$TQc2Ls46eQ^Xm1O3wu#wv>x9%HKBW(mN{U=DZ zji}oRe{i$MaSS$zueoG5AM=*A)6_()tD2)pR7%Yxblve@*Pzs<_Mz>DTDNCVH@^ zNozLhz%RqexIG-xEqBli{PM6F?BH=+`2M8`w-7Grue3#|Hv)!Ee3nERJ9!ZjblZPy zy*VW6k6ZpF6)mbxLWtv^ir(=sXYgP{RHjOU_;iWSOGDOjA-jS<{+r~JSa8VtP!;q= zC!U}uvHgYif;vcWsSfkey4qj~h(GICLCQYQ5}>Y`%F)VrX4=gBk%D#V`P42n5w(%+vwgk!*s73a22sA$wQ8$b2VL)g2rO!|<_hd~)xbn)A{s7)FWDC_KAt413i zms`y!TClbGXkBrovRD)+oiw>&$J&CDhS<_`%X3@|;!+ycom*az1w1N*>y~t@O30jjCBN|&T zsTi*HZe>}g+f)ZxRo3uxiK5{~WaDeZG)Va)AUy3|xYld5-@jMF{}zOY5bC#wRk-Fw z>{K;E6w1EXqGBpY_}_uB6J;R_}gya2Xj~di(>s;-tu^$)F7u~?N z_+En9;h+5~$F_M&RQ)-X*^{VxF_G@rlSn_tWtn@8WXH=1PW&YXzc|_-a*k3}rK(2bZ3bhxyos%ZixR+jT$y29xd2$!_`n? zC>OdkwrbL8u_Hr5ajV$in>~;%jZMXqF+;rcxgk9rVG1u9l(yiCffHfQLh)$1>Fq<7WJGX z*Mo+SA1f5)&?5;N%k^VwC)`44LLo6wQBnO z!Ci4>*WhO3FxfTw&surkFt^I$kMQ7UJNgg(MD!af|2OyfrM*6{bDul9e@3i2cO-u< ziU&uYAQBKUbksDN3v1GK+fEl#$G?4*DIGZ1S&ym?Wx>dLGyBJ5559TM^rIDoW#cP} z_Uv(q2V3Ue^CG;wfT=qu7wdX=7=$LhoZNQHR_8g6|8tvFY{4uRvelL=wjUAIJE+DL z1BiF>5~&WgDZ88Zwzlafch!avn%MYSqCIz; z3Ry*l=*Iupy!1Ui<&UfQ6dCJVfIK325er-rqA{VosPo&Z6KKk2oAievd9Us!k7$*( z&`PRseacT(Xg_m#o#kJzw)0eLfz`>$&Df9Sl7he2pJR)6@)YU^l(P75YNG0`RMp$! z1yE=RqvOxw3mQyFM^b~|V+U5F)Kz?CeNAqV%(L)$ls$-2WwC`%@YL-NJU+s)f2an$ z0Y_e;DGN6qtZxmCdqiy#Z% z-`qi6@2ShSUXt{O91eBs^Mh6bGIfsfi%vKGo0zw|;EA7}JuMYq@znVj-gd|7D;jBy zrUvSgQ{0>5RjU()e^&nZrB5hpqUyI$yRKYcHH62e@_3mXkR z#;BB1$;=bMT4hoF+VcHd^rHTp!b|Xm75aesZ`127%AhubzR?qLO`ZMePb9&JqK6v)V7yC z8vm=?wR7vCi_RX%<(;7#+3An3q?@7sc#0^bQ9_tN3*A(WGG;yZd(QFrXF6^2#4cN4 zyTv4Uq?D}MWYW~kVBMk}a=~w;wDiY>Z#No0QHX?xGg@ImOb_)cCz4N`yYq^;&a!sw zr~^wZ3kfbuUu98AUBW?lWR*?Cn%+lBHNB!gGkzddIDH9^4vkg)YH_^!qBM+;=M{N<^lfZOlxVr=1@f|9tmI7x!3{s%XQr^PU1VzNo=X32Z_;1yB#YBu zUjZW6JkEQ&MKEV7@33EPPO)Fk)99ChO_Vub4^s*Vwk`WC``&UpMr1k7T}*{sIB8`5 znflHx0x^G@<&ZtVYkqzrLBD48hG_|)GCVv!Ns5#wgTdp4Z3|pEU}i0Q)37)oou~#N zJ>G2Np>vfx#iTZoOE5hqG9NH)4eki%a87C-hqTvx;0iJn^YBAh7-rKJuu{?J49 zY*GlfL()M9sc`N*H+Q*S?7`BXqO6;t4Y)rXhTBa6P=o^DK(W=k0gl*mBsHz#9VtLs z{L`)AXtab+8nWzSd-IB^EZOxBrL?=$UcV|OE~?rnEw#bxtQVR^=ASj@zST-!fOfH`x^&in0*V(A=yUJlF4%k6_(&`M?T>n>_j--;`<_kdaRaQcZp7if z5D0{Q*Z%5L=xx%UyuGJxGvOEY<&Mwew5fE3LkWpRYlV>?kPj$-59LL>#wPtAyxn6P zPx$U}#at#-F<7FAtEEe$5q3c;+Kbf%DsBU!x;yktOw|a^q09@YTS(B!HE8YVx8xA) zRthr|FWe}#3|GvIt2j-&DK!)As)Pn=2E?mAm?N0E)86f5-Bo8w_x80dRym{0#}=2NJhnVpaoS{DLn8f4yf$>`SaK=yp3wPDWo1#S(KEQ;_S>Rb zQDk@R1A^nV4=4>9?h6IwX&iIYnPxUd^R6lF>?CynPi6LW@FP;e#cQXP&$za0?T7S= zE{+Yhs9~JSxVjB`oU0SIhR1g;&#LLmHhO?_p0q&Q;@7$kI&OAyLwwhgrHq>RcgK~ zmENZmTbk>40nBL6qcKfQRjrq@yQa(KHmQ(zA(_Dc<)7@N(0>KH@gK7(rYX6=M6(@H z6ntRvUb_O6(Y4s~TYWIKbTDsvzu3&l$d&4AAm}81(E|l1d z@5M9z$oJm5%jr^m>&>?VX8fFQ{q=1m4+HSu|M04_kUDzxXV*rU(Zmr1K$_jJ3w`ZK z-3DN#2Z#3Ii$dUS39kLUP|Y5vc0GQ#>+!;_$1yzabyrh<{O&9noV$4dCYQ#qhWpos zmYt{103@7d9M0{4iO%($gPB#Md!-K){cC91b^45~zE!~JuRbebx4EpFc6<^uY$xGa zi0u|i{OjX|T=%pSi)S=|_u+5qKNi+F@y)jXZlCTw^_h;7Asbn7MPWh9=QvQVU_w4O z9i%Myobn-jSVH)fa*%BjPLNQwYpUhI7tajEb~R3jtQkSm|AIyyN>)Sa<;-BNU$E|fYcM>^nNf1RjeFTJd{GbOEyVsJ)A;k31i;;LtC+_xuo-|9i3 zi4C}=)&#%fI&DD{xWgetd23uB9iRQ8yF(i`rBna}uUb11c=*L1_Qmo48BXC!n8Y1P z!sOq6WWuCYq79HwPaP|nQap=RdenW8d}_n9kKOAIZvDx2Be?svs)c8>pc=~@dH!wd zXOQP!Ln9|T-|Zw z4R*lwiM=Zi>yIr`z2)x(3ILew-u;9^~+^ zK#jOM=v~2;nPDNA7R{arC!u1xf)lIcU}oI zR=5ZAjz8$=CqX+jI){~f3?g{_Lqwo=9OsuzEC2G~{$HArO_NI>peg2pY{vp@wJ@VL z7>QY9Ie^r;q1$Apb?!FUcyo_=w2y*9NwC9$Gw_ssdhbd4Z_Lk?!U5xB!AVs3-~hqf_8GgQ5G{I z9To0&r}$tqt8>Mpym3dBI!W3nE`3Fbdq(FO9}^2#p5!(zmQc0uEi`>Z!%+sX-`Ls{vYz z&|0jvzT;>`Y~|LP|L42*`_3f^2tB{&`TI!bz3g{i)_t$N_S!!rsQuo(exu1Xpn7s! z4T(Yjmn$O#0lC;qwq|p1@|x}>k;7$9zFw8VU%e{%e=c9o=~9ktU+DfD^40cfHR2uB z-osCq0#8tX=tB0s!w|Ax8196u%@Y$vduH|!vNs-k$U^q)ujVjkmS`7;8e+19?4*`# z6p2zwoDKZN?#Ma>{(U?z&A&4j92)=X42FMKzFzY$q4uEU>($8DZN7YMK-_}MsU;4V zrA|OtJrb{&a?H&xXOi&cVwmN3A0lg6yu`WjBa`RarnzQ<$ZAoe%ckhbfXpYF0+E4r6B%CzvNl2 zdfy|kX%yep}dWm~`)x!xwZDCVb^Qd5i0A#>Vt-Q7MCQwx0iWrp8=HEZm@s9lm5Uomrq zHz3je9Mj#AbE;_G2QS`IzQt@h3iOttv-O?rO7^YG-*lhb6jTrVxr zlG$N%bh_6W;BmzlC(T@uESyOk`)xg7Ha#J`+7yPIKF=V z>v=oK!pc`vkT-u%UUgpHZRhbz&9S2S>nYtQHQT=DVJQy_^{}*G>N;0A_Gv5B%>Mf* zPn!9>l;3(v9%*m-rOtNiv+ixXkbv6rp^85Z^+~0_7y9dhgoxTambII_m8ebc)Lu*l5qZ3gKx{8Yi}!P**zn6#<;vKoDUUBJeF75)iwX4 zt`m#%ZabxY+`m}P(5bxp@*7LcubjLYOe;F#82Ja1*K#+e0~@GC8^5iD?Y-v4_F;3r z#kX@@IbQtEY~_{Q+g)Yl(5IO2Kyzf{|IhfaD;9$q0P!Xkj93~*K0Q0wnRPtIsylrE zl3r^9II>d3CSSg(-f-(D<-k_*w^qM;mYHQ}k-b-%Ov$NTk{v=vt!9s6WkUB9ZS{bHYx862*f zT1fJUjuatV4d}}$z^GF}>3tLLc0suvS(43}e{bKBjh@uEySJEoZ|z5d_KgjyrWD2q z%&Y^v)yUeZ#jz2g<#i>MQ%ho`Jgz&oa_X_M5V@7YZI(ah*8TM3bGiNadTzVHo!SpA z>df#DhEQ?13YqhS@kQFoGyj*u*=+O$_r6PX9`Z>WQ}0npk$^J~#c5TOieqy~;y`Ve zlz6{yv%I^X_X}y4EQ_1=eYonj(iq!}?VYC{Z@ylcWV6ZRS?*egn|x;+~u$-*p>Gx(q4!@n??KcAAN2(BRyM7AOr7*v*8 zsR?w6Wr!jcf%I(a0;pzwt^O0b*MCB5o~Qg0+4cTUli$hI2CLV}SF3%a)xIH9YvxKd z2fcRrIuKW8fGvI+s`xH!MiW=2(7PGe zwz%NEd0RHfGZwZjHKpPjAp}tE@@sv?#@Ch^Rp!e2H?n*GF7~Ze7*e}oFP9O!-wt`x z_S2Wt_pBQR;-6U;9?dlDUs?N?`t3u_Q!B$&b(Jxo5pc%Sr$PSS6JHXElgXkZ#bWLi z0I%&D{yC=LVsfST6^hWyzz#C7Az$ZY11fcYw;ovg6a4mNiEp@;b)-@?IpQmXu#Edw zU)kPAdmntwUrjH%eOsK>S+Q!tm$;-!M6frNc2bXbt3AkXG7B@pZ=+5l1OMb55Pk?& z{ZtUEX%BT^(qUsZB^7H`z2wfa(QHv6=s-G_4`IY1|9zh&SNah@*cX%A`J%C~`BS6W zQUiCcBe{rMqXRhAtedc@9;ZR1Yn`U(VMPpbgsHExn?lQJL6OPLG{;#E^TJy7fim@N z8+wS`xH?vJrFZn4eaay7-yd6x#VgT~O|6?^pJV?sLzn;KlJxYrYVB=TS}@M~EZ02q zA)L@eMBv!ZZ{9N_R%lV4?Wz7)DvT@`l_`Wee^+rG>pP~=-H5%Pe?3Q&1Gy4`@K^!1 z)G~i~KWWS+2SEdwuOb*QrOGE-o{VHGe9=c}(Mv$b$KNcWp-F$L4J$(4L%de3d^^8t z@H|>Rm-C5;bOmH*Wqc!Q?_9Nao_77JxL~i(J#8!U_3f-{SK2~s*#1s)*n$G;Tt$uy z{73{4Rj+k?)g`P=%W6VS-0^n0Aq#!p|FD9eX+Q%2wb%%~L1~fgkPEDcUZM1cgHoDv zsIOFTu7sj*jwbEc_?0R z=ck(Y&1fuW-ZwgScJp3c?HwIEjVk)+ZUlFY!<+YxYCOi)-%`Vj5MaFSza$=wBAdTm(DK0*>ALHR@Jzif z#Qx%a>@6u}-wf*1ZoI|F0)HJ#`FS37!G9OB?a06}{~hUj#p-P5*O*vTVxB;#WH%2T zQ~Nnvc(;~k-eZ7Nc&XIhiP53uTgP<3KR1z15mrW5`{|)Ln&$ja%UbMxMdzzF;(!Ma z8ZUs6vu*i|vQep{-S5nH_U|-I*!T_toxq*XB$KJe}@H?= zMImsIA0$NRR5RUI;7y195(A_~<7!2OiK4Clu^|FV!fNw4x)j9fwP^0Wlf;nDfAV+5TJ>JdZ-0Jc$V zEqWnEQa%5%_F)D5&T@pIMF2y3%nD+kBt_~RcyvS_lWsSdC`MUR&5|q1&d{MK^@07d zH`IDMlQ~Wt3N3z~5cgW0)%RmvjNB`jHTm0{Ye(#5Gca3l{V+GxHk0M?uKd{P7loGh z8+5^_SV>KMi?w`)_HBN`+DT4^tkTa@obT-yG5e73`^1J4#5Z`*%<=R0jv5skz-i%K z$z#E0092v`nA8Q3j(=o8_WH1e%=yL0J~kzs7!S{_2rb&eSoGnehK(zZ?GopnO{Z$g zMomN-!q+nz%ivnpo=k26y091f3{-AWVj>v#wJY-!^$5I8-ep$CrRouxn*Q{j{Uhs) zN*<{hv4ZlJ=>rG`xk-kl_?E7Xp=Y)a3oTe+6)7ULEmE%0s37^1czfdPkd$P-HZ(W$ zG{qrsS+}*&_`M@p_P0S~uuf=vKo|yT>!!w~J{uL};6J&-hgcmao~Psc=I>zwn-{u& z0QGB{T-UC?xluDlZ|O#VeA}4MYuG4f7al1oaRy3O*}V`M=ygL3A#ggXH$a!q7~X7> zK)1LIqZRm+c>Ngdwv*~>p+y#=kD7U)(bb1Xa%$BMe>X{FM5h!?2QMclF6iU1MBw2I z*9v8B|A^q;Oo6OkP@ftQ7%F;nX0>edg&p%|s5#~%FU%VyNa_Pt_6HZ5EIZ6?j0$s>q%NpYVNX!88L8t^_<(FD1WcO=HPm(=<*93c}S+Om?sOWUKl_9cx)> z2E}-@K12`dQwshvvk7h__=U|DE?t_Hw?oNmt6oj@<X;q zZR1{F>v9HF2g*N?OB|knkTr^luzx=O51-JGECGSZWg>Btywmp2jnax>rlP;APH8hFt~){F6>!$}{SRu71yh8L^GYN|oZ^ha`~-WSzpBW$i0&0iC~@ zU++HtaDF+5!reK?$?s^@E1^X@=^J!A{Fw2WFO4Cj+*Yn;#C}UbVpb>}u1#E%AFX;V zv_QcNk@&9YNVZ8_*X19C79Fw8_GT_@<1LQX;U@<20inDPq0C%g#1Q`|T=mMl6OfDw z_kT@UL47gmopp`akw=0D&nb`?H?5;K?^j?f&l{}QuvjxUMo7MV@-=U^o{A`6)S4_3 z!~~F3Nahnrsa;JhQcN@$b?WjC0vy=Kt$jkH4OTj}*L#GgqAzclE9p(OVx8U;#Y5Q1 zzNUY?xpv>_oyBkafvwUVvp&{#|6;e}KRG|?k+M3-%b93b7o|} z6J>S$%4E9`6YWzoiGTfvvmfle_7a4sLlbq`4{Um|)FTm{VezniODNpY(nqZ)IW`-7 zvff3DCrmsh>>PZm}9l+B1;F-O;ds+0n= zcF{_zOM6NdoJGU3HPkTKJ;I^rOW~?51ad5~XjF#r<_p8b`K^ z%@ResemUKxXJw7*Yg?uxH+DzXtbm%kyw>`CWC~fSa`RV-mTe}41(g{01-`QQplEy> z^!sTTKPaN&&~Ty!>(0rqP|JyQTyXDa!s~Dme`VYti5Gp3?7hmQU4=7B`$&WiqjRl5Of>awsI`%@$kWimnW`tSY^q)$*K`+h+JQK^qR^4x!l3}j zc5=`@Rz~Q)KG`%GTBzBB5N{MwwdJl;LoHwA+h7`v0n(?YaxYn2$*dbx{=B~NtsIE& z^P`OTkPpwE^zV@0E1|_ZH4o{H{07|bYFt8-0r_DG=F*^}B*DT_qT4GhOQ_{OtJv9h zHA^mF7{0X-aHUH=kcML}BrdYAozVg$ikSoDLSjuWB&MI?*zgx44jm4{5BhWQ8fH7a zfI{NiBvlSH5Rwv($ydlVfhZ_E`6Cz8EOrn1 z8DH|-VHeL--PcFf1=t0zHwPGOk3)uRm6m{mu3Z= zn5_sL6K2$b>ncMEE&2%%&N3TtE@Y`X< z9Yyr2DsPkk?J27cL;g+2ZUYY3HUd|+S`2CZO6sQN6MmO9s`0D)^~o@x4KQ7rBj3WMOitx_dZiM^#`Gu<1-+Hm|q84m?QkNsKTQ{Jt!#~TY>oFr-FZ{|_;?cM45rH_J-u?dDHTLWB56sQHZt!0}8oY-7?feP_@$h+_|9(mK`?0#o zSTO<9hkW}-5<4-GSxqo5ZJ-+Wx({dVem1 z_?XGtS<`6;sfv4#MF;s)dMv!u?d%z<;MQM;BS8F>20YYS2E&hBFa50LvLT|+A5C}3 zL2%Sp%HyGZB8`K`V^UX`3-VoN`sRCl)4pYPH(JxYQCb$N@Xlesgzt+YMfLYZpxW-a zF&(CYFN7Au`8&gjFB4tDs#&TZ`%BnA_TinZ(=6|Irgo|{9#!4i)%X^dGh(mv3jcRs zl^79DOu}?tf$$jlewd}WoQ>%D>v4LSeTXC&BA(s&+Kr=i)@?)~*I z4xCNUC-8g=csjosJ5M#Z(W%4m&Io_es!4oM`Tu73T#7ZYU^LCMz-VWM0xw&#w z3`WrsXUm>G^NzFS1WDzVAPaQ`Ih^c0$2d6^F{7-(`(4#{r=M*2TfZ8 zPyW0om23TOt#b}NgURNv-^ozX)UU&SpD-^8@+7pVO=cZB&*O!>M%%Lrq`gLIGnE2n z%z%kLoLkp6wE2$w^J4?e2b8=SL(o9R(8xJ}Q1jly3Xuj>?E&aqN=u1zwdEaA;Q)xQ z04GTRz)V(vW)(W@UBF1=rf8|&7KIP^#W~s^&Z2GTJ|)kW`Ll(J!fj`gV;_l~TfY$K zYQz3p`i^VMG!JdnXWs6ock5oyJ|9+%-d|>o`U97E)Bzbm{)J*`JL`^1AGXYT_Jo7I zw)ko74fxfF#G1Sx)jHyXM;!4vYfUd_dA}KT5a3%&dLEH)eK>I$i&`7qp3A^6M%dR3 zlCc;qyO8zC%C!iTKvuA8;>R^KKYx`dND+p1mTRlyRr*-%`qQ%e2z_(|D)m&)W!ih_LdjmF=M{_l99$G~G}OLH{cP0|#|{ zQ)s~tXwYZ%hFVS?gX?BlmJ&$|@%zTfiNQxI1Hv*&2D~2i#zyxKZnZ!C3@l%0+R+oi zWD%Iz7p?Kl?7zHdr%8kZlIOW^gOLEJc0Th8?*#@XPudD^H_-|QmbXq!Ja+lPi3yMS zZ=ek2KW<9^Jl`$oExEJoQbg?~ z?bu(hiP#=+<)tj2FI2^d#CGwWii`Qz@+*?NM0|g#IKmpDL^Tb0F~1hwn9BXKUkh^g zK$WO>qCWN3>+~Eeduo$;_p$@F*}Y=#EB@!(?Q^uI+?kiKKzX6?ugVAvCZzDg)Mqpm zVo++x+Zxu6A6LM>5Q{X#Nt^7%YidkdBr;o3HQwUO98Kw_w@=s*Nup7Pr1jTnk*XI% zi?7D56&?9{B>o#;u0%(?u1vJ*0wx1t4R@lWs{RyOe3BesBlod}nqC0ieM#a7WunQC z6*J?$AjB#e0V5N~ygTN@+J)~n%C`?vYAQda5Ue71HwN=Y^Iy#MB0L)X@@gt~ll)lm zla*^j3p;36(xE{#vz;4-JS?+^Pgtjb+vV_2wCb(K!^U(ZTl5Nu7&!qtM`o`he=jCd zRDd?Hi7+%IEgNpPUstQ^Qws6ps))wl5L8u*S5+sOcyKkav^4#Axl!YQzTPpCukL*}(bbn+f`vXg23W#*e=$(JiSSJnT=#8%R^Ts( zx)%-@q>=)@$u`Pz=tlApewmDh7WctD7OCn8E&f|Sy;&9Iz;YRwmd!6Zq9dBWHd>X$ zX~}ENzg`Y4evC``A0E<3+-ne$qE?nohMAa!k2Yvt*bJ>Hm0 z99R9nsUAupK!ahV?ivtDOhNzrA=RHh*v)r^B8i$ZcK^X2$^XD6i^jJnZ{(M_2!S@C zLq_pq_ci}_*_ery|BStvyvho62uF!ea~-T-e1>B9M#>6R>@{1(RZvT4;m-u7CkG!n zQ(-Nkh2P=UD7Nyn{Zs6qe*2}^Ge6}hwq6w5NoCO237t^vo;MxE@`U#SF^Udk@54lREz z3?wIe%Vi|U$?zvJc(%^)h7FeIskN+`ufmBVs!8$ChnkQC&V?Ys*ATAysPXXd$XyiR zkhlmFQRSve6wDjq9EYzAU<6dMLzQ5pG->wq3<13!1R+XI+BqM2YwCd$(DEcy9u0~EsW6p(!arRwK|Fl7* z!@J=qtRrpTn7_)Gh8!&S@=ZeH4sVV9?snt5S@YMoy$|f!ifFvUo5drermf&_n>~Nk z`93do`0VtjVggdU$kmTgJC8f^P0yl7WpwU*y}M-}t$DXS+`A(LA~ z=ESTMjXk-9u#s3Zt- zlnq9`3ENJ37pl>s#7y43pWcBorwr3*?lY5Tjj6=@>BZTA7Auz|pGKGl=5CK)!FSF< z=0Es#X8-4;L)-s(CM=urZ)iS@o@@qUejW@BqrpZ^kONy=4v51shK!&FkwcTv_|+9c zqaP;#>_Dg9Ky@Il=q_}A93~s12aCuChse)v29fPx^6Be)ViLTu zX92Y0#S&(e>0&hWVcDwu#rsPPWhDf7HWeXptgNB%09tfgS$z7L}9j4AqSqK$vnw{38lz^4x&_b zyx$J9PrT{Ri)<`u#c^oFpDb6sAk6l&BmbWL^#}I8S~;5@%xfoigQS0BSskfCt}C_N zAm(PQ@OBslva=$^nb_-{{i3g0f30D*O(rTeSfP1IUdjojffwKV9Y`uuiy;h3JGp z3q7HOtffE5GeM-OmMw`y5k}hT*hj|cqE%aFk24u1qi_qQg7dD!hs$bX`C@IDS;Jlp z(4Q}<9(V|!8MfjMaSV5I&L(Deg;)HQEU-0WAf+F?1kQc?y7gk{+4~1sM(rHb3&!YR zqU4z(a>s`9lMxkAZRrbwMi<&#!ap!gB>u2Q2G5P@uwIhG=8jTw7p-BvBxa`%&XQsB zw`av{!8vR4>%qd*e2r0Nn4=p?TE-QscQI%ewcbwRldI{Q-9+MjwPDGfoHU`Z{dqd6 z1U+|@Ca&s&=})5xJak|9l^Wq=QG3{0(6)x02LZ~+AIB)68{E$sLiT1>yC&&`UQiD@ z{Z4Yc)f&-eX;E#UJJ9}MU+Yl^`Ms((-p2N~S8x4f6jYC7r!--`nI)*rn7<{gRbVnG z?TU$F^>2&!BpmMD%Aan@)#!&v@IdXGejlFcMZwZX;(24Xc{Mj7T%54K{X&HO@3Y2~ zed+A4`@ybXM>$LmQOTPkbt=e#K*{Gs!OPQ0VZQ$NPHgdBV(a`Dg-tSRVa=q9yjx}n zvRu1~k}eUow^Deeg=EWk236H0nzH#0@?x4EP>6=ST9H}HDsnUQhBwI{??<2N9e0vE z$upps?BV(AU*ANo_~VlhYtr}{G(M=-ILcB2ttIZ(+wc%>rv!w>P6=9r5@nMJngEgoFMlN_ z=gPgw{!D_f;R&=->UW@*EKqn+VE7{M+su-rXe2AqGA-jG>xJ+EdNK?BROH=$jS#|} zOQu%LSF1N`Y8)=*a_Z0RlA+6?^BcYB)~)?v+Uf6SFW5i2fq!z?f$bytf9nCTzr~AD z86C`j$5ah^Lk_tm&Z(t+P4aw6%*(T8^Q*DnK)zE>_P;mEziBq$xQ!yxH(6TdT=Z<9 zWz5-^@S|$*kNpTm^T|g(=;A>6g!3w4|NKDu!=Eop(n^QO-PWNtFf$=gsO6eM5kWZ8 zhGm0ut(Md?Hub_6<~q-+Ykq7j0AJ9SiDEf{h?cAammay!$r4%a+{3tPYH-AUwZ-4ntOwgcfSPIKO;YT*-3GG9-k;P|H;tc|+ro)oBy*~_s| zeh8obA8_=iC&G$KI&MT^RRh?qPeN7yct)SvimiC`zg7!NC`D&2$|`F}Rd|>TxNk$fb>>ZyzBe- z$bYafr06DzI+b(pf9pW(<_B71qwl=djJRrJ?6jbuzH0KCs7>{(u%Y|23f|PwzPImW z=O0tOVv%}4a`6bxjX!DQyIrfRD@mKjq8!2qTll_T3oPVea?#|eqoChsuXHd`S4?O5 z%Z-+=+mCgEzN~s6uIjzVfq2W)A9S_mq5rH-9NcaNBz24zw;J885pTd0$@vC|tO3ye z*k1a-xRm~XuG9L@JTu+@msa)c|Gp~@x&P(r|H`La|L?Fmv-`i!YV585wgC?MEhH=r za*)-8A}#ffIZu7yxk9~AK!G_W`8=06$sCQGd*kenE8t9DKZ7b;Re&#>n@aOzXSZ9F zm*VptU6kRwn*Yw>yK{(3(4rI^Oh4S0hdna`oTdt%8O_g#q`+1`p2V%eBvv#ArpYgSW|_2pN{ zgi^J7-U&De=WI&eB|2nPo2a2bD!j8|V&(eS-%?vd+)%jYpyf}%^z0WSjT7;gzW@*0 z8b1N!hufwh%XG3p6M*d;^Pz3qeV>D&P?@%8UKzac2`0|@{EO3ZgcW?dRZ!p{mmv>u zgYxl%9)R-`S9u-Xi~o1qakWu{D`Xx0YC zni%)p7FiY~7B2XPuB=420R!K;XZIZPso>2gLpQ#|yVGB0eD#^}l>_5oj<)ItIpg~! zaS2)U=a27C-^(7~mmk;oIBiZ8(gt~j3w8cOd0H{ZD+_w3d zG@Vn##VzAr=s*^@{E^P`-l+`slAylj?dKVC;7b&Y{bxWRJ`_({Z%~}RAb{d!y6V;I zc-~n(VYt$fjo>%u3juAIcdyv~me^nANqTxYi!2XpaAxI68hoPYsNdQ)z@Fuq+>4E0 z9`oUNT;z$OJJ$-%czYdwy`P-PWagfX3~~6=o`#?gMxO>p*>8l6^}S0wY>#J&O;Cl9QN-eFf~*d+`AO>3oG*&gUwkmK#}~&-|F!JvbL+Tp%gT?G8f%vh zDZ7w!ti$=82#um|Ka!!Cx98_jOv~v|jM1!1q(E5OV^ecj*4O`IvSHtA{^2>(Gh;V~ zOcdQkV*#liODD37z=1T(v|(H0iOrQW+GEFdHwgc_7<1*nMnIL_ILfQY=}M|qSTOuw z;J05a*q0mcV5UkcAm5-9pEKCXTi84{C(j89AiA-vx4t5Kz@|)6-^?Jq+m*w=jG_z- zWKW2XtRsV5N4(9_y`~{@$dlB?r7%A~MRt$Ypyz4LqNuT}_MPaXZqSK#;2 z2q!EUR$E6;6%{~_SRH`ni@Pp@#x{5p-;q^cqm*Ef65^@a*P@)gvThAzcEj_I%&J9Z zV0f@l(Bg8F_dC-0T3gmI*Pfhjp1{2(%?Qw$hqu5Cvn$F4$lE;GU*)*qNIBqA4;fH7t!riSvy4`qWwMoH_u2e-*cm<0 z>0D`lHU;7AnQ8FU+FspQ4u0Rwz^_z|RI0g(_Heu(RvMY@SzRd}?LCGF?q;TGq%C{8 z8ZUI3k?kE*!$cGlbx)Rk5)~%ypyzwj(Z!uARuN8|&9u5xMhm;FTa;H&N}xg@tTda$ zJ+t!>hh3uh`Pv-G?45FY_MnsJrOBZ?`I`TGhjTu>j2tl{ng5PW;`|6Lc^%y3#Z3&1 zY9N^4slUwc7_Uf)7nqwi1293RE;CbddnvpW_N#DB4cbf|OypIc`-qhdM{7>M?0XJE zqb4KSCRJy}q#F&t+w`9Ln3!!~Vg_CsR2+IWpf!10PqNHj*9n9Tt|T85k;(5)qeI$=lZ7Q@0C{pqpj{j9!AzkQRByMMOTYe8PL_a+r=mB{Ni zGMhu3@R5hzL{IXsNHfPO4$Zxa1}k9tu{16J69u2#i3Cj?--`Wh^f`Cc2VL#ngXNfo zn|pAdZ=Ym;pL*ZEuL-^%Yu{hFzwfnvwcGLUkpcgK1)?Ed6qA80 zORn(=c^06|v>Qe|oGK-Lgr#D8Y_1HOUa<72x5PCRivZvV9+=4#E}6Nex-^fiC9HUR5e@wQsg-@(0B z_;=f{%WS6Yt6I@j-U)plBCmwn%g#%oX0!8BsCC`v>6h~A#Q*hsWy4vhl+Y5i1~!~? z1~&Ys%V@w`O*R^zbZzCv0ZikP8&Hd~M310D;g7L*f52t|Alww@6n7~j{b%kzY7%Ig z?VhMlyZ29Ip^66P6n}gMGq}q6O=BcKb1L5JkBJwE5J6e3rmIu{sj6Z>Xgklrp7zHo zSJ5<)Z+Y@}3Rgu)3w8>~oo2s}80?g+Y?gI|2pLPFpn%q9RS^G)?>v6M-0VRpZ;(Ai z?p+%_z!H|U1`*aTfB+g-$kuqmdZeH>*JIQ8iUi>swIO995J_$GDZ8!co-hz;nOn$O z_={WumA4A`p}A7MNlZo1J>UYP6A!yRzksBPcOvin_Tbo*@uA13R|Mzfu;#}0i0V9V z?tf}E7;h!zoz(T=7c`xQBPZW#CYLIBilTYMVVx}fJ^e08rdAj8n<%)Y9pUuWGm?q* zKbIK7Gx~tNBoOp|R#Jo8z{`TrFg6mQ+eKw?A>i4QX~Bgd24UT#0UKu^t506?Kv@GN zOzqk)YdwjAPkbBSkv}eh^-*4VM}FTqZGZhU8SP9hf-O$iM{bRRFTe0nB+q-~eYq># z>kOt##9HcLXi#;buGL4b?YX+ib-A9ar(9Qd??C|6r+A;ISojQd?YQR#9+NX~Wslfyi zzZTPopjo2d!~^O3X6`9^YA$X>*Y>0?xTx26w1;MBR5Y2h%oKxdbWF`Es+I&ENj!a_ zpnr$VU`fPDjsUMJU+LG3dPYs@jat_m0X@=oG^l!QDM%)y;oR>!yuSOBG+v(qkTNwh zc>T(Kkmif;IlSt%5LH24p+R=3>cLsD9;?$_m+D#_<{HDGrtFkQ`!pWkvi)CB|0(<< zXEbYXyeC&Ine?nce&gVl?H>g%o9v}Uv<1vBLmD~M5QqUqbs`%MCuf?#0SPAiq75H>O<8@UO>vZ1INo7L$lID(p;K(a)WcXa8TF)~ z6X-~-gf0ECnAldrmf29)1x!rUU&cC4)-$sxc#I`M{psZ&tP19Y(KwMh#7wQOu3{yL zrFpAfxWSrLyW74oG0&Ux9f!X&tTn!Tq->cG#QH}*^8#-U%>@r@^o}FsLtCtI&QGi4n)&{xW~UU;jr)tfiRgJ?mEQW}Vwc#eP)iZz=Srpc=X7HhV?i z{GcmT47t%MWf|Rb1q-fR?ZmM--MY*Zd%`*Q@y~MA< zG0=nTG3|PVWigZ1)FTQ;ZD^$p4spWI!q!B!^`hEYP;Dpmx${?+j?4*+J>Z9aGr{NG ziN5`~9z@@s+}5kvo#ul>q5p4W=>OP*rGMG?VMKtl?|+2W@<~*J8x%k18$7M)$P=e; z9yTozP^?3^6&D#9X;in9OZ=zv;$Xj%3Gq_GKD;B(MgAp<)(pR#r}tXbMoY2;q;*7( zs^2^LCe3DQIO1kgt{HqHfpFppXL!L`<+Q2J_Ql}Kg!GPAXupN@7K_6Y zUvnI$#ta-=95|k{35q@05j@EY$`orfZCA^x`ppBfs-AO7olXlV-j)Y70_t~RnD9!W z_+vX2ab2QoRmyd_u2nDBmAZCSyYD0xrioeXLpY~iH})kruw!PH(`?nb&s9x3_v!pE zjfbyx_H{w(n0A(i2R1)v=60W0q5nb~fMrsc&x;snp>CGcvA`11DsrOWjjw5>ZiK;z zy_X(xdTQY#vNQ0lX4#K&Z6yj$|2xLxjkbp`FdlgkjbklpKxQ_Y$Z$5J4aBz@H3$m8 z{0I#ZNQJGnr3#$$D6Lr^w#b?fSM+H-spa*5F>^kJe`bk@1pFNlJPm36^TQSSjYqV+ z{*j7!q2J5L76fB7O2qi;8oGW|Fa)(CP+O}<%v4Yzn<~ybSu&=3(V!mpiLA8h-0!-} zmx`gi$d_ShS5{i4WM3SDeEEuK+v(RyLk?EHd|Z60+7B)ICou7SXz;nv1KUp{K2_F2 zIcUG~Pi|e}r<*k!l3XwfYdceToTdem9p2;D%DJ^I#_EGDT(DeC{NHGV0o&H%FS(W5 zmQ~d_Ye(X5$~qmuEU5^4a3!kjECHG*RokcwGak=0XFOk_$aZ)?ywX}~BtI3!=Mk{O zQWu%1=KLUaT5rwKA3AJ;>{UOsmR=bBc+=1A>8JE&4(@@;O*cFD^ zhd{t(ak#DM=(~};Z9@k0LpWbszIW?v-$8^MZmoi;TR0rck3aVQakSrH>Swtv$bRvh za=0z zsM8Co)bs)>BsX$Ps~=wBXZ8@g+DakX()sEai7!D}lb2`}X2_2Eklv-&6hI_ZnQMQO zvK#gBZn%|#pbZ53{^fxGwCb|Qt2xqFW3yE8G|^+dYCx7L)}hT03FJnbu};nNj@~TZ zH}9P!mAF+XZ;+LNS%Jp}eiz)dm=i{?5f1Apne#W7aIE4{Kh~ta?K_$eSoCUBDujRM zSz8|^P|>1S!LUVPaN1U)XvENBj=tt@I{1E3mvJ6;p~EQck1gsQ z5am7~d_nI+q3GaS^TwAt%W9SnCj*-z*s>*^4>1N#{K>BFQ!J^ADEUJWVPH|1&j zCW2?mw{K)-m_C+HlA@`%--mtg)V=2O$WU;(fj489JEDQ8hOCbTr2G^CD&8m0Fj9W= zXh+Jb-AGv=ouwvF1r7XqCrxtg?lww&*wnU+qC)G(bEdj6JLEX1p?gYECEenRgQ$$Y zhCX#8T`%hxc;4$qYKV;{N5CLZ394x&B_d8pv zYH8YMvt6G$pUp$MOcea_ZOo~X*W{IOcAuzt8jypuHJ-h;~wBo!D> zxm@Q0yw6qsh+Mi9)0e`3(^3986p?##F!4WguJy-f-UuutGg8Dv(=@(%jc=B?$c--& z-&qrXy(a!1BUay!T~6N#DLKLq8EH|du$yz*Wp5+0AO%}LnqJuZ&}1c*fBg6iKbIUD z|1A;!=XAI{(_t>Vb(r(%dvr0i*ax%b4}N^n)Xe-r^4SckCRtvliNHW*dZizKGOWa)@>||xix6$9x)TL6nlyL7W#U6A z*y6-Wih3aMs z1Oh6{)Z?8t*eT?oIlXkBTEo=jK20~AD-gWX3VKjua!#*v1Cgll#~D6BIS%U=d&)C z=ekSh3TVlj}P^Tt1bpw3PQ zJ51ooPZj8=k2;&@t$IO+Ommu}x=ncn=mq`*SK@mgSHkGmoBMIaysJO9#CZoO;oVW} z_|=v*fLK@6!-1Xr$j$IuJZV%b ze8_s}^D;uh*$d5k`h*t$7Syl_Hq@$I&n~}&o-aHV*D2_(JBt8?AAiI2Va?$hKEZs) z-7ANiExCxH?w}x zyr(Z`5Kz2%PeG{lNG?FG^Zz#Q=^t8nu{Iwh3X0DJzZ)Jj{61o4T%j95yon8IW2|M2 zs4GBlk$1hd%C!YbIscH5O8yTOH1L!J;934E;CbJ6y7?tlOIlz7o(9|{4m`jqSg9ta zB?F%7Eb!F%;Mqv8pScb2{EjFu?bf|FF7U9R;35`Tzc|KwmBrlPK~MNhQ8-GX;P3gk zkY9el#_shP`#Dx^dh9n^jhV6U25F9<4Qc9C8ND+3G1l+d&L!%Z(Xootukn7rbeq$! zzN-q`Wz{-_Y%0+(Go8w_FNBcWRI>4O=rxUylea|Z zUJasux;E}Xv{wB89ahTb1mnNcVP@yz^!U}3#%~>Vi0U?e?SepWD}}Q3ls{$i?%yk& zf=W!DObMGInf)2;A7XNFg@Q6jiH+hcRXR86mJ)C16j>BqWb$ByWahc1ys_{pDu#cU zHC&DmvgnHU-hW4DaGE7ZGgKh+uSL6ZTu`vCy!ajzUH1IUk01XQ^*JMTRkJ#RG3Gkb zkm<-5i4Ira!s=I@6c#d%>97`fYj}Q(1UN6TIK>Zj@<*dWkk-1YMC!-ze=3HkWo1P; zK_8zkr&;eDdLASPp*iceqM|dg%-*KmA9N*aeY4b`UHbO>6yLUHz^=z7L63{Qr8hcb zEISEF<3JxArCN+(3!Pdl22k94H_=WieUQA_AL;n#`!nkY@~S(Nx53!Wd73fJPR$D% zuV)s4ZjeT^emSvVv)DTCjU9GABv=hCyxU0KrlNR7gDhRqwn-p1lSpu4=<%=;h*=^* zHheGzizKQ`y<=y~18);DNos~tkzK|3R>FFU{*J@nQUTLcq@|-&AwC}0(FA^9{c^8? zXaMN={ou(S3jN4_2=ND*yM|P8XMM~M%1Q5VlFG@kw`IBYk zx)X2+C$$288afI{>cA;HwK#Zo7SSVHG3W>`Z0_B%ukdaXTlwKdiMu;le~sT#wj<0` zY=<}8G~pL*NXzJnhNSP2L?3>Bq8WOs*Na^4j78|%I?p0tsw%s`wosehr!a{o=(hBn z4!n0X?hd@yW}$hrg$$_PFXED-G(ZOMvF01Q-e7x-#pctOo75MEO!ivIuWh$UCMX=q z(iOF}NX)SQN62StG5+mswld3|Ss@h)0!-cl7pOzd6oUP=ZJ!k*fi*k382HPA&jqIO z%O=$U1ORgw8h4Fmr z27f$W#cYDRh!{Sla&zNjVeOJ{C^RhY2(XyPmvRP_3pcxYs+)SLZP=y_*&SN7Q6Bxf+9*e{lvZZ!A_cdJX5iMCI3UGoBXXtgjqxL-+5Fxz+>3K zuM@({?1`H?RWEtY<}+aX!aVs9>v`$C4|VM%r^vf#dY+5m@=v==J5%oaJZUT9YrIA8 zieV*-#lN^yHe6Yo_dKRJ`KP8}rnKztY8=OgHw$#C4s*QBfmCK?Lt=+AdWy(3AB z@dA0?JJZ`ccgkv?#UVebYeUOjzUJn=`JsjXX~eF$f|kAg$Oh1nLSv|8qTiX}MD;&$ zZJcx|sR7VFdEUUc-!ZZ4=3m;Hb)9{#^6`zNV`|Z5`0sm%fa&U5)8g@bmwG)fEEszSnQL%q|oG z>zJ2ne%Va1AUUP`h|G9b7h8TxY!n4&)cuF*4tP3Tj=PKf_br)+# zlqu_K?;(Bb!^K}0Xe!KWtnNm-3N;(-Ld`Cegi=)&jV3liDoEinUa3;?hch~P)F?+= zqe@r+WnpyxAv{;|4cilTyDAp<#rP{`{ zQt#IHeB)TdDb`4AV_Io)&;DeaM1;woQ+@eUT-!FYw07Z}vE$9)@;&iS-wmeRy6Js? zL&&h_Igo2xOs;L}A$2kjWdBvB{ZHTFEL&d$RU5)vU8E*7Sy_@i|gKf{*AmXBE!e*_cDw`x917^EtOmo)v)isOV*k6%|!M}-YgPPE84i&GVXJ8 zA?BIwjm6&6EQcE9))l+#W@PA@ze@d+n0>;TEhGSkWGZ>66?&t}I0?c#BFr49H@icu z&vArbC~=1zUZ`Xm=YepaNP7fBXRGdzetP)AP9yZY&G*+g@@Tl5HzUP>AYHWAq8!&{_*i& z2V>9)bc1RWH+OL^!0f}}@8tGE`WOFWdu`&{uH<*Qi8!)|wCw9@tiykw3N8Mb$|UCI z*H-;2wBYNy8TrRZ*Kf2Vt(nIB6#2Cy-mA@jOB>kqkUDGQZ`8*BSsQ;Zc$Vrvam==f zpbZpylnE*jAc_TgpxDqZF}v`K_>SfK4YhRfLfzK~BK-z$?W@v0t$yUOxyV;2hA~m_ zr7uXZ`A0Raz+tKQTP9TIQkJIjVU_I1l*QSX!!CC8SE^>nFT4&<#t&O1yv+e0#xruv z?UIXx#rg3-(2Po_PLzC{ZcD4~jhUeCWw03~Pu0e?t+gWPn6SFm21DQHYl{ z-~ZF3w($R8;_<2Ze{6-*-P1y}4cJ~pg~bZv_7Aq9vs5*1(pdlKY44G3?*k(rELX{# z4Zw1b-_m%s)E*ls`cYHN*zc#M;I=m2H`-QM8=q1bjq|a9*9E%>l4MB5&*7*}#~!+? zAYIMmCoanK3Y3mFG24>bO4H23=Bt1!U%XAj!++x(tN3q9ykl*A?m;9zHrm#&!VU0( z3f6D0k?#tKiK^vP#-Hr1At8ncpxl7#=hRCSG<=2>g{cMa5+-o*JFxffYqkjM zZhe<#;njP$S zxkDAh{Pk(%JTo&3IYl=Dx3)s4mZZGvdm-FM>9coZO%BcOUJcEDFh7T8ub(48V_0;f z+2P)g`b(kjmtc2W2YV2#^&3Ri1C>I0>|Jz|gUa5R8Zt=hQ>ZB7H=x^I=+)K4N-gyI z^~!)=|Gp)QUVms)K%b4b!o~vsSF9m(L|a3{9sh2#hFNYR06_@DNJN5(TpK)qs`eii<#*QZZkFNE7bii?f} zl-FuWhBgJotL{=nz5&Up#Dc9Uj zDP?yMm*r%DMh8zQ4aWy&sm@~=z{A&zdhd0t$hf2oy;E%z@T%KSF2f3ELN_hSy}B$D zT0;oOcZK7x$lcR=9QH(el$_DhPun!CH7u}ob#Y`!S7Sw_YHw)q+j`2WYMlS``_O_; z)id(;%hG z)**BD`XY3&jngN|8?QGm75=qVeJ9Gq+gzQ)lQ*oC16K4g&+%mw{tI-;hFjBosm{p$ zDCIXbocXKcOFfo=^4|oCWQTRB2VYuG;mc{@qTzG!<&S4NcKMtdB7cZ+rap!g1{aNXJCUzO7E%x4+J;ugX+(Q)^MNv{Bf8@3oD_GE(cfXDY+763h;o0J(G7 zHFKd<1nqjlf93&N<}QRsmnf+9XtzE|6QxP2l&kxA`I64-Q4VyoJUE#?PsSy&V0q*@bp*jUBOph zO@9^Ut5p9n9mZcBjdObWI=juM)#erHuLrs|tHnUeGz4rGf^_`x;5TF_f&k4o^IF2o zNm(BP^H&MAni}{hg)RUoUQn}eynA#;s?IoQm0JN|*7+zK^D@GNa&?@sh_w8Zza=J7 zu;n`V@~qFmmt>DzLFKT50R51fPs}UH-Y++)B-k&90f03ej_>xS&CpcZFAuLbunqMF zd>ukkhwAW`spaDg?nRU$K7{bRQgfpJN+sEHN+N#JI3302|4qn@KU`x9Xv{kA@(aWW z+QAVt75{W4>%U(TUmqq#7*37!Ui|0-CR3P(c)+nj`DH8gMTGkCnv0TX+a=O}rQ!Ib z((sx|RzWhk?n%b^1nVu*pOx3=6sE7=~cp=$KX93#({UEfo)PbF<{hn zU8R5n75mN--{&E!78Q46DaV8`g>h<|zZrg+dM4U1a_B}NA4eMppiBHNk%04stoq>>+rQv)k_-aLckQ)m8v^Vfyu9xDCj#) z3zW!z@g3&l<<@MmimB3Me}uZd-{(fGhZ*}l`Ib}=62N%0Eey>~qdCrA(a9fpi~j$k zJ#XYY&U4hXUlEojh(PF>1Qe;IgFJX#AfjEN1SaJdLg+`Zj?-9g31)|5gZTG?ja*{v^-jefncN95)CO4L6# z2CS-@9!m7fFG`6*XHJtMFRWGVp)@6mEY4A)+-sp0+0#sQ62hiOkZbbUv6ntct^w?O~y4;=b*5r1ufzaJbhEdywM=x|JtNu4s^|j|KZe8GXQ0= z`_yu&qo6VEP)rOtnrBi+P}(64>JSQhmu~z}>s+DMZwRptDNP_{`R5%{LLUk#XDKX{ z$tQH!kVeXLW$L@A%Q4xVLJF>WqbDJyL$8ID|0|jToBDgpoKAvpu0d@b<@fRCf0zNp z0v_IE^>IRR29w?7(8qVq)>jV!gi578Vpn*@TP&$Yk13ql9;sT_cv>XUl&{c{*F{cY zl;0^kp#S&=>9=R2(!M-S-eoGS=9uE-Y_7aN|HY}1fM$bU_+m_A$Vr|w0e90GufNh$ zXPnXfv;fl|C;RIU>G*N{4II8_VZ)IU_W8D0+;}k+rpO0>OIeAns&2K_hu>xv8+y4q z1pV~>)UcuC@imB^85BV^akJF?%SN!K+a&m^_t; zB_fg-{G9qgpL8-QYw2Y>nfVXq($(&o`9^FP9~SCgXwe%Gzu!kQOdO8{j+L}gd}o>C zCx4r+-~D6#?la8{mKWUYw8tPW{j~<+FW#lcF)e!>&XF0MVBqpF@eP{*eMyh1y?#BbP5okj^tZqIOZH#?BTCf3i0MYKnz#S@ zugLV@Vj=_{8;PU8X{bx>P&*vi8tdTT@ln0>Xuh-m_BX!L z{f}?erb8It{_3yZfBiT7JN1_eYEV{yfAT{bG)jBmUxZs~^tEqekAa9ZOH==4)L`;q zn2#SI&Ho~;NO>UDq#O#pUk0_LUdkmR`#zA5$QP3;Qf}!^Hdz-H5|S%_t&7ru<=$06 z?HOXSK5BYZo_aX9#oRkVA((YmizGOZG2yqtoryNHuh{UYlsIv zUtrD&J@6B6R;#|^aVR<}Xd$&B3q(%7&IqO^E$=kQvUT#+nfFT5%aSEtd>!UqwIQ_N zcuGtBRqIFzl9=Pxb_Yv@N30L$zhI`ixi>$+)*W_AE$4UrC+0apGojX*X09qZM&gM6 z(L}%gwTWtTq+62;q)R%=i?bv`k85OhAOGw6Lb0i zM%k$jDDQ_B++#C_M#)9fF&lJrxgF|(MrNC=f1-C}#ExLQ`jkY!d?9{T(CAmoX!Hyk zwdkeKiFdGzkLYg)w&z=TKpF=_Y0g{{?a`_gp#@za4NOFKy&74u=fc_%E5ajp65E7} zHiLOGjyt?W@;62kg9o}JFIl~30;Q9JSfpqyD|N0`&RQgpBJcTX{;*fXyJ`iVF_NrX zT5@&546`)G(n!hRE_svu>**KC>D4IR( zOr8qnSMzSy{Hz~I;LiY6c#JGw;djG>c!jU6QoI5m1YdLNk?L#R)Ogr4pf4|Veo(=f ztO_o;FsR`2{Zt@FC6!#pgp>s7uZ9*ZqBahchIjsS5>aQsKF_-{z#GTJkY-)V&+Ttf z>{-hvu$PjPjfS#1D9{rPvyMHXn^H4WqiqbW`v?nBRL_ zmTGdXsZ&*F=s||vy%D;9e3UKb(W;H11=@SVf<}~+kNBoO*&>tx+GBWPp&xj6PZ`Dp zO>f&%H>!s$I&(wHeVoHDq=*jS4wAvXpGe(>;~jvHW;Mk!^Utti{V36{_b0%_`L~`M z;SekioARl2e9P! z-DCTCm0aqC@5l7~llFXv_kH(JQBM!~kJ|PAaJyN{cMiUDxo^*?Hm_}cwqhYaME4m* zmT=}${-cMS|7afwHbFoCo$Z1tZlfLi+9WvF?oCL+5*`iwvi#4d5&UHSXJ&vZp(VqW z;WZr(Lp|PL_L0cTu<-LDBT_p*O4V9lyC|LaEmqmHsc2i#-t~*Y<&b^+IF`eS$e zowJ=v2=07k%I>cA_Ami27tY4-|3Y}<_V5bt#K^PFcR&97BFaoo3@;%$LHq^fA5qh! zVeK1vE^ok>mb_2*BKdzHQs<4khs7?N|7Y$m3}3$~pnsPuWnS-{yViB?x&w5s=b#*| z%Z?9Znxrl!<^#U#$EG>1UA>VRuUUYZ^0#Oz5be#_Cx}a8FaS!=c9q7=K~BOpzE!Ej zHl)jE(a^u)VHJLl7-?Pr2D#80unBG3c`tp>*(8BKk@o?MJl5kaB35k*I zuC846VYq5)IU5vs(pFbdHMJskTU*`PRa4K7{Ri1Yu%9ZYR>p4NvZ``wRcyNYXhsmg z((#RU^vh=Ns^{ecY`j2#<&92T#&8R_P2%E`60g#|CTP#SF4YCES&!$?a_?APyHw7( z6B)-}W7p)s;s~fCGkO;v7+Msk|Gtf6O?_dWvRPgm#kKiW(G)907bclKc%9lH!176v26``w2** zSoBjlwKz7En?aRR2PyOxG8^VyyuUWTl+$MFdjbBwmV-Zo!R;K;hkUD=S{VCMTip>= zQ;&$v1S}wQN=a-+HbACAW$a(kdE}eD7oRh5;22GlSR>%5np7G)6=H<9)V_|%*x3XY`y_j>&TziZBp$$!7&{IF~DcOo17Rx%iwdk;NuNq5Xi!ND4FsC z8g=~nhs^jej0-M4YhvEB$MFokwDd$OhOIdGCv}uy zz6!&Xzv_K*zxE^E6d~9 zigFwlJjEq|s%Fp+u4Ij~H~>m8cz&hd);j%Gg1ztSH}kBgSAYF;>)Aliq*VyFR^mTo zva%LHNf~zVOL%|Lnqz&d$>z6XwcB=K$6Xf3ry}wK*(dW?sTqIA(Go6^$S#wqOuX!( zIEsS8vP_$VWAGH_d^MX8T`B9__Ztxrzp3%)Xu=uq*w5=5ha^X+Kq3KhlI+2#8i~nthoNZ1J}ZnnKSKL9ht3MWMQcNhHoW=U(N<+~|FA zKBkIq2h09zh@j%*>rp16mpT!2SiPT>y;|EK@|YDKNl9Dim<_>chPLaq@QRO^c)g_C zX-p^%kH%Me>t*0TDs;jRB<6;0xlv@4q#yIn%V}E2Y-T9oM8BcxIso+1Xn?Hx(>$Gk zNV?a3n)Gy1((CtvY)*mMFAA*+^sVf~|GugUz-{n8Dw=SC(oDwy_jhE&bOX0)Ugm%J zkbb+cHJl%iBYkJrn0>f82=e^PJr}XMT0=*Mv5#A8CiX2T6H0O*A0 z>Y6@XGenDHj|nXJUud^123F!3wDkdd|B_nxnBI#F>m!Nb#o@$sY755k>g-`MNE+li zsD>;~U>M%jcRPfEBez~EG;_nmOw&vh1#ku>%$mG+-&R?B9r#LpOxyTr=u!19fCH8s zGykg1w+%=$2xDv<=uOP0%Bvnx5I7V?e9lCBFMg^^bjCJq`q~Mp0spljQeo+klg=gCPiCM?tp1!jK3t z9T)U)S+hpgHssGIBegifC~;2nB-B-C;`_cYgRG#J4E?7G<7$D>d6~mz$3fyo)~*)s zuLCv0At!1$;3I7Osv^|_ZiTnnz3*D=-cQr}dO&i~e{*=2^h7uTqq>W0rYes=uonxp!iFR|>zv)?W}-E3dcF*=EKFODXFxI|5Hd-BObVJo}muD7n1OA<#A zOXO-m70e#1m2>26C&Jo7`p=oW=pt0X2JaVhCAoP?e@$ZBzKjlQIRG4^(jE+ix0{Jf zv4aBLqWunU%v)~cCYUt@2L{SIDhXyUJ;oDCk0+G;-C?=I@fV}fMOLFiq zfw)}05XirO2kpaL)*4W3Ru_C{;_8~dU8f7Joz|~_B6hbcBi+mR_2->L61AFRy2dx} zF1?L7$=w4Q&3@!+U}Jy&7R89{)2wyfm~E*+;e19-G$bM9JcA6#eHFUzvI4?&7WC5) z08_mP8`dJ-bCxSk>MWnCc6i^75iU9IUtJd7%?Y8Q);@gSvU@=6M6pV}z=y_keH9t1 z@5yrzB`v!L9YY-OJ&%vExSJvE8Tyw_T;Y(VCn8uZM>6>8r}NzUCOlV zKAA)(m{8Hg_&!02nb;p|Lic@y`4LS-@}pHRhZb#RkilpOO1)x0{=~#Jow!K{+*Uy8 zR4KRL;kLlt4jSL`!t>*s_ZEZ}|5Vjb-=ce|f=_D(^qH8b+c|LecNIZuYpH8ij`1;zBFVx02M|N$Ea8z;a zh)(&5nridcDwMVnQoVt@sy{b|l1UpZFJ-=@6OTsQ9x+nAG;#XyD1d6Fk=m-aXHS&X z3;Xz+iQ+eiji8{E`Ktbe_;`N-M0|RaGoY67nKl_UMB6ACiLaq&k@z3g6qVefkDZTX zN}}JXCWbg4`He$iK%h{Qjd)vH%|)yrh0Li%r801Vf%wu;@{fj2UP+iRaHstxX2hcr z88%K2L0^0^d#bY(G4}(0?XRJZ*Ut0q{JLMl$ArX|be$Fw5i4r#qSZCWb)7su-mzkL zzwq@P_?C-9EoZ8OLR&O({Nx8~^YERQ^$qZMi-z$w!`Opo(?-<|e?ReuVVk;|X+!9% zuUT?K*+mXr!6>TdGm5!$4rUa}{8|%GJ-vG3fm+P{pD z00_bEN0K*3d00ucRa@!#>HF!q6OxgPkerFvYU}K2HJny7fmD!?TG02_W*L~(%)es? z)qkCRG$9y3B)-k>vuknU62vQuDTgQD#G7dRmE4-X>a;5-zTCTC@gxutL7nc+BfOCp z4_8z$;|W)73EigyghLBXg-^pHx9Hf`U{PkJ(P%h-v!hbegb}0CxA-JmF$S6>Q0@JW z2~-Jd471O5cB|IYr88uqOR6W%nSM7&{(7V1EHiB3Ms&Gvo+9Vr#~OX*+osN>#aJ7G z;V2n?u=>zfae;m_+m`v==G%^Rn{v|tfgKCI>(|J_CH|6MEVr}gndN%zXe`$ybwVi{ zE4JW&nX4!g>|ghOoZipUd+cBL=rldLl1EP$Gia|(@eqlEH}A6giuAJ5mEY(d?Io_( zJDEq!Sg3y(_1oNKk5|X1ET<@a{Y2FwLxQ`F-Y!>XyQ|=7Rq*De*34b*(GT=!Bahl; zW)^n02!H3YjSO%W$dUH0>SLdqE7@(rZ_`GFGQPr4jEWI&F0o@;9m)i+P;9IoApC zvHjck`Gf4=rrrzgw|@)%=l>(_UErgvuD$;Rhy+cXaMOTTgN?_aRD%^wL~4Qw&cFl$ zSVh1it<-~+T9gE_q6CK9IF3eZuiDo4*q++fs%E z2X?!^0~;B-1%^~;+Z^v}{}Gj1EK3?Z@{qj2VS|mD<=M=2uk7{Jr+Du@@NVasa1%}J zyIaax_*&?*O(wD}lawMl+5TnzO_Q|0gYd91O;E8~cCnreE&mOlC0^ts((OOpeeJ{J zjONeECUR_Ox%RoBuLIar-G91dJihr?Aoj5)oc)Rnj*_nBh@cni*>4r z7%5{lDyTOS5>)mAp(z9*Lub#eATHL$bA`W1b2bLqMSum-g*S?-Qbb0P`s2~EgW1Ric$1#_pu ztMrspeDV|YBz2rMtG-)Ju*p3;Fru0TNtz=#Z2Yz7YR6wk@e4nEZocuuk57hCRp<~$ zvY^c+y`!XoF6jZ6v|UL(NP@(5VrO3QFEtwh_8NgpUGhm7?CeJ$(lMX@)~HG_1sY=F zw}=m;F*GX$ zuqr%#Ii||Wc4y!|@R~T=2VfT7XOxk}j#XXzS2R|ZMuBvVm1P?{r1n!qBXepeI2As= z-ebqG@vC??kLA?N&ZBFgGx*HxrU6%I=#@@>{ly^=HQB(n_%yW2)GDStM*v^mds^X0RubEdFDDU`HL#hPn0kIt{u^E(t3Z8p6)aC-%;@*s-6)Zq(s> z#Nc^DP@UrDQw&7WM6WXCQyc8HI}vHqZIWyylf6K>#zG zD|IarLjW7x)C@M}uC`mm@~)?Z@oipzep|EX=H2`AT)3nLbQU`@FmU7lO?Ldy3DjeZ zVa55!PtOb1bi@8>5SzVzydv){9U%GA6ni6W zmz8H7A&PT-QEY7(1k9j^_wdg;4fmvAxNdwo`&({&>I{^e+bk2;(6c6Ce1xWH0kIi( zIfhlpu;dQn{A0}dm|WOU(>K@@`Qw*SfElZ)b?zf;(na=4Bo56lfsLAu2Ltl2jfRug zGE?vSl2Yuod~W>eCq#Q5d4Z{GXTua&yta2*2JAQCr;-Equiq=&)5r}UMr;7ScWvx6 z?;1j>_aFD=Lc@_6oubZ6d*(s*3_m{pshs37BD45ialn->u&shw{Y^!Ra}%}Kvm1A0Wc_MTqyzsSYF)Ib(8c3QU!qdj z?-uoOLBCtm7t|+L=5d2l?c#mj!sfow5y zw&bN$CH&&k48rxr*7ZnTLsB$30SD!EMb-=CgV2QcQkRgos>+&su)S;_n3Pbj=!C7<_`uaG6ak@;L|vtOrsh1@2TWDlvwBX*h_6C$@iYr)k$ zwX%z|FNk#dOi-u+pC5e7Ze3g`J$@CIdab}l@tT=h#fS-P@!5rY&xj%8<`*8i12Lu# zi^4nmG}#w#T6B_-A!NAVP+>LpTOy9t$J?x@_X*%f6i2dZrcVj+x%dT4c+!8^~UxVHeV~bg0rO(L*S#TpS?RLUoS{Q;%y)qiKOi7 zKyo_3&h*F^O{PjTnek;Y%f?7YTZ2q{+%A2mfjV_R^Odn*s{LgTf?A!M{-kDqb~Vku zK?sHJn{7Hwvm#(g} zahO)WNULB?=(aPNTNYvSm7l)Ji`3-pUp^d2ukF4`;YaEf;_Il{WeTYg%yG;96N%9! zWQr!oJ7kJhZwL^HLj|&{#y16`?e;k|-;d^l@|l^n@L5!22z6q5q8pM6B;@0#um1)3 z8F2I%b(;S7rEaQ~sD2`Ki<5z&Po_$36eow4J<3uDdZF>P>_7RR8A-8567H_aP9r%v z9qu%ej262<IoPqnq(NS}Y=T+fHCt8*gjdTZE-Lxc|Wn)<1w%xNgPP98n+NSlhO*5C_sw zeSBMO+x}j)vDZSivDeYaPP*Zy2AMU6m!Vb{4V7+vB7cT_)(Q53vcDibxo+j0@(b!X zIX<>-<%Q+-bt`Ac+%M2UJCg$5h<&AQkuQNZkf<*TE>cD#3OC$lArPc0jgj7q^M(*2gz7rlQE@T&X1s z{lD9%*Oa3^d2=4}S$+J)+O`9X`gKPATz1rN@cOjMHe9|TnjC$@jSYEYkTR+?>QNg1 zIs7R<7Z+Tr{X&LN#?}aAolEN;)1t6RSD1hksg6$X{YU@_Y&%v$MwkMFE1lVC$f;F=U zYHMH({nj1WHK?AS164s-6$-Xv_^X<<&C_m1A%Mv_w{rh+Oi2$3qnDaM*g;Fs9-^dji&m@SZ<~+whJZ zy1pSK>Bh(*QzC)&Q>tG7Fsm0Iq#u8|E4|Yly~~2*n*5IvWccVk@(Z<%WMe? zQ)RGGqHTYTOAaVSKa0j+_a15QX8CK>sJCj5Kd8m7Y-%ELY{JQZMOAxoUKyfkKuDVC zg7@GIf2lixcOw>?o`^wP*o%-vd@0613Qc1(0!YWq5PV^tH{g@H$rgk{?l0 zhgY--yu+7mqC+#O*TF6RiASM1P%VbKK}o zqD?3x+L(M~qVFZBQcDJxTFmDKlEr#Zx)VDt9PWeC!k$yHmu+LXW6hsR{vBO2Yprt_Z z`=_Z*g7qTu|BGoi=4Y7SmI=Um$#8d0zSQ?hEE6TI!ltumv+9XuPJVi~-Q{;Ly)saM zto^fn+e(RilPNe4N7}-0+v~l;$zFqk3$@-qH8|cX5X^eK69~LBgR0edNpAf1S>^XR z|H9v)KKS~TcJjU2d(h_SphXzE6M4p)cqb{z;@v4<103;@uRM5P{2E^{LoWR+R8H_gK8%nhkEYKj9 z`mUHTvyA*KtFpjF;LwF&eg1bI;d*$^em70}W2IP($O6cCxv3MiE+asTe3p+*j_qU&h|bM|G8-?;udCBRxiIaIOLctX9|XYEB;i z(MzD#AYQ#c-{!CZ(i=1`=SyY9GUPX2v$Uh>q>TKtZ%}B-OHu%m`VV)e!eUP(STUOz@Q#$rqXA zz~_~0SK#DTS_XadT~?XQdl-O_QV5gjrm!3QbG;P)siy-|w~9IYSefZ$rhk5&cw=V! zw__e#Yqs~i9+BkRGsR$6d(V7P1dwFkZ4{XL+;yh9vPxaj{`ETZ%5*1TWHGp?&6S&( z8GtI$i$Pji#0TIR@0lJN5y!5=;cG8pJb$@%P@7=X1);cPwFhp6ezI*lU8N zwDvOJf8oG|g7yo-^V#cql@8N5v`)G%vDA-{|AQ*EJC2nB!-Zw_&HtMz=FIYNdsNd11@R1l6oi!!|XSH`$5MlTO7Of#7xSq z{tcdO@uhpZV3P}rCCujAX62vLg}$Y=6}h&f>9a&m$9ZaNXh}bcYs0le7K6-r$c+v8 zn>&#({J(v?cl2wGf&7!{7k=NwsttU;x6Ffw7;dnr0@@jPd~XM(&S$8i|2Ir=sL>b@ z8OdAVSFka~3c<#sjVYnXc<00|n_v%foHhGT){pzJIF;I^J8hB$(MxR}nvd4?lB{3v zuG1yIY*vk}{|PEstkrl2@_C5n=?@0BQ`332t03jZHsb*g$+VZeX z>pL^7h5pt8^H2S)-WR{g`GHCV=s<1=eq}#>!SVN7pd>zjzlWiUA3bEhZs@kdIMx2n zhHhUa)*Kd9Z?Q~Ro}>Bfq}$R{aJvtXr+xWMOBRN&CC5{Zo*=N<{kxgMYg9)Qv(IX|BVPq;4tl|1dN$Z^{Uv=cL0R5j8+3kvUG9MYg;EOr6HOvV3nvg3 zB~95B|z32KPiJR%BYb=;%m)A7N?@1 zXX+-nD3rP4{Pn#C3@?-W9Jr*G<1}begAp6^!u39USjZa%nJW+eA2ac7WG>_byI0_i1|hbmK}VCl1`7l;9er*K z#YTWZB2bmSDU&goNc|_)$#L`uPa$4lC2P;Rhjw#!<1fU22_cG20N1X z&<9773cPFXeZRxIpFb>v`e}xwS04qT`QC8D+cR9!bR{h(sa2gRRJTer?WNxBt?EG_ zoNGL##D5+|>j5%%^P96jFc~E9@!K&;e?wr|>d?~Rd=p+d${XwyxE%y4>^XD4V&?Q zuyUsxYO6~uLmf>?7Tnu$0oVcFc$ZwJ2tdBLgG_DTIcSos+2zM!>FGyd$Sk_~OKC|CnH-5f7iGg08^y3!BhuJ#+Kmj|rt`eSaE;=alq}f$F_rco;8!Yr zXF-HxW@@5}2e9K?gZ(u5iy~damM`n?`H+AV55OfLLdUW7Pg4ar{T5u*fBwEI|*up8v~ zy_y^n%4X6v5PbWk5nl0DE&d7DE_?0MM36c)7Ie*T)DK`OAKVhEkm#nWBtxok`LMU! zuiq*1smc0K-zvX9yYw7cUw59ML;&%+^Y&5!B;k4l)dM;qvm=1epq>}dy93@N`N(tu zQnm-(w;ZuBzmcn+t%B>HA8%HKcqm!E@MsHSnd`5n|P)x{J z8|vFb&%#HZ4fTYQJi`x?6Y^7Q*<^|OVJw!9KogH%wWF#bF{fv{oWoV&gyitjhUC{a zPe`82@1k7|$ss*)7TjGMDj^yxIO`fJ>8)qiP)Scct09e6xSg?$NPY=d-(rX!TK3Bx z>Ttj_AGh$@!m*VU6;|G7RV?*`{JL15$fpMu>8x^S>D3g^sLXg9QQ{tzNEZCy6<_%B zZo5hrucdw@@4GXwFSWUN*dn#74y{OGhQScr)To4;yHuf=^#{@Tx(0Xu{9U*2k(w1= zwe!s1ZeQ}sap#Bkq+kO5YztYgsmRJk5av>;J+uT5t=5d+9j0tG)qB6#CIM^U8;ueq z?<`j-b$NlGS3uR;722DAc!SITu%BO*EB{K%kH4k&q8&gSIAyY{&>AJfca2L>d3>h7 zC`4cHOyqkN66RG2E zdkbrU^$f82J#4pMj#%-lU5^*|Rb#u9zP?vE{br?nF7LRB;L{vLQ-VB~L~OJR%S*-E z%f#C&@Fs4E?}DY&J_=58_s~x7qq}et%di&&k~jYYT9PdI!bB5;Pd+$}_~t`R5%f0l zsWr=ZP4>+?j>!oVnFIa8Tf8inBbz*&^&G>}u8avXrdD;M_XXmZlfTjo(U-qwN=jUy z_U9UY9JdR6;tj#jS0EOoj||7!O3>laPqB~Obdtq=R91#4g7x>GLG9R+ydYJ@3!o zr8jh>!pT?FL`^agk61Z0!{(%aQrmh<)$}2>LU*FoFWYcqpYZziQlitB*T(iOTGZPJ zeEK5aGlq9fS9)xH@_TZafy|(v6AR1SW-?_@R(5&J^fpXSA8YS8%=9*sUb?s62m<5T zz$aS0>DuchBUZ72qR#Ev8Rqth$j}|*ljkCYh_uJwi^iY#`ZdYX3}GIvt6rSt7`0;or{4nh%(EANp{F?^o_*3uIasN!7;srPN%`QzuRzxiJ zzMbY1-|W2Y3?(|{(&Sz98L+rlVXg0v1x7@`h)wBJwI;&etKSwb1g9~zrBJ;Q ze=OUGmx>VQ26gtYKGGV*Wr`WJTSC%b!RH8%DT|5Jn!cFo&10&!t=9AfwaHdZzi;1N zyg!(JSGYpi&0*?M5jyT)vINb)0y_}Z=Ogjm8PCcm zahfmDDU&3Y1iI^muFXM#CA%F8O!Z1T-nXj(v@6#w1pO074w~XGJG{DkHRUg|KmPCC zO!(Nvhfa7uY7eMF_Sen-qU`+7&I-E*alT2A!bMy(2U^5n@Ihefaf|ofotkeS?_4v=jE)t~ zPW#L{$`OnJ3goX}H(g`G$;(7e=AA~T0?F=)arF8dL9hKYZbrMz@k>Lvg8HT&OpStU zP(zPQ4I&ljdpD|vs!yz;cJXTGR`6tP+g{uXcFAc#iAV)j``>Gc$wXRxa)}%X{1!K8 zvUU38y+c&7m5Xv`&-~-E6V~O)&EMa%^T)byHd5pAi~=q;oFB;+3*|+@-Z!@Cf zJ^w?=4y(2B6FizPZV*3>_tq}rgg5raTny59N>f|AHKaNGIRkX}<%3U+KZZI!5_O9| zZFZm5{{;S=BFtI7_!IDFl#f55TVG=;L(3KHuP$^b4uw`c%=b=sG!T3Q$rc+ThL%6X z_rqY5cRE<;aOq_s3>e~Y$&R8lI#g2me~d~`bc0H_*E>|&a86fLx}DtO0r4#(WViu) zKIu(1RFKX>k2s{;c3trZ-yo2|y(7G~UqcHpx$&`CVbQ@ zk@tk$z;}2BJRX8|n-$=I#tVh(2m)YTYwE6U(Jn*99R4k2x_tbra>6Jq!tB=&&Y+soy3lRXMRG<_iL6| z#l!{tU9WJC3$^G>ElMuLXxmMnzoIp?d@WhYHACcRjUz_~jAoV8w!L~}eV-lm$;C#H zia9VRaN(mTJ&flVA>Z{tCp3js<1G)VBnyeSxoyZsQ zVw+Gqyz!Qy|EciBg^j`FfoFE&hGp5cW_ zV%K#oPpyEf6MW1D?$px~Up{Tw-x6B#5ar{~$6njjvVV1RZ@cC_T@imj_SWv!nwEpR zn)}3`e+0zkN)zSU+p>RmXxSXf*yIcAZ<)lKgRHj7h&PuX-yVBy^%bqEf7xg4>%Jb% zXT{z+q3x|BVsD?<=b#VYgDq5iW63JP*SR#=VB@=OzbXT|9--xDxte?6Ur*IJ{a+>* z792EsHlKroW7}Ir)Zg~@5q%EU#&(@o*Js`0gL#FAX+xvRw9zxPd^PW!ZR{Cui@iz{ z`1kH>X}%!#R`0gA`dO_-uGZSNT}Mze_4nEB+&-n%h4SVfG7z^q-2`?SW7jcv`;K_r zZQ=Ol9B5g|OimkAyv?n@$G)9GmNxGJy#PjNQ=9jHcxe@VoIf_elGaDS?+)(TF6`LA zZr~ADwBA@Ewu=zCJ`M^-ifp8fRE;9%df2wLqMKhj3(*b== zsW;)O!$7!sUM>|*$1^=i6jmRliznQ?F)~DhHJPtZJ%t};F}QH^%h)*OSdF2%;O1v| z5#1uA`X5@po)>=%l>$ahe1G8o#L=ncck?-%955N~y1B3xjU_Q)GuveIub-Ig6^XR% z>Q$eJmXy|27eBBwme+hjed59rE=O&lR9;>6z#k~_$oO7724ZU~1#S4B1jn-4L{rI- zy7;r+e6ZTsqWE{2)mB^G*4(F-dWTf+XgYFCysk&-nD~qyLtGsgK49p~uXh8U52i-$ z@aFQ^m6ahXlp!;ed!Of$`!0M8v7ijbTb|l;cpm29a|DtsB zo0v7Yw7&Ya(6Smn)+grlA5xbX{S$Ju)^la}GRg1t@wF&huZNajqVhm)_{3!StO$8zv;mcQsT$9a>(=S3(nkRd4pXAQ2r-wOc~V{uB6Lkht)qA@yATy6mUCjg8k0 zE(JEjL5jgc&L?Ntn4ZzWWv%DO^@!*{c(}%Q#U3tPY-&88gyF;OrTP4EiRj>xafznE zh2zQ0_Uc(5-;7tdQRVr*+ygrJ!0J7zX z@xe-w38kVAZM)Evic?QJR?WhU;_MJ=wD$J7 zj<3BkUq`yHw;~K()?A#wO1nwv7OS76^3XB`W6fXncal?Ah}5|L#dkkaLy}i@n?U5h zoSO3@`f?oa64Va!&tHizcFHAJGW5OtJ$EZH5oD##^nS#xQgt{oH zTS=IaA^22J9}pWoZNG5)n7a5Y-a|JlK*y=!#JQUl7K23{jSt_9Ev>zxq5Z)tm4#B6a29er% zc-kvCc7htfnm}<12^_@XKV)$pZ)02Z~GCV zctF*b(08)IiL>JvCBFwZj!KOqck+04^Os{^gY++TyKU?su7p~N0?*WNYhbOv>>tj1 ztVZ(`=vT*`qS2dIigdgU>E06rO3tEGZ@h`Kn%85s+!tDL3pKG#do*G)>){%ED~jOr z*v^LSfV#wtTNaF4U)Ns92WTH7tzCI!Z1jzLHMtLX&#$!5D-)Qk1|}d)_d=+Y43HUPSB#K zb9{jLS)gTfW3xN&6A$*CVcH!%s7MGUG)Gr({)88hduhfIq=f!y_qf!4AGb|m?~hk% zmis@&O z&nYjl%h>RjEiX_1zRU9HRDWO9e}uFVihs6q@i(maD_x6c)_2gyX4Uak$!isdyu?R?^SMo?;{DH-z2W~N zAGRn#ra%1~`b=*8{)-9ZqI(D?CK`uSPZ`pDL87s&dP-UId5OmI>M7;TXA>x+8b#{# z(C-?DUr{|}c=Jgt83G_ke?6_4GhU6SS4}zH6fLBhnnLf*OAoVxiaHGn`_}XfDjb5l zO0fQ)o9(}^KcASpeg`HR2UNS|%fUS2+a0d)+Z5FxBY9=?^U(5dfgl0?>F5_a-;L7w zBwwMeU!$ohGZ8GD#Q8KyNPp3>nT?A2yGe5Z=bYve*3{Ki5p^7GYvB0Ndx*4B{X$deBV{CLeM%k!CS`1l zl<8x#k;jp{Cr?DZuOaXAO`kRS_Jc>*6~cczC;#q`lz-$}@`~}UjFyzi@jSM#?8f07 zW*7v1x9mSMwDepGw(KtsE&V(XoOCTIBfLdN)3ba}6_FGhJ>Wg9o&FX--o^2cJ++d3 zg7JmK@n66rqk8WYMm6W}Zd9e6Mzum6VN}Q1sJx&0KD4EbX^!>L#x#U}YCJ=7$8$qY z-Wu{UkfZ#8*!VS=AsP%LX`09=n#OTIwnlKUqv`q9^sw0Ii+8)uKh)y;78gIWDbx8i zJhJ>Nkk^w1w+=Ux(c7HU@?JY=8v{4Eq_s+V)+Nn$No^#t|LoE(bZI|Ow);qG^`0ai z0PE*KH%u>QC1tQ037|qca}6i@noi~#U^XyTJ?-bjApdRGt>FOxzT*m?QdDVe)-6VRVI(m1mV~gdOF$n+6NdNx*HXxTKLNKVOFi%dP63viuEe~HIlp=IW%%@pVq(eii636w9a zWPF#{Rofg?+k^TF>-%hT z(0l1n=$RP(yXk+mE1L%8gLj}EC62|U zvSI#L#(;0JCqzX%nnq|++IIEKT|CdTcvv;>YxP99D-e%#lyf|y9ox6RiQlPw&B`-- zYO^V}zwpMl$8iLlhOc|WI|j;umBBljU#|~;BtYd`;%09j?g~+MoZfT4`t+82l>D$W zo4VQ0*lxcsIQjjt?DvQK@AtW1_x&zE@tgi{!vBr=zc={5^X#|XyUM+rb+8V8Fg^3` zHD({{vybQ4W1Dvdzg@MzK>z!I3GyjbSUhX0c@D`n$)!_r?+`2iC!xu`6w%vC4BN_dZA`-}ugT54=Px85shma! z+qis$iw0R6W-@|)PdFL+t=L98ynBz+ETN@Iphu&tQYZs$Gs=!QTaJTs#a5?!->{Iz z5({c9pZBwqC>iSKK67Cu*3@1mQN#roc zzxOxyLui5a@Agh7LIo|C$_6Hvsl>Q4lDVc+8tJ;)iky$|T?A3&gXx{RlfEs7w*>8n zmj60Cf29hRc`NV9@hF&i%QiKQw8p5el3kZod}$f6b%`M&cyEc7dTV4><)p@!+rpYFq)St?24y_VT>b@J7{+3_*YQnL}H z0kk{cdSzW=GU3MdU%T-~t<9%JlLLP@i0cKbw>CFQn2IKA1bo80c_9aX_M9{N3B^ty z+_t^>B#PbV7aP>2*mvQmjDlj+MSYq~R4kmjP_DOo)pX8%wgK71<>1rzryT~LhH98@ zd{;6TJ`Pd0{Crq?jS?5IpbT7H%GLGN+nWpUT1xBBh>v7%XUkuHJY*_WbD)xyv9JVG zfeEs2L!v}HsATNQ@>0T*N80{g*s-x8{#vveBw0tlTbFKi*5~lDkD7=)#o6b{5W8cD zcz)xN;l)q>D_k%f=OV0&I6iv36zOhB%eKV1dg`*n?m{qAq!(z5)1ym(zH0XxC+y1jP#5#1K%c zyf>$IKWU;c{!Rt`;{L6FC8eYj%*ACd(}Rdbl?t=&!vuL>uQ-+Bz#ktm+GWCcHc6C*eB zo^oC~1^@cFv3cGjer8nmf(9kr=O;*2nQ<*b{dbg*EWS@Q#c|R-;!Ol zPBHg-zB~EuOz_Kl{vwVa>y&91>g(&rC7N6B8r)pD;&S(SSciT>f%NO-*8I;e^XDGT zwcw~SqkGfVz&O`0w@{wPo4vK0i8l-6<_bbHwJ>LAZt-Gm zT1X4$3i*Oh36rB|515|UAQ$%CBDN=T-oN!xpoeESRd7b8tzXAR!Vy5>vhh<`&n#7Z zhd;kf4T|*9YS>YN*xE+NDhm(0T)j~iQXw!2s<07{vg}Gt>HJ+cptU5oK8I%4XO%z~ zZe>NK9tSh&YNZY)p9q@I>T?UoFi2v zQT)+O{^IE^j}^LqI>TeqHpQvBl^X!W)QssM338M zDa`q>h%V@cy;=*!RM11iB%#t^=Uw%Etx_$1z;FfjVSwk455N?9o2K}bG1Vrp8h!`& zyO)ro%fBUZlJ$6Z!pcE_3BV9D2y*>d!|2Xe3v z;l1tZEIR}_yw3%_(}>_MV8cJYA3n5P2F`3BIF@V9^}9pA>dTU0#c=VW@Cps#{-@o# z0LdmnJc^#9skHrGyZ4Q0|Q3ap-;pI z!U3V4Cx6s~E#Ltt*X{k2hJRnl&}Shq?Bx&yz}>;@H|^dpHaP%5VEmMQ0ME^q)=U{w zR%%n$NAkZn{TcH6=4VkUNj={3#$53t#~gnMnX>-P?b1KnY=X9109df}jGEA$>uQ#M z)Esnkv)9YIDdy(7x!IdcH?<%t*X4KH-2(3+;dYm<8sdA;Pt5JFEvwX*4Tr3MH~IZz zQNU86mPZLuUxlc)re_HEAo*Is$%46^+i39p4IKoY$r7AR9bU_aNXqtK5}W8V%f&)L6jR99#JxB2JN4GvA_ z{saCQO-!ciSswaaQNTkvQ)TuABDeh$Z1i25_kW&^e%Nrx3~P~rK7qj7z5W}Pu?NIj zUsE`Nc|Bw2r$0eY!?uKzw}VHEK$>tUx{;qp zFPQbkf^evABR7-3%O_nBx7yLmP*Mji!k2G(?Dqb*Jsu7{_#$Qk3H*^K=u5{eLtp8&zV;DS84W$S zDblv@bPb_)*pAvOcUYx6uH2zY>#y9PTI+^ws!Jx+>18`>L(v`4%Qq>2aNDZ`q9ZoC zdKy9xlCbY|**ofoZK=OV!KbY1M!LTF3fib}g5`^M zMR@T6<3*+6o=q>nag-E#^dshUcR(Co$l))xJ_G&g85V128&igI{dfC^ouYI9`seho zYuCJbQH`KiRfqH{OJ+sCLd%zeS6LcndvssTp<4;IL1fmEo6!f}h8cD{G`pD>$^bG3 z5H~^Gs>hZzkJNqUZ1|UYKPHpt7YYw+$dN6h#bjh>uZRt&imLGyhrdwz@^QHfGIb#c zk?nQ%$>?v^KQvj89;Ptk-r8C3ay|3t?GRPAb-w*?!OqCT4`p^ne#WDlQSYM&I>p1; zTC-2k?C>`^B0UHQb%%uJ&D-4vzlwkK-5vcKaaaWJ?CqKDSMa3rpV0hM|L8m8tE*#t z{SGrehabPl;zy%{BMhEcij$xMbPdO(|gemW* zxP#Mh%~X`}tn=^}kJ`%kuK%1b1EoULI~sDCm9+247aCJR>e zHI;J9QyA8Y-Utk9>Qo8$gM~Zc(eN&KWcU-rKdCg?G*P_1LF&rrc79AJ9`O+|M!a8z z=%TghjlBSTS*tm4@F|AQ`|D?_i+^Kmbgp1Bn^-g_u(!auJQhGBQb6&FEjKgR7uX&A zI5Z{?<4|W6TPB

    DY^Mp>)L9wr1pku2O9YRgF@=Ew;H1d{ukYGG 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%0A}E5`vw1;$k)~x?51I?I28P2@d~b@-4<=$hoeJB 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Μ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⋙pnO|^g@}@G zALBB6Q@(8>&B3Pze{qLP27dWZD4&fN6~8axUS25+BN@LD+x3qkU1+;v#o`m&75Cj6 zVH@db!VRc8RVx|@+FtWL{%Za$#!QAAq7VUUfm$-G76_6

    fEwXuO(L=-;we{{atg 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%0D-ks<5k^TcGR8 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

    m^JTC%e6ylJ6+>^i}hZ_B`OlpsNl1+hu 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

    7+Wsx_ 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

    XR!9>)xS~E2ZPxWEyJLs3) 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⁢$^MY7^odJ@*5?L=!RWDnf_C@@!Yz(li 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 TOkv%$neNLxy`}-jESby&h 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 _~2ML}TaBbGX!SAh^j7&;+XCn0F1oTpJ%2qz5- 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

    va_J}kt0;MP3G%N>2}=1sRiHpfY&_0o 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 cN(ndM;N9lGox4HG7 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

    {H8UD2$SvJP+ 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%0ArK!pQou#F_{{chPP{~5>tpMaI|=ySRdLIM zm$5mN818im+pg2D$6;zZw_l>QkL$`za+Hj^Z0y?VPFtFvn2dL_Hh=PB!`RqVO(y}O zDzOiKsrHX%%y|4>cGN&DY!f?u!j-WyuGyV<;u8<)BvhC3dBusj&NfE?1V{gIZF$_> z6%?O2P_V<1W1jfg8GzzqCEe@-ijmfzh<~ef1DBtS{+a;;(`O)=BsISR3^9BziE0D{ z)B`+wNa54>8r+Cq>|h)4MMnShMT|buxKW-ogJ@A(U8y-Q63L4U01xw2opS;$vy&B1 zzMqpb?P<2^Q9G|bSp;Juw7sZuzNuFk@`m{fIagI?T2e99n1YrC9Dj%?K%wVXtKUhJy`yEgit5G9=$7#8S z2kAsQ9)%YZAf3eLh%D%1 zuYF}d*+DIj%pKP16;rBG3;RWR7^`?aa@}QMH=ep;l3ZsAco+2sY$LtdL1hGNgEWu6 zjvbzg7YXY`d1By=R9=~pg+D0I)bE)znE0cGWSp9XR?pRwI?R-XMb47&qz;FD(l9etG zPSCI;C+MfH!TA+aHGoN^BHAdbgCd)Q+#Sj)7)+*`MKmMkD&=OwCbC=-w3KD z2+u8`Yg%#Ln#8GyzLUqTt!}l6^`zv~R)Bx0b)$q>o~^!r_ootyGHR9|Zn;QXHKXPO zQ}ZvOBWrpg94A)bSrg_b-5Gd3?G8LgoeFqLevuEJm(O$HIhrp0AA`qrD*#V&PAmCJ z4KzPc7b1;!Y1Uo(i6En7rLD}m=N6|^rp7-*%IAt>^r?nF0vPnFgv$pg1L%vrjk4GQ==4J61tw*)r zjC&`d*sr>2k?Don7u_`NQw{VVAsxsQ84K(+rdsy#=)VTj21 zm(%;2YQNG{d-G6h8fv^^E{Do?sVM7~ruJ6bE0UFJK_JwfqK_nM43u@JTGRg+;&y7d zAuq0L6=fr#+W0ib!KCj5sN;j%p^iMo-OlFQ4c4SbH9XOG{P?8|U(?t*_)W!xTUBPRTlN^rQ0!7PQac z>z9uy98&u&o{S~a%6Yh4{kt|IiCvGxHWFzc&&%6Xe6;v`Zs#3UAHGw27!T`tsPcy> zRc(WEKqRKOx6!c^9&7y8tNa$G2MLMZ=+h|~R*GFIR`FD%!E$<`>}$4@@;?+>V~}N_ zTV7_LP#rVZzxd&VVouoV&+mluYJUdQ;4pnGmp7HB)B0E>qJ@N}qbAi&F*oI6Yqa;S zt*}4x*kI|)bfmW8-k!1X$r%siU;_|%Mbc;a5D6b9od)RAe( z8+|b_Odo;y$X^coTJ+WR{_k|@jXsrk57R7$WcNFuB1Y z!>94gIgNi$l9J&y6faAp;2_f#BI!$nrHZ#N-vbv1(%h!UbI&h{5&ao--j?AX`kR$h zA$4GnE4AUQbSg8IO?QtmN~hA|uhCm%p>HCVFdT*gXPakIuHB2shu$#g`Cy=$5qMt|o=BG_*Vt_BvbC`kpm8>;)=4E#XCLc+sZ1 z_{R0G%jtr*c!ln!g9G7Ng14>ojt>rqT5|w!dcdS&F7+V-v$cXV-K#6QZwv0#Bi)Aw z2h=g$3(5Y$d+hw&Kv()qXXq2wRj&{)1qL6t5A6>fMyhZN?5aZnU(gEr#{sts3wEBF zGp*xscE!EAz^~pbu(E7|s0@%2Ep{Q9Viyu7b|EPuLRDEw0~IyR2*N~<5IHT-x;7O8 zeSY}_#wtr^v;8hL8a7?SrcCNuU__nebi=q;G~_lo{rsOePS-OyT@1HCO;f*pR`Eon zp^f3G56$X}x90{(z4Q#xf3g2&+GeFt0K}6JGXhHE$d$m%e_8&&T=beFe^t9i ztf}LFOa88~Vc^26UoD}72@4;jZ!)WeGWf*l$l$`1`s0SIre@P_$DgB)=@OXq6C@q2MRR%C%yFFit!cfMiKxWF{`XGL^ka2U+{$L z&@+ORVI$&MdY|Px3IeY9UqdtTvrmM|gAndf(J!c&WOQu#WBN<%>bwv6V^E-Bblwq+ zfh{n%BSZ?BGWh{6fdgF%nT6%`Toa^zgtln5a%~LP5?;upY)>|Y7d{uHUa2JY%8s(g zNWR!of}(=99YMknsAh+`lwIwFN`ItH@3rgtOf|+SvYL4BLzY!+g1{?fR6gQlY zdNh$bY)tA(j7VD|4f82ThU4-X)lJpq7g~ViEhKdanWA?UqT$`^9l5CTsBOkP@O@Ew z#NV4h^%zKU0s$a4tYb8-j%o2vwLBFd!VXoZXpr?vEcvQ9%wUILZKg;fc@8@e!>7j9 zR{zVEVp!1s#Zv4fYmpJ0^)LJ*U-#?YRLhvq5B#J*Ds+;^Rh`EVmF?A0z>lWLMkR>h za;~9X_n|~9qr5-~*T*E=@aa*kjz@Q#aQ*0mh||eP+=#G_&_T@)6(2 zf9QXI0Ut6ia$`hWW>6q7liRZ1$R~z6(uGnwL+Lhnyyw+#CG(v$q6xyB#!c0i>#sL?k3yJrb+26t-+_;!B%_1%V0|qVQEDe&8 z+X64ms;)+qW>Vl>JKF3UlN<8~KiIlU{u`o}8bgNpZ>o{HGrHt7N1Vd( z)yjPH(J2}vuJmV-)BI5T6yx`SZ;q0`5zokJ?sDFg3hPji1TXr{IXX87br!@3e~K{9lx`@8oyCDH2+s(;&$;r-(!9Zx-o*w^Qt2+Al$fO%`WRX@L=XA zRSh#eeIj!lscGofP!orm0PMoeM#x1`sXdXnOQgzJm@F=LN1+#&AK{)Qm^vzHLe36l zImO%pW^wtEInU-%uDWS)`B6E~bP7t(BsHyx`xo1Bf%9~jaY*=(cHL3x#pOravqhEk zR&A<}oQQapY6>IsA{qldGR4^Y_JP*1rRJC;ji=P^Q90D8I;?v@D90UDmIJFov>4{a zrB;F=Ui3&Dm&s; zGZFAB!b&0A5<}3o++3UKX2s^nb-j6gvR6J;&a)?{h73G8HD@4+LE-~TWeY6ett_5G zjFdG=3X!x%Dbudd6W&*Sy1qJ@633XCm6)oJ$165P8h#68Bo=%ds#~o$%{NP7eEK>u z&scAGFHOKBs4XLZv(&i_1xD0K6oV#86Xc-TewxJn!KAEDGjn&I{pg|Kdo4vpYLT3! zsRpL|HmcHlAyxN+tnM{H-D^Jgo4)weR1G)n5zT~`>bK;fYy$mN`S$)1v7mh|Dg=ba z-5N#@h)X~nge30M7GV(EG)JpGf0vuw@Ja)t4)>-}vjiVz zDmtvs0=LHzCp))C8D&3NopDeULuyhJ&4mt%;#y_nddY8iT}z5Kf42Ri$8Gj!a@p+n zdfFBbuB7DqB48xMN?!O&|Ef*|50T7zn0}EpOODLSy|ny3-!z%g@NOo*4?$wiELBD; z#D%}#`PAQF34X>?dpj~`Mv&lVlL?{?xfSMJOFsT@=a*{wo_PV!`9IDtRrPJ$h_GE9!=7e`qF^bC=6H$Y+5Bp~xj>tY7oOu|vhvj@ewR{9mIkA9g+IThMo8%CJvcUPIzXH=1ist1Q$E~sllS;OeLC&FgU zwdA$Jd}uwv%*t>30DtWZ;z{?|JcivH(?Dsj&f3>u7tD7y=;%;gOBNC+4O0f*zh2Si zk-g-|*?3VvHGaWS z@JQc_l7>>(!u1c=#2OwQOz2niOKo1>I7kK@;=F2#Z{s6qLE0z8;D>jn25(h`#5-pP z*%c%{_i~G8^SH>-!5f>Vji0T2`{me(K0`}b$FFwz+W1Z27eY*qeG_DiNTjYQZQp&& zuvhRLCWuBf*_9Sr%}wUBol`{Vy^bPS;fE#{W^(I9mMB`(36QjcUy!iyuMow)6S@$^ z_20-41yzYC0<(hA#q??+$jHL#)=S!eES7C_WTD3aS?Eo7WZ^*K$UT z*{I@27Y9`F@d^1%|gc5!Z z!GyCyNOxUp)Sy(O4JfG5=<8LpS-MV$QK!)D~APK*%D$=c(IHNjj4?yB3qS^j;GH>^D1aMVsNkW zU1?I=2l~o}uN?&j+p1DxI)1koR<-vy(wwH@)>E;-P-+!tNz>rRbAuoIujHj5zFNZ3 zX0bl<`V}9Wp-t*?wCU=T%zC;iLz`APv?*9an|(Jp+SKEKHua`E+FWGabF?YUF-L!x%zTUq}-nnmk|dY(gA~O}uNqNH=%0K-S`F z1oj-aK0WB5%=}wvHo^Ip8$mW_9TKSDRv5YN5gRi3D0tAcuzV6fk{5OM3-atY@Iwi{ z6H=$}T$7Jn`;FcT!VB#V*^@FAVVy8@7yVvi`Dt_X_g*h*z}Od|E-NAu;S;}qkNZ2h z-cz5$Ue*$VUmX?rfGWV9n@#yx zas$o&2xo%TSEO}K-FEHVsU@= zlsK8sosa2+{+8~0!GS6R?^9M8(~Bva$pI;LRRvpty;yRJ3Z>4Tq{QH2CKbl~yM})~ ziJvzUR}TSlFpp!&kGn>f+yA8ijLcCpDX?4ZKvf}XubMkz>e-~XEF}wOUC-J}Yj>-v zuiJG-%^@l#BgcK0yTg@D^_~?aM*hlVoS4YpPrV zZYaO}Z`W!^*ZRu9M!8BJ=w2^0By~ae4!n>y_v*$J^vlrMp^RtF*+Ey~p2AhvVZU8K z#>jXOj56WvNi>aEEAj6~)A{C_3)QhnMgR*<@`@QGN@XXA8nOe;%qu#Q+Tw&a_plhy zh}oYHs250rDxhk8D!Z(NxcXd7K}|QRD&Y;_-{dx1k@Gw}rzse4y^Ee}tX!X9I^6^b zi>SnNe;%hh!bCo@7a5i&gcnncC!rXP#CWrj4se~dKb-bl4u9H!fh3>#bzj~m{*0>% zdMx;9DJH>0oZS8OOjM7H5fUtjgxC25i)=AflNu2d-EUQff%4oZ5n|jhBN?ztIiJe4 z#u_QDEYr2dsv0ZpcVTdkWYE1gdP!N};iP@Szu+I>`Q-^%FfH+qU&9ctWw6RCJ9irmCf;Eu_UPh;MIidd>A zTU`qsqvFYVym+O6mm&^FjSB;+U5}U1C6~h^hbb{9byzVFZ^fuX#I5*W^j)ts7Dw-) z*mxrGt@WCW`AY|5t3Uf*eBcw&!beERC+}OYsFdp2oA8T=tA%X;!V^gP<=+X|luSBwqP@TW7<;7JAk%F^aVg4s%h@-P>`Rp7csUljCq=`;ZTjDu`G{{h zFbiTW1`H1jvz{{k=|{L888K)%LLGs8)n2|F{qajZHO9CEPIYvgH=s|$=vOP~T1`wq z5f5r26IN(%&9x=`I7ajDo8#opBn{gdp%(if0|r+sp5J{E-l=vH+NjPkm52_evLLV` zInZHETvRKh%HTL%MRf$;yn9KDL)0_q_aAcG zvx{}%#isDW=OX;nP58-{_JgxCn|I)2pO+P!oIGozygNHoy5SL>i!(=xx4Fm63^Mm` zCLpP~A5ZOr7y4p5Kqk3Zs!sr!%}LCSt@g=MOA|=s8m(2-JthNHjtzF!RZIxgf^rLJ z(=;~NpuSbd4w9MJRM#Jj)I3LdDYlLcEZtQK?a+6B*fEM?_CnE2vSeocACs zjWi$xn4=|4jRMoj-qed2_r$k5PDs|g&F0Ya$B7Ks=lHvS_&QmIjy^dx<82(!@{J3tiPjxlsKF|zMEQ?bQr#0HPgLZg15d3`yZ>nwLDed^i9p3`AP<@Cg>IHE) zEgVncxO;Fk|I(L|KlvXXq>$pS>ve)&3QJMiVaYKDhNYdcY*GhR)l#&0-ISqa*qora zK5akGvOdD^A>A^$2mHzyo5AOuHvYIq*p_!uc%{F8f|?aae!B3e=5moy?4OvhLg6<( zqlrVaw&f#7yz?cvg>Aiu{%dQ#R!oddZ3v{;qyfbt@VJk_J5z?2ahnJTY)V5Q0|dNH zx?6G&@Y7U1O_jwdYCH+V%rylXV+;*UH{ATT*Wuc;ghqD^?locs^m)m6!Q%eJqk4e~ z@9SJ=Jlgp4sn~)kCgNw*^fk``kC`>c2s8Edx?A!xYS4K@Se??cYLDcVyrrjzIcTzt zH%e{4>J6A6O#HD_oh2<72<9p`T~!Tn2YKBK#Phy^|Ln`#rx2taE?ynF>tf4tq!ytf z+s;4W`QX3#Ah?)ga7a+<9A^~(;{Fc1b`SZZ_G^7c~_Y*DxN;-sVfz7z~4p;Jr z=960`=%jxnxSH66V|8xmi8lgD-QXE#h|7m*{c+QB@waCc_+2VHlMl0Ts_ zihjDF1KH0yCOH3je8=)HXe9rix0inbE4?l$O36RZDfvHrSNZ3BcXUyD9~N~BRS(oH zB5k=qZ%X_(VbbIi{2@GHoi>qg;aM3>#u&gb<{(O(cnKM_#Y)gPYa(i~*@Mk^Nj2p^iMJR{UiwSh>Dap0|jQ zuD0yoz{+&B_Xjja|2eBQV#YRsT{1J3{qOA!^HrqYtNIsgWw5qerCAoTPhmkM>l>mo-n`jnWBy@rfh?G9Wdq1BVo$#uh=J3 zR9sAP)pg92@1AB%nF-|?AD(Z|mE;Y)rsEy_X+9^dk6J}2SV>VzA0hr?y<|PCz}diD zas!iw_j`V?Zy;iMprPv@Ci}`SKaQpkjil0FN4@(}D!xfUEcNEWX^U^FCEs4+o6026 zi+tMUOJ}r;Z+hei$TqbSve7S8m5aF>daAU9#Wy{~`SZ3fahLce23#gzCg`eGG*vSl z#W!v3Z#u`Ta8>Od-_%&jR^@{n7Ph4~63-}&R}_K2;*!ER)yjeyeM=q?ulWA15I6ajfV-n9)Mu0I5@r`xUSM$yk?)oy}VD ziQjcwhZM;*lRnlZzZRW&*>1R-hJ-hY=N$*m4JpIbn3B-QVPIKs`L0-gda}cE7;u1P zIG!FhM>i!JkJBTuS66M34yH<>u*6FFVRQdt{Z_XFCXVj3O}B`-u({63Uw>+2#9FU3 zbF^Wkp*T{v47Thx6i0RJpU-Gt%>-mctDW_+jn1KawoA*QIy8{W*jyg z&Di)-+NkjDq>Tzy6FM9fdj6+J+Xdq3qk{R*ZoSrx3_+0IH_>nNp_f#umJ-|Rx957n zi#cO<<;9hK#S7DKOBU}UbbkD1ntoHYqM4fMNWUGf+CufWKr(NVt1hMElH)~48vyT>(_;5=-jWik0;y5EIx9+ z@w)0^`f^(q+vxCb;hhz_G9g9PM6b@=sq^(>-tm%MdPh(CtVf3T()|k&kWtU%$}Bits!LVJK<$J&aL|(Gn`2S-JVM3 zr~J3~(pWp2#5?6jY4!;5p-cX5viJG84rOnC4=fTzp$67r$|C7}^=|Q@`!9MHA3E1a zf`=DWe5JoC%}gB9!{S4ax^!3J^GJh3-C8|XDKp}vaZ8*qW#A3){S8tjdkyL3TLkJZurnF?s-4x(BjS<04?!-rL4Mu zrrtAGxjx*>543F~WTP%3a6fl9Qq=!t-`yx_n@7b)MYD~-yM0IgJeQ8V`jTB~`S1yj zmS6mFpR~;NX{m-fqUD8FRd?@yT~)i&GIFA4~sIHfPn`Z>syTH!zcr&2LvA4m}Cw+xo4y-QrE)u_unJ??Sd}sPJ{z&J}&7gkonO^dk zR}-~HNTj~gV6&xeyL_@l({9#3(h4c>KqINE)4M2-O4^DlvfQsNSfVK*yIZ2sQ(zRF zU5V5Di~rFQ&3UcCeg;8_>5{=B)8gY{v2Mq9?cu%7Stx3{pIAEOaovP6GG|1rtD7#d zGGP%o!BWOsQLPHDOFp$3ELeiA5@e3B&i9@oFpGwK$`ffZy(-#xBj!~Cv>2DcXa7D# z;yB zG|+chG;wKbWb3BLvYj~p-;w=Wx4m16H>BNLALo{{ISzhV59-@opL@#;SctetTZ z>=_y#-;*O6zN(pY<&@BjLwVD3cu=gZNb)P0v$*}LIGAGE0W7;VwG5B;T`!+UN)uzq zMf$88p2+G6_)EItr7O*KJaqG>5HB9^jAi?lShGl;J(C$xB`2E+5?1&@Lz5?MahZte-q2=RL3qHrmdUJA2m{6UgLr9t+MhGLTxkK(0q2Q^d_g0I8)`_X zwTiz`P)O^~x70yd#{ANthJ^Gh2a9^uM9W00oK!dM{tM#uy|)1E1@T$Ew~;osbcxh8 zYisnb%k)6{yfZvv!ulG1LDjkN4}rd4s6c z#F;(ZP2a5ir^Qy+Q@yB_+C4BpT3hi8czfsYDO2(lnz55d$xT>z^nQ9r@-CUBwM~{&mvg!I zu$j;B<2}yTkXka@ItxqW^`hMcK*zKf%>|$YHY{095jyz{-F|p{c5mV3Vx{4e2lioqUO)9dLfY8>y&%=|4htTac?a|8I-w$E zTrcdP6Kbe0QU6=g==VQqCD;Et=zf|Bmn83H08aHh_Yh5tFPP&xU!S(l*DN$)SBW@5 ze+XNO(zkS}#Y(8Z7`4b}LP&qA;=B6SRHY3M7fe%r0yQL(T2)VpPwF8}e)=#hnf%1( zWckg_g`OB8kRp2kI9gGJ*;Fb<+ngwX&nKN>V5A{51wab+hr_8=Yt7&%oVK`vx?s@(Z%rR9cnw9=3mYf(#d0z^TD zRap+HLK9Rlg!enw|1H4uTWIQgmH)el6ai`m2K0wp$k4LEBsQAmM!2y3uIrRT3kG;k zVyt_=z(GxszN;e3ww+tvXL)%dt1~VH7Bbf2A75U*)DL69^+J^ltdhPu>#YH%hMM~> z#a-3XAnXO8FcvY}EnwULB&=XCei=A#QSBbV*$~NW@}Uthi#q~F_MP=gt7tc1W<+AE zEXc>yW{IHEO5LZNCE`iFh!@f*`?&vr;myTY1p-MIwo)k-mJ?(Ns1LEcV(zq1I)K!A z=IB(|@kEV}Rl;bhv|BB;X;_i;s2iwub%WWYUXO&DFC&_``rNI?bap7vNIM6C_I^|MU4i zed5;DgjF~kcfAk8SK0mUCtIK*b>m&jdF6foQQo(uJn@6A<*^SVTmKSS_7&z=b9thm zOL^kft#X~Y(iG!JW39dEsP9b{ox{m|vNq9YL`6kKO-4es#g9sv8KY&ETZhyhcI>RR z-pntX{PV3i%c`}SZV9Z>L{~0XjT{(F^g2M~t47&{*mV(4;!j_cQ38oSz6QOS*VxM65_{s{2)&T6ZCZ!^hpH@${+CZfOWOo zGi$5`jko3T3oFZt*G)dhZ>X_lK<)NUHAky<_x(PPY|4`7XKCShC->2RA(TS(pOQ^R z)6^&@n%t#>iX=CR1T(8TQoKor)GRc@vH*YrfD1fx#O#mReO-jIgqiM=iGEt=@Z zHNjc@FFCMo@R-9jyXdAVgS=s)5$8^B^dA3}<{0h`hcpd~4>~czA+#f6gH9Cu@W$B> z5naZnh|%PF$_6NkeU+wPQt@dL05|#3Q-IfBhl1C(FoK&H$@PC9a43*P>{aLHSieGu zb8}ag<>pZ)V?|kRZx%P_9cB|E5zpYw^S1s{lJ9%1pwFnh;!k<+fEok zI8U^A<4q?>{*D-$7^krk{aRZ4)qyv?;Y&trZEQz!mMunY@ILsp)Y2O79nucfl9l%! zY7nHmtDWQvwkb>duR=5b1+2jyEQwK}G+Ytm;v-ib=%Spxe?NxDice4^yUS0xtM`L^ zVu}*o&M_6kJoCasMOF^RjTYp#bo1(-P`feW$v?eU-1er*|hA%#Zt1 zQOZtRkKL(98aUt}qVlJ^25!+SofovFmm07Dt3s>IES{EQz0rPCg%;RMGZxh>bBJ1V z6>3SOH0kI(ulz=?rnkLhHqS8=%bRLvCNPDu3X@4}y_A(?`_l>o+64P*iCwr1E5hHP zwm}fO4Qjug$qu1cqX{;sIsVyx*|oM!?bTGJX%ANat$zJs3xY8EuVmsxwQ@Kq<~ad7 zyvC>GG*lcksxe$$zdB#F6HR--QN8td2pr0!f3^ke0#gHB<#M}M^DKlIixVIRWmlS4$%aDt8V_2y@(g$qYVA`Oe+V+))g9qw9S(DD(Rh$bZqM5sw@HYMvXFF%#HA2=d2h^1i z-!VkGsZ6FV$4sf6_yQTM{xl3pLn@zDL$Ux@5LC08t}K3jF5{=!fB)obIDSkt zK4Kr{s0_eoWiy$$R{5srw%<7w1qjw!0EaX=7E(#eUC>i#MdNo1Pp%qwb6VPGT6_Do zLz&A)2$a0*a=u35Y$N4_+1P94ecvpP{W;S2l?d+f@;-kqPmIdOAFvt2cyqLPef46Q z7$p)3AYn@OzIT0xkcjJ5niQ6_%nUe>4O7laun9(tN&Z@Qt{q}?@|E!ML-8j?(7SDj zh(Bv1M0~*_QJMW6WYiS3mY?3j_63@F2iaFyvS5vpME08TX$9)q7uetmG`j+xEAX@Q z0vA~UCtCQeIF4_%=8rpn{e|&=bed6%bQ{EIj?vybkD@uIzt}*P+8MmY>-)H~hx=Gs zhJ2Xq7RMa9C5JgXnpU&k<7iy-Gm{P1f9RKF-$Vadn0!@BJq$c(wQ3oP2qj*MENVZq zl%x3(n<90gwcb@Xb=-x1KMvB%mocD8YOX@^G|(&FL+St?Qg{HW)aPA92B`KSVhDVLH|MV_3e%Ai8(JM)h_igyBpB!zZ(FR?o}(0~U+= zIs<{s0!Gt;&pWzu1w~oGKwXK=U8}L}jXH{goMed%v`+$~L~5Zz8=X~2>pDiVe0kb5 zgwrqr*v@t7J$T1%IH-nv4V;C^;ysOhLQ($7JTkZ;@FRdUJg0wLX>t>;#Otdm#EX2v zp#^gkeJ&5$D+-Cvj}Q`H7)@lKd7=&vT~>3PhRrIKWm4loHdLFs7OJh0gf+yTbT(Da zF3sspb9m>RcekUcpo6BF&Acp+=gJQ|Fp}Wnj)W=H)I{zeGiSNvM;3yt?UJNs=&US; zxdpO`M+lBxu++^D6L&PHS++lZOtiv*k;ra3P-`4q2n00V16n6UqY3tw;s8eZw^(#v z_I_6AnNf%It9vDLLX0$=aGOu)|F?Q7=UhYL7;YNXmw{IT-De{WYx#yen+$F$h>yu) z1QJQYi9s+r`ZY3g=GV*vemI*$%)FLISr7UgveQd);ff^oU1iva9R0x&~roM zlL~T6mwl2|j!G)6`|wyShl>{W$r#dFpd;~rb!;D`zm_)O$;YAkwE&dV5-;C=bF>)6 zqQF1&JN{S&$7K9T+3Ck0xfi4KF{WqqS-utn)(B{~ zX&#MbTc(L;Wqh+o!dY$3#V6BPQdH`3g50~yYepNpDk60+vO+?g5ezE^UegUu;{^)B z^?1;~m%<9$*I=)HjbiCP2EeqidG9#n2&=@zE;&q6XLksB&pxE#dYiYvQo8y^?^o`X z*?$kYXIVduJZgogfwa-Isg$XA=`FtY)BuodA?mkndhnXB^>cN&P&~aOpNp!Ikf=W= z&QwSKjE>yvGdl83MBrqhG@4Nw(N6v9UPftmtzA|LefhKZRb;+ z2sY0pIk}|%yr^#Q*V&pX9~_S7cxV1tv*m-Ca9=%EJAiWtvM;1ut^u=!CkI}DU9QkY z-aK_zj`U2^@V|dJ(D1?O6M#T=Z~jW#$M%)LOJolz@5Z)Lscw(P?rG?d3LVp*IrOx)c7A(ITRWydyjvC9 z(BrGdUWcfc@~2&UPwKOnQk$ylMTormD62d^?zd7EKx6 zfHHj2Z7ZS%lWPDlIZpxjumPxPu;_ue^30=E{{f}7iyjc|s*e)#u8iv&oJ46SFsx(m zu>VQ;*~Y(L_NH(mt0agnP@5cRo|%6^yeu=1%~he9HFG^n^M zP2GmaAMUq^_AiJp?Kh8fc)Y&fTuYbsn@@@}EUV_o>F1gO%lhL^Z_KMNwR+!retB#1 zZGG2HpQm^bMRKW7{YY!x0ZAlQ8=#c+hJ4_(ha!{IZQdKpEI_BrxtjmZa;GO#L7_3< zRU{!$#ol8s@22m#ysnCRJA@j6n*0}n@+js)6WC%XLrLv<|2Xe?Q|^L73$$yfjGMcL zgK-o2hsPK8TSaPntheKSxa`VjEWad+13!gO6$nYT)ge@cqu`TvGl+hRl0vw_|L!RL zWI?0K`8>;{c5M1)TqLwFDZkhkHZ=U&VWGAwV=1>oZf-nPU#Gm$6&h_aKu4Xs5;o? z7SLPdQ?pU7G#b9L?5i!(@$7EP-5|^D0=%)s1b5{y)07C;R(&7if8^ zQ+VOkjYNbJ2D+?0Tq3@7mi#sM{8>s7W;Ut}OjbR*H?(PRoq4npV&+u#za<@?brg`-0U`X2gLsU*A*f*^RgYD zxA~qR%=_h)J&1qeolopeVw~t8tV9Fv+fOXFJp@@qcHjq`nv+#?WjLNY{cKZHBe)~1 zNZz?)!*x3jtT}_9h2cL4+j2XD?#t*%_slux-JUdh{XjpDC} zyt6TNxAQB8StJlMM?QYM%gPcssaLfaGV;-A%SX|c7H@uq0587td{+Mt@`+ak z%U}Er3I)tM)$LF!lC^#@sQQm1*O z{&wG79wDLxmzl|w>zRZ+F36<$EDe@3(2`Kj@NvWN^V#j_2 z(Hpf>siP@H?Et%feF%21SOm^4Ryb^N7GQg=sWUBAL7+WR&EuN$QxLWx+e>?5)@!^81A=YgQs2}nXu-<^_S zZ_JDTAIY!GE&(jFOHw(SmY5f|m*4(>6aP5?q9gfL4ZF#&s*(Jv+I`Az|Lu~1TyJJ9 zkljI&-FCxT$DByx!29pEaiBbYE~lKDNgJAx1vLX1>1fbz>j6tmMx1@Samr|2T$wH> zD>p-h$4>t5djaxs9?yD+ayTzJ!Cf0uj@#zT2a|tx*NkGB)?G9D^v`=j zNZ$Fw(cy%c9$6k6bVOOEvsEH>FBWo@7j3=$S13{36iQquCcx7MdYdd@4@v|Fx=Gu% z9q1;VYroP)^`=n$1^^34m)}A6QlFIaAPIWcc%Nva<%96VhxwAJ=Cz{c@5{2RtNO! zBo*&0<)!X!JvwzG^@QYq<9xE}ZrlPqc5rLM!!|NVm`!s7q?EB;)WkM#9ua+ zYK#Gw|Xy)h^4TO4!}u^|WlH|3|8E`vF33>mL6q~&ul zy*t5(x9Nbr0KW1)_5Tz9E5L`p(*fY!p~m?!1N?LYoY4Tl zy$SUqx9-mjjqb_d$2){lqE)x7yFX}==!MN+2O=5vP!c>;1P_%waA7VcAd7mfEqEJo z8&Zz@DK;$VNSt{;29DL45=lFf%scu=~5S93WFsKBH?ID z@zIgmN%Ir+K*7=CLab|nCf341&gmTe5C!xjPd|i>eiX|0J21@RrWyhooZ5QOj?@Y* z?U>^-w$}RJtt&r-6+Vo}tb@_txx#M;t1m(*D~VKc1b;+tqX!7JM=&U~p9qS~qM#Th z3W`CZoCDOfgRYUTscQTL_6T7Wr!V9b(!n zjP<+G|1Iw5_gw#XP+rJKnazu~tcnR#_EZWB6R*t2ttGsw5XzPDzkuIFGRrYCpLBR) z>Wm1v5&G;Pbssq3)se5b3{|Ht&%U5)x0h?Z4Mu=j=3XX_RYxca?Z!}d)(wsRWYudq{ekRtG4ZuF)*ge9oDpbnOyb7Rp4cT#51~x+lh&_f|?-qGxH{i=Abf=-HN^Ni%9r(PJKunKk*+7`c}7HjX0d zULL;^C-!YPv#-lY-U+Et*`xX%i2mEm;@STmEgYQFOr6Afgg@y--${sjUh zC0SL!z`gS%Yx>F5t(c2sQXqv*q`KDrPTM4)4b+<{7R74}Cb7SS`?5~;b!6*%4y)}W z5`+4x*eZ%i<*c!Ep}WhYxH)v^PgT0_2hqOGk=Wb*w(Dr052Bg>Fyq0p!wFJVqhkmf zTk=F3tu;z!(g73G>^*%{@5MX;EVXVBh`duiDU6Dvg76eV|n}nmV)qv@tTeDT?VX69?fH*Qs{VYkkN4J zlp(ubA5QO5oImF-KBJbokiTJe!J{Os61P8$uGgEWmwz4Ep?Xm{9ZF~g{VpLY3s_NC zkjml|loCyKB^1fcZ{+h6W(YqWtOjhsIN`w6d3ETe^)g*ir_uH3rD2}bY3{IibUhOk z?zft%G3j9HyW%NROzVRIsnagRCCdRcNpxlPAzXAbY9P+a*}k)qn?3~;v{BdPs6LTN zy_q@+Njf0Y&pIMg`8vq7>Ig?BRVk_T>j}tY1^1s!7rnkWG6~#rV)Hq=k}U<(da?r` z+LJ8>(VlsnfBO-%3f0dbtiqe}LybJ0hsC@0v>9j>FVVYWk7xNUarDr2`K(WWq1C(W zhc6)5CNugpRA{)MSQS#D~Y0OEpK&kSr-6Y&~U= z4?DASM0{*+KBuVU=0(v)b-z`0Tpc|;-s>IKc;Dfkol)h-%ZYk`9e})*Kb` z)vL}(FGpE(WDJ-)B-ImzpD<7z`dy*lC^8`{NGnMRLYp$ux(~sesgq^?r#}mU^AFch z60A@AP41$qiOgfkO}a{p$9|u%_29&yTA%P6>IRp6D9)OH;d%=&e7K;=fN%%UN+--W zgxFm{3Rlqd3!wUQ{Fd7TU0N}}pcHHXlvn%#l)s|75pb{C*U6E&0k0HGqPiRJZP zy;P}Zl{t^2I+v!$&?ZoK^xtIRdy0?5O}f#mqAM!^b|R@ajz0t-lquS9tc$$QSF9tG zr)q`iF@y5Mi-{@KyrRO(wc{65f=HUYa6DR&ABKx8->HP+9xcdNVS8@-soLN9mv-?s zukG?LniyZu=z?PgqlNt7L{00|vo)hL;~C^3xn>;U1SX5UUgO5+Dz5Xr3kr15#Y9a|8EqvLW z64zX$H7|J&{inSEO8)%)Aq8#nXWR`~g5b>)WOc2brX4h4dhw}R`D{60z&gQ)RdBq% zaJG%$OI*UKDsQDuwCNPid?k6ZJ^)dLy4OHX^xR}Kxp1iL9XzXJevzNS;|gBa9O6DC z&U%!WEoeC$7s96q0pb{*n_xHL)ms=(ZX-kJ*fQkvoZ$%8W0o4`g+@ zBs6;^+Z9_&>RYROhwHx1oP4b&BC)OEt?!1HeSL1--#ISmv&NR!_-1DwoqcM%GAA$u zLLYsdT)@T;_(IY5bXIEJNAP6_zgzCr%h=lF<>>fDodh1TbYOMrWEaNgom2SbK5h5@ z$&W^%jrbx{ZE@P(=NG06n{*>xim1rsL%WGwI{{qY?$_==Y=6}tKT44**$Y-YJg4Tk zcm>`=@GBmfTXSfs`^@d zRwytkMvA1%(SQ+XIjsCC@u(0c;f(Xab^(zR?xRRejCOMXe*IfMnQo!|bVAeb# zUxC;&R`ZhH%FyzlB*Vwyc5nzMdgEUj^e$uGyLd^X?{Ylv+9{WYIhqg7uR!69T9F%# z_gVo^?;+vWazgUNqK=u*0$yM6yIz zAYFr2Kmm&>H44nHN>Shm9$o+6^qUUIFyVsT$UJLfO7Q{NU?%#PVG4l51_bBplB=Mh6fx5FP`Y4-uOw&V~c> zuJiMrLS8PLChsBcu;M}7c$!9s-&`Ni!SVkgetU2Ix&tA&qI`ED_{4(OCl%xe@%K&` zzTma>iH~_`N5ehyUrqk^{J&cK|6aiVVSZwJJ zt_k29*#;ka>(OYU>!a+@&k~&d)!XA;XQI20QX4$&A2U*k{OI3N7m;V@jypKR zduPdlR_{mGV3^1*@mj(hlE6c9h_CMpT^GM7(D#v)Y)Qi6ImHLp92|N&oHcNGR%mt; zClIwWNreAR)qXE&vp+5iJuL&IBx4}s#%Y)z~I}=i4btNaJVZh#k zFc=(!VT4_@I|2s(xD@=5sL(8GqEWflBZ>{D(|h$+rZcClb-t~iOo?2xNw}{B(;I8? z9a|e(@AaRt3~RfFg#%?Fcj%Gb%`ES`?ZCY`4P0OAv?ajNSsnK$Rp{w&k?8@vLpdb_Pp^InZY@GYGTQO1t@hWp*V}m`A7!L%)F4hpQz__Oc^f}yy}@evds^w=_>JqU zoO^1(%l{`Cg zM{43LOyrgoCU{*wOX#x?-%EG%BSjsqTvpjO6i*KzU}6OFn&WP3%YH|5%DsmHoC5pd zt9`JcqEQ_x&K30`$~>h(W!`s(a%92~8|uZsN_my+9F6Be(C1&C{CF{=f1y35+KHst zR|chTts>uyrkcrOn!JZ%Vy>k@q;2-$Z=$Cr|5aXzAde2zz@cOL!dS=a*CK|_Nuk0x zDLVZ?=y0DDKg~&z%Wj_7GNv`tUled6%5t`WGr44MYU-tTO&Q3Y5cE0g|9S2Dzqe{| zrldMgHAtywD%Ze-t)yXE!4clcly6fuI#VVu^fVt@7VakeypaFEzn}R*c<2*vt}l!8 zl@h#r6Uut>)A^~$qCY*54^FAT+#z;Vf~4UU^Zrsnq0QC^OZ6KzjZEd6N3& z$nah${-*UGVE%;U)6}wC{l7@n|AYU!{*Vv<0gIq#M$4truReX&wS3FbXYk_zeL4m8 zr_;qzSlbaGiSuuT>ffNY6loB0c&8Jc+*Q_3M}p{G?E7FA(Rj~Nz=zO`jUqTnrE@Vu?GA*-Nn@NZs6 zPw1wo4PNH=Y{ViW?Jc`6BNAIaB1RZRR3~Ztla?cW*Oqgp?$(X|U1|uq-f&&Oil=y zax#4`KzZy_U7^5ouUD%gzFcp!>~=)JtHaq^N>ALfh5a7$);ovabkac2dBe|5 zS8t8UbBLnpNU{0vG(O~~#)nb@#C;Vv8W}5VV7|m zFcR^5C|mjSMU5(Dnz62?r@MrC04KeIkE*_Wx%uLC=B_;`T+beAg9o=5u+;6M(>YXa zBjGtVbTEJ?7=`J@(qgK>yC-2gL?`jA;m4X!lxFICEgaP%tMCaujfNqLPE5vwpUD1k zmjktz6zAZiuf#_e9wz=^xOENPbtr+7s-!~rBo6)V*?lrv3tlmJH6+@D#yWe*vrO5Y zaMe#BzUVE~$jS_|Fct3fV?Vw0a z<13PylT=GsP3RO8f4EI#FT9@xvKzX&H7WZH`Q31Bm*uIwPDV zzxJp+ayO_9{Hf#0X?sIuWFx2?@(oeZTI}9Yd6P@jywe;iAM770S1fMFm31*tx$Y+p zmGLY0!j*=5LFK%Iz8P0uVu0K`DhCRc@#~B$oA(cuA1`W$N*AH>*c^w-Pgd*&mFMmO zm8l1QBUH@4nEV1|uy=fltH5XWTEpjW`-jhpXWHTO?FR5!_n^b)<(Kw?&nF4+nV0j8 z@JXJ$PgJhI0aRXIW2k(%f2izyx*aN$?gEuAJ}O_oC{+4(tdWlc74-k6F5e89%Y$)n zj|0rlxj2pWtJQ|h-}euj{_U}ObSBso|JX66$gtVN_%do1j0t^1T<&9}+q;bY`8pU= z{wu7S2ZJVdr{Z_9GsEqZMY%l3j!WG+)&xvLC$`T5o?1S_7`V z(}`VfJwI3<-rgxR^BlkaA|GFiHHepDqh4C*{lryXeT1z;*xXQ*P+rbwd`B(O;#{Rr zLa&zqg*(DXN2@2!dayNz^OOJWW&oB^$464fJQb?j(V6oz7|d18Hobv9n$8PSACe*< z8R&(4NZ4=ba=3+QDpIkQi-OnkCTdRRzaOBA8?8duz!G3g`670F4RAG|0i4@~ZW&`k zau+F+W*YJ~>vR{#s~iKmL6g*=C2S>MsrPE~uGFiz7mTL#U?g^hA>f@!F}yP!aDJXHzx znn;OJ1!X!C-%9H<%j4Y@V<=H$gK4RqAd%z$u+63trAXbjgF|;cr&>c`-Zf#p8NWrx&zI6=z*NvqwftjekScSzCV2ud9OUKA+Qr z`0LR@)+3d5m~~wWw%o<9K|wuW{pt}^`UI7>;4fpM4K4Dj(t--a~i42mSHb=mHn>UE-!wy93M12cdPm)gpqiA7a0urCGnx+X&kBJy0hpE-E&agOuxIUwQ7#XJhQuZzO{A+ ze5!j;7xkUlomCzk`H%lLT?`HAR0~_q=BS8(0yvkZTF0ew@8X{-)Q>%eLK2!aD5VF; z4d4|&00;QEDE;M&iT7G3&|R-jWm|Xed##~o#_|RXSgx?Td}o(hwc>&EWf8-;Tc0^+ z1pcB#_UtdAMdIj3ev_Z!d8-z+Eo5Gj$xQb#>V8B zPxj%zO2wCcA7c5=t3VBC*c3f&)IdErXOZ(M$!V1bE>TFEPby{R=)Q;bm);h8WNPii zM-QUht5Vu3;vI&uhKq~S_8BzKngH$>bIxSJC=p)K3GR4r_@MgrdF}zdc8E9jzg;QAoy*KKXu`T0I&@6^w+R^-mt;_`75t zW3W~%JLfeUI6+gmS2dnVT(vb$x9#$wb3_$6SSxgxyrl53`Sqn$WiD^MnE%JjTv;3f1d~Tv2CZ*^Gt+pQz8qrfAF2NLBJ;#x{ln+bB1_%A4O3S9 zwjtV5ELux3v`NMCxujzGJW`t-h+y_0p|A&0$R3PsKdqJRQ*WKoOYp-!H3xaN1P>WO zg}FSax4GWSraN+|0%Z`pC9L{hMcUZHRS--j^s252Z3Mu|-uiNIKcOb|C)niF|3poe zo$&%m&$r5$&C-pg(p$TtR@rl@#o&`|{c2O6juwPdJ>0Df@5Gu2`!^#_CAuzj=Y`g! zlrF<)-{p2cp>1_|*N^`W_xVgiqP3s-nT*#BhUc2aCzE<*pXz$o5``v&5-p7ULT#IJ z&>ciGmM?|5r$^3O>Ju1!!+*>g<%G?mxnBT;Ef@XR3hFXj3jiG@=tkwB$VbWi9hE~E z=fO`^5XV4h5mQbhjhjEW^!M&Bl{mWBwxD-rW+XO+!Y&8TkbhbxcYfT8%IXD0t8;Q? zYRVGydd>X2wZ17dV+3+)eby?c&syq>8Ka%V%;s~XHlMTaJ}|Lf1-7DTEMlGNAMeOG z)eRilhtUmEsDsY8qHORWWq;b~5J)QNO~xaMQK4#t7PVxD;eJOphI{`!b~k3*Feodh zZhLEu4xqartQ9x7;40w$oIA&w)94+o`s)z;VE;t856I7U4Q8(4Ky}C3tN-=9iw|c- zmWp+*+(5xbR#j;c1=*^Rc8D){A#~?I5igBjc}9$f-I5{vxAt`Sh`WKYjWq+MRFQ$GO_>dV7G=M%$fx~W zt_~&_4xDIW40{YWv&S%cBzp|UABikI|2t%<`gpB%{|~FSI$AMa(5XB&E~lKJ@o0Q} zCpO)U%d>Uwen)Z)<&n9`Qv;_%*c$guR}-Q8u5>1bl`n}D% za(TRs|8g3>)@tM`D@zyp*9SV0GYvnN4-%kx$`A;~9u2Hc1C}v*gFkvwd_5*)`*+3+wuvb>yNa3Y+aI5+2h>1TuFB+6Uqu=odx>trVmig~{aB9eXa4NRmyKJuUC%KSJ zT0L$C-Vpo5<|yU22%+Ee{NJiXzZdzxbN%0|_$?GwPQ09JslWG%4m00=FLcHx`I`7G zX;V4vlwG6m%wMTakxpy9(h?#cyd{cvU^aRNztE=MDS9iTCV!7pP}zkQvI|E~;QpLr zoE4G3$C;=sL!ybuo_vEy$aL$$#fSO(8{=r9wE1Un^oq5o;0?z2Hv4+44N$WDan(b`aKg=Asr1YE zLCF7%MXfE}!U=z(`h&Zu9=e;rYeMk|qpTRw2qPl6{3G#B*zb}bT}7bFinzCuGg!5~ z>(tcs^fJsVGzd);KSm4SDqTvSMF86fmACxuuCupqr)%JpGG(qCmfTnejID2dyKW20 zLY2ajiQ?L5JV)4pRVDRbG6H?sa;-*H&Ca{Mdrw^qRt^blK`!uiz0;PhnCl z1=J0Gb6y2zLl?na)zZs5u~WeVr>N={bg`us-ARm3X=JnPjvHTJ56 zS32iZufDj|UR5|ZGabaHY>~QUxsldaGk`_H&z5!pqQ1m zDD{0aF&3`=#cAJvnEJllzB629|0L~uzf}9buEz9**g zU472mjGuT##=(4Foc8^$RQ=2CdnlY}8~f9IX;n7Bn6LWm1~vb%8%qdLqXN8TAIW<+` zXD3X);;QSeyuMn4P_9rd&aJsZC2Cco`r@|6$_gsf$MR&ZnM_v@^kY zDp&k+sO}k*TpCQQ)fWkzYxe|BawY{tz0q1g=dxdbs>Hwe>JJYH*L_?|r-4-2UOayh z`!D!|bbtSCQzQM1Ggp~6y2r6}XmofXt zw_;g*S}j2c7OhYRRD!>l=(Sn?Drc_&;RLG>y!Za5b>g(lwI;y+iL2KMKK7 zbVo!NJe9Cvc*B&T!p#(^@S(7qMkLPq&7Y;%{Gg8s?9UKt=pW^g{o=~JAsNsXoM0&M z!A?wJZQ$=&$khO5^q9%2Cv37*sFXOl!TM*R5^2{x~yeC zwg=)Fa{jbwz?XL6TFU@=#l_=D-HSN0pR{!;j`QSPL<{xdgv&MJu~3Gm=jb_+eZtMY(Tf~+A_yn^>cqs$2k)-4F#RA(&h%)dMCO`iRU0qv(9qwOHO+ zNHN#{*sPio*)L47`0|}Ucl>Qqf2SQmsdfap?Jq5LmQ9|o5ArQVZ&=DYg{2Ga-Y{7< zI;&GAh4P26Ts-Kk-^#Dw+x*`H{ogsHb%Q_u5j~-LkjS)#hD|XE+(hr z^HywFz!A`Hermp50ZSwLXr0k2=cqEjz3v=Y#-+3!y7#{QqTC4PvqkDPsr8A1Xe*p;P5-L5Q@kpKa`%*L7$ z35!|`geY3P(fpJ|^!PFXb=8Ty+}5X@Dx-9eyM<$so$w84(pt)PzBy_EjXe|^SorHj zB=V{Uc|%8{6%*ZVU*oL6Ji`p(_47)&0%7xxaCtBC^IClfQjzi|vj6@p>rP{VKd}5X zET}&3ia-C!DL{{328v|M9>i#ge1@gKq!cW03;|;vwWOQ*W4ghqa7rDrAzjL+2eH-r# z7Auhb$Yw0sLg7PIe6Wl4l*ha8O)OeE?`RQ+=9^O3s3go1JffOF^fq5;t@QR=$x$8( z>2Lw4HoM9{Pc6L_Fw1Vr(p-dUhd;?~@9{`ouRJZFj-CvJu+m1LAI2pS9l6*1?@dTjS2Iw7tu< z()4!wB+vrvAU*zRm z=%|DC<_HI3V1A(0X1B9P{OCD>lD5QGLjO+L-+#3jH|*~i@pEsLEPmI!ArK0jownh?P(J}tp3!E7$i+L(}WvYz^HvOJQyZT+J-)L9CEW;q* z|Gvo2uhCZdHQ*?}8?F7&02fE@?7xxvuqfu^EWmUFhR ziYVGDfC+H?2=0B$Gl+7N5wLJvrIb+1tFLkj+0u7mzQNJ?`dfz}xWN*3} z6XLKr0)jGp+qyOuE|iwC3KQ99|8UP%3h+Nv>+gS=C0zGlr+n)g8X2JNckpACFr}vm z1*QlRUBR}iozjs|nYyE>IFS76-~RrXKzm3~QdYy}VQ&0e)uE0)vkDz`E|l3#N1yUK zIto&3Gjg$?gWe*WF5Q?nzmc=%p{p{)_7#sf>X7~DCMScDI;Q5>zW-b1#TM|=YfZuV zJ)>E8vd4c5R)Ig=y4_aU+`;&o<9d9uy;TZb*g%N;-h@U|(f1I}ikdb~dz){8e(_wH zt6~)QpxTZW+%6jRSb(DQ5aN^kFI1J-`#*Pk5TD)8HAo|M0NmW3Qbg zkv$=;W-+_bBxk8jqP*nI`-M53w9Ln!_QanpqQ|=G<4|hZkFSt#gB|1;B~zazdjDlM z#^aCJl)Q!9%5kU5VT&~vyBvBZM}z21eV>wk`2tquaDkV|uF7Ls_S)I>B6{aM^`g{# zyW1nz+ent;`QKXHq|Rgoqp?I)1dP6FN*ZCGeO}!X@4HhOdt$W6WNrHS#Bd1%^&0b~ zZS}0M?14Pjy`0tHo`C$z$!!g)B7+L0C#bwjr#TIh+prf6^7)l$kbh}^+Wu=0b=!R5 zO-s^j8VpQ#qd_(RqN-{pZ8=Tqs96N9dm&eEC#qEIsy$XfQ0P4mDi4gXyokEWN8?O~ zbfVv$M&CU+0}@A{%-*lmtlwl}$eLE-+iWxI<>u>Y3n!gtO}jXHZ%5K`dXE26O9v@V z-*#gg;k`A_iG2I)(jtay!Pn9J_N-Dj#_GGd-$7bjm#7-YU+ILOP)~3?E3IL1+@OOG zg3h~&zN`~Rj+yC?kN%+0Zf@IYyz@V-`mcDN9AI8n+$A=xLIOn=;%CNnqicDeJgw1u zcSmEIne(IGZkSEY%-h_Ir&Zx*yju%~FxV=VEW>x)jBJYOy*8W}(=4IM6A@z7Ywgwr zH@J1yI46x6>VBTBd=8|X{DVJeU)=`53x$i6vOc41cp;YYSMpoJ&(eA>7QtoYIxL$F z+f=iD*k(gFc<-_y?e{;B^$|D-ml-XB4QbS7O`|KUX^7-V*XyBh;!H5RX+z!M>*`?` zyCHqwqltbZd$d*i@4%?>!Yjoxzdle=w&Y*U1?ASy%m*U;Xml6UVxn%yzDuV{p$A^XbuoiiEcle zm9L8H2G;~&us?;y0ORrQZn~$Ra?5K&KA^a6mwmvbHnl5+8jZ!ieQ|Y-(|-A?wE7ek zGn2TT_RIRdrXMBnce&`Z-&XUUhOFdo2rWgbk>`U#i66ingyxeOdy;1-zq`t{8m zUv_CH&reX#p5^&rh#bgsAkOC_&SpQQBoYcqA}2kEM4q(3WO@YEN~W!X-DLW-J;?OQ zs^P<@tcI=~*YFKx`Z=h^x-R=vC-n4#fSD+bWyz8iMOI9w6_hAAD{M=f7N%ClZpq5B zhOq@#cs+GO0;_+8TK6jo$5kRu3GEPLUzk=zdB=qc#Ku(emonmia?Ia$4GC_yf~WOg z|Ne=?A)z1K&|sa(#X@^OiPADcR%;X{f=tJ$1~bgGf$!l%{ecf%Bpnn^M3pyt@pwkP z*_R4@S4qoB;W!}%(xhzJ-r{XLlE{@rSwX&c&lu%e>YC!nQ5H+{IiF1jc2^e^a`-Ia zd7XaPM}f3CidYc;qw z)1c(m**<%Z-O!5X8q4ouH`M7xL&YD5>JOmiNc=+1=eLokkq@ow{Q1Mnp&9SaBn0o{NcJ3ATg;|esB(k5bz|r2D=XCdq@_4T;ak6G)2Q4Fe+B{8U zH(4{fBWp(YeahMwUpZNWRO%H}?C2Cw05qj-t5S+~Dq(e*7MA}|I7jNsxG7U=IMoA7tw~*a>PKse95!#5Zw9# zqHPc;jCDMysE67Ibbw`~)=ITQd3WXlc7PkW!*R~stuC0zT+gCTxFxD4cf$1VTq8kc z)N3hJ|F3K9TyrdM$4#lptG&I`l$st+UI~-pAmqm6Kytdl#Kg8%endN|aKev){j#&fb^jU_jC6QssT{%>RjCAH3ZO zwgqp|(;XSL*e|kL=&Egz`38cW7D|7mw_hTzL8ruR*EplY@G6VX^X)Tv@j9^2+9r+u zUNx;2fQkm6MWh;hnn+7)7vC*|h&6WpM&kGBSfkLh9~>E~ldg-zOT+AnsEEX46Zzns zH>=s_ySL#CvG>sKPl>%2W~ab7t{lwpHIp$cP}N@Fr(qn8)>5l9fp+iz4+q$KTkc>g zva%$9xjrNgJ?C{D4^=_m4|eT$yy;G%FNO$W*F;hAs#a-C$3xi=7?sW`LznFJJ~!_) zDYcZXw{K0Q_>_nKzF(ZQ=;w6Blx9D8=zJF+w=z4$!ba=Nm}R65E>J=jrwz~+x4Pw( z?11NVqbLUQjF)e}k+a&h&@~6FBOLb;dpEVhlV(5MW#I7v zXs&AY*&$uS)MdOPJ~?)a+Fbk_(VZutmbHzkN(xycHg2X)A(kRFNb~G2{F6%2k9>Wp z;D>^;^pXpfYjTDT_#~OBm$4_^5>z6)q$?}358dYG{~3HE-hwgZ2u-Hz24_yLK)+V! zc*ULM*f}a3L(;IJUhx7KhDi%aF<*!mh+kMp z!F--e>IVPH3U&+0e{bjCyV3*6MSN#z5xFYr22WQmwZAwss6U*d75yHC?X!is4PPA1 zG~7;=gy$Op9J!<+Fg+kGS2;&oU)26>DPAdJBUJIs< z>z#?Sp8OtuvM#@nOe+v|FRi)S)Re1erEYwVy&;QyVjCU~h2e>=3y9%^J z^{=DO*f`Gmq+!o}Qe#(he)t%+j$aFz$0A0tF)+lHXA8M)B$7;hisX1N9i`0-{xOa- zUasjf;N|3cK1iguSsIMwPzL>S)50m}iuQ5mR;k86CVxEKA=d+nCnB2OZ#>9q3leNVk@C ztMPt5G?COSQp$IA8+CF?iN0^}zc>5eEBx=HNk!92KVPH&eWLv?Q}p7FYQtYW*4;R3ln>G{u7ULrIP*bu(NUNeH)UgzwK$-d_(FNxW`PId7L0a0Zp;jtH?U;O1i~ z?b&X9d~i-c-&gFG-etRKIA2Z_R(sR}BzzEUovKqg)NK9TG}$IIWq({AR@b41m!XB67R2V^i{N z8W5+g7!+GWaqkPccqm|9)9=q8@xk5J-~ugCpSajfFIQ#tEwWVI)f>U-`3wbi?g_(zj1NT= z$1lv6W+yEqrH5WJFnJE%vw`>OgpH(HHj^;0 zX0}SN$>v#hH^Wf2`Ig;<{)*T0{Cs(q`eO|F=J@&M`rqfP9^MO14H0P_Uw%fu)bd6A zoGZYJH|k79Cps;Cf~R1_Ir7(Z@gH$VKmc%*8#voSUDVYtz6SP$>QAysWuV+lOUijc zZ=a~<64|TgrFy$SGynEc+!LxMiwq+22hBJ=OV3x~Cvn; zHPuua>ORzBqJ$SevI_L2(fz=#WFv7N8;NZzw%`$gWbah4KZU);{||fb10Qv9?SC)G zVpMR0f<{FRx@u6b2LA??Hek?=ZX_txD6}_Li>Xx`HPNVOg9$d^156&%$|h-WPdZ8pMU<05X|p&-Z)5|CJhDSt_*kA=6AGBk zN5wriF%5r+YvsHRBXdXvVV6FM?&5B8;-9XbX=c&J9JA>6zucYq$@g=FbO%V4>vRBK zYwRGeE5lxZs#^$x)6#LI`!B;P(nlg=m!o_dE`j*5=5LyGyFCj!Hs45Q$q>f)Qa6r+ zp_&NGPXnD~DkHao8W^0wW1|Br9E_$78tF>a${nCDLtho^?1SnOc}vLO-L3x7e@3L| zs0xK)k>(7=a{847^EYfa9nu|*s6ypKR}^bXR?;2!Bc8jTZWC46xYqPWrD~~`Pmn3( z=mU`5*saS+mgXt7xO zva&F&W95@2(X^)Wi@a6n-nX*I0P3lQIn)czS-&0O60Q9R*WHC3FwjcS`hvf|Wjxbz zZyW@mF1u)}g>2D;g;MZ&7CMXF4p9*oISUDOi0aGIPDMn@Q6DV&PTf^U=(irD=9bBj z?mMgm7@;6lqVik+o>7zT3^oxonTIn`OYGI4->oUd3|u?&%Xdq%7VM?el^`m_C+BB ze=5m%nae09)reg{144b?U+g?(CJm6;qydA-qydGHPt(mOUce7YzQiGs8ul?akiPUvM{isA ziGBFdc%x}m@W?pBvG?D%$8l~a-n_%N!*TTg3Xb&ulfkn4+tRI|SIZFZWe<@uabhI3 zft9W{;N}aXf3Wgdac6s*eSkB%`|82{(6ZkfdqV%t>Fm7nU34pF+F{w8&7&g0mdjAz zu(5}4O_ORaL_X>c^e1uh@-5#C<(szHsd?qoD3gYVO781}6%63&gRvEPykRwr*E{!Z z{2;shxqBmz3Cz2TC3af}ZJ8f`Q9D6bR1V=t$+ZVGudCnreyy5jCUV$>-_|Am<$gM2 zBy(uvhb)=ikB*4|^Fvll@3$4x-5WoQ#^#+0%=@FHVQu~i5D7hgkm`i~D_?^2?B%Q0 zPE!8#yN2I_t>3lbcjV66CF2F-M)@^_2}6K>)kg)K=%qwOF_liV&eb5OXhetXTEE|5 zQTF$cYFz;(_N)I|!>xQQmL6}3*k}e~e!RdyI0R!W?lk1I$gQB}b&ufsz~ zMV(fd$%_ZF-a;1H2&Gs9LMhfBLYa!nACub(1Ql0)#jAZ>`4z9V2H@2p&JzJRK(NyJ z-OCJSftA(>Rb{#6TWO8xHG+Z{RHfB_8u|paKF2Q4|`cYZgv1!{-Kk5yRt6r z2_3;#ZEL4ryD@bwS=F6ocg9PF7wy^v8`{jizT-$FjxPyd1-JT0sUmZIq(qTAA1PMk z5+5m2NEN9wi`2FbYjvVjlfOqxt4wrL#fely zK2E_xW_lR1cbb6MC=wj@!+%an8mKQ;V3R%}zHaQ@Wp7bW+nbn^4p39>}MI5fk*2ErRyx z&Um4P7)1)ns+R|(p8B^5J#61Ei}xhb{1=>VW4hYnvr?o}ARt4Rh0Bc`Z8`1V)0b(Q zG<&8-fUywti#st{gGr)gB8@kVvO(hCH4M0j#K00$T%|J&&51%YaCiGaBx&LIMpdpDke?+oA)AP^Ug-oXSJ*yRf(t$XJ7yJZe9G^e3a#3 zW@bQ#N~NHv3$f@rA(j$4UNj1b{G$D_;$~$f_xcGRU z&tK@{#vRHR`FOieFZS_5A20FoA|EgHag#%?Py|FmpOE!ROIq$^vQG+&Y^Rj#9!~In z&?tL=5oQx6k|f?q7?Mvs6i6FUiN{uadlN7i-?u_}8z#VMhig`o2Vx7BD59R+HPeCUSmgY|{;<=|iD6(C>;r7Yg z@nKY0|J*e~TDKt0EtL#$uS=bpP(x?Stw;Ksy7GnD@~OhiMlA}Z(X^Yi=a*8nOY zgSUUw8(wCz^{1ngP8!Mko7HZ>ueMI_VPiwUZGT>F)+1YG1Z`DIE~ccFM-7{O0L%0lSZfBqiIk5e>ORjz#hF`Ld*qcfOt+z{|aJpoXC zN(@wOEE760VTW+FGTz5YsW2n(=$y(Sxw7lE>7>VmofHRpSFrZ;u9G^zE@#uEccx1; zS*LJKUHoqsILSl9)Dd_3fEV((acW5iLwSdb0}YFOj-OnG&gQ zDKRTt`-c6$%lH2&>VMJY+gNvhdlp>o zK6D*1QOOTh|MJ(|+yn*H5fhI-ECm$IpV7a&8{_+U{4X|IqT_rYZ-W&W5HujT=V4Xp zBHce>h10aG^WXjmj7^_5y-{cvDVtBF^=woRYZdK{_q@7$@NHIc#TvXVS>+j9@DNT1 zDZ}8{&xtE?#b|jWD?y2gw~LDP2RBWstdvN{60PPN0F~gKMJc;L1sAB2H0(a=KgR@9Hj6JyKT#8eoOCnY6m}KE)jj^L#Y4kXaSa z!R7W)7tLLxhG?v~TV!H8Z(YTJYUmWqU#xs*FyE^4@vzx_ZJam&Zrj5HfEmuG`yOTu zg}2wrhYqj;tK`)zbNlPJyI<+kZ;sm7js2T-f1h~zX5q%G3HDyClKdKce|D|s?={zX z-sX9p8jo3L%^}%y4@54FsQ?7J^J zU*l&K@=KZy5*7A?w;eR}FZZ`h2HZ2}I&cR%a4&Ipx&!yZIiDQd!@<%gmRnbWY_nK@ zau|b0Ua;;rPB`SfOEmA$Ka|=!qQNHn9Gu8L-^?7-l$aVT^Uk zA$WczD`Vfu)|vZ5`r(?Ry>4K`!0bZp7C0n9?I9JNxf%_go(O50*5otN-6DW%lDMJ@ zD<&QpukR{P#p9XBasm6_PXGKAO8GkA#`cN^UYfizKAa%>6A5QF2M!nj5Qxs;G>1yz z7m?pVc@DrbZDN3b%1Rf?*GRZu!c9%u%tH8PTfWFdroAexX$;~jmlqsL`&1~et^4F1 zvd&uQ+BY*C*PGrb7KBo3WN02vz&w0Z54A~Tga10-wXoEZvr6*`Nc70uMi3g(H0ige zdsF1TgoJX-^HO;y=a?eC)z-rY5Qz5~I)g*3SJ3@MOIMTEV_bJy$J*36ZdU(ex5t9dCWo*0c zL?d&tBQwB9=qz{8@Z(>57WH-*@0|{w*g0oC^5%2r1-IW9DiGZc-A}%>KI7%9Br!=H zIW~VR--KW0F??~y5?u1%V?7WV560yTO-ihUpJoL!I$UCv~J7*_iH+2TV zFe*xqyzmycx=7>LR)C&7BJMB7N~DwVqHql~xbK?}^mYe;wt=)C+((Ych1=%f?lKVW zhJy!%dm(V!x^Ej4@QwWdpXdNDn>PUAy1@bG0XTD#!#3EqlQnj8(}1$&V?YW*GPdM4 z_K90q>up+7;(H4BC*2!z<;p&;^eF=Aw<@}jvwu$lpx1G34cP4WAjj z)r7L&v}>RRe=$)F1*I1HV(h<+Ye&}O!S6YfEH%FjgoC^T!I4dV$4*$AdMeoWHd~lO zr!n7dQ-fe9Bm8{ZcrsyKw=M3?T_c2SbiMUyT0Vx1roUId`)u*}r%PdL z^c(x>iBi@TE!pi>4EDVV2Xq#_ocbF2>ciu0Ncb%d=`pX26i$7$He_pMNmRAzj~Yh~ zR^yTzb8Ac=cMO*&6v~I)PNCQ+y9uJxex7Q#AFa3F!<9qbAT|oG3FKYE??lt;l0^Di zY$T(3$N*bP5vjO8__^4v>d&HAi8ySNlkIYdF88}AhVyw7zuDD5 zCta^aOk@>(1Zh^e{h0CqkwXXI81=<|ZdSIZo7eWPL%vwW23glMc`=k(g0#@WSvu)# zn(eB>gga~Iq4Ykdx=?qICB|>CC)XsnD!Ir?Cf$afQo$Cw61uA3tZg(@8d;CF-x!^+ zt}VkMEiMzavbIxrfdh~pHY$-W{Tt59VflMR?C@|zDk z9_0m9VUNrR_VzRiyrxuZD8IbR69_?Y4^t8=9~@!;-MT^3bG2qIC{C zxo)6*@E*G)+6LM3JaBv1<-Zzy2Xq2>x!c3O0wYXGNk4T`gVRqxVw-{2Ps=oMzzPz3 zme}tzuqT{&20xwHp$*ta8%aB8x&1IQN${1u>AF1WuUPYgMwsZ2_dY8U?7mTpNq*ZB zyPH?P{rNE@ zIk`Wzt&E3&&HvE-E#sKmZ|^QoSbHWi(Xkb4QL`qS_k$3-o~J&B#=Cdq9+3xp zoL)k$O49+taVF+^nu^Z7NncyfqW2Bg)~n#`->m8lD(+iFOE`jJ1T7)I{YZpA)XD5i zjX6z8WyL#F$mDTPxN}Z=C-UCn@;>PE3cT`~I!3M=f>-`# zz`iuc0aLZgP;IqB4C4iNun-0l9k8oBFvEzJGow}J(%ia#Q>sR-64C9i<(%6blnR&J4>CtQg4i#3ei2Sr%66kvZy1cdAWUK`+2*QKt1%&0S zEs69^e@iqy@}YDIPf&CqK>v`yEK>T!Es5B)f4B{J^xjf79MI#spAhNUQ)`Ng$rr;* z^xkoWZY6*VLW0-7P2JGH#WMO42S-aMjmXZPvOjX>Z>KyXONRMdI{IHxm_~W_XU^Pa zlCYq`NrIpVdY3|po@#-h0U_u6EN_j^yWZ#BJw9(g348uS zgPZU3ZuNO11`k|3-1WlY7cTE#u66k4DGhw{ecpvWuk^p!H#fNa%YFU=pTE%O?}x`U zm$${|E%JGbeO{wDv}jZN4t9BG`Mf1QZ>i5K_No7t1Rs82jXTz7O!$nIKBJ^r1eU}G zPrAH2`@B^?Z?(_6%mXbBe&RCz=^96c8lSP&XYALi>s;P@eBK71w^1RNT=yUfx++xt zSKNOPZ#N|UN3i;a?fUOq>aujVMJn6$P^tQW34QNcjX?CAIq{?Y$jKvL5@J$8upS__J(C*o{W9!(B;4M%)>|1x&#*c~Xr33skAePFZ*=_7*3 zP7^#w3wN3pg9~Te8VovNtP0LbkIe(?8?R1`e>9o?S1{Z-`8Sk`pu7H9F>yoe=Cu$| zJM4>u4&z7lgbqDImY&qX2A2mwoblm~9pDhwO|>GGKH}p3LgcOCwqR zx!?Qh-XmvRt)9rnD`QZz9fjCVf4=>mlv3voHKV`^AbioG)M!fM-_E2zz1NO749Iz!G*fNhm zKeaK%<-Nh@ZTERQ6zYafwjm!%J@#6ezXn~6559Hnc536^vIp`0+VFNeHw`1X$<$-P zkjFHqlhv_4qARCE!tls{|D{YT_%6D{kmo7XR=?veGm3)`mWDxzrOR1je|$9ZvCmx32 z@7G=4gqOWag($6t;1HML->-BTs(glO%P_!xz0T#m#{;YJd21D>qrE@bk^Q>5ZaYDK z3({uo*VU7V{NHK6zWO;y;QwRx>z2K8?AOCvsQa_nuX8%H`uFt@M}_w59X%#i&tC2% zq0@7>%S*y04Q&jw0b%fUmv@QJyWZ#BqRc_ojz}g&s*yA_Svr|xr|r)j0vBy(r3&wf_VFNcbE5cpSQ~At@e5Q?AKS`GAbP4 zGuHTwwLW9NR^8|FzVkIlfd-$qQDHh-`09@A*CAJK*ME;Px&Qy|S7*OAe=y41uh-nZ z1KaU`-F}ULgR@`XY1;t~|CigZZ;tx^i2Zt@Z9sDK|M#-`b7n?8apZy;^{$VxUypWq zYkb}oujkslPHaSPZfC#V@VddTyVSv7=*xUk`}Ntka_!f<9I)3ealn>%V9PuL{nW&^ZzD>1qMJ z)WUwJL&^j)JAXOBcF(|nrW##>%1~#uUF*9DK%#+g!!BW zyv$GcW~941S#0j~Wa%{QFvW?(#>MgWJdPSQ{%y#$!zR3+8OtwrO4$~HOpM4*v3aK) z%#KqAb;P_5=gY@Pslm(@Q!%ZWI?OL&A$`Ka1-1>D0xW-laWZuz^2)wq-6xmN{;UGs z0KCuS)H{=H`dpTJHJCTw(cGDcT$K_s-C7l{y@kwP?1UH3NdW#rzzOl-{Yi*!6&^@s z1O&@45be-81jqGb-^c>@qHP#lS`G`=nNY*}hIUsUY!1{A-{=sqW2H+7f4 zv-9uT7#nkku~FnGiB2SQnC%Q~2TUZhpN<0O=>Y`pSLXchu-LqRDU3wgwHrZ-v;me~ z7Qc)IxJy*$yVR-k#fJlNFFGKjuQm$W5#+YaNt{tW!Hyf>XB8bz+?_RccQw1S#_pkWw!qn{=YHotemZ#Q3dfR7 zv^iA3pLEDkEsK0DO9s?(^jWF}6s5ITzwp(pw`%<9Kt!dJVz$4cw|*qINTf%u+rN@K zlro=_96QT}?yEwquaLym0Gu64AK&_~Tu*-57c|xM=}^MucaOp@_pv*jj}MjSp-iVF z7hADi!*2NGQ04PnF&LaQ*4=v2148iWnqA;!Y~E;Ii$nEXYFg>9Bu#DJSbtEKySqA7 zG`lTx6yLZfIx=K(Y{A2s!pV)>hScvmb;8EX7}L+hf%dEY(XCE-p~}9pJySn=gtzgI zI@HCg3F%_bC3Cu%h#j2$HOJ3R(Tw4z0dbSUuT|GUOoe2h;IGS!vpr}!>#i-a6pBdJ z(ev+e@vxnPr~MaydQ>q&3{{K}g?;k3|KC5SH(F+~6;9VwN)FX98CGhT46WdoKX#2U zOOZy@s1af`O_b1m5_?GMxW!PQ{~HQ%#*@n!Ptu3%eymWq*rUMVy6sS~p>|^s_lQU% zh?>=(5s`%+kwpU#`TL|?Lw?dO_0o8U zah7#m3(+#h;jHPBjOP!O?!Go2>icSs$7QR9gOB5yOlTa}B&5(n+NSY3XI$4w+uY$% zCuwuX^*kwC@~eDI%kqk&6V`(>z5J_vdhgE#qWY(sfQZVQJQZ?#vs>T2%8|YCGqH1V zyu{eKG+wHZUA|#Ye);s=4kQgY2)U8(ng8MHZ}6nfH+Hj{B(XreY8B4wt>4{7mx{eB zBV3DJF*gI|vk6fO%BHe}vPd#Li?Ez{${H5KjJp1;ZrIZY-_U|0)l%b7pE z&zl`?|1~CpN4*3=(3HPHwrZ)Q0;}_~*+deS;tWqc*4iKe0(eQ zDZic^Q~o@k-s9s1J{}Q#gu6(>P2kZjFbSm(5UPO%d>4NTefIG#`*@#yy>Fd6uFqaT zAMeBpRBO#w3Yab*Z}+WVPh3YrYN+}f26{&P5`N$8f6wN3y{|(jiM6U)O(>KW(h{Mx zh)||RNWms6>*jM5uk}&Q`G{WOqnh{;{kjJpc%a2TZg!s9?b)>+a;Z}31S(q=R(6xm z-{sR2A$vUmv=l4?wD@=xagke7xAz|!8v9Oj{6>$_KDa!dBPcbnta`Q&#T z!Z-NjuaI>PzXiP0S6=O@+u$p+a|NW!s1foy_@c`3Ua6+5JgAHL-RMC%Q-ZmP2UX*X z7WjC3NCzLU_UT1FzRaf=`*@X4FCng~8(r0NeRWHG_7ZrgmbgKf&gbI^Uz}a+mhQ$~ z^7(kFPp|Uv5+ASj@r53KjgPy*7fSeek$ ze2o_3)glzVsy)0K4{wo&w}epQP)T{DPdC{ryA2C~Tjr~ac=ELSc%F}UC{A@td^I)z zsGQ=2?f!e<^KbR#H+gnOJi9x5dY+GW`t*Ds@A2scJ|6h=!Z5#2FY@s&pI%H{&HJir z-sQe|J)Zg{{hXZ3ZG5uvF=u?*^OxcH^eN2?ZCnI?(4(Q8AvOZ(v**+2^~Rb__hN+P zi6`?mGNJ5XLOD0agmPWRo{MR*W-Vd!(TFX(>!wFRBo4^hDj{;~~(%;@rugFt;I{_91LY z`|dkz$Pbm|8*-&kIP#xu$Pt2a=zxY8f;kN_{D_AQ>GBO*Xq^M!fI?o-cWya+T=sAG5RwHxBJexSj|Y-bEIcD!Iy!cuy{q}1Q=Q~& zQYt%8Ef=MXfEy?Db~l058R^koiS*f;gI)YzJf6!z!WCa`WN@G8KRM-7|ZI>;o+c2YU8*`z3wU`F4Op4h? zed``3&Mu=aN&Q+M!-h&_c9EXs=%i*W>!~(tx!MmQYd`X&(sWU+^G_J!}I zru6ZD=W>Uj$`i*>_6TYxs@09)+e`xig)YXBgywx$vrb(F}u52f|MTJ zlgl!;6Zht{Rz|C(>cA_qBX1VC9pKn~twg;bOj^xV&jwe(amg>cr{eholQ5 zZBu&Vf5NL->sC^}YU?MNFWZWGX66G7;*rdZ2N+u;nTiJ(QzMzvY;R@e^A9l4Lch!j z4*-oPmLH(fNT%ok`K&VI9?*n0v+o1=%p#dRAK-4YNM^(X`3j;B>_MP4nu|V8bDDFr z{~FDg3%Hh%Lmi{tk|CbP^^4_coZ($&djWf(3N1_hDcF1)JpdYsk)oM(KhDQhaj*2& zf_pfyF(ZCai(V3O^h35#?7X#9g+4uZBs}D3{cSAF+GC&`$_TT4xd?;`lc{Q6EICT~ z>PJXGR8M9v=Jz+aGU2z1)J1u^9Yg?}3aBiiaG`MP!ObQ`X5ybdheKf@PaUsK8tugf zr#CY@B~mX4a4kev2b#AhjOKLAkl1bChYr&39IK7Zn@_~j-{l8$Df51_#oxw<7y0&a zj2O740@?Tdkq*H7)u3Wva3W^vgmqI>&jg9v*abNNcePjT>i(Vy>8Bepscz>7bE-SO zUv(R9-Enno-G@=1R@ADEMsLQNpQW(Qa93OV?d=+(-5q=u@vF!uWNkgY^=t%!nY>)U zscz2C!KE5yK!QZ{9k%jrF@lmBqd%#0kXGJVp3}-h`?d1j^p0EEJ%#Fw!4vuMNON4> zZ-}jMKE|)9&3~z@)6!`jE7_kKr&(P&IF;n$Wd5_6AAy%)@Eb7D0&U%J{vTF<&SyZO zJffGVysVv?i$YtlalYt+gHPa}@b%=-j?sT*F=%IyF<@d5#{Z%oju;02^b>JL@6B7Sb4Yd3p4T)FBl z{R|X6|MVQD_7}8oweDEZgioc%XJ=vE7NULAXTf6Yp*dI_Ok4VN$gq#VBFm>;q3Los zF*LJB$g#RS|80l}qzO)>zM4caZ)n}Q7*e}_j|oI{Pj{OK{6`Q*-uTKW1PsN@8BU7m zUgS-LFv@-h;qM(NHQ<{{t*i5B?DUzKvT=D1IgaZ`j`vbKW{MixX_8QHZT`$c@x;2E z`X~0Qzy2fYr_BXMXOVuDI)=umxoe7WpXtDOv+HJO|Cx^k&Zf3_!>35NL1-Fm2AnxWL&xEC4q~aDB`t z9U$6tl!g0cC*x&L?|<6+++=e1p6Dm;N9$fln2t_yNxLcOyGlw&k9MDyyvL^|_i3#A z^qxM|x=*{fPY>})>kIDV=2ENZM&(PmPcOMom+I5;?$eX*(~0_Y5T9`08acozt{|KJ*FT@M94ZBVdi4GI%QL6Lc3P{?OcNH-|R zhoE%7zdn1RMc>s4+4ISZIO^f{$1T`DyFbqQF<2FHwp8OnAvS3CRAcr>?)t=p?+a7y zZ^P+KC(?c&DPLViKHkDr@xuu<2Q5~Z>Vm%e?T;)_PnGlrRI0Xce!RxQRqtIwujhf$;5_aE$j2p=rt~9x=B(oanka#ZJ zy#Dw9-5Ive)tboOIqHgC7G9qGY?v|iklnB3;Ws^0Ed;cl$VprO{sgB|W4GBG-6Z8f zV~xf6grZu8{xP99XivJU-{(EMpU@4LJXv88`swJxH!#Al9*IVVjvX|mancokn}*`n z{rS55>b$qOfaz>yc$9_<2JSDmB)H<|U&f8)$NA!2q68?2tm>lXR)u^bs~9KuD5JTf zt0oGzzJ?r1$7{Z<;Z2?&*?}7FWH%;Kr!d`^p&eiB4$%5Mvk;60OPUieOr+<;i*x~Y zdbyc}gVX<4>enV;%N^<|-o(P}&^`|;ECw^3%6m>&h%zy^f3D&^F7A9bq8W&8r2g91 zxEg@$)=*3s`K^N$r)v6$d(h;7&csKMz`oD%Z@$P&EUtd8(-!GkZ*LSaVVvrA)@{Nd zL=Sm+7hnIz-E^z(4ArmO8Cm0{LuK-VrZz!yQQd$j1)#EwqN1XadtdJ7dWP3HcF~i& z-76SQRheVWoj#A>DGBmojWmHIUV&4?J*d zg`aT9Rk=CVl&bCJfF5Fq?LZFLfbm5AUi2)Maj8P`#mk4nS%eMpXTFb!vMW$9Xm21Q zBF=>tE_XL%Qf`stV&1yC3(8s#nu>jAqtB;lH8X*N@8;~E(WJJ|H0qwK(I=!a_YXl~ zI0M&3l2et08i&;GOCoh{Wz(d8`-dn;HWEQUQxLp-s~G5_cH`?!32xBD20AyP7F(m> zuWMu&`tR6B+JUG)cP{Ptmq+kxLvZ=g4yY@gMS$Bk&gEgw-GxM5esBp@8_&)v=KfBq zJgqo*=J9)B@Ed;@nj?g}qzV7R-oeB$xBHfC9qz899WEgedKJ1cD|2`v#oIMkCP9MA9rFM-#jgJ(@(9F`% zrl&WeMI!nw>aBCETn^Z_!4mL^e7QO#VhU4 zoA_j`>B=#x2aRI&!5Q)=Tc;E!zxHIwwDf2^I19E(@=g@+Qh>;p+o{ay=nXH9AnH7E zdbSf!)5r1cnmmo&YF})WUGO8CcvrWuH&-_; z?=;N!6>m%+P9Qc zNRyDIi|ey|b&?Ym+RnW3l_d1oOe^=g^Lk=yu{^5NIC~tr$S?RKH|rj+M@DF%a7v`k z;1#B!YT)d)x>#`jx4bqu#_sk_@xJJo-3^sT)Q4S>Dt5=&vxLLWNRJ(!NYCWqwg*2D zQ_qovm3Z`u3B_d3+&}#RwZtGP?1S4+(IDvorpNr^B3jEpsv;t)K!|KAdPe#<>bPc8 zpP^=#I*DMO&kgod7dbiA!Uakis{#s#+9gy6vF5mqeEl`{L0MF|*CX|aow>GC>RK#} zbPpdTth~By+B&4(-V70VsLh0<3ddAwp=vk!%zMB4*?iB<9^@q`yVs7*Oga&>A7R%w z>+TBE(V0VesOk){Rt{*sWiM+RaT2FjXowrGLX?;LanlXb+uKj6VIT8W)$upD8Iwbn z1;Hn+t=4MS;4z>t)!1ejeq+=2@01}yCJbo7=D_;28yGwykCg+js8>+a=(;|XiI zvTRpIVE0pv?lPfciOWKk=8cM>0m56_FZ4dg7uJ2W#o`~}ggg0^o; zP&Y~lH@V=xt7MyL+ zF=X~~w@43fH}?arG`R4@;G#JMH#pUREpThIsS66}RYgscmKw19AnJgzN>WgfI)|F3 z6tv|CT&#IEz|DVmN9N=mqq!SdxxDvOY&ITvyUhFN{|e z+vx>Y^sMygy;#;6OfT>%sV#6yG4PuePQ*h4mefIyg$%ERnIrY3l3zU3&a+2%8d5yi zp5>1(7?b_ZRUWZh4`LlgOIE^OOITJ|cU!gYQ{H-v^k0#{wdy@SR_jgdy106cmt}UO zy2)2d8I={r(wQ~|%Vhl#+2swo|PsZw_< zZp)4@6HaiGFqe$VBwMb1cVjwil&>p9GK)03GmWOpjc6K-3Wx_)946}S^yKUSDz*)? zEb)JpVOyRai%m3C15l5cPg73`CBe4kstg=%H|amV2*iUQ$AyiP7S*IQ0Wj>z>q5^} zsATEmdB^Ob^6{M*RcF)ZqUBs@Q!%cqd`JiTM3cOR!uui9VoaJ|uqy=h{^t!k^C^io z_)f2ur+B)BZ-U8hl;GySdc})j4zgJNr`|05T$JfaMJq4UpUJL;{PNby!g3n}S2+<( zk3FfpwUnO3ZN(zrV6B(_@~uA{1cRR(?4aAXEEU4mheF2gbx|y&#`tH-Q|l7r9}8Qb zSpDJWljGJUhHy)(Z~gDivex4O<*F^yuXcXbw>3MOq$&$Tny?s%-rn3}?Kjgw?Jo#U zo!gEb>e^qC+B4Z&jV8Yc4+L*w<3-&HV$z@N6Tp+$yCl=`Wh zwfQtk9oKFnh}oLtCJ`mq=HtG+4Og=zxhw2nv!B7{n|zR?v1K=#Z+Eqlq3)8#ftuZ2 z*64D|)XS>$J)BB^_HC6+3gZ&cuu+y!%FwIych}{p^q(G+qtYRwm7%*8s|<0KVYdpv z2i4^{s@!Svf&QeA@goGYe~-tDda98}#;?h`c@vk7=*G>#yr2f)&`>Zj@wO2T)6%S4?)GNUQ}&O`(Pv6zv+SGlS%B=kQ><|T%nU0F2RNv5_0yh= zx1rKa7?GJsst~|B6>lAaSARXf@ap$=c>mJG&RBYk-I2uh5;cYib<4^ zSN}O$(R%To1uSIMKYT`N*1oKkN8XwSPxnryUJTB?Ndm!y=Hk8cCFNYUbw;Xg-+bo( z-_iWtCh44l7AiLEP;1jh$fMy?oj#e4Q^{YV(^@YZOC@jCuRSw0>tHIm<4s@5hTyL^ zS|t^&myMtj+W~cEs_x+Y%nv0_9m1WSUZ9qSqY{=zAN_xWP37pr?sO@d)?NLZO;tv% zEEg8|jJi$U18nN3mIPQOjP&z1extSfD5xf3l+<$x7UQAm1YmU^$780!OY{=ncndaI z$T1Yd5bvtTbiG36^Je^RUMn?AZTcuGS?EqsXpnP-e4IgAg`}VC-pN-?(89vID}ReM z@Fp`TmU&oC2=+zE4}X$L>yQ3$Z*N=k#=3E;&(-UZ0}ml*>!VX_f0<9vaP0GjkJ2k+ z<^Z9tU!ek-S`?mN*tS1ZNT1WI?QN2HLnc+1&m8%|47_zu#t2=M=I(REA~r)2wKro< z;fVtIw2sT~zE8Vm($U>IQBA|Qa8s-XL@_RhT7_z9dhD*jD{pauF$sY_fSVFB=k!@e zxP!7j`_jTbs|aTh-&+718&z5=`*!8&y1W}lw5n=aT`Fi&KMA?eOQp19x4x+E0y_2` z;wx_~e@F}?tB0&y>ucU8XMjyE)OYm)zMJoUWA8VTjlGxDkhVgO7_qBAWODp^E+u5!mTHBh)D}tL*)YZZAx3 zV-FtgA6@4NBFt>pkNh%cDqF1i9b7JIeV#$AVmqUAG64Pc8dft7@vTyN_ivRM%1Xe+ z{(Qnru@McySfa0~1jMY$57JX5EzZK%M${Z>F-ckNd#aNZpHF%SRZSy#mjgzy$R?QF zt@>5w%NPO-J|r4%GVny9VS6bCd$4%z%s$ zs+JYqruw@Nqqhew9-dN6l3XG$gyeM(H+A58p4mq$-*7!mT9CUQ@eB-bg<#X9eE;Y& zQiT(FG(Yj+g+F|pt+RUi_O{MP`L#aY)=A{pI@do2eZH`dBcZjzY@LH%gUsgNy6#%D zb`q^w|5kr%Cy_pGCRbArL-BBvxF)c#zDn8ctsPC)jPdDcluARH3);u;*xHdcbY(^W zynK_oi**}!O}X`$QA70AI?JfZCUQn-WHTayYlyYb`iR) z*50Rsik~nH*-dp#2ig73!A9<`!^*&+DrUV|rQ9wO)BLvk$27YW>muBC8ZfSR|;w6FL+SxoB z)0BNwK)B`ezKuv(#`AWqM7xirV-39@b#-0hzv``|Ttpd;Ut=R&?GjC@A8 z^+vdLgTM_x8T_dperfnV%E{V3S*5;x{9X9{5vRVj?!W^;HOl`P!Yz3p3oYC>_lI>AK6LozwS|_X6jWYHUFrR z)VO=#l@G!3=rVo>1}u908u>zJ#cPB7XJiBBaS?znj+icSYvAgCMuZu9e8FEd-b&}$ z4#@EU3EK9N9!ZjSVj{0jFj#+}i zai8$jVs@fJv@{3kGr`>kA~tWUk#UAzvAU{Qa5gCqI9Y?Jt%k<~w8H=518-W^GG(2` z`(4wLlH}yk%+NmJh@$qO_xhn-4zdf3VHxUeqDgb>5KRvOP_S(a|ss zB;L+DK6gzAzrXmf%XIojX9~V~A^I*XA|;FnqvIsdG=C17m)>U`u2>f>my~fvyfhef zcCJE{AS1iV%tgvMZyUf+a(6$B+XRjB3H0NJm$UluuIZmzKid1ZZI~Oen~&a?i5~As z#cnx-UtU$^X@3$zTA(#d=A8?9=3wysBhTm!7v}%kSyMnMp61X7nSC2S7*fBpyS!!h z#t(Fx$386LVyX4P#Uv~Qe#`v$&^#xY`v5@pmoA1mfQw;vw(FuYpW`%R_yFB8?$V7T zv@36CyKp0OAeYV5kGLOqG`sq3{BHa(8k=`C721OgD9IsIASF>`6<{CyE2aXAiGeIG z{`8wG!?SxUw}#*86}Fs%x>H{D9w7_Jzxt>^6McuMD5jFyqa|p{?Xs=%>CD_aQ%~c6 z-14AV>i9e<#l9X3c|XTOHt`T@e^xD_lzs!D%pv8EF=x=Ge8rVt@dz6n6<2=6^NF_w zV}2pKhxq{O|3RLQXbX9;?Y~@#ZbA#*@)4bB2ww7$K#^yC#O|U*ci4k{6wD0n z*8ZPAOk)~%oM}n2t8>|=bV7Hd!D72=O&i_ad5Kkas|Eg(X~A`uOKw~N%yGFKR7Q&` z+TbL_@VPLtb7gUjFo|P$vF|r9iTglNAy$#P0mG=W6epw>!O&8Wj0`n&P0jWiifx0Z z9_pyq9*93a3 zwg`#n<{l@cKhKY|Z{CPfNvH-^S;%fYeYe9RGyLwY;Eb4TSLg7ajX<0sfko&_RENC# znn$H@-N z$hXv!Z*W!$w`C#q{_O7*`$3(nC@@)Y{P;AD?NM9AKMNNd3o25tly7-fV%-j!732P< zQ)hWFUZ2F1igABWra+cY9Gr6en!M$CelIqGnL6&Z*=6wYEb`h%G1PL3lT*k2jnu{Q zB)_?V{;3B?LCsV8E>6=f-%}^LW_^@ik{C+Q=&H1VdZ__==jx>v9}o4?Lh%DV{As$9 z=+99LBUc_FU3giiy0AZbL321CSMtvxo*005)d0k66h{V&J--}V9538eX-h-0uQCb` zxG?QsY~5UUm~n4ZyM{sCA;l1;y_R-|6!)c_%b1}f?p9NVnlujXV^^-N%}mrFm}etu zTjofH*di=x{hHlhVO6LFB$oXWc<1W?j z>-*&0o3|&dzQyrHR$t#`atXFBWv_V)>U}MpRtwsR+^VfZA-C(eE8gCIYFhS+x4`H? z4wXnppCu{0TxZEBPLN!*vl~?{UBjj253hK0F{U=2njXp(lpN%WxAUI7mjj3k;sMwo zd;W^I>(ukLRk@qbQ=2>L_hd(r#79@Tbz}<7KA7Cd-k_+i1j^?p#$Pd|CR-Ok9Wmpi z8<#hIz^Tt(#(Wy`i*pJi9Qy2}#Feh6TMXrC$vTl+2LOYI8?Y~TFgMK74wOs>u z=5x}Qk<5whC`Npkav(-B%m zo3WYV(?SdRv==gGrR9mQI!jmjs05&zQ7@#t;_6TLt!Y_&N%R|15i~y?@$$hW2UU zgBptEz5qx8=n5gO_aB}NKWy+Hp7K>}A}$bZJ}$MTxQ1s{+3Dk2I0fe= zWH&+hlg}?jp!`dGeklmWm-)C9hvMozhGIJqCcnSh?k)NwK+q4mqi6#^r7~V88B1^@ z(K3419|)yA&Ef_fS=_wxvuF{wq-(fi7usXTa!)!6w-zEu;WrQpQUh6m^nxIyql@>` z1f&%I&c?euzH^U<10YH^@x(xk3wZUv5OoA}6D!e!M?Eh=h@CizmcLPMN2wAjJW zG-)T5tlNe6X(*um4LTDIR(aL{7B*`pc2>#qr-# ztsN5HRfmLQ^OlkS)AEt_opozYohSCI^H-Ie1Dr(*Rn<PJ_=+BKRzL((#A?w zcHIw+?)IgWAL zP#mmeX+sN1H*BI6;I`!iR+iU24{oGI&^S^tPV`W+%0ojVXg0Yr^9bRo^NdI(7D(lh zK{Ng&Qwi{&gGWzytg4}=@hxeFmQ?yqQmMIm8*^sO0C$j(n)v%5UstNh31gP))Jk1vP%CCgRLH|g}v@Ch3+ zr_SG=DnR@wsvxnmCdqJ12B@hWGg9t-XoGcC%8Xj5+9Hn-Hqq@4^_?My>m8 zn-CiLt<6olY7Ia}!;LE>4azRM=u2j?8d7Tw;Rq$Iv_0Cqy=FH@=uy?bOr7v1PqAeV zvn`3xuG~)YKya1neN3PX0H6gx0=eD*GKgEq@hr(3GG9Yn=0mlGcql|x^z|Z(FO4s> z5QmRgG;dw(*0boC8go>aZI>h=JO(5Z=&(O$5Om~Ksh1lAN(v^9lEmoo2mG{kZlLSoEK5$2jyPkU~!a z8X7ysbI>#n0Kzx`8peSgp?8q&!)cBWGt#gpPi&-ct>WoPr~VF8MbnC4+yKPBl7m=q zF=%OgruS9IY2#2^>QP&4loJI9M{RJ5c7M}0YJ9pv8Yu^5!%2SEhtrQ7)5AR5$=Zx7 zR$^caypmrjP&!7V@dumD!oFhz=bz(d$V*g+d=k&T89Il&h@0XQ(+wEZ6fm>j_ETwk ziz~g{))y3aP?pCRVWlW;>_?+6Q5>w6S;!7p3(=F7j~R$z(H!seapO7pyL{XTu2%WD zL{;!M`FOQq&w7B5OSG-0__*~(@^AI=g+4tZqZ5XT*2U`pM5~{Ve*d`~FM52Sx7FYWL}SeH!CF z-Q_+VrcXoNr#sxIxIVqD1=w`7#eEvZC+;V4-|F1AKmM9*o$k|x?$fR+`D^#-EcfX( z<@!%PG5pa|Q%iT+6Scw86Ez6=kMKL6#P09CGU(dB7R;0Bi{tCvqEkIt{i4$%`jXTQzVr`-BDHQA=7YpRn?eY&0Ok%7XmbzeSG2ij7b|nL7UgMHnO;zx#R7LadL?xv(n%KbUyI5dQ4)k; z@!8UcQNDCjEFb#B+~%D|S{NH;{sa+aFLnRNC35oyU&iwxLjk{cgfW z70I7$W0<2eRja}VsRN~IL=sQTno|}HMGKYCw-nAO#vzlxmZcu4NOktjCZN zk6ghGHXJAZl=+P;gRR?kpMWkMbo&SLy*OS=suS_OQ3m0i9Fx43x@}ORf;zI38s|hce zh2QAOV!r+U@I|&E=yDJXi+y8LZu{;G)2Xk(>RVu!E2}|P4GpwvNKg3mO2Y^H#Tw2D zUxlPs`Sfa^UhC5ve0q^jFZSt;KD~ud>vd{(3tkkTy~JlP_1PEt?29a9nauKe`e(OY zJESiQudUes0%xDQTUd%sHL!KfiYC>~d@~`Bqh?*aCYL_nJKvR8`y6Qe0)j$;goU^t zfR@98Qka#k|Gb>?Rt{BR<*3+%5Bf^@1iw@8Nbjpn~XqA4LqTG3?36TgM%N^!|SoogGe7gjwf3u%cT?vcJq+7dPou6LL!a3ub7#l zO3qtbmoE#I0Y>!e{;@hei?z#0WcO=IQLtY^)b8&2d>waZAIx#(zA~AsOnys^{BY0^ zVgZyeIP6A^lOwA?+}WzOJd8RCLO<%zKrFWxJ035Yy~OP57fB{L#V>wM0Xfv|EeNgiqqX<`5<*q%ZX8i+p;uPZz|H z5-P9eseG+ZS4B#9@TzD#8r8v&IHtNAyS3?xH z!|lY(%lK8|s!ke7=yZ5=^7*dj6j(Z&8}uFKR#`~*wvf#b7P9C_s4=vGFxc<~XMeVP ziRrKq8CIwZoyZi4&HD-{f{QRCb{;V$ieQnt-S3l~z;t)7UyX`n>awE5{@C5`)A|BQ zsqc|=zLJE!%4ilqLOpgyrc?=?{S&TN!eL6-qy)43?zf6!Qy+7WR;Q2uu@habk7AL+K|ktx6Z}iIIKfvIS$IVXA-BPRErJmYb$L(rc^woa zM0wNE>F3c&CRhW&g>SmU0$~3L&iI=qG<2at z+GSh?2jj9kK52}{8pk;8n%nZ5d!lO+Q za}D8dsZ`UX2|}T6&){2BXSVP?D(uYRo83<=Vh4LWqj>YZDm;i$JeK+rX&J@qK9qd? zPZ-7jFWJNsPWt3F@o&eAXCG-3PcfTV_HQ8`6=(mBX3^G*aFz9E&In74q?@!;o{>ok z+0;^pbwiY@h5bCp)fK*{p_8O2G*m1j3~pVH^1~cz7eI7Nzy5iMFJ;h`!&MXh=n8*G zSzA&MKcsRRtO^EUg`jKDLAArDxA=6Ys=V<;x**CORcq<^bbR?h-${4yae44vquC-$ zUv9>hX1PK{I>f16M;g2`8aNFFX+f*vPH(T_;J5f#Cori!%FW7_s?3^}*&jKDqG2KMvqCg|t5wB7Z%yN1 zt3uMNRW<1~7UCW=RF3btFW0_o(?@4tzGvlG6Y%P^$U>|^h0vkF;LJBW$)<%CXY_Dz zS8oyA7{~;_@Q_M8q*4zlVUYYLZ^q(z$9PnW4GWxy#I<7~K|I_1wuJ3n&?UYM8Mhs) z`IfdWd|lLvWNO+;h-5C**b~WIU~{g_Ic~=F&uv`DjI@0VZG9UTDt!Ygg)gM7@^}Zr zP0~haV!gyNguQNZsoWgFaaY;MfBD;P|P5$AwN7xTIZZBFkBxY>jJm?Z{) zl}&}=_CNV3&?2+6^*VR9zdmOEvpbIK#p|izl;=t+@XFJ5E4*t~!*avV49Ew?BdW9pVKuo77}jJo=4+64 zQeZiIxCbF9sWskT`KIH&jpM*rq#Ov6BhD1$8z4C0oz8J;!P?YbL|u65CGFh#+Mq#9_=tIuIllIFv_j{w_kfr`B7D;ZJCy>@qsV zSb-C(nB(U060NN1&PGPQP>7SMAjzd2q06cw^>jt*<>2=dOp0U8w;NzN!FnH(8CIK^ z`1Dooc0E!wO_(Lq49#a5xz9pj>Y1#4l-W5Foc@wbV|JjwAOgCa6icQr=;b8*FwVap zz~+g_f6M0Ci@k8cxt}+iDcKr7z#V_zct&cN?f>;pH<(w>{Bz5##_ls2^OIV&`)eZg zVfRs5Q=y5pbJpPJB!a8QeXK>%!>RM_`^VyVF-OZ>7x^Q8FyBQI#&dQYSvcQ~F!YET zi?8x8A}n_^YY8UbH3e-W)L|-hUfpT4Ncq#z(Q}~N*YCr`BX6<$)~IhY{kIZ*%Z_Zf zOWVqYTB8;0=!zfhM(pX}tv|^y4Trz`EK}?4rlEC!C^2!{RZ->~84S%i66nyEyMgBr zt}+e(VX8#6kC2 z*HHNscUu&Onh9b85nv}xI{IU7q15@I{e0!6M!#gdft}@CK*0t&+3s11+Tae1Su}s@+EeN+3*++i&A?k z3jJoj>Bh$fWrZY-7IFoEh0Y&g8o~rl?N-9aITuVukh}YLwqzM?yPcWW<155q zo1|fJ8mvTd)1+g6q0W3YYPz>4tkXqbDcm5 zE&1KqupsekYsp;vH`bDSe@;v4?J#;VU_%0B4z%-g6CFd8;&D~ohAVZOat`ZGN7Dz< zpM&KF|3aA+Ix&Bq!MD3pODM`Nw_7|=MUBhhz+36o8Z_LQe0PLDG;rCMP5e+JjnvtZ z5&w(6qYpb2rlZ3SR`)GM|2bspb{^u8d2ERq3!P`gYcspEK3}5t5ivY;*wc-us>3x7 z)7sbBVs&^MJRM!6#%}wSHFm)+9{!~R;NLL_d>eh!(Q1`n>B?^o%OCE_ON$tOGbwKo zx5>}&+XNo6IE)dk=U{QzZHS_pnAc$;^E?at5Bid$O?;OOY0TH@Vb1r}CR@+NMfgZU z^FD*a%&LR*ocYskQ$(rDDT*IfjN=Baa$T69^}eCSp5f&Fm-_3N~3ss&1($}70Aq(rv#SWVS;hAm#4m&VGD`j4Xc9J{c&bUVxt&7wD%HkzDY+0&9K#-Z^ z@os;?KBB5hF;Fs?B-zB(s#0*JI7tGBy;Vx5E)z-eRCX`Pal+~RW$cy(;9zz|(;EqQ zq+get8EcY`HD?GjhG33vV)lf5`qP&fUN<~1K9S&<^z)xMCJjBon8bwM-7!2=o1DN0 zAQ#Z7Z&o(^&!d73$6Lno*5vxF%37W(Tfa5Yv?k%mkr%Y@?V6a^&BM|IEF_2j6Mgts ziLTqVVb_XQE-xs}lazf)O+g|U8%0&xV+8FC8#VqrbgN;$Q4F8DE%n*Ou2KKuaP4c9 zC|s)kl_=-PG!XzpxAcga6{)hdJx!B-U?mR-j-@1Bu)KA~+CU~ldFoW8f5uvxd=58@ z+1IkQYIl`ycg*H@EB6W;KWe+i+x~*Z@jT?s`=9W>d;74~#u-*Dv~=nY%`*s0DddDa zVsUm6Hv}+AJv-kiMP;VP1{UV5a<=8j_wy&Y{+no;$QqQ+RRRf$Rk zv|+K>`i;f0N(C70>Rz(-Sh3rs5vi9esKqRtDfz+txGd?1+xhPF@5YxOG@CTfL&&#~ z8J~r0xgym0(IP@YDkju$t^6^q*Z^5^>)PBVr)-lIhC ziWnL;M2ujk>;7u(UgSTzilCr}qlz@Zt0JwKyLy_f9wD%d_DPj#-8-2Y!8A-KFw-Mn z?$u$qB>F-dK-uAM=o%l$t*Xt<@N_W6IDvIwpV%E@h_DAvaqXQl`D|vz?-IUfQCYH} zor_H$uw<`CebKga-aOE|j3yXQGlx5u(ZS|2vh{h)2u?G%1B5rq+%kRCmg!la|5xAo z^@7H_e8rEE1~_8UFyMXb$u?46?uL0~a29U(LxN&oBq8>rlpi)sTga41Awq1x5n>ZH zNV&+TFY)OG7BWf@iqvB1w*Y>Z#IG!V;3*2c; z46a`5E<9f%j%GRNM$;T6^Qu{Pm&2C@{>frp!$NflsAC#L-0R; zlyCX)?hwXS%oQDx*g}16x=&P!=mgR@gQ9DFrZXSI)#ghTyYGd3XM}H#m-z3c_I>U` ziYHoAixiNWuvGR%5O%*M>{)eH6Itqg(HeuVS@^degOW$~=*mRRm1N;kQ_U5aUsGc% zes~+EwcI-5wH*@F!9lf#k%Ou0B)n7m7TPaFM}tOZPaT+~dAK{BU;~{pVoJ zQ_j|GBXfD`4=gQMb5%rL!br2!KxhZE1L=Gzxa7E!v|{|4Y3X5Hfw(EETS?2ub)A`> z5vATo<*Gr8e{{7;f-IL#$X@T5?~l)y9FCs)v8Ks zRp|EdGu^&!(H7iM^a=WfL4kiYs*?`gKp0%;OAgvEJVI@9!W1Mpk9q9Ru%jO>EjnBh zn;yAlh|X#x3WcM!P*+gU1OU4$D8k>_mZhUzrvoSRQwK+HV*~ z#rA*x+;8LDB!E&3guz!v%9e3c8F5%2yO+H`(7N>ZlT?{aWk!^oFjvaH8J-R9DtsqIF+>q6Av>HIW(`+PCXRcoQ#k`#|@f z?XOE@{eRa&K5yUIbbP>A8beAR@_I*Q)}gK=0ac=no`eKaPa-V zj&uT1KtbytRuB(dwDLKu`6GA-L`*AEGSa4O9Kk+-Cz@@0XQ93~JyfmHZjp-iu1=;l zSuas+;^VPfe`^qZG9!-_kr`#*`(8)V{3S>A|M6IFU#@;>nDp-w%l?|J&Dqb(!kuQn z@;N7TtOOgLIGXT2u64$m`9=nfdeXnV9W!BVaQ#aUnxYUm=|eS)cbfGo#XlCpuUIp8 zL-Ypcu;R;{vZD3K(YlVoFaAVSKk3SU0@`vm8U;ICY0Tyf-0MpT3R9`xY zMI`^s$yOz`XeL&qWsDNro?8}A#73QpVP$R9E?wHl#qjLWZCcYHe)fPg^Z&zPTxu)7 zgC2e|;W376@5T@A-eqtWt9eD;=M2JJc&PO)zyCWHGI8!3i$ovDC@IA$9=qi={pjN$ zoHGtWFvr0poP|8bGE6)RYaP9stE0W?Ia&+*Yclm@)^W7`{^6&NQj_H$L$>&t4GuTmrU*_fVZCaAa9bQW?nGQJ z0Bvzdl21DYG!0Vz7*qUGY$U~%UvXJGiYve3Zbs|!<<1hERm2QR`I%xXUpU9-=INNN zzxKHWekI|Cf078H?`TLwO;dz%fF0$HG|GOogg>l@rJfJ+zxH-7??u;5r)_^AQDiBi zPPM&ICPRAC9@lX?3!@wV0NalcM0qIdaO?uuEBSwj`xf}9s^k9zh(sjrqC_Hy z28=cMA}H8IKobnQ3mb?^HHwcY4`W4*kZ1(NKoXmEy&4rODsA!cYiWHHErsx?BtRj6 zj{qtltzzrrZdWDZD@yDBzu%d2cQ?rfVjrJBAI;r+?s?42nVB5jUIa_MO5(kHdgx)0l1hfXUW#O@*Sy^4=fCsYNpaL)qw3y`Tp&4<-Pj1=}fm$CmEV4pO@nR z)%blB%n}U2R(y8aCuz5!PcQ|+`U#J@Zp0DL2Y#+YBk!U-A+Rp;SdxqG1r2*VTK z4`ARv;BlSNOn+rDDr3PqS(QTp^S+D>i|?d1zf-C5UE73xFTLf6m9xbL2R}%DLuBW$ zcuGO&c#@UB9EW+uzLW%e=Q`l6=focYTLWg>5{v9|Gud#r0A<4XAlnTjBGUI6VBN$P z_v@k}1nh8ihSZY&pWLh_rBs1VXHnuIML@GARt12hDyuK7$4g<*sPc!o7g79T`bD+A z+!aI`I9CP56Kt$s245%tMS9orIla5B$(%2Il<8kilchJ4p`Yak9YZk=5Oh;y29qQA zpJ1%8FsPdzU^)B#335h24;BSh>B7Z23;=l<6|B)${nT*pbl9($w1R(!KNicsWhsV5 z>w-K7if8}Tp%wn)L4S+nH)1Z%7uH=aA34Ht^yNs(4D{=8aONQWINp60Lc@R~`)vu| z0Uj$Qm<9JP;^O$4Tm5wzRJc=q z#Ef;m=;9mtCx)hfk{fkEQvkS300Nh=RS=GnrQ>1fOmdG5Dpl)qiG+@S5MCS}^`4Ih z-$DYl3dGlPTzj6iVc=^4RE)2(<%#uEN!Ou@GR0cOn1+`ZpIq)S5>mBKf2X@(YqaQZ z*{m)Bc4#RXK-xPmB%fiuLh6i$>`7Z;0EO|Fp8!1T<`}eFvVyI?upeEA0ToorWrtWJ zzHY(Y(?Y)(`UD*MfF4=}V$!9G`?VY}@UT3fDCHCR6dLGi^PWuU11Lq34|L_zN_pc( zZfJ);kgs5{5z_6WBF_9NXwfyT;L{3z!q0l+s zoPh?eU9)+n;qvZ~QT{8T#^u%Fxn$4aV4C1$4s>0>9qswzbq29j-{!kDhb zmK&l(WOlqGvvj=zW^EIvdd!4`qr#+tH!Qk}S zhzrhMZV!?kSFdD3xFQOXZClU?htXC(LHlGphv6DR*mw+l^S8nRq+29(qu2kf!y97c zy&IW?w22?T*~p)qG$4&UYgUz>*VU`44TWCouCOm>kJshfR*>_z0+;X2f*czUL}Fuy zPxzjN)DD@#BtX|NOE#WDpJIS0KT7cfL10lq#5_d>5!Z4Me-zy-EMKpYShO8Q_1_E3R*ZGu->pZ(Zojp1VdP~(;1Kpa>U@|Lr`EH!u$gxN_V)%i)(sywk$ zgC`^rvu5ai{?2Kn^Bs;VW&rWhh&Bqk`H_awd(cwFfRpjLi+EQiI)fjvip~T2fSDA9 zu3%Ael@^6%K#UE)`x0^RH!N4^!1tgAaR|75lt`(u56~h(W91YNLQrAewHg@ocn{9R zWQvY`w!yXw(FT?UK=*&%gc!bl`*Bt`K=4Q%I01rvhqYY}kFFI5z(DJTsQ@YNCQJ04 zu4`8mBr@=Lt9O6T>8dQrbY$j&L`3pJ^|QvBuU|n*Lf%?1V}dNTKv(1<$!DE87wv=J z1{U^-@Y^Dkkp+w|7+>||I|`fPvsgE+I`{$*s$WWypl0Etza3mh9X?>{kHCoO7C-a3=F4J{tiyv-)> zB9nKC$t!FJ{Mc>w&6@XFlXt1fyUgT`rG@%OHGi4OUvKg^ICaO+!**$2kICC)@-~~i z!WMvotYrT^S7>p9$-CR+-DmQ~!eOt}ye)rHTG%FUi^(d2D4c@vDjD>nT> z{i*W<&A-s(Pc}NwZSuE)W2ojWF?rKW-gG{#q(`0Z9sK(lJQF_%;%W9N}A`9N>}471#(mh7!?^MtAve z(YTfOC5>cr{sYLBz>IjZu;UG1q`&o~sHNsbZ0~yWBF1+UUOd+2*n_LR!1kJv=DMQc zfY)_eBPQ1=>!zNBN%obE0t*Dib;S;T+kU`xEu1cEGuRY$>k>StdtLLe5(aw=UFowf zOXRTM!fwrh!X>4wfr}@>#bFJ60uQe%A5NcDfIq>me;=1l0gHN}E>_oB3SC5SFt*wC zKh~*1q4}PG?_ww{GEB}U?H!{;Ajcblly9hXi8A*&S7Y!OlN`*=Z)#zKxu004J6Ezz z?fb~|=n#Phy-aBA5r2rCU)<9iv9n_AtH!?0umCTER0jJB2oe=R2?X)*9Z;2;bVUi? z3G+_W*dsK<_^dGL3LGTRybF-{PBp-Mm6C2413;7TF7eMgt_!k?x-R(3nP2>30Ol8I zzX#<2RIZ_b^cs3n<^@*YC*|rpYZRjTIltI4xBdL02$jUnFP5&0KfjQAJD*>KB+`%b zUt?Ji{^}jB>c3)N2(2w;H-y^=+ZnC`^6dV|5TA1ZQupgp-bsT=Bv7?;7$J;4XqQcR zPY$^Dxbk5}VUmY>d{$DzrR36--&{VC1iGg&3l>2TVnE- zn!HN-#X=GLvuuIkRFk*Dj*u&M}?lh9HC#@4?=&kxg?}( zLjPt3gx*!1!$p^EB2|yV{pGbNL1SsrS&U56pnvTCh|x(%A3c z3}!*8MJ&xN9{9aPf5SVx;7(8!=dWVBH)w>4L;dVGaHhNSTEO^zxpUg*N1ds&08j9F zEVRTJ3kYady9dix;(o_wyq(Bd0@QeAe1k?orso%j6q$3)^t7YlcpsnJrb_}!=cMNd}=L@^XPq~DH z7#Txa$>OZv2syBR0|hQa5~eu97TF%Os2Mt*k`h0$ht{#EA>y6%#XHVvV!xq0_pZaS{=r|N(^A-JAHFA@c4C`O zb5#=>7(VoD3pgGWj)!p|boFygCw*!wN6nn#!kcxJL= z(DhPCds+4Taw8>(Bfl2CJ;7}sU$Rlp5~EnFgU9(n36>O*T~LKtSiLlh>e)=3Wgcg5 zxvKDpx+CPO?)b}5cY8Krd1komk(6tE&GJlQ8MvWN*Jo_$Eu%c4lbV4g$9-pgMo`24 zf7H}|eP#`}wShmR3NSQ_k}ygQt&;rnpRCUW=TPsW^0-}ft$ZAK)jV_&_Sb!eoAjm^ z5vYL|BgqGEl9e)osf9?bi^liV`ZCgTYv*PhZ}0k$nu>8hh?a1>R^Wqc1wMfPgCoI7 zaU&ZvF(&?mzC;t8w@k(|6Mur+3M*$HnNS9SUY=1I`-PO2ca2c7CvtuYvez*Y=r+hl zIdr!PKSSqYnK%-QvKc9wZ7H8sjc!7Z(-XI`JG6?0T1Cy?dGN;ZBU+T)0feaEm8|QO zcTI=V#>(Ze>1cg(F2>@7gw45bKB`9Vy`4JaVNbwq_vuEpacroDpb;Jl4dLgJU@#yV zi0w2T5n&0OzL%LXt}T%#;jnH8qGgC1;=QW@T#bsLlL}8@?%9B8F0SU31=M}h&}nm) zz7!4=x)FVrj{)XP!ir`qSyMpEWO(e$kqICo5Gy~t3H9dsxYq|gS}HnLG9yYUG%P|s zjvSDao+G&L`V9F2;ym=&c2oL6X86r2L?hJFa}5Hr_mZ$XB3l@iinm{v=@n6 zD^1N7ED8bdK%hW)*&TLE@k*lNTJZ&4eyB6-8haoxDI+)M?K@BL;0I%B0D3-2;X~c% z&tg)PO$NsyKWf}IHCiK)(-!Au6xz2>B^RR>4z{cbH$qp9?q7-yEbl3`hWgqw5;(-7 zg|_3Xw8WKXHtSeVY!>Hx82}u0a@zA4b3S~^v=xEaXN^a!!23N&%)$x&Ny!Kp_~mVE z8zVgYU#u(5{xr7 zjgNc^O2@=UrjwO&$y|kom9A#&RlaVa19AuNX6#y)$+nF?rHDOnE3Vwja^YMz1mFoRK4k4Z{YM0>>r%;ctP#vHRdl72L zP1>hvcog~x`-?$e`_g?KI+~r3&epM84OxONa7a5{to{Ep5Ww`m^tGoBI{*4h&9VAe zY8ZAQ56FQLmEhgnNXfIS;Ol0tzn>k=^{-LPg|X1d1^6eMd~1eA^X+M$&mKX~c~#pR zf`vcqIdYtV!@ofv+Kxqm@ZT}54eU1J?gg~nmqeSqYaBtN1IIyN{T@Z&owK63u56zR z^hdV#kl7!}ISmn@?raBC41gTpS~YlYYlO%fD?L@&>R)kHzd)G$dp(T@FJPQR{odg# zb}e{!z=c?i^L`V;Zir(%L*9XrGnboC@wZU^7Rz63PIUbRoj`aRW3X`1eYD@;|>vq8=18Y)f!Ha&gQN z0VvmBO@t-5um}@Uz}|* z;D0TwR8HBGrRb)};1ByL#(w`-cVoX-eVgQ}K1T97n*>ZV7-||&FE@=f$@Bh7C%I3*g@W~XkFNhdYu0}sSK9Dnbp1DhaDz6Bq=;c_keRt6Y#(R+H;G*4@MqWAe4kY7 zEN!sE&G@eC8x&_K4O!pte6j-L2mXMpCp?25u?CKvgsF0AIXfxoNKHB$NgO|r*na4< zr|%)gj{c>tN(;WM7b3^#UjAhKbR|L*RloEf5z#Mnv9NoSu~0>qRJuIxm)(d|5^lVs z|Ll>I*FtIN;bcsg`57%$PWeD5DHoWDVY3BzoS5GyK@NnqPcGVp3m#zZ>@CaWpbcFM zA*Gz4kTe>2nVjwktY(h{w+zK^EA^A}@IXgb5OjfqR#rQ1J0H0C&~wU&p3~=_fAQElSIzr) zt(@0wlB?!5`7je3T;}B_yK0up>mAvibwj7kx}p508B@_rSqgU~O+i>)aJ76NgB?Qy z&m7})`x%$-g1K<8kK7>N2cI@H;uE)t+qb{I40{X8`|u=*Db+h7q$uYMK|wYi1Q1c! z46aaRGq}b;Ub+Fu57eUM1F??>CHPbL-Un49Uwv4!(;6Uq=?c1L#Q`9pJE3pa(1z~wsKhJ6jp$!f~OUjLiH4RX;1 z&%4NjIeulXebbF=!;v8jv`BO$F=>mYCFhr&=!FNsE=v zk2>eaZXpoXN91`=b1Z)M#ndnPNKh2C7is--@jJ>&IBqC_!;>%o2%)VJr)8W33m7Dp zOhjM!=iukzFm7U((}zfSoNbYfvn_Ii2Tmo;5m#r(4}*cE@&P+peN<-!i`cuaU{*a6 zhPt$YjX+n5!wznu8=!`Y>AlGWTJ(#_*lHzRcP)0$oHv8M2WP-hH@8+$i0Su}#WDqE z2G)kNi?+6q%=&81E~+54{BR6R%D4e{;2smfngYX8Hwd|#oDSHHAFM(s1LfLm-kF!m zmKhm($&I(Yh>Mka-!w*OVp!)Vkbqfu;35+D*t=$|#T|p(B!o&8w-Esb+(Uo`Wxzog zgKLGu;Wr1>WJ5bXP?B+?FQ`(1=Ihqr1{k!EzvC#PLvbIfZK}C zs?izOMaa&Iv9>U4zmlD=BzquB59os2o52xHsn*iL(Z2q#YXq_eB5fsIng};)0im^0 zk2nWOJS}eRwQL6+hF}Gui4Lft6YTENo+g{q;-~}lv^bm+hZ0h;AIlB6kLK>hX3Tf z7}ZKbE0d^LMf70R>|!i$m4GQKzwPF#zK&c1L0DoKY9BiV{J$Gd^8X^FLoRLvSq_Hb z4m$TH%78I{13XuD)&UO&e_#jXB7XLdozVYFhyLhM!9U;y z*#I|a65cKYvJEw9ztazmS}Dgqs#9~OQMa`4X(bgEVA_2Wc@EQVep5F(;v5D)!MH1< zxW8K0PI24a-)YlpSW}n2K)?s!sz!AwjbfBy7%&>4NuJAVixOCJK8jkUGPYfKLD8{y`%NbPUyyD%gQx*H$SS3QB z07$4q(4mJHFNdV*b*^gO3W-6f{3yBIYHx5H-ZAz}2XXKD7ILxrhR(*Gldfn#_T2jM ze?Im^G-G6}F&bXSnwqa&)wh6_944Ek%Ro!g)=JGPrue*Fo`JcxETg7en+EZ@a<7Qb z(IoD4Y}(in{O|FCL03AKBwNlaFqX#mL87Yun4m-`|emOX?~e+S(0}X5h5Hs@@P5 z(tZN_QW*(zpnP&xqO0Zw$O3(fG|&nHGcw?5zB{*|CS0D(h&DgIg5jpo_ppRHF={OZ z6M6$b$@W@3`r%qQD1d?Y^*c#VC$c^3mWeq%jdHaQB_c8axl&U?d7l&FMIaX^#8R{2 zEp8lO3l2%RSb=IT1mschBVE%j?$zjYM*c{MSou4zkI3Jw z2ja?K{Y9P0--1VCKzxDTz@=$k zF~=c4{wOVOPP`xLl?;93ZBW zX_pBtqTw(CBdmME5_~~EcEY^Y>us2K-T^T0U5M}kAUo0l51H4V*ctNjFYJte*Vo1H@1rZ)^Y1gwF|5Feh;8^c7xWYU z9V7&ahO#X(J-via@Nb>GYrsGGcOMGcuWl9oMf`yFnJ4f{EjYsy_<0>35w2z<h7_4lgTxxID#bJf^L#Z(~M^UBca*WYo|l-q9gK8&A!)*7YJ9D(0s8upT|T)fx*?kG*j$t@h?G=p;Dj*+|I(8T1;h7JeutkZjlE%|etnSsFgSk}OSNJNGlw%rwvztl7yr@# z?uqK)U)t!Sj9@tc2T`IJ{7c8m(y_kEaOhUghIo1uADur4K6<1ju#e0mXzw)vHoMnR z!tdSV^ZU!Gh?|Cb5}LM|PwcSB?-Jw%R~)h+x*_S7Dr5%(V1N09xOAGk7lZztS8&kx zaVgz{k^bZH2084%Kt1qT9`_f(gnr?x@mUHz4FTDUoJzDM;8V3Jynp$Ec=W4|Heu+u zbFVhR*RJ{J8n?93WiNjUUG~D|qRT$&4~VGCPLOuu`RArcdtKIL_N?Dfk45I#>@MM6 zFc7~Ta~x9lKvCv4V*iezbt_Xt@7d#00Bn{}_y z{iD#0_|AOdKOK2K)YX=<4BTozueXHZtbQHeLK!?#1_}nhhizF+5JP=BBvCMmsfwWg zvgE1fePQsso*GQ8qdPJg6K8By8DkIPn1t}#Y+u5mMoUqQks{6}4gmRg8!gu?PvchY z)zqfj4u;TeUr&;5+YjShx^0@592l?Lo|l!=E_WOJKmXT-@h4dTRQV(lvE$EoJ;9hb zh_WW`_){^uv+-xleKF%t>azCZ&&e1lB1>L0lUmV5?1vV4!g>~|GETMtb)h&mbJ?p) zjKu9jUO4#Bi_3)ci_MKssRPpsP??F!-#vr@o;&TVdno2yp~ylIM0qy5RLY^o1W>>p zx|CkJlzk_$@OyGKStFFlB9ynkn8(6dQXY2>RUZ^EmuDnU=&`U+WcoP%(m)Bob5;h< z!cv5tKMs7{QEh+vHq?=QDVu`hf>nw}`pLx+jl}k#k*ei<_Jz`XM~%ehSVKFFguuN7 zd)!F$X9tD;#YOEE`WR^;jzSMI6os|NN3|GjM@FeJIMm24^2WtA5xC;~mP>$ahw&-p z)~_h^=&Hr$WS6$Y>apC9sY8a@`9kK_DfR+qa zi!hMOkEPC!dJgU2C2A6Td=Io^rQ}zuxG*=-TVnEvmI*i68JcaN$;P^bjZHRHZ~3V2 zV0WqS%POr;+CqH|%m@$ATr<9{19+(6dzu<-)823|#SiXhNw1dU1UMpoa2ra%oJp`7 zFWwc81%LV`Sa4dQvY?jcptvJH!h*FrC?>u|iekYm?x09|#bLqw=Ys_|b8A!w7A%z( zj&?dJG(hzGnm5@>oPJ|sd=4yhx{CGzJBBL7ez_YevQnN~5Lb^~mC~7AF}p_X3V79F zWdT=GF?Eh(SIoI+S3D|a>@@b*fQh6eBeg}60~eBva(R-}1yNqLlNe%&CN3R`OdLAq zSElIrH|NJF-GP=F(u{;_82e(DX{GD-#r2JC2C7SYcuSRdx0TeLqH=XS;)e{UvEUFHw_i^cJIV$E65x@{Oj!$rCJBmLjl zrT))G|3^lx`>)~oh-2b*+xR!29xoaXG-C!W*lp0pDL3L8QZs0=zBpoQ&4v1FIwxM2 z+~|^|3YPWcIH2%WwbGreB_TAN}&^IO&(8F%^=2=^>59liTsqUf26& z@{^tP%R=;vS-)HP8fbP5LBRUmaID`=Fza_^Sjj8Db?Twl@4j8vrU$W*LzAnjK_;&< z-9^YgHZMPLq6tWqH1v+-3-CrdOuuDtchgea$FBDH`(hcwmyx_FKf^uJe(Qzydjp`d z({_i7eh+pvu5SPQw~RDD*aMf(WBNZo`^MQfmBRlZ z`&K&DJGsJlZsDJ#^B(};ot7Jy?{@O2%GW(@`3{62-xXl+GJMDS;_zMSZ17#-uy}m; z?I@#ebd1GR-t!vr0b*sj7*mOfolNBcNkn`Kt^yiU=ojIL$(#|hcZ878Jy2>qQaRi1}0QNES$kJ1B`h{Uco7r=4E7;+)Gvzjr$>IEsFD6&|2CZ6=Bgfox_OF28k7N7>z1KV zoevt1`$YOW0mS6UWDt@Nmk0*U z_-w!z;xY=^m? zn6m{o$c71QU2w}D&=$>kqY ze3}HOwMM#5@&p!CqDK2PMP)Flsn+IlBRrawD~Bu^dYU<;lA0auGrJz#zk~hWiI3^m ze{7@39@_&&_V5@{WY0N@Eb+%sWOZ?E_lq}Eb9P;mUGYdKHUMLIVth%gQ&FBzQg{Ly zUB2imZY4BiOn9Ph%Jo*6ImkwgVxN0;Aw0IZfE;xh3R@XmX&kL=?U`n*p>a z#k>9ZuNWcbBx)uSib|KN1~o!Tw!q1HTb(bbVeVCQtPN@QScL-LcGrSiC^2vV57`88 zyf_HK?4IP-$>q9f0=p**avCK>?OYrgf@MK_khJRqye1P)KxKPc0ta`dw0ULl+9*hQ zFiof>6qp@zNwm&?M_>v%ugU!w)I?%~GpZEZ3%hQ3RA@~aa;6LDa%zBtCr{8FwDtT`33)?xlW^&DfA0Yh{x zjIuv$piJs(J8MQcH#qM#Y6QnZV~ksDaB^)dQaky|IC$+iC1qoAFn;hhm~UITO{)XKvtn9Mgx9Y>48kJ+!P-|3g>_{t z)_?gYu--O2F4kp@!1}h)ZLofCSbMCGc3_H&H5-eA_2ah!>o-q{hxOetEhyHnHXa7+ z;A7jUmYVHun~)O&(|3Qyz*LSunA61B(s}S1R@i2%l_!90#lfeyawo3rzdh6JzeRM) z^mH84T7ELzADCW^qtiWk9cOa(7aP%R6}Mp9nW!?f$!E>T$in>`XJnLb_xdw3LfhJH z-ICX?)ZYY&u^)-n-}LnVp#F2B^_Tq6`p;-j9}M0OeHi0BCfR;-Lxem>vii+Jp6UM; z`Y;mHo)v9i=~Mq*`bho9M(g+d(E3j?^htL32hr`g_(d+F^`^l&Q?)S}eABW7aKBE% zqzT)+BW&|#Jhq9Xb%lQf{>#=!I-r*A{1E=^BK%qZBltP|+mB#dzLBq{U;RM%4o z-TDRo%cAwy{?PhQcJv$Xyy{=y>N{JTFnviWx(Z7kTc$)GG97%~}!iSEWb z!&KAd3G+w3j}s9XAmYJvt*oCH3&FlX>OcQD9-(jj#|Dbs!BjNh^RMUUGif!~ zu@rX8_e0<&@(yf~yeH=ee(Db1Ak*y~bwOPR#v*~7q;lp`PQ3Cnis2*}^lER|cLPSq zv}+;i7XQ(GLugcp=T)GFNk^!$V`}><(m^-fn;ld965TPy4QkGIsSj#&%B9BeC7Cq# zi1iu@JNnE@TE9xx7oHrB_E(L_%7WW<>>ad7S53RMEPYnl%xSdkJgct1C4Jh=nYYc9 zs?ogG=uPLYBXP``n&ph6Z&CI9jU+$zsdD}W`nalbE(5SO!K7A_2cZJEwrbD{%qu{P zQU@uI^$=HO^t=j2;!0Rgcdvnrh;d*luCYIV7`s) zzJPxp9$uctFn>3G734I{D#qRE@?Rr|cFNLF+Ag8x32ts31U6TMKD%Kho} zX1nrztVFMB*TZQ1SY<-X(x{hFzktB!msYDrZ#b0|9E1Lq@&m>N<~HFf^EtQ;=<24{ zItXJp+~R6nMa;r))P%8h+TV;D0?$ZO#7w`5k4-!(Ai?#oVQtaSVkw`U z9zlcEwMS#@6fS>)|Li&ap;VjUa4J*)tV9*dzAgPA z)$Y5ar=B`%uXssSO$i#i?=ukf|ArFZlzE(y`7wd*n?Z8o0#_f^(IomDuuTwh7aDBe zwVZ^-2Vrk~6OC)W3kQ!{H2HxE6TDbRw^y1NpSsn zRJe7!)Dk31>vXW7OnZ^7-tj}{IB!hVhLE0}1SUElWY-!Bi>F@#M!M{c5o z@)Vsa8xuLI;AAt~cE>8u`TJO5;3WlWZbm8gH+JX2RyphMzQz~m@wPXowS2$FDhhjY zcHc1@Crxc?ts4FJ!PIYka6b7TR)*!QwBB#?vNJfgu%YrH8+D5Od2ox(`5yn{(ulv+ zp0P%^8@3=r-5R3>9~UjS4M%C9w+Z2ojs=9yID&;*`zuN(oIn2E_D}JX?k7^Vz`ws> z(1+f}4|_}uDZ{DO?&-2;L5HG4&dP<{tpWV{l(k(0l=6$ zIN6)CtL!HQ*0e5|;9|{AyLS{4(@1=X6cR6Pt#lx$!7Y&!1Cs{3X@dBh zgXMT{XDYQjGK^PjX50N2l6^Z)@T2F3$%UH1m*d>-+_m|?%pbm39nE!_oFAzymhcIbQ64;QPtjb9O)i#Urzl!=iWbtag(i;^zc?F>03^FDLj31!g;+m<#y|}2HG=W75|Vz z=%<xOHoZ%=Vv@WC>`J_3qI+JuwW51tC&yn#I8|3t-4lXOID!%z`{@m8+8*8 zPyrp9?fFNknr&i9^r;j2Iee``Y9=bKd z&S_l{MobJgR_YCK!H_^PUEVcy>2b)9iu>TV2A{*KGAU`~;7(sYg0c2iumON1*zj&<6#H1+XZ#0(6XU_In zr&6G`cXzH+BXh)iMPT{<6FBs|LxX^yz4dbjUyn`YQwL+HOPjtqKP~yZ$!tU_2l7%e z@RW+t?Zk6fL-1E9+kU`oBU~iQ`v@C%|;TYT$d-dZ_!Fx-48EjOQ9`L&y3+CcDz);ED~tptD zV%~cE0K1(x86#a<(xF(b2q6- z50rl@N$ptvk#BMNXSv?z3qD%J@@@F%lpiVo$QSTW2{4Q0pFjWYF#O}ka>>8VKOXW= zayRJ2&L>7QlHOa6iN(uR5DLtN%@jIZUoKc@}z*e5IV z)UjGHPcfQ~WuDr7hhd%!XyJ~X;|O#o%4f4tKDlI`1cNQ95K%sLmn!o#T^x^jqzITN zH+c8ql+W#~y#w<&@I{!YTc_h2@IwV7!k2(~&LcF@@ooC%9%Kj4-eyNMl7 z=faa#IqSBWhPGPxw48(ZTi_pB^9(1HrlN2I^{xV9R9XZe2NE4po%=7zZuif^Jd~CQ z*t8Z61Sj!2FI@B36ZOw|9EVx1z#o`R6ANK-TLUW+VHZC$7-X}OMrqPCCe>-u5KX!i zNi464eKm13^Oa~)q9&cjq@QTgXA`A?eoPv}B>1rF1a;XUV4Qh0zZi>`C0}4rl1Pw% zR=nGR7Jv$RNFsh2c2!>q z2J!}AxWFxeG;g2+zj3Oaw1G`Wlpih?0LZ11b__eOlJHtdH+>1?6ShGGUg6*Cwld6V zQGb36lqRzSrA*H2<)?cBm^C0q6yNM)?v^78`ib4=36KT`lVGE?fhm;Kp^+(ULEwR$ zFg?7Tdw6OjC(FXYK?4$|-%Qwpiem^TE{Xffc$d($(s-xiF)o+@iAm09&o~!~q)VeL zhS(cV`ea=LF3zXaAbcfjwS5wOhYd1<_L~A6#&PK3uAHAoL9pw))vRVx;ZCt z+vj3MSkCl}K@mOYxRxF6gFB2(@;XwihTtFqK|i)9k0P!y^BAb@$oysQZvYa{f3%W* zbRfz?9%mkNd&rr`gho3fnCJ{rg`CK?9Wj~usfvjVQ)D@zg&D@sBV=`rzruMnqXcSo zzY8Nvjb;O0;Al3sNXpL>F%ZpXCC&d_f#iJ8?wde1FOv&ZYE3s)%5%9)pY-|y0MaBC z;oK8>Lenu*8y>EUEv~&RH9Eaqgp#2P*uiP6L)HYq$xOy9%i-jz@!Wuf^9S-`J6cLW zOJFIW4Ksgvw03j>mTud1bg)i_D>LhZrl}P86s@}8O!=zQJ+iv$m|b3f6YOreS%QJ2 z6f<7{b4xN!+X=HuMQ{Pmv81~ToQuhyoj;$okbE4{$#4)Qoza+;f@L z_?H?8qNDJP>j*WC%fy*?sCJc%2Co@^Glwe>8k!6N@G%)a`P7_MsAK-*?b~g z?XAv<^M!NFRCEan%2ae2+kvE)V1-al-ITL&kjU6p=He`>UY^F=3;txfZehpyWcK9# z+*y=Q2b8$Lw6a2+NZ=uVVrpG}wB9aYjW`wXgeK4rR?IoN$7}UChNtfU?tw?)o8+^% z+$o9_Ge73T9}njKUx$v1zB~2pdV?`)biwhu2w;T4Lhz~ti1I^tk=KIkv=3|(x76ug zx~1sG0?_Ere092J+dK68QSu$THBkk-K!t($p(Atc=QY=d9@b*~`pC72xviv^{^53R zX+#Uoo<{qdf9m?{w^BVP&+JSk>I2dSf(?VTvZyR@04Cm-iu3x+E zT?|$*Yv9GK3&=SbaOkW$c!XSQ zjQ$ziOX;g*QwRw~f9AS$eRd0%^iVSh77p^H3^tw~Nea2Kq=3cPEm)i{zGed!P;sRF z-7|5gbC2%OA9?dzS?ArjG--Td2+KBevB1yk)w$7t`sLt5RJ2kffx%@Jxr{H%%JVnK zqA6O=t7>S@t7<*+&f`4RsC5NX8obsh49wrmdzdhVj*`DgauGZ&g&DBcd#t51F8deVibPmneR8s(S=UxQ@_V1jzv& ztM9{tWZy!@?;e=9m>>iz(7yb*4L|D9U+9SKb;0Y2EtUZg$(Mz=6Z<)YS#XmtzV0D? z2OtqlLH|A!gqxk0X8&kzER&P`X~DDOGJ1@DT#qSpJpG8Fvjy$ZcyE<<&FN53T{1Y; zY$-?EThW`LOK1h!$ON9TMlafSqMoc}e|@vYUGHOgup#T?>I<`qVJS~NVjp;c-y$X~ z@F^6P?+aX!Yfm46`dJFu2(^DFnQ83~k z<$j0*t@g=@bJQ&RiI(h1F2`|o{xgH|`GAH}80{UBf$QE9B^?@|$rfkvj@?LCz=TH(cae zImw-j?KI!rGNXKw;+3-%(cD`?=b$sCYoIml2>{7~S8}oQJkiP+-VHbrO5Qj4K13k; zMRFJ9?39>wcp=fzs1@_8gQZ=pvb>iPxB+s2id+jAxKRKUK}j6pw#WO;UN7!wDHycV zmk4*Xj>nL!m_YrZ_G{&xYTN6mZE=4R!t<{~%@o933|V{sp;n-$hEMUH@VDP&bTe9u?(8oBb)Tl^jeW--O1#6%}o>&8s z=ew}D9^XXkX+3VS20P%_E_?rU-3wkR@5VmI0s7@hmDxkfM0l;yH=vlr6misTu-C8* zdP~YcanM2!9U)2*SLGTN3~uGjN=!1E(()r0Kk6XmI*FzFRx4W_(gl_WYuUz^g7IlxedK`r=&U_qaeX$aIIVMJ=OA~7ZCIo=*Y>)2*jPESWcVftQ z#W1n}B0ZF|9vDs7 z>PO8gyKBa@^LzQQzz_i!Mvi*cbx0@m%MAmebq7=dB+#RL52ht(y=X^6vrrC~sXlyb{AYLX=4)gvA+zZ~_zI zJOOapSG0xkFym|f6y*`tfbr|+${&uta`cxY@A1c1#|~8c&%Pr-Q{PxSag3dXJP)W- zY_+d_CfY-6!<@!hV>tz`ATDlWD{$5uS!_Ldgf6yDK2720$BvO6D6d`z+J<$gCt~n* zyg6_Cqwy)hn#qt3C0GsLJK9kF93$3;$#H+-ui(8Pb4S!W=gNqkr_JtMXBhIF;ppgF zheViB@Le@(XxU9=F!X%>-amvHk97dWhVHE}MqkI~fkOa^Lx~*2G{TKDkEStQNvdNr zd@+buLoO8c}%;KwgunRAo*a){#ixothJZ!Rk>Z!_LpYX(mpW@0;dbJ#9+a zZHy0xdpoUXXIh~A3`#{Bx&hOw@>69pw1}O8DFmP5NtEzt`2R*ZdF$xf#C^B*#_tk6 zsJCe3D>5?>5P1PMycEvjipJ>@k~$*5=>eXY9K)l2q0EEWa1}2fH(5|LooS{DTy(&h z4wD>$(Q8EHW&J7V3)ce$Nvs;wWG3tKL{62M!MOz%-i!yHf!6c|o{vnKKIN2Yt(h|Y z3w`(vsP3~ggU|0gpVbIxz?~@&Ja48>cS9X6H!QtY=VLkF&l=BystH(fhSPMbb@g1`6BF`M#-CL^S7tG5WR{ZIT4TOmkn8}Uk-BP zHgM+0sD4QX(CUpuw`nHhqNX~vpSkq>D@*BVkY^RLK^+DCnX;05&hCV zj_7JEq&B-#7g?+kJBOl!k0!EFW1oZZ(7_nwx*^0r{)o&8xN?@mY49ri-JVv%4$~Pu zY@{t^Sf?^`T)9xy9T#dx$wUT(V<|GiAUYs8b1SY?V_--S)@jn4W{&{^5H@>UM!XJV zR(4oPq=QgiNuZO@j@x_`&JLLyrpa?88Ld5Er2a$jX^%w3i}1mq-ml z+%Y1|Or^L{^N=7^4RDi$FhWM{7G$K(?R^%y@#2#eW-Wj-VpuR|y%+8@Q#_`VH=&Os zh=H30ArOa6s7KGT)dU%s3j&^-fqsEpIWoukwv2Bld)j)fje6NG-k znSkDpz?k;v#=r}n95wX%P8l+IBiwrtc;nH(2+_YCfsN4p2&XRygG2u#WRS~u202-< z*||=ZX{-^8&H&Uq2Pw@fiHVML+}%N8GGhrOg&mP62$T$)p0_zat;hKt%tu-%Y__}? zMmOC5a}R!V4Qj{t*t-yMCLT`@p*1@7biiJy z{$Io~C*fW}-lIy-y7+>zw=)S>_sV^}UaNN&7X~~aZMV~87wp~>(LONd*zUoAZOikX zeP(?)HvXlWklq4auvlAzIitCg?%0ux`)8ZD(kgrX)Krl5O-x>#^}4>pJaCz^h&^p< zOx}G&H82TR%Yzm9Sz^5IXR38oqBnr+esYts`D@mN#7jN&$pn}@)dg6HvOmK5rR-rG zHH>>^gV{(Vks73JKuV-4P(1=#qV1N>VB9CVLOx&{T7E`uXdbh6aRlD)SHK4k5?O|+f_4us1+@DBk<^(=Wx@*|cWE33u)6qudNh0|rgPK?ziB+8H7_(2L* z;)~2o7L#4nRwhAOO|#3jmU8z=tHP-TGUqkknzPk_m8Xpp?e?naL})AunsQU)8)xCa=`T zj%8je=|x_`uI?!f$%Pb04IfNghsz-`I^%MmkWKA(rjOD0E{My<|BfnPCrq^{* zP!xm_WBa9zlu5(n0KEdBV=rcW0e*JVzb(K^4T43e-x1*QQ(^`9RPO%k^Rh ze;}LU?U$I3TB-w@ow$h7PXz)2fnYFa!&wb>{HwJ^At zH9;w5OJ~cGln}XGzU6Gc6ERQrf&whO&fmy&UhK%iKCLACwwn`)2DNB>CWKy*z4b-HIm~^`)_0ptskVN`U*3>TtNp%C6(W6Q4Yf>*JjnJgm zHR+ojNE)n3Yc%NtCb=|esU~el65=Di5ZD%K+Mk%s)};BG^gAZKrAfDH(ql|ouSt_N zshUZ@*CdZ7-Hs&qXEklOrd`8qwVE_Ylg2TrT$7I0q#rZs22DDM10O-h3?@y~BwLgE zAPMVxn)arq{cAh2WolBRCjEm+shaenChcNUH%)p{lQuGG{{f*zttP#MB=|QqtxVH? z!E8-Pg5quyQYCQ&_Uo6EtM~y-1eXrtsw8?K_||(dF$1wdgc?5>0N)vdd)s-I0gc0e7ZF4V>tIj-xC8^VCNgijdx7f^L9lEjw^X?Xeu|R{+Rc6CPT*^8?qb`PpbARlPvXQK<=}@(mok;>p7Eb9Ut3e+%?Z!KY>3w(x zp95+_!9vMpN}&OkvI~|_0#fcB2%*CWD|t|J5%XF}`xaqWxSmz7-<(+=~uzJn;V$BM^Jc+edPL(0~x)*EZ)S4+X!WXFj``3y{f& zqc!3KZAKUARDh%>A^(dc2Y^q#btLrToPQ{MCo6o(IPSDd@J;#ne+^%vz_&N3@F6mb z^gDHD7vbCR(f<}cFn$Yp8`DDaxf{Q6611bWV&YF>an8m^PVbnBicAXP)JXQLOr8Vq z0_lVR<5F+Le`5&Z#RR8ed@Se?k(iHBsixuXBV_*X_23*{HY*h&I&s0@)7Z*3&yWpr z9Q?a&Pvfm13|5chR&fa&{JG`?j3O|Le<3&9pMtTVjWkMj$S-TR_dhAJn0b6$S^WMY z$f7Pwwv)w`pZ$N8#lR&MP{Xe3yP(1=R~@Z`f*w&DQTaH;f@4PDr3TWc=Ie4sr8nSw zb-jte84Xs|vnvDhV+I8{Pbx4d}jex*j>V35mKuYcJfE5^w+>%zrl_JK$u|vV=Mz=HG{5HF$?03PZ00m zk(JqJmG>a<4lf341T&1690dXk6!s@{K)a6!c>=46wmnpioKYVUVGw==qieyJwcx{A z5KC=R-CA>~bPHyD_GdU_hCuIQrKlhoPhqDlsztO(wF(K5`edB7O z+xx}1mFPDlUGwOVGX1jk}fb~%XIcD*r$eb z9BKCn7J67Dy-2kz2gbL79!2kqiLZrS?j9MgKKU89y4?JOU)SLNL8u3J zpg`T1rDF$C51e0!huc*%7it?@RPJG{g1<57!?T{s24w&B({9+zII;xZ-`D-`ajavL zbd9TeFe)ly`8ui#M~Vo@*p$Tl0JTn@>i6MJ3?B{gO5lMD(ehU3VuTM41C+RX0*BEU z|2QMdYsM2tG|aqFUKt$@<9H&J23uU*Xzy64@)MseX8#I1%h(hh8Ex3&iGDl~$#_bk zvlcNEupzWE7^9Qu4vcKdI?w(MRPb2W72&DA!0=PBmmKPRZbn+d+%eo1GjQl?vlEX? z1X2s^Vb*{S9SAV;mQ*5+$7F z|M3*f!&fYW_yXpbC$~(7L$ePzJBUmR*2bF_bPG5C2jdhrDfz~NrZ|XZXXrXE5P5R; z%~C)%w)*b%pW_LP z>c&MMkAJuX%`Agda+d6hOv`g!k8YABHuPQ*NR(S!mNB0ER*N2?pGb8Y!=+k#esZDfh^9eV6bkv!M=Y4!x_{jZL#4GP_5G^-|&e;v%Ti+hrvQg&X+E zO1hCm81q-yVSupMWLG#$18`#eZ5Yfve7AuC8+P*vw$tjN9R(l=%}#rz$-2*EO_r={ z6<@Gp3iR;KZ4N0Olv%Nn=w2YtFcggE|4%(@K><*N|>E z->sx+D5QHhJ^t@lkaWfsBeqW#4sq0jV5PnXN(4YiDkKPdvF9tBYf>#zBXpzIcuovR zJqgl!9Q;5rlJ96i^XoxHq=)!wK_B^!g=asyX+2um+Pf!&Vz&r=BjzVtsMeGEKITfW z-`Gpj7xO0oS2a4f*~r!XVkC$9+7A|+RS8Ye!+e#=1lYn{9Oaqq*u|c}Lk)yI@Hnk0 z9PpV{HTsh`P-j`PeTvjH0H=CpB3rHyJcNm4Ym!m93}S3!)A4i_e$A9z*Ps$D9nb&E`@c57|DdDUL8ZIDdMmhl1kx$7wSZ{I;@S}6!vMjOx^x4%w0 z^=Hj0QjUy*n1ndXZn>5mrJv0K*{#5tkbC_XqMtRVCol`|vmpBB*j65)7ci2(S|lA` zt41fVK^$&zC93uM;iQ|Dj$+VDbJ79h$#1ySf4_%3=Pa@FGL)v*2q;L3oqi+`NGkxI zV7m-}Of~@Wi;xzaUdY@yfZIyhw1>_K4|=x{J6@7jmg0!s1G|MD&moLY=y5%psVhIx z!Ihy=n}NsoGPxoasQ09H-X zS-|w&SBa?{r&o(QaqUZrX^pSM5Lhh{tUzkZgW7b>T82eNJONw7kILaooHA<}g@zttY6wza;{RxHi9yE>8d=C6F zmE=ksp$H=5xL#O(m6Q?a&)=c7L>CW@HEYvATe}CHg5L%ykPLQ!iZaSqz$3q0EboYa zCuaTEHJwl~e#6|Q_*wd$t?S=CJ-KB_gPV*~_*@I89{9Z9gN& zwrfDIaGEC>@u$nfu9ZGEp`nHBsv_Y(4HM*hEl?vL<}w}c)PsEY;9amx!;k-_CpD0l zby$PVIdC|xANM~n*y=Db+a^POGeXURqv?OC!p*4RZBBd<_rG)gI-GXxELkn;uWIyKxk9(2Zm#z5=P3KORIy zV~2ej{0v`skSLFFDC4}yx+0M#Jx42Vpqm#pVY1=2FFHp}aA_Fg!tV@ol#`m+p`kH^ zLy`f9&Cie^?dr%8H%ofJ%$WQg?1RW*O`20n`m8ZwZ{xlmIFbJdD3Lx*R3dKsr$tov z-3tP}vv{EOIDZdB{3))^K{(u50YKE-O&pK)9?9-GHz?=R~GLczZ%S5rck$hLAa zfsksP+vnfs^Y6v_>(JN2RW0J-b*NQ|tPZHueL@yv{KbIo{|wy?;?|?aJUwxN9U8nA z5PQR$9hAIP;a+ziccE)V-=3HQedHtuFGm06RaW#0yJ|-1&!g~j7=9L56}^L}-jQg>F;{&o_`MZ@BM}^CGW38jNYP-;LIA%=ngE-gOZ;kx}Mh0j3(S&^f z865=7aw9|~O-O2%C7tC*vO*z=&+AODcc;WhbE@ev2AxZ~<%=rV^fHd|% zbhHc022kd^R*o4wJs*ydvs^1KO|PAlaVB^@_T(n&29FdsMvcX@ISyO2Q)BiSn9D759J^tP@aS>~t0g%=N=<`-89kC~%RS@Hl&0vN? zPtLb4>oFU&$g4OqIDHuC%7N}l|TY;R73&*f{V8a-@1^t-Ft3u4;$UP>K* zlrPY`A9Z|iI1*heKq;78;%Cj1=De=47&a$mWWh7n=V6>qX{DqrawpIyCH_h@1g|I$ zL)6ngB4mQ$Zmz=RiH10RqJ-htLp}$6w;@PF3|u=gO&tK#MkG_Q#NY}RXtPKZR3^H~ zwGv%ve}VgW5$o{k_vju}&JXOCEIzHIHTT81FZs<;RrcO)jKe~GPN%@X!lS;916=R` zw9+*N7sH#Ef&Qp(i2c!P?nKhc^3}PxnNUXHWbe7nN_1NeMQZ;=Wtv* z{Vjppvvjt8WtPXvOY>~T{e_VH=Nn_IiyX*)r8~^)M<5f;_HSQg7DQ!LCwP*Cl}*`F zmaXC`X!cl~3Ly9epTw}(L2E}7l>WV<^al~ffC;n@GI3Z`vS@>!^|wFY3z`B`Od=!q zV5JXhkk25FT$18ixS@J4dX?*~j+JQ@rZRHXs(mCm0?pDeY$A3Dp#q*j zZ=6`#WQTsjNjwvHST0-B;!+L;JUOj%Ux)6IDyl{wTuZWIgQrw)pIJcap5xgpS8Ab= z4rkhfiny1z*`D%(1D-XXM6_or^$?C`_r#e4!M_RNc>dTj9o$|+E;G0Z)txIMp@;;v z*lP{q&9AS%OjT3hNbDyA5u?Ro^w*C~CWs3g0Wke%d=D|2OBMZ5q}s@jn4;H6@E_*y zk(x!XN8-CjJKvqEW&9t2^9O>*f%T$15&KK*hoMF`vC%^BS3LzxlI+}$lP0X0WcQ&Y zRBdzv=1ti2AKJ*9GSlUz%x1YMb8BqH=C|_S6Ao#sK7kJ=pDae_k`G+K1B&FhA+Xp? z%AZ_dfy45egum@IOSK=tK$9{uD`!LMPTVvGQfG~c2-Ov@#O8?z)m17~V237ql5i_( zAZ9Rwc>R%>LTSA20O2h5Odeza#!L=+VyLC?e;SpaQU(=DZ>b$7BPXWorzSvLtr4Ff zCkI@Q$0{x4k3t_*q(?4^VXnkFu_g2BkuRYo-}O>nVV-MY16DN3Q?Wb6e)Ts*1&$zm zrm`unylZL#j%KRLNhn9JBrSf(2bac`(_o=^vr-wK`Xxs3*aB6fH?N}1^i}!|z)A6< zkFb-4&cow9oAYu}IcmQ>-51EqgoK{pgCG`pu}fG@7Q_khG-|Z&^S{o`I1fCJ0>mMk zw8|o0(4$AI)e+#Svvb*}Nw@w6`+#n0frM9OCzO?NWT}*fPEJ<&xfh25bX|V#nC8eQsh>_h^OQJFO8crc zsMboFbq?HC6E=w3>SEHIKI=cNBt3gl&!&e`?EP}^JANC773U`-`@;JtP^lQ)Eaw#f z-B2~rRQ~?}6&e_FMSuWDTEJ60y^brl%kZ^6;r*|Y>I16KRW&&lB^>Iqzq|Jix;7NAPP zKUq$d!%JnwRG8N{O6RAROASR7lhe*j1u>fKW272n3|`1QRShN1n4Gp+Iwlv2?Ngiv z5KP8*r;9m0>@$-eM+waTgmw$YQ0SzYfCyJViBh@Bjd5#KhRk;K4yQEvohg5T9V6$; zz(`igoz<8(i2mCQh%l>4upd72bC@*wFvDrrNRblx8+#Fyael)wA+{|YJv;5zGVvY^ zJ3vF#$AN^V8VFP@=8C;rzxOfUD`-bn3I>j8tW#tA_nOiEoE15qN@M9_FD61S*PP07 z=$4Ym;kVy?jRS(`ZzM@Tz~@f|0eKaHAt2|EX`rW)@KsE%gpcNbQVeQpe0Gtj%xYOA zgOpyVt`XKJ8g(_w(8+5{%T%g*ey7iZ;|*z?39$+mJ%o03Q@h^!v})H@dANfS^TS@-TSz>t zq)(m#OxOeY0mEhks2NdV+&ogpxwD{+Q>LlqOVvL1LL>j|q3&!GK^B2avkHdbcDJ24 zbF;v|k={ujy;(45eE~+X|3}@sfJarF|KkZHkO1KX2p9!4$f}`=CMp_)Xo5j@VS_=a zhMR(11mzMTs}T^AY=T*rwXwyPieE%am3l>`h=Lddxheu$MX43xH3EQ?*fgYF)i5NU$w)f@` z^IX1f-92y}A~}pFMy&}KLZROCFnIt1 z$h-z5U(Q#0#C0l?AAL}f{Gb_4^82VrMA&I*lBY<27mkH3^gARs0CVi`$# zh?Wa|Y-Ou!{f8Liam?z~zEQ0}#~!T5(~3vv5*P$vl%Yl|S?KG2wg0?Ug}z&oa8_e0 zmmgPGdVfrvdoAvG$bh>()g2hj;jRFkM1%qD6yH0rQp}4U3wM~;^6B*jm-k4jQCZDC zZSI$uDt(LSBl%Vcu05v>S)vw$O;bDp<*Ynj4L{;HmLpbIZ}E}D0O0~fbD7-XaKP=` zYQ8Iv@aWW;ZSlz8P3o89+ZxGL^LL!0gTX`XPB+gCgcT0uWQ^z>l9^fyR$J*@CytXY z^kZ>^+o#`~nN150N6qS3Y~L=6;)g?^__H6b0u@*Qthkzp;!!hn3t^rNZ8!+wG@zuf zAPGbq|1^k5{x_;_fOa?keg$vgL|DzmT-r`jw+TR_Dh_7nfapD_)Eu-7#{?KJ?z>_p zf}PeockOeoH_vdsSU&HWcd)DqecB}z*MA~s@|$tn?(b6pFK7J~&T(6v@w=Q@5IQY4 z)co0poPh*b@T@j41cN4ywPe*RUgNzw>Kuv?7AU%O!fD$raKL9mi$H!o%~_3;Z} z6E`IS%4E!u^AI?5YKve)%W_h`|Al@0%>UW;@x(L!EBko1woQ3kB_<;BH;03283nN% zaGP(*uE~^?pt6xN+4C$GDVBMTxl-kSX{vmf1K7L|Ju{aZcsip78a}4@xqsy=(yIi#vM{P50d4^bgH+_AbiwOvgLS>4s)`Cg2Hf zxS=^7L_u(V55)oWA^;#u&RlrYe6yq6`herE#P2vFmCT>%^k0RC!Rh8om5oCORdxm+ zkWCw4V5WH=vJrAu2b^0Ib~cfU_^YmJ$^jdk)3fs$5JJsg5;5={55D&WzM+5*mqu5M zaARzg`AhGi8AkO>3VuL6G}H1Y7Ga3V!>aJmETj7WRDK>(c}6uSxWG}7$}cK1s_*2R z*mzl!CV08t0z4WoSYK87ms|PZYlSyF49>&;D3uStsX`o#0);p{3@pO=lgN*SIkQrZ z60qmBT>6Z`!6LuCB5_BKU;t`Ss)j!m!FPTD+}ZrPLlbRvifSwLShyjne{!SxuLk}w zy(4~$(mnaHamRdfHrmAcj152Vr{KrKz;wXhRG%v4kO3Qh-oX{_mi?so=Rwdf+{aXB z?+!+FMFX1h>Zn0UqCLMg&*~|?8Y7+IwZVQ|Inn#}RL@}ljI`djr+Kd8)Dh#mv-j=k zp5C~*w)gEBo^0?tcx*tX2h)SAv#>CgW$rysYQmBU^pCO11+s(CIRkTyh3i4rt(XEf zkO^}+ubhW!(;{)){j-G1^7^&oIw*n-@{*v|HsIb69Ns;}kt!a(PsGFbFB>n`1Lwzk z)a33wOUNqrF9mK`>qMNL{R!6Rk%PL8s^)w^a0drjZ-@wlepvr8F7HUVs4$QR_&$VYd=^6kyUVmOJu?QWTbvRpp#om;8ck?& za(MhzB)>tEJa}zGYK#87R_i8M`r^Mgs+DsMt|j6$0~pQ(f^lC=sUxcZVCV1}nmpL7 zxZt~nYwZfbkO}z3GsG_r9S~+vk_Z)a5#q3dOjban*O9{t^301nMMA{tK%Xu`sRBp~ zTn;P`66W9{8+;&6II5R)1>x0Dzhvs*RndA_;Bz#9j|+WJZkW|H?5+7kN8OLmt9I?4 zU820UTQU*(djjy6`AhKkUE2R6{6+WHoMQFkzrdd{zniUE_K&f7P?oAi#&lGQ6MnWl z&L)eU{^3q?CN1n2PlMz7z9%5%ft0pXIdohnJj7WH9LKnv502|gc!)ipc_^0;;|HEm z+rTjxB8#2%IKi}E5x0R1Aj=kE25rr3->*UCdvi1fX zLmUR6hhW=KRbc-00lkfO@TgU-Ij9|`GoRTg68Y_`^#dGRYW;GWu2-tO1}=#M*kI}8 zbXoAAI-g~k%Fle(1{$*+Wr5meKb2@n7569|k??I{bwo=KCOfu7wnlSC7+Ydb* z23?*6{{O|kU)=Ke_Wf++$DH3hY(x?+cwGDb4`5jf2b}-P90&7UJ>$hZSI>AS7|$1F zP2`NXsd;Xwh4ia_vkqI zz3qRZf8tNjANesc_HarR#*WiJWB%?2^bgx#%Kz~g@-1#KsvnRPJOOHc3XgzHIR=jQiR|A)|%GJ}Q3n z;zqoGnoREz|I~YEczU1ORPC2W)gF30LI;pPjrq&4K%(1#qUXR681$p)SH#mM8FvLa z?gu&=-<%#-@7RW8CvKiunvS2+nMU>N$XjgyrP!Y?9=Fxl*=i+fH=xwGnVt^iWzA-K zQY3)aDks%QP8o7=sIm1CzbT!m*1wGEsi+@cml@UL*ivdlx$>Ne^Ug>8(@X9sJ+&fd z;^Zk4jOtvLN{T2YJJGF1+4bquN;{*431y`?pSU`O<=aMP3q|`G^ZhEx(;e27r^l@XS^c*+S ziCr2w9!9SxoOJu8(D@$*yE&`qzf+zu*xWN#q4)2tg=AL>^ED$9+44W zd0f9MfX6i*u2Vk@cUxa25_xi~uP!{+e+ zS^utyJHCEfjQp4){Yp|)2aluQZfi~1GqI5ocA0rMz6+Ta07^ce14n83%miv%&Q6M3 zBV4-GTs#hB0$N}bZ2-Ccd@D|Wz^*7zCvhJFHqFI8-Vey+E+lF2WuVyMaVREX4YMU5 z;aZ8$MC9+a^G8a4GvwbJk$?6qe2;~H#HUDpbL8I|k)LjL!|W{i3CJH3k>B%rd`}55 zkJYe$iOA26$lreh^09s$XYQ4JxQi0oMdV*$_iv5l!->TRM>&53 zYaM0Cr++eher$l3dtm>d=^RUzsB(-!5wnj@6f<$YP82cGO(&d8r0GN+6D^rQ$YT!9 zp9|ODQ`gU>a8@n70u7mF?M!C@0H)ah)3rLEZ7|IpfXrtz)G8Ql^i)WLN>ye2o&=ZOt1J~tHLu3W^6Wj6T3ulwG?4hG`?<+$JLXoT8mBB( zjwDu$`JEgdNXU^kpGsf_IuqTOOjO9s;K5ibOv!&Ai!Z$Ui-^VpL^CQki`9iJLhf>!MK)#vs1)ZL)l0=3B%i98~-gg|q$ zO8E8(8|eN4KK3^om18+o(Z;03A@-R~njz7ofhP)>&AkhBNq-=UE;Y5J3#L67ern-- zctMsok%%No0**W(NxU126g_G*%4+3T?F$w7<>Uh}q3*KeqsxnsMt*R1lcFmktmyN9 zD6I8!agCcn9dacICg`=0pag`KjZz1)<(iMzKi%N$7fi&{o!%q$MpYjBAjh!*pUVEB zbGEV<-vgK)(C|1D-FG&34f~Qy53MmE#aDBMv%mRNx zr~HZ|6UR=O>FJ35ES(Z+%YT^QX$8@s?S^tut_t5VjL&@rlPgk6w?~-)=rddf0MhKN z@`vesFb4fIfyCDx_6`V|2_QE>_|crQvw@i~dj>o}m)sv^Bs_ADR<$$|Qp`PAAr*rm zY$9}Lb%B(>KEc!c!X^SB;3d9g7C4M6Jgs}wt*;;t?!S&_jg~8)8^v+|bxcB2Kd-=E z38kO&F_92DSM1+Hy#kisBfmJFLVmH)8ovcKxLX9H4-b05CAiql7HX-t)gso*xM#=h zj8`Z|U_wSMHozv$Npro_v*(STY2&9%pql~_$D2bb;dj^z%BHeVHKRi^@e43;+0H@- zcYIM3i~)jchB*de52aDXXka_O=2((ZIUAd}OHV5d%s%2e{DEtI{T2D%&y%p}vTxt~ z^7>rQJSfQ0S!&0q942R;1zn`(z2q|ZOxPZ^L88$`G5m^BT zvI0L00QXJ}l>PYJv&lX);DK-i;YUG84K~%F61Q)eV<%K0k<#JL767|8REln4SIM$^ zY-_E4e-jQ5XK2h?M#b_f@$S8I%Y9mZI@Fvc3oXEg$X!u;hP9fh_JMIL`8`78h@6KyS{ z&{jPaXcPN?@wX=lZCvALKa9%KDvhn9VQjSwV{4|EdnlR|ni0umLlFEVT$VMevEFK= zH^O>B^o(zPSb-?bWof|Rnc!Y&ErEY)q0C?I*>mdTX_F`3QP{h$Qs&Jeo1#=cR!~4E zKjZ}))Rtz((#ke_)KWhi)lcH9NKoeEpiONbP;6$5BtSUV2&#)mVRfmgq(`i#l1l?M zm4D;c(6`jjp{~|beoe(I$iPpX`dN=33n)viB61V)o3=7-fRxx8y*+r79AhYsxl<|d zPMg6obQ77A51x3Au@NXpUyEkhA*1q)O0Z6Mp!{H%bqt$zN|RBlL-1Y{kHmI5PsJdf zyN-y)bE?9#h0%~qL8G^zs)@VDnXjlToMjqpbfwXhb2zdB_68u+UM@yLy7QTRJI5f`)L3RU?_;;`hT>ofz;gTMB8=$Wa+XGn^*_xEtg>@U?6TLF1V02xD59xRBHHbBpdb}U zH*-QK1qDVGW=RxLY)JU~Y(c|;C^V#MG$5{KUJ1^B3j=m77I_sCCfR`9Fp2(+U;==1 z`_^Fsfz$L}pGRDrN?dfeK3P|eEc>e^OaVt&$@`J0DNey~b*4A>*||hbk{QCXr9_dWS~iF^wfrd)O{@{@bD`LBYH5ug z!HNSSVl6{7&{{@ou<>vtD?@g-dE(J2*!&I{v+WZ>WaR~SfCU1xkMe%o987w`<3h`; z0||XmsI6!G0DqUh`4z{;O`nEUw|@VWzlQT6eqJlb|+@JF2DLlJKqCF1Q?0Qqgv2lKa| zpCsge#3?0N`71OF{~r5fR6Y!c4DkOA@lO|Z82@bxLauu6{zd@82rP2#cI*>{HnLWYVDA3 ze(}jkVztp=HS#>>_n96+`q$(yde6fA)sFJ*_CKLsd;gO#Zvs9^^PCUi?$UQ+Ev0+H zbffwpz=nx9s&6w$_e7)mL!|RpLwUvpx8M)H=?E3TLXcZqyG*Rjuc)6keHzrk3i$wS z#|8hSJ~+iQS*w)E)22-J^kTG`2@<2_g1!k_f1~{)(XCfbLD1 zJna^vx=1=`DWnPGjq1y#MJVF9P$v3!s!@F&-YC6-wf6}#rj4CaD~cseN^-f5>Lt0L z=B_pTs%1gV{5SDntC6sL1fTpuMo0qQDr$UubT$ah2m~|!;}cJ4H9kJAd!FJByi7J_ zr$Q-J2%BHGQzwneQ)ZF}t~^9EXNlnLajicB^J-tKL4k`oG`00O2KW;aZ0gZ|0Qx

    =zky$@+E)(V`q+=Y*cUL3vft60yqTemFfeW{HLALmRmM> zYcNU~&rycO?;o?2@swexI>|MD{i7tv(5?o zP6mn#v?p8pKQQ&2SpxiW>K=3IX;l9{8nv+RJAbN?dz(8NxtMjn$kLW$DRS1yc&%Rn zk6eG-2;x$Uwu!PFX5h%h7Z@^RcK+bRV^Ww@&)?e^mEERmCjBnVq-~;^v~{ET`*CF=$)K7-7{m{1nL)hC_R@#%g=EnO&#kw zM^4@>L5L|7af?j@(jgR^u1b%W?KQz1RY{xBX(UJ}P5yE&&?a1I?VV{j&a|LrisP!V zx(>}#0EaiJdQM4D0E882Mu zh--~Cdg6O`@Ar)AcowBCK&mCyT$dhdUUMzZHqq;FxNTxCxR06TM_VjLP-5@M*(0QB!P~+u~{Hi79rbH~0TaU>PXi!MAbN6g$J7EZ>k(8(j90 zI2us6BwTotRd{Z=@bwwNGL$72qD{kD+kgcz4c~b0Bw^t##e>k#?2S>m{AR6|W3K-g z)yq&ma>SeeL6rah(15T?v0Pa=oH*>t3hQRNvW8?~#7m+F3+Ic{ll7~Nd7W_*0Fj## zrKmlB1aec*eRIaUCkeUppfYU%m$_aSDpBvtdnirf<4*}bgGab6URsZn^H<-o0*9t& zPXn)cu#Z#uFA(^OZL?}kC3KEi`r|6K8AZKu`|oCLJRCIY179UyTUzIrtx#j`$I~{V z7pK*Vcjb&p947=4$j-Ngz8f;bZn_i*k2iPnRLV?u_?W2Q%{Bj7Mb}iJe*i?`O6*9{ zN&${Ke4P;-4^|@8jLHPm%}O!XDgnY8*4s|%72nlOs!q3m-6RyW#c>H!!49a9e9$q9 z4+e3;q9gg>=66mK9~?t#^nVytAw021MrDVa(BHu95GP_hR6aa_cT^Moj-K#Df9b@? z*)NM@_WR}qjb^{a&z!i~@1qBRQ%v-a;K!RAxP`RsV19OtMCC-^6avUZpO3-&-d7WS z@pZLrV1I63V(I%&|8e4pAmgJ9x&NlHkq}=hLO}c9IY9^^9+$W%Ld5X6oH8Mj5G)Qt z3_QOPA>MfU1QLSrR3Jp15F+7b5~3sh-#9;Bkzz%d6nqS}`lpgCAw^2G+wqorEwwoE ztrJfPA%g7fCJ`F?A0hf5jT34>^l_#Z`W_Yw=oI?DQX<5{H!hMIEDma{J+Bcp@}D|^ z)Yyq;L5)55f&Xig5{oyEShU!J_uBu($Kc%eqQoLfHEmdINyQtxPYNwc$I?!_R^$V? zg*5#3Mk=TckcJ19YrtB0p*`fy{o_r9PgL*z!=lbH24q4EY}NZ9Q^7^=#(+|Cu zA6=y8M^h$vx)Y4_{PH95o;I8Aa-t9M!86sDtwR|AueHpLTFcz1b%=AL*5UfXbEE!^ z=SIIP1%V`F%enIe5h&af%#He6R*KAx`U|19Dnc1moY`yrT_+Y(E6ZZKK`z&Xy2jMWTnmY`rz6TfH4{5 zGviMJjP!q&j<(=SHYx{=7WfVWzTznOk_EokZnWV$^IHqPqA2*73hsDIQ4#YK;!TtB zcI8FbGeMIP@@aN{{lrs}Kq{TBh&X(dO~gr2Kq?}BK9)dsh600q(B~Tq%rQ}5GDZFM z$(sUcYXP)%w3TodcA+Sh(Cf961ErAi8bAq=o;XsV{2ruKrm{6CwH8vw6UtgODqVZf z0+Pm=tyUjoD%eaxXb6N2;vD)u1PCQ6Z0Por0-;f5IqU857wglLM+m3~0ctwB93DLw z`QXj%G{)xIDF-Y_xf&LRl&N6)ZlNVAY;9M#Bt42lRE4kJU{~1Ls&HLuB!4Vniu|#0 zmzqvRdv4DC1Mt?CQr>ynNx@r~|6#6V3>S3KTq%!2mm0u7zn;)p{QtFuu(BwGF(v%J zQ*hQ+xT9?}{}08T8Vbr@TTc#@Hva?4o`_b{Mp zd4SMy=$4ZM;RGt{5w?8>Q3t5K5L2c>T^a+_PNPXsu|KDLX+gRu3R0$m>2C-vlZBSa znwHxB>^TgO%D6On^NEMlhL2`V^}e2JC00k$=q&|rJb)gF?s;d^iSLngT0aCg8&&mCgz$y%1GoRKB>cE|So8C7tfBWt!}~A_;G9FZZ-d+S zp>_7mLw{_6^Z7?E!2TvHcG`D0>+t5DHG&M^iT1_pFU0W&ho96&ho7&KkIEy*jV)GS zQp0c#nz!t0*w%MrcM4m;g>$^3w$VzX^t~`J2KUZ=k}%je=WOhl{_}9@OQCO%`E`)O z*L<+Q@7ZeP*)Z7GI%kkjf920)&d<6XG5dPvY{H6u} zIbry56rbLG)o`Jk{2i>?rp8ZgC2QGVezm2I_P%oBxty|JH32vSw|Y{*>B+&7#Gtm{ zjmpJCK(oM=hh^g^%V9!uc#jj|0p5Md?)ZItzZ#rm?Iv{V-GuZ%L7PV3C69fP>9+pE z>f^k<{rm(S$p+cO46`?6-4{V;?a0s_T>J>3( zx1Fql-EhY5G&j7&9VmbZaq&J>&zsf<+k)i3e;=C)B(CktP1)A1)ws_dO_(hQt-@_< z!yJPr`Vi$8z1(ii{Vb~54(qTK9cMS$AGfFxDB6zLP-s#6%es?8?drnrqF@`(&+_cP zj6Df`5&c?yT{kuCq(=F@cGC7vB|YAG`Q%`w>J>5tWI+5PGCvOTXah(DVs2+c&LIQ` z$m~Z%V}*qvRSUuL7(!qcZ)`#Y3ecMH|7I8fWbhhcaNJKoW#?U&f!g9cSDB}rxe5zF zS;No)Pg^n|^FwD)KF!&m=!GBk77CVMsgu>^k=(87U8uTE`FgAn4cPKk%M_q0rtJ8a zumXriMK7KU{|3J&Smwb2N)wCpp%YSRk8hmbSH6z$s<3-fPq()zZT!+1|BW|y#!#wB z!`zO8;o)6z<5+Rg)xWZU^?FqV3=`Fs*wTdcL#> z?~nb)X{oqYYflpXHvweniBWmqK*2w}K5OO9k1+m|HU8UphO3B1AY|Ol9*K`wB$x#* z5z}~NrX6EAgt%iKWPaLXmj#M1UGMPD}L&8;7#=v(|xi@s8^qAwqRRr(UD zCg^*cbVTU;+TNc>->ER)Asa~|w$`TQu~R0Goq1W~P0LSOs9%N$eq~fn!`KI7?Fh}9 zJrIw`8B3Bj*61~BIAbv%hdymQUr}b-{&QH-0!KM3)MgmWwB=|u&eP8Y>%clHmo4|d{pc>HRi?Srn@?^rCn$kBZzx+SrJY8ICtg6Dw zQ}1H9%=J>~jIq;ZPMnU7O(E=5Ky6});ZqtH=OZ2K^Zq!8PMc;7sg?~24CM=}%}y^W zB+oXdQKe{m~Mpf(>Z6TMUYZ<~OhG~}DvEB@c$2ipevTrT+89~G;ch9T6(4(Xe@c6!^0_`hB=`S( z6-H!x8<7%;lHBNgja9-!3gv#WMmKxRb&$yD%0uuoGEZn@Ng z@VUoM3WP@0B=iYZhNl(#R2$?jQUz~G4xaQP0f*~IliOM(sDZKB$mGs}Vr*=3EB}=; zyhop|1V^f+aa?~XUfBN2AX7d$*U)leE>u2L|NY{v3?#11uuWz5!E{^{X)5Dd0jJo> zSWjrmPUdG~Cokv5QP|1xZ=6t1<}E9t1ot)-TePp2MetXapLl{#RQk`ON!}iWZWFu( zsRr}gk(Y!?U)Kcb%VUt9@kh|&F^OM=dVq29kDt>OPZ)se_=fcVv=<(1`tM*0^p`U} zWoly$R{r}X3HqOI)1MtN9ofBj6}P5;?scGl8=%2_ z<&l#`|LVgn)J!RQ>&!47O_9Q`TzV3^BJl}NVGlMHbs8GZ zHVYwvpm+G#s#-dIN3k<1k-My$Z)(|SR}?Nh`EL(Hs|_YR5yfVDAb~q9?8a@+g~e`F1gof_m2K4$q5F zzGz(PEKs-uLlHCbQQ~0VsP?#9+uc6hn>$7t>1rO`OylQVM2)mp=H0l|!TvezQ;|p? z>^rahVBh%mslhdb%#soR-K(Vs_pjg&FyyaX&L>>q_@pwQ)b7T`#p()bMZ3YiVZ6ZjFRX#LP%o4KavZq+%_iP|tdfPk4uky; ztZZWH*D`r*bj7^2!dhDmAo32pJ#B;9r;~21j74K8y7YO zBZdf(>1MY(z@egFz9Z9GxTAil=@)NL-r87C`89AhHt6OrnYlgts7xN!_znGt{W}+^ zu71mtfL92MzUw^vt`k=idp}G;m)p>{SpxiBo+5~X<^08YpnooWS0kYBa==uMBu%9{mm-S~F?1!yWmNDb{955z(y7C0j z>@VFoPrZouMT$H_b4&tMp{thaI~w(KRae}l7& zd1KZnUWZmC^$+&)CneeU-C%iP20pXx(K^_T{Dy0E5SHtt-@bNXgE5&v)z zg*MgnZJ@+z&J zQ>4t^;`F|_2Oq|H1~HV$jR1|M)z}=oIG3A)(+D6J9n`!h)Y%;Ois&`#P2`4PwFwv- z{~d1qdSbpWANQtdhQz)X^@P_IWioF4?@al?Uo5@#6|5c16QQ@N9O;6ia2!n=y)?50 zkT#kprashYc(sqFUruzP!bQ|BU^DLOu|ma^x%JIb?S;7+MX|rgWv$R~%8r8=^c8o& zAUkErkIXhM75nUZ9vlB!M|&P2eKhwv5G#f#OIJ;52wRq-Yr**$9O@6Arf5kk4mS?6 zo~r12%!T1<8gisHRQ$4tGsnY%cf|Z(k6r-pIOML%LGMZA{M^uZ=kVVM?~5Lcg?DRy z&WizB68my7zyeiu?`_6ipHZ68)>0vfj@rYue7GgRy8%&D|BAdNV5NgiV}3;x3h{h9 zCBA9o47}!mPAiu$c;MUQ2B9L)HOvnN6Dc-4$g9fHD{GD~*1Ba8|4j zQo|qox-?h{)}xX&DmMaAmXCz4uSgnLJ`zfKBO0VFX+#5tQPwKsawu>^vv0YeS}iS${{_6;fBmT>3GOHUPe{$B$ zFJ;y|qbF4`;=f*^UW!;<4F08I?*fDdmNDrs{hJ}+S^cvJdB2#{fy8&)M)%Y8KlO7P z4*^3zyEp9TugemFCH3{Z@kQ>bfY z-)63v!V5dXSIsP9OM%3VZ8^QkLww{VYAdKI(#9*k%-`5!B@5%;oKw~)&Sp}d?TKr? zumu4%b$qCrcX$+~;?54<{<#@ztQNImqQLD7nU4eo`VS`l4CrU6vd`(V4WK`}t_kSP zS8h>&?-RgqgSi5HdkXF=ncqtRt?~%;w>@m2Sr9;ezVmFEA<{h64%AOtn(Aixjq09rZQV_4u5RXwGJkbge z-*lmZSmhDox6Za9Wto9DyK|b7T@nHL zJLf6LRURQP=w?ICf`EMHGYWDh!;tq@kjH)5Bn^MwcrB71lhS)X5Zt7Vj!EgSXEjCX z?l&rUOEkP03f}V)0PpALDtJ{M;T@J?!^?tz*SkW&%VZc{OopkmCjR#Ll#U5WI|a$W zQ86Jot4T6fb7`(&zuwR0HVCF6CwOm1aANEeX%!ocr6aLd2SJ0++ z;1#dDV)iQ}so$k=ASL0Lp>J9JzP(jsdvuY%%|~Stj(IQ>4Wwj*J*c>>kGf4EOt- zqjZ7Fru;a&*z&`&ke}P1Q1ZiMSbkmxywC-`N}JRLP07y@)Fa>}5g!=aO6a8l-*ZvL z48A9To>{B_W#Ohq1B}mWRO#=oQ>CRwAW~1>Z+fPw@u2x=g_dHCmLxV4NNiJ&3spCt zt#G39h?9#u+c;rC;AGt63MWj4adN)G$(;{2IUWeyjSx_#5wMyFFy9pfbkiUm4*`H* z75?tp*zn^9iI|p+*?g3Oe~gAdRm1-y;Xg~kukr-`(`@)zknlgI;Ab)ne@_L!cTtn@ zgC~?D<8ZVa!({sn%pBp*J%Wrh4WASPeGjPamfi)n$L=ee-JJn74>P-uRPZg=@D<|& zTcp^~3XSqO6fixim8X6iQ@A$Y&^~U>?*z1H;UfQyU^`WgQ*mP06p zz{PkaXo!VxbJ{zC>_>+wG&DeV<%|epgL$@&Sv6cCd$mUPB*GO)eEArdX;ycI0F_4s ze13|}Oe_dy>a<(|&SaRGo>0v6ZPOFP{|dN!-xlDu4UGxhUvVRQ?3w(##R|AO4P1!= z?xP=)c|OGAGZlC$m*6FZ!DCT?cj==FJSM~7J*U7sbxM=^vuQ%T`VWES$7^E3@-EKB ziVaJOhGmO}rA)!n39y*Ex+zFh9wE8BlT9cV1SC@*QIIehhUE7Ok`JzL5)y6;=~A`3 z6c;(aoQJl#kKFq*^=q6b0mrDv`?k1otgmkuZt}Ifn@-;@;CD9kjCqKH;oD_SVsh6YqR+A3iqrK-mEHuxt39oaaIZkQdS(WOsM-{#(1qxzR=5Z)F*e z7wRHFe-XLId#ss9&Y0W@%1x}u={X%^LLlYJZ`#GZcsaTkJPd?keGSFVX7+8KcF10o z)IRRTE1A6q*~|?|%myo|ozsd1dm0O03AN1LE$~(CHmc_{Y7uLgrAg&ElG%!xRj33( zeY=gS(a1+l@kZr)Fz}s$*~sDxFKN>ZtaQy`MT{+I$?Wf1fmP>J+^FrudPJaW z&%H*REOT@9lYQaXMKH}io|VF%EBF%QV;)}CawwBhzBGqb(&;O;?tp)^BGzIfBW#Pg z-dH+<-?MhTzI{5o?L7(r;FSXacQgP1eUa9%x*JHm`;dY|L=HM-mQz6C1?t72X4$); zrB2hJsNRaPfZhka1R+-Y0jLz!{_T7^e*3L-`$}MUnLi9@*uGKq2`FR1C@c73nZN4^nGgL9YwHEO z!Cs0H^je%R0gRwemIs}aHWfHhFO&Yyi_HsAe^LSIF+K`cA7Jui$A>Gj)Zx`nkY(m~ z5xNF!G43i&7S)i&8PuL+Va*{hBLP)#GKW+4WSrF#OTL79ec8P5r{kwP^2N8&{P|x0 z7#%UHK5WP$8-Z^-p7UuYeh!P6vtJkfSUK=`{IO7w{a><3H&ycpU2_8#8UIC7EHe3O z%_52(1y;lLUsd)QUA93-Tb~Q# z|F>wRAumh&=9{>a{nD@HQ$Q0pY0+X1`e?=^E`@;8}jw8c!q zMDJjT1rs$hD(my5J5Zq;qJnw2FuI3&UBu5(ptpvVh}ujQI)D zBp!$s^6&F)(u`56#;DrWkSvc92rFXy_elI=noN6L(**lprhzE8Z51RxebrAB#T=;0 zdUe?b1nGAc2r@JlL4H371cBYFi2-3DF=C4jIYW_bfhq;QW@tL2G^<`m?E?88d~dGV zB7**1e@6HpUa)<9tn_zh=Khhn7@B3m$M)IRc>JP$X2IZ+tgnz@)@S%N$42J7 z6`9x^nRt;2dgwWsd@>?OwZE8exPP75_b_2iVk?+vt8+@3phd-EHz6SaGMU*qsB6C_IVby;ORhzf5ey$I&{vZ-W!iV_9{F_-8 zes(Zn;c-0^R{vKzS}xUde>zUwAY! zaX%9l0|X+z(eU$)1@bf|top}Blr@J%CI&EJk>N5Xh+i{{PZkxsTd&#GPLYXZCUl2t z&0|mrt2=0rzGA|n)rU-2O!pQOR+F2Vu)6so6BYrVWJ1@b`JZpBTJAvtHd28Dj+0T2 zR2n&ObDRk)bDa;h%ct<1MQDMxqDI0Jn!(|^;%ygk{k`Ca3H1o4wS^O z5oab#5l*>ph%VCHF7nwS*3ukB`bHNy&1%owU>7+xy2yY2rMsl@FXa+Y)j>0=Lwl`q zW|d7Mb3yW($g;Th!km!BLDt83g}e3h*yfV;lNH-pm9&ufGNK>`%rd$ z=xpY2n8Nv!*sy^3N6^kyzlD<|I{oUb_~$y~o`+cse8D309@fb3N=Lc;!X1bFyqYwF^YpQ`H1@4)Ki$dlc2s*ftZ z`rR4WHljKix`GEv5<6}nVi8O09A&lzdIb)^qS=zooo=ci1m5kqiu>NAcpz=0JJ4lk zVPK@$zoxa@SFrPlH~04XLWESeGk5-u8~qUaU9j^2Prq{ehV4ASi!TQRFMx``4kPXt zI+%TkE@*Ul^af|3O5wosPvQWRPbY5;R4+w-3JKrkDD3j*$(E{OJoh(N;dn~)OXAz- zCS-37olmV+=JG?GiNkj(fK&0olb=@DRgf?j1*^7}dZqs00`yGOPZlbchdeycx)(W_{rIqR`zQ5Zk>UP04x z6dgoZo+e2GiJyN6DmJ}VrCx7E8nr>?<= z5JwS*Uf=h|A#^J)K)!FA6H~bo=jOa5F35Xx@Awa?k7En7%%=m4{lAEiY(XBTp<{O& zKpIAouHD&ugkWg?jgXJN3oZFjf`Ps*`3Ne#H`fk9v=Yi5>y^u3L+3huD^)YTgv)J4 zI*-fMk%bA+Br-<{H3L6y%wLo{u#U^`Omf!0LM1^>BFvD1ESYBSt+S@tTW`ROZrK_# zN5}Vb)QpbB2zDla1Bts|h4Y2hISI}@ds?(V7vu(20gP$|z6T1Z0wvUsQzoUx;QC@^ z;55Od?@dcaC!uxC5*5WoaP^16okBX zsX_?3yh&-fNtIoy%Qldfc-#`W20KCod6Cj$KHZndBlm$5h$YJZHly-FX>63*h`2(! zWMOSP`VS{b;zlEGolKXu574m0;Ugh&Djv+YUXbpm=q@pn-A}@=J@~BOm%yEKB*!3s zLi`~AsQ4svvHI|>OBCF!j31`+H<0)RE_PjWsfLA>T9R*m+=p@xz06F={}`11`hCd# zV~LdeVFacKR6Fel%Dt>+6Eb#&pI|aM_HN3{LJ8`C{98Hd+(C%kFw}{qY_~5jwoXv? zNgrwv(0C?(LG>m~L$h=W8*9QU3?BO4vImt_82(H9aP_|}`>+L6hPDsuV2e>A#gPD} zw;T(~wGPhvR|vMufK+Gwc5V;5=Y2u!X15FjNf;JNTjiJc=I;GhLfE~(yFb>T&z-siwT(}AJN1}#_yL6(Q ziCH>P#>7;eC_zHuZ=`<1rFC;K6M;DnXV`xg9{;Bj(;WY4LZCFEUj&|Hnk_LcqJT6T zV|uC1XM0Rbd;;>>np&?xpE)vna}OS-9zGS&nRi3!`mvLlg#s8<&9^TjPp#E&N@MqL z7lv=uKV5M1fF#a{Hw}nyzUi)g=!t9}7XqR7J**vFApx@w;b=m$Xfk(T)|Z~b7!(+C zhg=-;8HZAbG8lwlS^0LLWcFS)NJ|Ip+(6<5!$FqEnkllZz&98lk8O+~%vU-g$o>!s zZ|)C=2=)!6-57jfZoi9AC=9!N7?u$Ag!fMWABbBQb_G*rSOK0PB{NguNJ@A4uFSx5 z5uP)F!AFYGk&50#nyQw_lMY$y4%TnP_;m_KKZU=AioQ_l(zNf7ima+xr|;TSr|+sF z=jN*vdasIy9u9kEqwtC?+jZuVn*^^$^$N;>2FO@7G#&mOt}j;Mb@>nRM%8S2Xy$1v zo(!yJK8oQt^qcY@n&VXxNXb_pei$kib?Ov#ia-kAk1k)G7+H0w zLT&Do*F2}wV(TVlAxhJlX*aR;DE%t^53c#4Db*@U)+O`qLm<59Rqy^H(r}D64Sa_~ zEnR^UtwiTu@515H{=txdOA4#EmL`{9-bjBQrT%;&tUuko+j?Gt{RYS{0mxV%S`J->0S>DhDaw6Rm} zm{r*OG^6@;kTt)2RuYa0e}#{nqQ!;Q(0)hxcBMwReDEQ%02&89p=aIb3(j%}ZRor> zgEno38&jr0*E@L61$`vu9iyMF$FVvW5xrxy?ZxlObo6XE!?n}Lk)e;}?=2I$Sf8Mb zd?(J3Gu&XVOgBc`yoh>we|y_-m+w30`p**3#Vj!1HQ!KAon}5>sV7Noa6|f_r0_Rx zUs{$cQ0j;ezD#4R_rV!Bb>iCs-)4`e%PaTUoRv40cXN`d58|Gkv6vU=1j*`KL7x9Qq`5hZ}lr3uPX~ z_dxY2J~4kpWCh)4=8%z`DQXCz2v{Yxtuz5$E||bLKuplsA_l}B6g{Hq4EHbJw~^|N z=s~|c(+E>L_GD{lxN3Q<%i_>?M*R0JN46w0Ue(f8qv|%W53X7=@^F5gDnOYic%$5W5ghbqLy?OP^GR}2H|u?wrB*SLFNt#n^=C)P_{ z-F6NNbfNR@t&fsHOieuB4%5MHsUY%B_JN}>Kydk_=X}i;kYumDxqteKV@BlR8=plS z$Bwb0&|fQn$&n-SXslW&n5?bZ?dc9^t}?C3Z}0`7kB+0TSuNa z3RVcD^iL;dp{Oka6~k1~Rrs7ZT&a1uPpl8_fD3h>m=t$FQ4$oC>PA6LQHGpdguFuk z{RFGf|FEn=)o(2HKc>j?vEi*0?ONq9QPAx(-M)`O8f)TNOSi=1XQ*M42*Z6{3PYYR zsoXl4JMNTerQ82|3m-VihmUsWHT+g*T)tObzJF3s*rEk)p-=jDb)d`mL7NNSKahf6 zd2>_Qh$peIdUwciwSWBk=-t1teuO4*PBaX-q(cAr?~mY2rc@Mh`Mz}r&f1Nw1y}n} zbday${UiCCDxJV}JjBmfrMVagCR1|)F5C>Fbu)IqdauVRuBZ#q7neWB zD*~#!+!Xw5C<`TZooq?6AR5>UXI*I5dS>^q3f!zH^j;nTmJRRO$SMcx;1Ppeu0%!;*Qn0l4Tq z8kj)DynQxgG3@hyR%rNOwdB!Ig!eZ#<;+J;Z$z{};%vlWuHkx^+4BB1_3$9x0{oIQ zQs}fs4-b4&7#HdcQBHZ}sYd4~J$C`T%TzeTjqmH=35)q$lxmAs}`NU5m028$tS7iAFNMia6*Qz^h@RV z9lVvWHRct^a^aQHXT{`|ziw%YSEl^N<`skUg9!d#JMU-n$NU&Vt3!KHqc_!egSe`~&-HCwi_HZYbjE?NYdB^L- zC5=1buP719|G5l5+4a7o<}=x^K+G37N<rVgWPR@UD_oeSx{cg^mVK9wnLoh2A>57+1$%U!`|BNif_aqIQs+W7u zq>S96Nkd0{xzNG4Tw+mkW9&PTw9bcr@3xdUbK5}~;jhF%A|t#75ND@7Kclc-Nc0Od z=r%_ojz(;nO-Yr==P=Ln7};dVZN4R|w(2vE{`yOblJzwlgL3j0YrxbaT^4oZd1!`J z6GqQW%yLt){{=|XDDc5}@a1JPtpF>^ar>N@KxsdRugEEF0DUNjgWrnsETo{^7`Jas zac~>RZ)&;isZKElpjiIQV|y;H|zl%&*T^96U)g zTABR9#6zXDqs#aU4o(kqFg=^udoh0rwh(bpysS)>C|)KbZw>p$1ytB7M?S0!s+S zU?(nO)j)-G1?6{2TEP$+Z&m_us~T}cs+yDsQq_i~7nt=Hv@;=bs#ce8c7|0mq!!)< zRXe0MOYnh~aK0h@FHT4*S;F!dJ2RZVVo2%&1+dSFG9{2y%j4{H@>ymgK4+2BSC+># zk%+p+@Og!Lo&-rQhV+*39r5q<)sR{c?lM^xLQG!5SdQ@J)B-R{YyAgk%jF)%47n^zz!D? zWFg;9YkqRzEzD0^W3#tifln&%=Kf$~KuVRbs6Rq}(SJs^$W1 zMq*grb|4i{dvpIFHJk>g(Kgd;Db;l5oP#fp2pt1m&*+(o?w|miGTV;u#zan(t1vIV zn|!XVd3)?`XnzbTvvihi(?{9o**f1`p7J02{7bV)}t_!)OEA^Wr zr#@Yuz1J+g69lsGs(V8H8KECh%| zp4Q?IRX&L5S-|m9QNxAOcxt%FTq488*v>JBi%sjAvi(Xj?4iOYLInJ4Jr?{wIX{@+ zzR{S0Nd@eR#z9qxkw8#YuOX~E%Dqb$Vul1&Az%VARWtU-^3o~)?w^1~?cdFy#}6h6 zotJQa=7}4Weou_M1rCTTgQKau@c>D>1`1*rBDeyH?Y)rG!l20MBV-sK zlO!l62zfkR5?AqIUX)iXbI=BLu_S<<8DOVUgTfbI zJzgH5G~@v_ri%5u(y@=NV5F2)W;)pxvw=x~6)fy8f8urPI&JY&qlujMz;`mu|x z6e4uN3K^y7Uy0NOb*#mYv0HvIj^fvx)pi~H8}eqMAhG;Kf)bx+EZoE~MevJ{w&;%* z$*(%Y6#TO|i@p5-3#0j~SCJGbx|~JS66sDnnwLI=$ukkKP`+)1fK&b~2q@|l69F5) zghD)%U&3(`jetC?k9Cd-e+jwz=fR({u3p&JT+s$}s@O=*hJ4r$exNTM?=ODs4d2(k%_LD`K{O0*9JdiuL79O^A|;wxGd0z zG-H3|<=o#IEgym;B_Dh6nR&{RvvHuf@g}LdvhC(5xg*nZsC4-BX%0G7O`0}Cbhv$JMZ9l;1 zmqpuAjEa+m+&Q=$37lDuGUUh_`Bloz>FnxOY6~IK5>>aiv$F^VQOMnnLJaQ2{Ukvm)_~C+Ib0 zz|E@|6!4<0yy$wxAG@jzt>%-pYZyt_uwED&(&MaH#>NGdf@dv?6K$vYXW1p%GN@R5bQ*?yZAaZJ9do05FfC z>2R3w5z?fj2ya6%&q02l5MzV( z*%nD#b{Xp61vSN72e{{P%(mFL^aq_$x^xCaxV_W+V@uDadI|o5iE0J@99e+xR!CK< zy3Br-vjG?`?0Ri54#dO9Nprd~21KpXyL-37a{PLRU=I*5LY>(CrT8Gb4sjSb!(F8$ z=6XPXtd(5OI*iIwlhDJ!;3H1ocIV-}&h^Kx@P3@+jDJ(Qps}aBVs#-nm*EhAY7wd@ zijVNu`=c!DZw=i7E`*uc4I4AmGXC9tpk9F6BElkNF{;$@8&oWHKsA(b&NWGVDadg{ zo5F(DxW(l*wek|1R`8o29%u;2RczX*yb^nH+=0QkzlmILmMWa#6&>tWE?qNhae zX9=2%$FIMkMOTSzVIUuuGwn+l=qrtbx1#OqbmMjAoigJ`)05X>pudfB<5A$T=0DH} z8(Hfx3x&2K>4i`_qRyzix;fR*_1~b$Fd5no3?yJzQ_8KijTUbYwd3VCTIU{5Sd@ynl%?b zAK^d5)f?+MbmrFABV_6>2cHqJviTJ#{(7fT0LQ4*j4?u0{!^p$^c%Guf%Y?58#a$md43u1jut8idRcSbSP8W2^&wf5!TZ? zWAx|v>;v$ovNezUd6fV8PxklPO2u_ko9yOgCoUrte{;RwoQlLm#J@1f_&VmbWrBko z6Y-Hb-$9;Lh%$0MM*=<9lS0@+iZ0sW66`}bbSB1j$%Md=6M_pG>_nh_ycE%FdVeZL z4sCxTKp4G1^pE_)+L2%QrtmAY%@7>{g2-=_9U8bnVUqDRozbAvpN3OM7CPh;9PJcP zUm@Do8Ni`S5j1$*k_{LLsx*GN4#iL8ccnBK%Rg<)72SBx$w~zbbqz)mdkKL{#jm+p z=9G|DWSTGP#1K@rWo+p0&PmX0AXdrW=&4`el>~AYKtN@RgRYUVc;0Q zu;Poj>`I}7t1~h67R+u#yDgD|d0wh-II4H_<5#nC@ZNgYKv6fd1D&|87 z-}GzM#!K>Ip|3gC!WhD*8Z4-B!s!bxXAR_f{?>2cs8o(e7uLkCA(+dNK!BUux78Yz z-+ckgV&7rYGchlpQ?jI*1&aN3$E=>X)M6NGqJ&6Gfi5Fmn+x94p?KA=av(m<`t4L-9pi4dV-}hRsYxDCf0b8W@^Uz~w7=?+D1W4=CXw%)!3s&&HjCrqLL~G@29# z6HSV6SaATFIU^|QYp8TEa*qEnpy+mqb>0jUV=hwmb~ z>2US$n5RWm07ue)(SbaipZrZ^|D&Bj)W3Us5$p63Vf+R2!1ohu8QwFY{5v~90PWv_ zJ)nGCB)Bpjz)PeQys}H>7d{01hP|^`0GISaZG|y1Viua3p`1fm7%t!(lD|&*TP%Mk z!B6y(REXUMMyhI+E-^UAppKBkgp&!j$3!s`Y>WvQ9f`01c~IOMa1AC6Tt=LB6v*&y zEYlvL+D=Ivw&e)pbz~G4E3Obvj>Iu3S)MHPbK0{AjLpWbcox1o0VyQnkQGaf$-%5>?@JsnB9q{Yl6*-fqO`MJ?F)|tU zgpn8uw-^c+g^cRQ@TMYX{Dd1lp0x6^gqvzTDXXCt?NSvv6K2f7=aqPe{28^L*{f-# zM%2>6b6Q2t%*j(Gc*acp|A>1N_^7J$eLR5-L?q6zXK82%3n|1OwiI2}VVY zf*LoBE0H9c0>XqzG~;k_Y_UbL-=?nARz(G6t0stSS_$C7($=`&F{rpyHfw&*^PY2O zNoE4t_W$RjxpVJ5_ndb-?|ILA-t(T?nv^@Ls!O>?Fx*PdYNIyyt{bObSA8_!PpPc# z=dHm$sWc)HuBbNm?rW#s0sB!3-F$}>x(S6~d4~%{4@}m#(?s74-lLQjl&k0~B*UP= z;KgUwMpYzL7lGEL2E|E{7eN`QBl-}gVQ*nq_Qlcv#@ZWv4_PdngTkl$0p{JOYtY9q z7ULMmVDE3PM>wCrM|1dRjm(~;a4Q25ZYBrz=0*#l@c`vGxh^O zn#36h-4ph24ru%bien;&8~Kp~(U2dx_<>J(Np9^(t#qWS4!IW_VsZ-@OOZWUoON>0+idP+;r+~sDSlX z4|1=#>&Dyi*|CcAu1s~-?+24m<=FtMd+00NL<)pHpozd5>)*vMwNuXMYkO&*Jwf(z z=IgJK%S6Kf5f+$WMhL$UNf{(R@t%B?$Z1?dURM8eKN_cC>Z=1VeEa%2>(2^9xAYW1 z$DCW1GZwm(pWV<$kkp_35tkDbo%$XJNaV1Z`r~8h)Z=GYTKY>MIYB;}CnrVHJj{iZ z(4wW>JNwjWZy)aY{ADEimFt|$LbbMp( zz*fgqY;|1O7|XM<5`E9|yyrd|zGr#fSKvzHsT^02>DYqgajZs7L$P*7$u_YIlvm(F z?EtA`??*g~I#!crA}LFWD{OCxdJL0q8>4wehXA96QVZs9;lj?BG2z?HPvo6*^cKpf z$f|SnIu8@CY=J_2bb)q8V@7S&3`}ybZAKTwe0z^odx9cRIuSviwAceRWC)O}pdBuC z>qe>OS%3Rx2^!r*kl^wly`s$PXFYlpMoj`ea9^rPrLe#>i1+4z%|0ggfl13-D8v?A zIs6a^1=KuMJMINIlnt^h$V@H}=taB&3h}sNc1>u)vuo&&D9EmrC_;pm0G|?m27F58 zs#E==nR48V%cKH7WG=x1$}P~L>N-Hmcj1XevaVk=wioZ@2kmnC!3mq;f4>NuM^84t zY%i#5ukNWb5#_^t|3uzCs?r$%KbMFy+|~kMxAqn=L&^Z?5>Q^bSXhb~Gddgz@ z7HeuP><>`JkeBFSa%G?@{DG(oCXneczjh>9<%oeHWU2&q!ypU`eMt(f4_!>T?IZ%| zpis6(=r04=79!w ztpkMAWdOw!IKHs`9m-+`2|~c+s@FaMcMk7sSC^wO%*dZxKQh!&vm9*o=79ULNfJq= zs`IJMGDsAxo$nIygihHHowBeJL1mAh`8=Fpj83n=RRC6nNHO^+AfBQiTt%pc5=+LW zqofF979PltT)x3K=|X)ywY;xFOwFb*)zp@SSxb&CE42Y5)@DsqW#{R#QXk3|u&n90 z_hf{h$<{G&i}l#Xr}g-^YC~a(G;DXY#W7+4O`!BVRcnoqB1NSKmo+hDxca8ZzXq`w zI!eU9#d_fv5<%Iqlk+i9mVWtiUEe4Qc}>j29dzv z4r*lXM37+*B>|7Jgl?)=d6?--{bX;HB7jedFn`A&XmwAZ2L+1S!efp>*H${p?f-_W zKoKpv-mS(DHXD?}18SBJ#HRliXZ>2#Lsdg?XlV-D6$W(~lug4vl&F z9AZcJ4i$m`h6HUugUUemFWBkR2y7d4g$6s4F750#sFZ*4R7=7sS>&Z&u#5G2%u#xY zc~TF|RQ~)NJ=-oTetTt8fhzS&N9+sowI%-?hCzVCpqg<@C#K?G3${kh$o%%<6SGkf43)D zsp~&%2X#1{fH=sM)yP%j0imoRikGMW6^lE&|~Rvvq9_x|%uQ5%m1fI9iSj zf%pJGWzFr0CLWcM!kYL;!atx&^n=Tn-|JankOz6d#Q!uhpZov2!-5<7`~{Gzg4EDY zjPx+`la~%e{L%|(3QRbEROu#X{qJ#uH=n;U(5A0DZ;!Ly#AA1$n;Y`y4nY1+Zd}!l z^Vd}`HApE94JA*Jccs0gJKaQz!j~Hb$c+|>3?Og(3xHHhJN&#Y-CBH(TH4_)!9}V; z$`#=ScE8;T8eE{j9t+^Y{6v0bf?=jrN!5DUAi}>Pk0s)t@5|2oqir3{zfSs*JW_HP zUr*Y+#DHl%cABtn2f9~i4uewgZK((c1}x;;x#oX8)Ik^x=`;3_Yj=G}H#!izLRgdO zduk0CiE#Z-HSEAYEg1-TYXWnAcOp(1eer?k5xLuY2qJgUvN8hfQ9F?_5XZGapLdpQ z8d9;X`;Uq5>4@wcVz^0esNdJIjt?E@O8?hg>GXXS2PS6}*MGt!`?ROPq^n+^%={ED zx3_KcAVaOIIB!U1^@na4No_mqFj@LfQZdz4{*&{On_4dc(7dvBG^b&Wa*qW@xnk82 zR}o|KKz@+;^225SP;62fH3)tT!Hely6ScrrL7;;<;>vmOCyii^TFCk`Tpt+beG>!Vq4hjzUE$9eeHg zAHN3imu`zgd>iU8$O;w#y(oaXBxBExFs5kU3$VB+f?$j@hjT&s`&}>zl1BS)`+kov z|MaKHv$W#Cgzqiu`mDKfoYZ?-RwsWw|`QfRJY&L$2HnNp%2#ZFMpC~ zyR1c6s>SZxv4P>exc}SjPwA8VsOpNQ<;XxltbB7tn`Vd zn1M)&Y!b|-%C-kUmBsIM77@~e{f_l`%#?{^*A_M5+?k}LQT_={kmqZj5O$9ZOlY#K z-(VeOamqFRBFVsvxm z=pyhKo%nSd^kWJ7-gi5L&RrH*pB^y~trUT|;47G_8Ye&5$c1J~fuIB_Od8|&5T!Yf z6Q#c61D+fGC}b*y#~1 z*$Zyx_M~4Z*pz83=rENJfL;nXMbtY9_FXtZ&idw^_<~*9L9kg31=~2FV9$I^3HJNL zM6inkDSfz)JxZ{Hp+1O3Kzayg9ru{n43%^|KT`}ZCJv`+9OPS|ObLi9hTxwqhFkv_ zC5F8PREps<*AG-;sE5P<1h$vw0JaCWbe6Md*bJzAcwctyqCEL0?1DJuE6^Z~yDaNY ztR$-*^3W|Dr}0e7wy(Jx6cVM}VB#s_Ry~+Msdkd9GpGltrhL=VCFuZnJTO3`@8n?U za(-nx7XQPMe!6Nju?RKONM;j~&M@6*e;Xk@Gb>qN-bUwr$FsV? zQSkhN&FkISd)3UhnIx*=j1KNgv4+68S zlh371XG38(YrC-2CvCMhRs@KM3P2eeplN|=NdH;@)d!&J1?+nevOILfq)84 zll31Ym&dti@EO2J`wsEn@NUr@WK_x?>l6l@;Cj4V5r~E@pK0&zMPzu3k6PSDTN_GX zf>6DF^USMBrujmy_b`wk*|sv9#s*TljSWodhMCf3s9Jx30`5R>7mk5-rCLiIs2btZ zjU<{>LEn08Q_i_2>J|%h9mpv^w%R`|^3}ILbr$1z?D*N0Dqh)~1w6xUVxI&Y!3}L< zp@UxmAXWn*d%%Y=%$$?S>aE$Fctg}$ggLgKeIHdhEyU2Dx2pB`0K-lI<7MXfB0a37h>@1kn1 z;KDG>=1Ld`%!XPt6mFKH-$N(K`eI!XM9O*y>$&Xvfpdl;`AKT%bdfUvN~~m78J&;* z+ZM7 z1HJfR*GF&EV$Ct35+e~zM*tsiFh>4DBJ-X#O^4yyauT&Vg7G&>Fn@$gC?BD#DGBnb9m{8|H*eci%t-1RwBl{Z)Q8pCcMq~E}6l!XJW6)1VGBPUdviwIyNhiq} zy2|!$?Xr3!KqW}(p?bzEf>P<+t&zbauCuJPG=jpnKpEo5w~W?vzKpk_DZ4t&@l|}w z3+U^y@ht(#)?);M#N2~J4Pk}N80wro6D2)<}EZ}*QP$}ieX2`aD`Q;DO-f&sX*nB6(U(2;%Kl~l(GCpFAXfKZ|(P;2ULWFux$QJBlG4$Rzxk zs%ewMK5dXTC7i8tC=Fbkj`emCAuN*i!%T-6(gr@+>V_z#J;e(i^#DpaWA#q}x-jGb@H_AQXGA`;yfs;eRQ0jr@3BnptP9{Z^jkU;;MCRN2D9~E z#byDh+6-3<58B0fz|}pC-CJQvIgE$hyZ5@C&o>*{TVYhrm;#3NKY1*w7%)IC`G@0z z-GVSkS;u>wzqTzTp#GjUKSB#d5wj%A$i`;JEjq3i*3w>UYNV9usBaO;J~sf#-u75$ zelz7l2K%42qemy6b8~)1=pzwY)qj73*|+9#8F^e`kH*2aG%;|5Kx8YX6LXc>v&f5w zIA7-*r%#qZAeP{EMGa`@#m@O4OFc`cgEOM=v@9$N}==DO*o0Uk+qq3Ci4Yq zl!~e^1p^H1Uns@*htef5dnK%@peOHj=Y3Dpz6w<28rj%0`F{Akv+V{Bl*gLvd@hVA zbFZY70)d#sV-63UF9JF6$`i?%w25-bpM;BbQ{)4awd|cl(+#se}EB zH!?na>ohNv0*KP*Ap$4U?_OFQ=tE6m6eB++H`o_Ic4kiW1j=%N=_ig#bnt;0s^vkd z<>T41^5lqRD&#_)>>(%(8rhVFYGE_zM%Z+YHn{z~06D9xFE{dn)Z5Ov?65{)QIM1j z^nTCd-+_YwET_a*9enM;FVq_~VX=&0x8iK;Ij9l01~z*4qx=--wK`{CMWZ0^W9NNt zu?}t^yd}Br?5!UETKDd)?&du>dHQv1(}!BNdTD1B5F;cC;+Z(EFAS~dgrUm+ZB2~u zLWlv~7-flriAfnvL?U%ezv8^DQ>S_IcHDgn+13>z zh49R1v9ckHVUyI&qdc(561>U{HH#SsqBL8hkpUT3*gyL-(f|B-xXsFuhsb2V%KFrP z`k{4{JpGVQH_Fp>)Q?5@8CM-zy}Ebm&|(6HhJqlSl(_2OL(qYA|1M|$h9!^Xd6G9E zj9sljN?i^;>$A#qqF&M-I{3kgdC_wM-?Y=Njv@R9l0+bK*)O)bSTLuFj-e>(; zvmbWRRIG9rp-T^jRkjAk^ZO0ytt~l}Ud8%OaNZ|G&D>nl7EBMyKjC9U^nveYI z5lR7Zo5<+NGUt_=YeK(cJzO4wex6P#^Q|t&K-j+4owwIHH-xt!fETq*hW>lM@=6d0 zgg<5$vf6J4;orJ2(0{vqz9agl`3k;3GW-I0k8E!l#mS#uX!hS;Y+mg0RF&U>E% zE?WMOC#a;tyKf{$)AoY0U|Xek-?>$Hc=xqe-wf>!7L=4=P}wx~cCr~N5n4Y`19Rei zoZi6mqIP3O#o5$8QT}hDlaVt6nhDzke9(Oq1R4KJp1i5(-&1p(%Rfto%g@&Yrxf3| zNJGePDps*?bvliZ7VE(<=GIf~YEqjT42^_-OoSYstNz6UHZ^`=bP*>zGG$+xNiMQ` zVCErnpcdZVc%Xy^_e1NwP%mHt-7-MH1D*O@@kL*^;*5@ zy1*~o>hek+Q4I_e`E8Ck`DK`fdAq7XI(XE_rSf@&;qT_l-x*+Ma9N|Vsw-AE-IT~u z>PMWN-p0Vq446NJcdU_K@QiL53zC>=z1P9;kf9zxgIgpy$3gxABAg1Dj%(|%AK*Bk zXGdchCiJ7_`rC?jE5Lfh$W8)|^K+bj|L zw4bJZs&y)9>RX*kj-pEF-yQ$fwY0rse-nLG{PW>6T}J_f{ee7E);T$knt`UxG>%9_ zJ45jb=(u>BL&We5*s*-F^*5ALAIbNm3Yfrbn7|>Oj6($f>H=g!>fW1y0KAts@=##5 zvTcZ|A3_rkEPr?9XxKCCHGGV=YC9W14_=S+hOt15^Apr0F9WTQ{&7ir+v{A_&yiLA zjk2o0KAJM>x1!G}5&147kQK;uRSNZ808@k!&)%Afq^e$)(;kw8oO2r5$6#KB(~34Z z@0A?@W`8$_5qH4Tvd0~m)Upf8y%;wZ%tfgE(lRcul{3Bp9f`INZ7W(@C2%mp#q5u0E&G^Xfez*iMmiUb5W zv=+;&o2+6?+jqIm{_r$hyk|`}nMIc>OqP0qCD-(~S7m)U#G+80+zyZqz*CB zuaq=f*X`GW7g`!6uN^7O_zC92Qt=b-Blm&uvUVreE7ZP|RQ#gnEkmx_=M2x8axSX{ zQb^kcnAHO%z)8S$zD?7y0#(vSy9>`*%N|@krt)3#IhQhc&-c7%Ypg9fTpOl5Fbh_Z zhjXXG^+UIw7o}mQ7F6I*?|!2hCHg-0J#z*<29xrWocEPuN-^3j++FD1)BUdA@~rM^ zJZoD_epT4>FR}Fhf*1%-Hf(OF$YTHN?(97@DT@bfg+PG4Wd-BSA;-Iuaa)sHoYz)4 zhJdaUfS<^0lq-g@HrQC49+)FOf8CK}9luP;M>&1jQaGRryZ!%g!*2Cs>_EV~eEk<$ z6JRzix{$`1DKPTE&rQ%D3uu!C^qxxiL=_jtLiHi01%(a&RKu4)?_S6qorbCgI1N8O zoZqQiw|^uSgmP65>uI?pK)EM*R4F!`aauyUa)``S^IC?qT(QqY44}3O!RiHN9gJTN3KOKUkqiYKqrj;8i{i_G_ zQ%_!#^WLM-z6a~M*wk7xF5qe2gTqUk**C`piki`JE=J$Hl6}+Z<6;1(m!oYM8L8Qd zha@M>A*Q#aU1j&yWed<-=eONaqulno@1EkN2Hel?V^jU$N6V}nl zfW%l8*6azWmU#HJMtz(g@OsS5iR1kfTCMT^Nv*raoBdm10qrSlI2#>eTIrfm{iBW1CPK>PM2Gj2%r$6(uK z_D^dQEIGS;^;z~~dv4{Z9D*s~sYl3U^fbBTpN@;Q{Y&Z-RUOZ9u{*jfpF!}Xn*&QP z8t3{#Rx+dw5cdj`n$LnxWnPD(fpFUsNoGVWW$MS&F06Hh{5YAz4M%D*dcj zt67TK`zCA2Kt)AiUswf|fTikNoFaiy?zvg)fXD`~mhIY(!uYt~sf2+&Qu*<7wI3gb zFCE><2F5vAJVelZwhMQQ1lo=C3(elm4>*5;{V{uJGFw^a&PLoo5l-ghp?>># zlAmYL2CxJjqoe>cVHbQ+bW!nq=WXm7HWqg7Y<#{0BPje==o(8`plf`$Xo>VbRACp! zp_S|1euOC6U#V?s9Pbo8)hGlsDTC zSJQ}8hUwzIbV#iuum6OfxWeg9{W%eL)^Fu)6W<1Se{bY|I({lQxU~q~*SajgM)rUG?He9*mT+Vq-*kT@hy`#b2;hyt6g=MpGQK=j>$;6n)dGeHN6#CyVedNanH*WUduqVLhV% zR-BDEeryu2zZwGuiwE%r;alee8d~a0d5gzQ^4Pvt3-bgdnKiSCWd->28etgvgEcy5 zh4Rlz)z4EC>tf!Kv#R@grzelD?(Lo4%~RdOJH7jus_T(V;@Y*cW_2Adf)kNr%U-#v z3?_m)mC9B=40H=}@7f$y1R^e+1)R7%bV9LKE@3TEJP&=mX`1VjseeM4G!6_@`_3m7uY%8X^LVOs64)RYBb zVF6Q-#}f9mWt+o=-$r4ZLW+MNZ&vjk3CRlwjN@T^w5%nHyl7;If3x$IU5dgOaC6C4 zLwv?jEJd&pc4py2+c}LBx@Id*JhWQq^jlp1H*|8Gp;{RJKWZTg>PIuZLY(+L@Mp+R z!a6xRsjh1eomdLs`Xz>-R|hX?7hk*XTIl|wvcNUWj1@!ZPMxhbk^Sjrwhf=5D6=@C9@z(KH&IsoP!#c?NVQgWJZf|bm9KXcB)eNs3$&>!b%eT zYuc`{>qmzVtCVyU{d)!Kry&5%BA>)4py<-ko$4ukrAniP8f;wjm??+TBFYIhp{|6C z>ZpDv{~Y}b^)a_uy2S&yM77biivJk`1`C=Kpd8Lv&GoXHMu#$lLP>}os9Zo%c+bW2 z1=*VS4|5CvIjCRA``J?z?-!x88e09}JtGq*z_*Cyo(fN33=3YN3q}hGvNfoZ<&lzM z#=$l-9Vg(cWipzOac@d`2UcuO?QZx!`;mB*6q~(sDEZ|c^P=vESNRcPOwd?&^}f(V zB)D178~Iax`%9K zsk8pC^2>>wEHB}g)}OU|r2{>XE?q;%YVwhFZPp6-DiK;gA&Qs(U1hNjv?u$>1KM}x z!U*f+Gho@60}95{(9tQ+po&{q3j3YU!8y8MCVtNm$DMK{`G2xDE(WhrP;`x+9SQ7S zlno?)>nry9!U;S%!pZ#|2z#wcH3G@jmh-_IA6H&1 z>th(-P)WCCrepqvJ%d=d!=Ax6JDARLtJW8mz;@MbU=ay1QaIqUz3p&MAZ3fuyf*bh zv$q#rW*xlHp5(Qd2+sPH2o!KYFXO0CA|J6R6yeKb&EfEp_CA+y(v1Ms?4_j$=w0-G zYL^iDei@f~F=fVRgbdn;co6){oTwYPoo}F#H!Zz-r|v&_Q?sgD;TCnlI5=JGU_^Ww zzG)dr2w5>5GcN9(w1VQtrGbsyiwqT1V5}XLArIG%%Hq|RUkQ!Pg}1k`h$@r3sp&fC z5fH|}!_&LCA>`i0=mYS)rgQZp3+~q}cl(>g@YC$x;l{ZLg}#q--R+pc;;b+Kby*(X&zYbpw%m7@S|@#Q_y5kVH~@!tzEeEHj;$YfGq#YM##nPqJ! zTKrzZt>xLd679-Y_yNzym@Ig*(+xikb(o1yL`Ba4(s`HX-b0!!e9n=yf|*`OlNH?h ztZ9-f57&+=;1&Cy*fMCc6sxU@CP?@tM>|7nO062C0wZt@s^9LsZvhk+l8Qn|E&~9U zW%%-s(v?)A64^LC-laB9k8$Bx=v)K-m;0_#Ulkw~X%1WmSV=bg7v_5W7Zfmh#lIO* zz}>mx;2zY1VAEt@{u_4?G6cXNf3pDBkBut-{pA82#Rl|cV=2u>dy_kF)y%#K2Tg~} z!VR=;>c^pvz<9%VUQ+ex)@A1`!BN{&SZg)1oIyg``diId-xRbdFo9tT^=|am1&#w1 zAG_3MRc`5$_Bzn(bo+Y*0OI>vSs%r3al5#b*9Co1$!BU()ljYi)^+#g|8P6eNw=m* zi*R0ZK@5aOga)oIL%a=RU2WOE{5N&cBD*NIyz_WJ)PyUFG9k-YT-Twq=iq!l>yczS z2wJR*yTLo~EdDSerrGlGu>_OMJi0j0e|>S_n03W@TdLYZ55O^v&Q%BUP=8=0{2Bg$ zlxKhpzI;PKa9V%FI;ezO!yUqCYoR+RMLDjYU=wG@BU+C8@H0}kDl-Grxn91;jse`_ zSZ7tm;fgv^#i(!0c*ObVUVoD;&%*vu@*+(i9#RlP+N~GWrNVj3~Hq; z>-rBU_qJMZk{0(0*+}mhfwBL5_^g{!#>;V?!WXXp`j-j^0K7j}fqZql|XBY};I^l6u8% zk+~aE!kq~0U;F?0QahsRCL4j?NWC&g@2IgqtKujX-dgh~hx(4FN%c_h2&`C{=|$Uy zxmel?iq***yES8E<{j4q6Svu+k04bhI{$c>N~1#zWv72JV;R22f6QV znsQ@Jbt(?V>3wrmRWX)5CuA~z-RQc_Rejwn?9zoRQB_i#8+ILHmHS0rc=C?IkvOZ{ z(jt#=Xmg?O`{cG`RAn(Q!bps+`@~sSMEKA@DvBCz$VB`TkB

    ;=YKb>_GN9p34Wx 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

    }tYc(< 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®w@m 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

    urdr#}7<`40FR3``v2#)tON%v{C)6%!we7tf{g zXYDN9{~=!%H0!;A<4aWLXAG|t`LEweF`hpAVLg9W$oY_sX`(*`SpxI&V|)eD`}SQi zzLLp#bios@!#-q(7dtK0@%M!EFTj^LO^@#vnI7sRNars(Pc4pvKg?6hE?sE<6u5C6 za6yh(8h^PPAMAI6@_sAd2VYU+4_KDoKFpsB_kX~5Xjki#I($=T{w;S%ov!DvD14y= zefj1$4;^qpW)HZhlp7!HV|-_C{pxrz@u~Vn|0L_JFW-O*vPQ}IoidG&55s*hKU3G`G(Ykt+=c41d3t=$EBL;W z^F*TkgZuvSzVOTDY_Gn5ok%>m#`yvlH=8Ey<2y%__CvG}{Tec%dxumU z?AGsbsb6y+<(F?A`!MI~^*gnJ*M18kQjbpvJ>q$~C5UM@V^!)MfF5LbP>wBTx zm5;;x*0;g9)bMNcoyxK%vG+5;H|)zpw*96k`1YokV8&mLevSFT@U4>bhhrUF;2R_7 z*93p?PrzqxY|6relVbT8*EPKH{X_2guQ9&qAdR1AKREVb`QYR0^SSvOE7vDb`Kzkb zV}WnbZ0|T|=ojY)*Qk`i?IZssk*|^eUi^ym`?<5eP3RFle|-HXxBv57AE;oJxW8G; zTd#UgRIwa_;j6rsX^o0BfmKOu>}I(|6%T3;ItV3|NpD)v>j+Wmrg?mtEgLr z&2b{EC`%4ebSKqD>h4524#Fzc7S&2}OH?{-ilWm*WtGE55-GQY4Y5v@L;T;@eZ61z zJ##hFeRqHM>-V31%)alr=JcG`yszV2a}D-`mHqOi7r~F91W%;>uoN5(C z{e`OiILv$~7r@qU?AGrWem~0oL6zV6G@{kBobK?r&bW^Q>B8*WD~j;x^d8))nMcHr zK$q>&?|&Y`_}=_|hmBWJnWRR%{9+b(-(T5(-06Rv`8!JZ&II_zA>J?_{3{ke_E8`0 z`>8KC?*QBJ-Cn;){c>z|eQ00%AeZ#38Rv`m@X7JRoqX4E|7-I>Rc;2K{@oV%1IiCp zb{!G9gz}tO{^itY=`lXeF_lkagC(~fIJE7E+`ggyZ5~bEt$%<=I}*|3mr?Zr5+vRow@^!I!!}XhX#)t zIA{osRXKFKh9GAI!=YeLDKfvD&M)~HwFX{d-uNvbwpG%HEHvYKweT61??}zK} zh<|Tybzc|K7ax29-7|TEYuCJ7;?%#8^k5HoTusEB$tlRElotg%rf? z+238g_+P((#)G(;M8w47kRsoOmE*d~3I4MIJWsgm@71|p4^Hs!c-b9)jp)(*|6x7+ zU{&*a(eL*(SfGxB@`D^d)mU3u6!G!xB>53f&6C~b+lSFE!Q}*;zdPR-{kr_FAe&cY zvAt*POK&>$&t->@T6iXQ@Ugo7cU;{0YN`K9P5&+AKX%7TF@9^VxBfbR79S^A z-W`AO{lSR#UB^mXuSUHfS^W`zZn!#ajWhn@`A;_KFRqKHpXNMoe))VrPSAe~KL@Zc zcJrfM6y*fycv3OnuN&3z6X}ojM)a&gbXe9&K0lz`QB7#S?MVFgwQ+tiKRN!7@f?HS zFUE0C{FBQG->CK)=$FaqYNT>ObW;O6_*nh^)XA7$DBG_veh%XAm<%dEUmxeUljJXE z|1q1p+lO{*=|5_AeOZ6RYmQDn^i)UVHF<0cdXz@L&yclH>9dm4|0^uYe{YQQTQ4W4 zKfW`p`_B-Lr>NJ!e*~X5yg=0#4CeAPNO#~ze>^lW+P;*>$0_3eztd_G|IKlJbAdPi zgyYpV@c(5@N^95%-(!aOgL1gSy^GVRHUs@Bv{@9<=RdCqLRJ7hOxw-+EPx>2EDcPXG4oCwNW+ z{sqhroxy+oM~XkVN~J#yu!D~caJa$tmfPNrexEzSewfbv?=nuM^yii|v2eNaA9Jxc zzZ|z*PVoO&eXT(_8jgQ@y$qb45HGk~3jfA_y3OJMTt};V4K8u&pT*^ed3$NYTjTLp zEb-=-%sYg-Y*5;Jw^OY#4otuw2}+Jtsd%e*v0>}s!-isi_)I~ zY2ud0l>T;-{F#fCKbWt&+fQbH&EapWd^yM$wvzonJUko?$>nfA(?H{2_h->sFaFzU zJb2r|Zxtq|Kgu~lzFu(r#QX-Aqo8Aeuh-tFt}6otQ|zeO0$$Ez`{K^)>pA(Ye5HTj zYaxt}D#i3SmnO%*p6gS1-ip&7K>H6re}(_%F@LzBx?d)C@Uhqrwr#`9qwTj@i`D&w z{}^O!XHBzqvd){(Ag;(&Y3U94Bbu(0>M(m#nkZ{Ys=i{2unj z>o=(MbBWvk%~y#3e3WvD;#F^c`CSG%!T(?4cnUvPYlYDB1#lj#|2Mz^+5T1X=)dy$ zzj3X)?6;*b`fb#5%1^$5Z z{KEMH{0BM~X?~^q2lkIy?8pIA>+Rep{ijg#pEv&@z2;Vo@ms5t}7f5qD5`2F-R?4|SxpX4r=c4GZ)<~IQ5 zV>S1oGV-@=z2dLrms6N^*W>TcRN#^0sUr?{qyyu(w7Z6o|IzrQ2+O1AH~1}W{Y&G^ z_6HTk)63|1^gI>Y_}~kJSHSjq<+o+he}dO=`Gng~`pfTES&s70y5#g<`?m6D+fdts z1AbyWru+mtcIEhMc2fDgp1xpzSnP-8DeYH0U%5hshPLKEhvn%Xiu0Rxa{Sd!RXX53 z1)QhgMHOz>R`D0r^vNYE+-jzd@2Ih2SC<7pY~{^&z2H^;StIqQ$^O_`{)s=o3();` zmLC#*KP*TQ)0tl+`#muiJS`YnK=})2UF!57jDc|1VE-DfL)w z_8$(%{h!YMW`Dx%Kd!xwTmU!h-YK*HaPs5*v3=w}#+nN8^#85o_}g-M#;&g7DF})S z)phCl?~aWs9Q9?~7wo6oTn^~Twq;JAPi6j#?eZt9_N&$HDE;qHEygc4B*)(ktBaGXze9J}lF@hea_XPY?GJMvBLC^?DE}nMFPO*r$o>4QHQKd` zRJ;Ix3Evl!$Dv51Ke(ayKf5mM=Hy5GUAv9apGV{Ar?oLT{kQwn-(S3o{a>rUUtP}~ zo`~N7INOWg8WOF)WWS>BBlv$H{e$Z&h&PJZKR0>vzmcU5)RT`lmUT9@_J{j9JlNHp zf2E=PmZ{1W^x2K0PP+b0b6@<$OaI0XlmCoM6LY&LeZ)@0`yk<4s)+T+EB!6*w}5^>u*8g z^#8m~>QCRrj7^)p`S0T5JoImm`d|ZhJ-ymHDjg84bAS(A_fvOx``8J+f8=nm$@YSG z>f|{2Biw%8F+lAP8{+*K?f;SgD&(`nRlWfJCVXAyB30gizTWhz4bZu+f1Nf1YNVw# zG`05I-~OfI|AhGSM{A3>{#l*W(V+iBTuy_|IM<_EIF1}x=GGtOYV4<5het$LZ5et| zP`50{Lh;<$ekI?FmEZHQuB;lJPq|DT&+J~6 z`V;%Ve}Qxd_MNr`?WF$M?1#nNe@5~L&r27tJkIGqUkB2CSb1G?g8%FN1k_p~^nU3X zyrMJWZ&MY24ea1!aeu&{Gq`TF|35Yd|F@)<^+SC0ck=^p|H1p`;Gf9xRDVBDFBido zs&ah+&oz#f|Gmk}qwQ}x|L?>f+#lx`#sB}{hu_04y>Vc^m;Zmv#dmw})6q+lIy?P; zoXlw6inrIyq-BfRZ>)7qqVo z!3}%y%hwir@lWIUYkqxf{C2RZkTdv2-=;#&;1AQa$T?Mh#5-KqTkGFEP4+)5zCp!P zlt0%#M(IO-JpD93OwND49wH9bpU(!S%o1VU#QV$Md`M_ECDW38fT@3m+%PzdlWInoHg7SEZMzaE#{+{_*Wp zIP`CP1hG2+{P3S*voKfcUa{gH(<=Pd*eX2(f1Sz4 z#t+?LE3EI8=aqiS@k`_s=5ba2Uyoy=Xv7ik-;MmHcC`E%(fofq`H%g6+<&Z3lGDHG zOcjrG{hww15f1&)Uj;fP^8akU5R>i43qSccn*O}1&KsJd+7Bn@(X-PJ;{4{0#Bntd@T5J{W~w28U6lXHuEF>9DgG{zj!*%Z+(`W{#R?|VPKqqazag2t^of- zKPbP2{xz|KkImxnOtua0_`18)KbQHDfBn&g#+TR`_aAd-a{R4*{Qsta(iwgZ9lKtt z!jUf|@_+0H{hOcJ=}F0NY5E_3G5OD~IKTKjIsPA5XZsX){#Bp(5ifB5rt=g(>hHKO zKJv%L3BYzAF8$_Q$zP!PzqOUppWShOJ4yZk>u>IHmml!{h>@mrfQ~!)51j`E5*? z$~-gT@z>m)9DkMaZa>Fy!7pA>eg%F#T}s4{{osF*b4PtH^^a)&KXxpoKMsEJMRNRj zpU4WI>Ilh~m!2baAn0>ebK&=*du4lJaI_GeBjnCBaQD4Jx zu$yk-KL{T>?AG@rf7S|h9F!lP+fQ4}O%v9wtlO8~{MI&gB%HT5`vckoah~H|RL4g+ zbk62@jr%9`31H^{+sm%wQrQKF7Q6J*yGJVj!y`F^fN&{5yu_R z^!KH3qnjGo!N=)QHS7tX%`bo~dc8dU71|KZt`|3+kwXEm97z5Pe> z%L)F2@e?fD&0kjICqQ@DFJ5>!$Fu&(@iP36N=GE8v;FYF%T@oc;3CqK=55p-F53dl zF&RS6Jx^A8+Y3own#c3@k;NH8&S+l`&Zhloo{IH!tO(716Z{VRlXmur_TMYu^auWP zLt|<`p}{Pty~yeR*WUV1tLskx2O~Y<_B3$3%I!SJ7eKg_>-%VbtAibUY=FZJwgU!_ zU+456Jbx*uKpwt8vB^!XZ<6DWy(d21?LW&KJ*Cdb*99GK<@!RHzo!HLX1pT|@;$7W zd|s!P^7-AN3*67&+ucm@i}>?iQTm(Tdh^TiKjj4fKa10Oq2<5lb2xN{G65}IZ=VGx zEc^z`U3yykDigo0y*XpYDKb~TM z&}~g#gdcStIxRZ>Ahrr{|FN@9NE2pm{Ajih|EDe8`k(!y;=%a!IBq*GzlAF(9d!RO zk5|{5g&lk>xUqk*O{2L^|409&C-SKL=HR#XdF!w9qn?82LBObm^8W@EFA#q(=IcfI zA(8*%`V2ns>;u0ya`Geo<}@Mxb@ASq=6A{Q_h5gvwefRqgr74%^wZl#p)ammw>tm$ zjiX)f&w_tlHu0~I^Na737F`SJegHmSdZ-})gr{V!+zb^q7z3;cf)w~Ly5zY_UB{0`~pNsX6XC;5A> zRQDbEZ>_J0e=$-yDhupSjvwtOI{ygNQ@H&c{CfLIqWl;B4|~tM+cTW{WBjGZDgKHj zaenb*a{P$DVwF4p{ejbeu~CIXM?CKk+Y6$e0lz@J(QP&dfdAZ+uW*$gz<=#)#Q#G) zx3-hy@5|{7`~m0B;QNbk@Yny`9p4l2V?FH6kG``+>R-gihyR~;CzT)e#PcufCvW|q zJVz1sWKgu{>;BVhs^Ua=25*0?@1Mf&VZU5;&2F#q^O;Ym6Ic(cb`Z(w96$3ra;>oA z{ficqR5{q0oR-zK zlgI71f64U!mAL-mx8(To{sQV#IDdEapXd4)IHz!WD=t^ZN4&&-x(#wb4%^p%eAw0g zki-6Sp7ehQznvuiwU@J=Iqv-HY2*tvl%IfqtQLO}k92M!r6XTX0B`wz773D{7$IH*+pf~@!8vjhLXW0+B`#)dB`L7|u(esC*|0&O6e#G|@=Hk^y z7{m|g-*rmk==0NnrvIf)$^Tz-r2k3s>*+iIG8($m8R%cHhdceRgB^UVo__B7>8wk= z($9B^U#z5W&n)Bg|B$!-m72T#XEMh}q=&#LWt|a@^s{+K_jN&6?5A6uztz=y3%vL@ zoJsn>9_Kgz_}}ocS-}@0VRE{dptKFaAu9U+*Ud z{bKEe+^z*bMt)(|SM5KE`Y&NW*w;!|w0832{lW8_k^iiU^V>=Ci;XJ%F}4-}J!%hd zIS}E{PYhK4V}7Z&N4#+D>{y8KZ^ZxIJx1;}<(vy?*M~SEJjWEz_m4V{BL80<*Wdg*IewiJ4C(Kx`+|NB zh`--)`AzRvfcTu!*8keRCyTwamG{*U{Th+oALA+X)sC(LLp`EAa>OfG+(AMH>b&%dmHy!}Vl|4U8} z!3lmmm&Z7t@MHbCe12>P?;qf|c(t)^$s);L#QZtzKRIVn{Cy{0elY({j{ki2bF-@Q zlNiNM%Ks6b%`5ifdbwPeh(D9}Yk>VHFN}^~TFm^Y|MvKS`0cp=2r)Cd2mBsZ*MBj} z^V;*HYRr%O0{uhJaC*!AA`Is8Gg-U>*Rgs1q2W&dFXHz{dR;;3&s~*b@z+k0e;$|L zzzL2p>w|Fczl!V4Q}qP{JNVdi4u`!pYv5?F_LF-*Qw2ejzcVerb5=>jzhig9x$*HQ zoUH9CA65Dv`TYf}L2DuBzz+BQxa>vu^6K&K@uljMKJva{>N(N9 ztj>Pqf9MaJdErdg__2kYem?Lz`TyOOV*1lH58Hp?t!Fy<4UAv$KI!k^H!CK`@2CH4=*;N>B-O9WzzQFW>xO-DaN|x+e)JzR zvxxuexc`Vs{~LdO^h?p6YcGD9(}z*2za`?O5B?F~x4iF@x1REfza5|8^z$s`mn#0o z$FF-ZNOAkgc=~9ZMCoCe`o~Oc6P=M>nv>cHIqx4x>wis)#o3B?sb!ni$+;#iBQ8su zEdQwTHxKjT??m61lv6Ornf}E2!D~NF=cjppU3Yp8{_u=8Le75t#xre%oKxlhCbw}d zFaD+r6u+3AfPXIW(;RH*&2P*nKAQdb!?aG$$?_xJf&U+WZM79%{(mLuZ{Oqa|0>D( z|EHXupgs;iK))>XD}$d;FIE1J_BR7N_*m=*d+}#8BVPJv8%lp`p=yUx{vRK|XxvV^ zK8HU~4=R5)a!(O*uGZasKU%Kk^|#S_nsYu?%kcTn?^5|&c;qQU&VCcPVTavz<)2>s zBdGi-C+kjc{t)H2@_CV1Kv4O6SX1^(uSHN~Z`8QCbBvKWX-h zzs3rR-!vy1f58p=bs&7mtN-L0iod26e|~CLSNe0R#BbLMA>)O!|73ms{w?|mL(ZtK zv+4VOJIQ}&o=E-uthXt@SVL(S&GNf^(*KOLbUiftP3g7WYZ{lY&`$Q>E*_-n*J%Hr z@e7sTAEF+IKdbb?I?mgFD)v>!>&b`B<925Bv&Grc`1`I1hkg@y`^ZPC{SE0N_R}r) zgB`y4InVd6yL3`Yn@v@{S8`S&rE&bG^+-R`%lfQ#bpD$fR_!UY{5dVt9B4}GEi zruqEJDu1IHdspq~oJsyC(;|bGMyz7$$vJ- z+aE*?Z~fn-crGXCAA5g_>m%UUsr7%x`L}D~&Go98UBN1bI`cWl7FSff8|`-f9G;6Ja; zQ1?;iY0T{;2#1dNUIWSxiTnrSm%=_WVT`N)UiQqzQJ{sC-8BELtOsH_eYQrVEjO_q#(L!dV&kc*HTyr;fA6@J^56I3@z?g@ zzhaEr|3BsTH_=akPb2hxGQce4^Fn`cVL#o1ANTK*3%f+WzkuzK{=7&2W4@mz*6mi; zW!3i9e;t+6mXXDIh(f^cXSYP-bnFH=D+sP z4nod;lgTRrY-jYH*Fx%#?KAlMO_D$ONP0|vi?0Li&ak@w%-^i;qcu#GlX2YGbB&g& zJOV!$j`AM&H_pTkKGxuH=pU%DFZ%r>Y!3fvMgDJ*|14Rj{Ku^C?LSM}x&6O4`-7P6 zF8{yPm5-x6Kb?4*JG?PKe5@hV`O?`=y5e&={?85Ayr4j(|2ExUtF)3ZZdd*(8hG;? zJJp_uzgBGg2Y339`U~p6g3q7Hx!otU~*dAH|SsU>YhRAKe<}`-A4T4qxi9G zAO6oZ{r%n_*WWWm{N45NvBh75F9!TM>s}lw`7MqA(`PCF+FenMe^cFGtD(34!1?7DYI}s6*ulq!I2`^u>0sSgo%~|D;-CE&y}zFp z*IzVBjvwEH3-2v(5o|;L`>l%Cxc`grzWjTto^81HI&vY4gJ73DRDGLvN+lPPO-RgkQBX_OR6W>_|!DH{c!{Pt=9FF&A4ea1!8*n&m8u&R>M|itEc% z%sA?V>w~SFb>SYb^3SrCs{9ivRUFb!Dp8(;`}QUY=xqO&1Z#VNBYR}4yIyld%ugw05DkKU`up0@2m9&P-~epbCHqR8@i)x=e@%5N|2X)~ z=E?End!UiCR6Paff8qlbQ4kLP*!YLft8zuM{J4(JhhEBZ^5gkM@ov)mt2B|`g4695 z-u&sj8v0i}j?*jV0e?*n7Y9}O6Z*~K>oWGKa05H|SnLOT?u->xy!>bCHy@5J|O%77`k6Uf8DPV>2L7?Lu_a58|3Ogkj?e4ek7y$b)4U7nVkMF^7k&$o&)}l zvy}e?FHn93{@=NLi1I@&cJQ%#Rk9LWyR5>3O>+D+(^khv`*SJzkNtEdaR%Ravz0gh z8TY9}!GA__{$*+X$4)@JKBW8v?LW72zGiXwZ!t3OAC|^n)M7%q^dE7P@>}qKolEKa zvz0_=`0dHw{GB!apV*)6Q{C+khqQ2u@yZn|-D2BoeEL;Xz=iXQ=ghGuN&S0j`mdG# z^IJu61M}NH{5NR)c>ZW^Q##}P82==8Uzp=A?S7Th_^>~0@MQc_c6aHt+vNBOg+tx? z-}pA^f1sjhdjZ#fGrje1yF>{F|2dzZr-(n@{Clrf$B&$={6APlo&Q%3x7(@v6+F?+ zr!NIK0QSTD7oznSY!~7FheZcT|8OO75anU6cTlz&onQ}6QOn>zkMk*GyxV`~|E~N5 z@f7LIXuj{^*#*%9AzfETJ@P-|J?xbg$8Yv3KkTLaD?0t8$`6v$`Tk}_0&td}pR2F( zf0SS9QF&Va4!%%N$Qk3KV0~dbN+0Hv3NO-wK$;)!r?xld)Dv>{o4^gbq4k_6y!iWM zD*i}4RgP5r@$y?uk~1=!+BfIY`Dng!J>9PtD#Xh4E9O)Am6pwy>qTcg&la?;oGZ}v zg$Gs?;RW@g^Xz-*e7&eY!Mu9W*^eK7WAFxR-u`}oGyg4N|Cvhh(v~mD@?^E~_W$P> zs14vh7*9-Z|2d1(ncza@C-9$&-2MQ+YJd~^SgeP==)#I%D#gElbh@|xzTXeJ*zG^)zoCB@3Ew|5wf-u}@}G9i#nJk&#qX_y|Dy6~BI4jT z+aDXh)&0NW|Eg)*d!+s=x!(f#D>tCA8~=^#FFG6>zkS_*!++a~J`YNMTjO8RI87L$ za?F41W8^ok|8Mx;8QLQH{g;9TD*c51wZEY9gM;7dcx?KIZ~brh*Vii7QtBVp_1-<2$K>))sXrJZSUesSip@moXx8~)*QI+#-bQjPzs zC#n71!EYZUf8;;nzxU*6H6(un?neawUq7mX2v>~jZ=H2)`UkiFH~Me;+4w{9XKMTh zMo?X-Qk>t+IyQd$KjJ@c-uDB%>W>c(EiXiP|Ha+b5g<=6AoXiqzlK^xsmglCUbr^|w16oBq}(|Be6L z|8)Hxl0Qe|znS>$^fDTjw1cf8;;nzpIw`OY-My{OhYw4d<#jzj^+# z@tZsUZ}bnaV;O88o%G<-k{|wt_P0OIPZPl<>9O`(ae+6#-hS)X|MP~3DqmSy>bg+R zt-#O6QGZ0e5dY+67d9ER5@KnPsEDeOB4(f9lYOXL#u^`Q>CV zx1aukw3D-+{>ECmKQu#si?)?B^bfD0`$04G57V}C_M3G5|9rXk2rvEn5`XZOxc=h8 zveDlxWB>o)=g1;2{UyJg!krbjpZ<~6)Lu`spZ@8Rt~MRdE14%CUB>ujKLE@)YwkiNoR zR=-p9{ml}s|KaKDsr_(LrC9$xaj`eQ>{sU0|KLX|oj1R7w;u-i`1X0KUl!8;`>EV- zO(*_GTZtgeE$O{NslWYLD`C>CPX-5oe@gE&YRmXLn)_d2{FdtU{Lb88QS7-xJ%6!% z`1kB8NBp!cANL^lQ`Mgz4dM1lgoA$yJqMHHv_>{kzo!W&i&^yPU%8CB3?DXT4E_Z_ zDwo+}n=}1E{dXii7qY4S9Fuj4xBjyI+^N6*JPZ5ZaDeX%zvl)0zK7_zhvWR_rT;hl-6=tU*3!15_INy(wRhtx z<5!WPn!5$;S+~yWljbP@WO4tcCx7G(IXx+5exw_)J^8tZ{=8x)_scN29U6Mw$^B3) z4$ot>$;EtsxE(s3Pah{&zw$W%c5tJnwVeDtng5l)-TZ~wN`G*}CgL|QQRM}lKg{9T zKK!^YogccxcC-6+bMoghe2lhr@O7X&-*(YCic`9sVf5>fhqo{F;ZNu5v$gj} zALVd7FG}a*jN@?gZ=s(|aI6PeKP(Me&ZR{4@l<^ zFDQr-W-_O4z>oF)e(6-z$sb|ioE_MEZk2?ZDp0y!e0C^e-)A ze(3za@^?D*yN8_oB}hN#xb-jWo|^vF!_%TJp!*N}%3udU{DuERU)_HYj_dBw_1)c0 ze!M?Y^FmHP`2e9SQ{y-1c=ID&()kg7q7Kf>#hTqx|KD{^{vsa#s$8Kv{|)4L^C!xG zkxxN?lpiAed@_%D^z^^Thrg#5UipiuZ#wx=f7#Ccl8}FurpOOYoj=I$$7gH&$VYNC zPAnSu!S?6YIm^8G8y$A*UwBn&`rEy|^Izj86%Id!{^0jZf4~oG{*?cWlfQud=K(GM z3SI5ZpD_RG?(Xl5{1@ZBfgkbLUaRVDe*6WjJM1~1@4wQ?U(DnGr1Q8M@Si{rZ~j#M zAO7R#|M|?R8*sz+DSGs2FaGm2|0ykFe)DGKKgY@+<_m&7K{(P4}BBq-=O`l2c7)zpZY(!`9s&1Ex+iKn*O*h*s5($&++1aP18ScUD@&nQ{*q^ z8v@&N<<_=Ne&k=hA8_kmTE_gSSNi#Xk?uIWjCc*(Zh6)kCqL@H5$gXFow#06czufc z2ffpOi^H>-3+X@lk>R>{beoB@3z)wh_1}w5@c$cA)8CKZ7;yCTGn+Zx>I+fK;jpik z`}iv-f0+3PYW@@IRkr+A0{$W&ex&=bCEfdEJNc1+O*_B`VEqHV%a%WqfInXso|iMV z@b&dSYwhGm`Tu&&e@av259WHOpEid#U>?L@l%EZa6N`wqus=6@>3%0a;_oHf-1-;Z zRJQtCgO2Y1$)-PJTDPC##ozRxn?H1O+44tH55Ive=5W~HEoKcTe*@-!K==PL<_{;}FY@6>x&!-ohpDdiXQV&7 zwDNOdux#}gw;x@9zw`(37WVY}8vo_gAMy8JJ^k-nw*0{a{K>}OE1$bJ(~Ey(ZO#90 zDO-NKjQ9us-FAZ)|1#>o?To*rWz263KDz(->7NfQwxiD4wZzGPh|3SAmVOrYD_i}o z1pIl-hja%vmwyD<&N*;Rp_4y7U!|WVL*4DSp3lx4|LD)L(f$)W zLG{-(czfLxvRlJ$8<5@C$)C;XXO$+J|M&OiPt^WnhLoRxKUV(d=U+(YQGP)EYo1T~ z*^}=J>_xe=N}T+oS^xGLe`$*RVL$$1>bf#mV4WZ3dtLv0$jWw0qivI%{JE_Ex&Ss* z&y@=Yq^5t6Id%PQ4$tP(==``ZiTEFAa{c9A{I8tq<_`@lTYh7>(*J+uANu$|4|wrE z-@(lv$SqrbD@A_fyRbF7edVgZApgzy2MMk6pVAch{pybq=Fju-|03OScsZ=u&Wl?9 z=F}hUpO@Eg>t8r1HU0hg%@Ie>zfeBYF9W*69+!T&qmv))Z|l?D{Gr>*mOq?;-%o#} zOR(+c@7U_(NBcvOmj4EBFI#>w^62{ewLgFx_Qdip}YS~U`T5GqN4Zn>)<4JKT4F} zaJ^_(0XJ*|b_>{-TQ2MFz|O{um2ujS03}|{0Ij(EaEThj-nQ0oc!oNcAb{~ zghHwD+m^Tf#)B$6(}zD7z?ua&?DqAwT+c7S-}aC@{Rs?9jXyHZn?J((A1i;pc0E%U zHs0mbAL*xgk(<9XMSeWzO6T*!{}G-`dcabKjJm)hL0yLbn>JB?VDQrNoYiB{C?%PFkcsRhWl;$_&&dcK$L)Zb?Q;adDHO_3k*ROd&$ z&SoB6|6Gk5i^co{c3_*?KRNkPe`(gxU4AYcm74y3{$oy7`sexZ7XetaD0jkc+1`1d zlON^h1#|0w@ta=5O4i4M-o8H@#+ ze&fd5ocs~?pEEyp^M@Wvjo(jybB4G7Lw~>eZ$7ZtUOHg1tN&67^WUtcpMi%{^kmyrHH zqUm2aHZ}eI_=7(DNdJp8PAulItgxdmyz6SG{ww+U^>nTN6?&v>`E4J5_&=TtgBup< z4(y5to_6&=MEPN%rhnkk)cF1U-14?RY0Y`oDG7_zNE^Tm5leh^NW&7xMMMHh$}? z-cEj$AB-2>`iJt$mLKhJe*E(^-LZ)K0{g>z1+MWEkbd68<1eB8D)4w}{C??=IV-jF zGlyk`UDmvT>-|l%pX@k8OaD{kho9^IA7*|({r&1+rF^xYYFb z;}_4Rmi`noKkW8?U#xcef5wxl{qXXCHUA%<8h?;Eb^YxG{6%nh%|dtBNh7XvjX!|$ zXWNc${|P*i8oyup(+Dg5Gnr3Me@ZlNEau|}+du!_euGnglppGBaqC~2BEMh!MR+!I zfFI?DJdG2J@Eh27Z(a0;lfMD`&!Ds2`WH?}O@DBvGXU~0i}ly}QGO@_ux5K|%M+$f za`m5q{@eBRe`4A4`{iHo8`zI-I(dhDv2K>P(K;xGJP*BSg7j0OAaMJuwL{AmA~w#UsMdMY)3 z=$y^~$iHm%D_wu^`?ddo8}`v&PrIJqf&W#FKQOgy`HdG;yf{{V{k~*AaDS0gfB64F z-T%v&AMrxxPvrl_d>>)QjazzwlOO5l%_q6jpTcRW>F<|*TC9H_^XUFx1c%ow;w@~^ zl+4CXe$?MvpXcTeO)p#iNCJM{PjDH9`~&v!%>0j>{HVWg)BV4ojQP1;+E4#^0M=|4 zFB@z(tx9vf|BL6RKUZ}>KP~m)PxSoMyj=COP3QCB`LFRvI2w|{;duUQT%g`RYQW*T zF*pG0cV?XAdjAFEzm1>getuo}w733=_`#|3TYZ!V>-@HT^zn1RkNxiX?cz30|H1fI zCC9n>Lo>>j-xS{Cza`=iu>P=hhQDn)`GY+EO!b9Y|L12?;}3tS`UB|tgA;nff9y`G zzjP*Z>L#B9VE^d#vupf^o?L#bae_PjDfQt`^!z>i^3lt0dCa4yp9oLHKmFqNuJMb~ zx&8Ln@7(2w!kOOsC*n62dh?@Pk^MjNuUb3V_52I`oBnX~hn_84ev7Z`SowSM^};sp z-q7X$g7yFCbhrNmW|b{}BmsYp?l`=h4_VpHJ>~K1obk7S{r?B8{!*GMzfb>pbCL2Z z`1uk3&wTo2?BD>{8SU4Eo%}1AKckad|H9`|)8Fs?%`o$4Fpth(tb_A%P_sAm8Sd(T zXfyvecz*=_Kf|f<<2|)>J}=7uVzJV{0f+1S@NZrnGe|dK%k8V<@_)4dn@c$T$M_G= zr^b)>)cp95HU38UN?lNky z$Lc>pz7E*Gj=#>;{|E86W;Hi|U`}fM5$4qS&1I>@-(u#6?S9sE+noBN|82WgZvN5~ z`ThLIdiCh(e-U%)rj*?pHh*l}JSTtFQ|kFqx%O`U!WUE1-|zj42=iw$pq_q~_~c(X zT&#z^>e*pGIQcW4QT&~?{44ZQYW(JFN@v}F!W@ovTAe@JUHypN2KWu^jfeIMCx4Lj z&(+$`19Ma37c0E^gB+gcqrad3gxD=$=VYC{#mQg7{ZB4!>-L}06#0F}PhfuZGtu?W z<?EMxEKjsXzF4zv<== z%`aR2;H0CcKYsj$d_l0!)LeCTH-Bl0{NPOI^P>ET_VY{*hySDfGoW!|F$X``9=PebAzu8aY5Er~NKJn~euVq+ zXKS2T#P$XUbiHoB>-h`X-@bpzodAaxdh;i0zcRO~_Ox_9AKKrn9Mw*e!Qp5>!MH#T zI9xZlFR;^}n^?}Ne>RU_ecv$m_X`4xQsWoTc)$N{?^EApFf@L9gKB?+&WZS^&V2lK zFaCZL-TbAg@=x*MZ>Q3qW97H_f=09bu|}G!|Hf#}f1jA-<}X~Fn*PBz-1#s3C)`l^ zmF_?GE2_ONm-%#Kasd2i{ylY1aq3^d<3D6w?&c3INsZt3;WznvB|3lbXVot1=l?m( z54*QZ^Y@(md943-z5TN=MgFBe@%LNRt`1JbU-*BvF1)6@!ON#yPafp>{!t$5|Ap3m zUYa7mvC7+jeDyzgbo~*p!9VVYtv$T>&F9?h&xK1<)8FiSZ2XDR&wOO7Y@a{0x|5TC zCHv1KHQnXU&@0~jiP~>{>%V+o;3vp`@%%TB`PfZjrkKNFr~e$N>EthB{xkLZ@3PeR z{mP#a=Fej?oxjMBpSLe&yZxSbUGI;h|I%%5@d3E~sx(D@KmBoCe)<>16nFn9RQt)hn*N0=Qq$kB z{w~%i|M#oEr@ONs;EQ7Z1-qzTNmD03+TScK{S2*4jUVYuI-eKuH^}^X91i`F{ujlF z-9Iwetzl2P?N!(N7x;c(pt(E$3cOyn{B{EVbmnx^izD72{CDw3uJLn_em+pi&0m@# zKm1(R-&mVk`dP{s1Us|Q%6pvt1O6eOy3?P+H&WBzkKZaI{`FHH8}7w_|9m%pXjR$r zBmQQxp1S{+=#Hc54*i!6FKy?=|9exn{{&W-Eq^3M{X^Pyowo2d&-{1nIJf?#Wz3I! zS=S%=SFXm1#Q^_+J-g>s?(g?4QR)9qt^J{Jjko@Z+D{_Kg`;Oo=kuceYrXB=euDZJ zu8Vhz8F0hyX?EE4{l^INpFdY?|5=+Ne}A9x4`-JR|HW5~yVmLdX#W`)a@XGj>r&$v z?|HYM;Jz5FtX}{1(;wTz4*2Z^SNkE_-x}n&`Abve2dC~oqN|Voja9yYdOcrW%zzs< zT$XKZSN``up+w)!*U&$@1^q{cJU-|3Lpo(SLxiJhVPFe%tT+ca^>M z7cGuW|1qzQeZ`Bv$Gh(SlYuu=<2T<_Ji7nb4OBZ@2I~{^|Lc?Me+d7nzxJ~2PJZ}L zyO-VmQ<@@w*oWWGe-JN{^&ji|U9Ry1!QWxNo4@d_)btl`dFyYbtMFshe+S<$*e6;o z8sO9){g<}t?LQm5`4hGO1T}t?|1o|A`1SHnF>~rBhl>TUXN?;2o0A{U@7mYX%0C-Z zA2>B93ebcd}UC|>WS z|I}05`WJ30Tm7vB{K@LS{nr;={r8~%LEZn~E?fRc0)9XJi`gw;ADyu2NvHljr>gSj zzuNn!fugeIH#a8mALi8E2;8tIROzwX$)C&oOZ5KFWy~K=kw1go8uo=+vpYEXv$*}| zqW{1A9QHGc7K+46_jp>q&DWL5 zJbL*pS9g3~HZ&XVbb8nF^!$3q8>*i(%KtSg6MtH~4rYI#^hdG`D-V}Oe|XWXZy2$ zcj}M$J4n+%RGgas_?4fH_fm_$`EYBtXEw}s_n(=j%0E-jVTIBEe`{*|7IW(U6XEb8 z)>HSNJfHH9&R^y8FF$nZpTqpywfI|_BEO&h=KDw2-;W>h7Iynnhxa=95q}qJ&tD2Z zOih2k_Wv;RA8Y)D-^0HBT)|Q&Kc2sb(%k+N`Y1Jiqu4wB#C^&3@gMk=9)Alt0QTB1 z|917i4YB`B(&BGmTWb7P0)9XJ=jq_QT%g%*?=*3}KaTMeI>_`>PU!!TB7YM!sU4PWGNz6?8}(SFzXb!b0q*xJn>`ZP6uaO(Qod|&by5c-4Pul>s4?O`XJ zzsc49faez(Gu-XZfzQ186Fq+vmAs#SnV)$-zp%!taNHNhjhQU|1v@Xjnrr<068?U{ z3HtaCDe@a8}SM9nzo%~3De$ndhfnBNbhj)7GkL!Y;>-s0lzv;uA^S$`%ALmYgN>k()pO-B^ zt_${@)55O)C&+&r*LU+5?oLhrU;_SQ&3}v8|6wnvx5hR8D(b%%Y5butQsal8ApJr9 zYx8ya`9I<{DMr~jb+VMjlA|A9cnn?F(dAKvZuAEcjt&mYa@M^FF3 zj|)0=#gDaJ{M`TK=D*zOPpJ=oqV&^m{8F@kW-Omgz0{%Eao>mS;a8oyut9oGe&p+Cw$ z^E7TOX5k0h6MuT$)qfu4=f}6Y`2%02#_#7pC_n4`@E_gJfnCf$V8dfR`q8OB(w}qn z^gl&@=$y{yMfzjyJG%cA0a&x}d)Tak?}s`0k^aB5%dLOm-qiFr_q)>{@Z-8Nm{0eg ze2p86hwy{#qzmSJ<>ZI|Y|!{aU#G?&_Th*BlrRVQ;XkDsCl*m}fvqy?#+#k|sK0bs z?AAZ= zPAmrb2ka^BE_9VYG5*GRhF1RhHZ}eI_{EPZUg-SLzbAk-Yp|@a?Ha6fy?-%px@tea z1n>W%{9jVG{J{kL4VY8I7ZDDCUEXJfYy9Lw=HH0-XVLz@uWb441pGU6a9&2b54(Ka z^kvTYi}b&o_Wjw?6#0GQ?{BH4|44UW&)r|*>i;YXl>hvsxBq;Xn*PS`-sykryYTEM zNI&8Ke(4W%hn={qi>v*i0rP*WwLgcxPm!O$bFHU87LQAo&3>Wt7y0;42464iXP@Ua zbNUa)zist9ZwUYYAvJ#UfVch_zrv5-ul*rMyRK#xSFdvNBmKW+iJQMPMSj2XC%!+D zsp*gOAJ?Vf3Z%E`ykbs`uBTRZyuX~u?=O$qOV448D~W~6)i?q6ex*NOm4IE?B284F zKX44(pq}$u&#QVA&R^JAh<_c^N^RNJmU|MYIk9|f9~=kVuys$o=hG_b>1WQn;Kk@B z;D40(mCs#)2r)XL1E-#Ebx<}{zhv|H@ zefTyy9?ehD{_BZmvAGL>BUGeuhQxLz1@xM#O3uqm zx#+IC{#XC2_`(Ou2|0g9{V*hN@aJ;TxoS1FZ2nqK$azC;wT$a+$@&WNOF6$r>*YH0 zH`<=&dc40)`^p&;{06r3bEm!N#ec=CYLCbc)t9EkM&?>A?Kyq{oebQ z`~J_CU0EFW=YB%MwMcv4@$Th$w7qk^AHR`z<6tlTUd(S4srQGx_>JG<{v!FE%U=AJ z#_!x-^4nA5$CLcd^?v*1CMirJR%1f5va^ zj`!lvXa2}h^as1N$?#haeZBad$4i!fYqR;ay!fZH|A^0({w3rem8qW<@~@fHPfF&G zR^6u28Tns1KG6wbUMjNv@gv) zI+6dBuMk`B=RXH}Rk_29zu#kO4|CVi`GZ+agq*=|(Qi3}-#({_kTdwrPECZI{rHV@ zn+Q4k@n`ad7;GQ>dEouB{FAj@m0QsM+^s&PiyJD4lBZO-eSi{Vn#%Kju=2jh)Qz&E z=v1&wZ7-^+awi9iV(u4*@lBBag|U5QwLKMkqSMnil#6LE?-7m@;vcZ(m#o<1D!=jf zLw891H^%v`gGb{p7vpcviV<^IpZ2O>Uy#G6POT0=GLbYeeVgrEbYFqJN=GaTuxY2D8M$O+q<{#s~zuJ z>L8D8rRB>yqWpH*IXiN__z!ht{yvI-QU@7--SLNoX+S|?}lNB*Vb z(F}gv13&(7PQhzl{9n#idzgon{@1-B^{)`~pO&Pb)Yr~9IXYLWtCn%TiL@TSrQJdP z9POuC{bUiQS(cY%xLuj{r+ME<+J6(3r>mSColEXl>&>bs3pry#`VG70oKqj7_**C4 zRP`5pzu-@)|GYF&^T(&6yPAKg_)EpA=mcByW_6!(IeZ``x4}jg#Iu7{dcUIz#lumgP^}r-G)m{B(KoQ5QNeZI8*|AMl^%HI`m2 z(;s8ylhHM(e{DO1%7Ncg;)v;Q@AT(W8Yj9O{UQClxtm8 zT}!1uNI$n}_YcPbH|!UM_l)!MpRGTtJ%UqJ`8n+gcl>R0h1)+mQGP5)KXY-d=$tF{ zrDcnjt7%~NB#Fb?fM$i`Q`qY6pe_bpIE-8)~J4! zD^zG`q5nBQKYi$B%71^3`;YmLxBv7f|8)A#i9abn!Sh|5=Tr_yzKkOWIbX9l|EjQ&>h8=H9P|5IO1Kf9~;2g&J7e{LoRbhalLC(-%B(D9x6uIl5yp5rUK=n5*|Q2SJHQD$`hbdJ*3re!(D{AU&U56!;*vzq*e=4Ab6 zTh_wbUi^D^vi{c}oj*#){LZfi%ksmaRVv*s;`G1r7;1<5 zr-Eqxg9xbesX_Ty_m;bE3TOBA8RNVXSmibpa{p>Vf`K#F1QpowC zDQY>myQPrxRRdJ|XZ+Ms$a(hpy#6~{PxGa`zqP-mkn`_S*fmrh|Gs5(zV;rqz4ZgF zrx_EtVSA4m_qP}Snf!pyDpmQH&i_w6b$s*W7DCQ~_<~e^4_0Xro!9gEjakiwoWCPI zmA(B(UYE1{^DMVl=>GpeC-y^2`49a6vuD+LgZV0*plmQY!T-Y#w-RBQ z+3*D2VehG#KbH8Z7NI7T|LfjMdhH;O;c}HZM?DV;j#lYuAwRFlXpmE`I_)}sy`b80 zynZa(cf+gW=}QZe!lwEPG`)!ufFSuxWMQl5ypNWh+mEJOifz60$92xzyl1=AzhIrx zA)lXrwa6#^t5+2D7fy{{n4RvefBnX?{t|Ehv1h8|;JTG6LbPI?5f1&w|Hj*Mdy&CA z$nu4KdqojxPx<$0@RoS_8T#My@!J=8`TubT)q#uwihJq3GXBQ%uiOjBrzX(xH=Gci z_4?8~w7o3f8y}t!oeSI1@_Z8ctrMd2kmH1iJW)~Dv@B;?f0XTw*1i*>^V>Oee%XFe zM8~HYlfge=@9OkyO{u@Il@2BB|3x2?|727Y=`EDsnpM5^Pp8#R|8F}>9Vfg&)q8N> zH$PC}Hn&qjzxrRgw})TE{C{6F5qz*24kN&g?FuVy{7v$wGe7+2&TpvvO8l{@+W*Es zn(IeqBNczaFBU0&-LJqeN}7rAy~O`Uxz-~_4jkddL0!_P5#28`At z#tiA#w%e$Y{YTUC=|=0pLkAA*KfG;^p~FY^y=8F!ZX*VcpcU;64!?5L$k3>fSB6Fo z8ahO-=n&iEn*PJ@7&N5s;LC;#7)mQT8m(^`I&?7oI>Ts9C!`-|;>TI|k%b?f@Z)qs z>U9&Jj81Oc7ZXv40RJ}Fp4B0*s?cCymBsxy&T-!S_w(_+DSiHq z8pI#GMx`@of1CUO@h_?n)89^#{~_iN&R4pDzaMxWQu!eKXEFOH`~+OfwQ%?q*5kO5 zO;_xc`WMbu_cvDl{F2h+ZfVpetir7t-ug#mp^m1IGU6NF-sbWo2aBc8@p1URfPW>2 zqg{oX8>7=YEu0?bM<-kdFNzgAZmcc&(_eP;H@t@O-|kch;K|JJ=Fd0OHsC*~ofrEL z7|!J%&SzzwEvGQ&7tkNq6=6LQ4&4K4w^%;VZ`b=Jl0Sp_@&4Lfd#HTq;1@NM#Zu>-mS_b;L+Plp>O{W+}Dfvi~VqLvqncD>n|DH{tW;5;Uj8KxH3)T z7jpS0N&dB8DNfW!aGtyj#e;C9zx6-l>*DYJLjM!Ba9Ku_ldk`}RXZGr`ak@K(|_?c z>3>z4m~=kJ>ssFWPg<;w8&XCf-4>i~bMO)ACpZg{PIA0}{@<|)_T@hb z$&d4tFnu@OX6^rtKk%f|*?Pg9{w!jB%<(GRV2~$j@O}SBg=cX%EbhZK$DMM4 zR-tEAHIg_7nQ5U`0XV5{nG#QS%*kRRsVtiyu;5m%;g2q zO9g+BuM6o9cuf`r_uzJTgLl}$`Ww$He}n&odHra%l{=1TDER}-Z?gY%v`GIO$SE zvhoKU_a;sM23Vn87yP0}Cf^s%ujldhxDVK_%cMHRPX9Of`|1CX|A^jk{jCPc>7UL# zdinn_`&D?LyZ)u$uMFl~#_7NAS33VhaaD6K{y-6xKOOuge=iF8CafNR6Y-1O|Bb&V zUtc!c1wFQ}aq@?_{BIDy*(uvxtPezVoXo%-)!{yjCx|ATRUtC6?x46m$D`5S>pT*aK<fdhNk|u6>jQ!t-U-nCv6ZrLZ20on_#{K~RfzI$Zd%C(_gLml7`5?+a z&>a^1$N#-ETK_8Ib};aNT8p>_$I~CHski<*zhC)bkd}Xef1`F?;79qvN>lL{_XU0j zUAn&9`V(q@sE+p+Q2%;;Df$0*RYY~_S0eYp`P$NgMg4Nnww=?|-Oj!IFzx5)m(l2Y z%Ex(G^sgd}&F=M2oEBei+*(CE^>BQBa9kBpm1M-Zq{a1tr^;^|W=sExEM|XW|6e(n z%0I)?M0NIOVR-8=uTM@PWyGIc&bPJtmob}64qI3|0!Tjq%$agT*2F; zo{RhPBCd;%gZlyt{xj-y+AaMjv{aoJ`gi$<$`AL&^*2vSjz5k4$E@Sl{{*Bb$GOwh zY;NZf%nAOs+^@{y^b_q@xDVhz@9v*BJKGPzf8Z(de=E)}nkUEKb%xR*xK=%n!+DPT zgzrmrcloV5*RxEHFVNR2RNEsQeg%u;TDf1e_wt|RFOdH{80WW>D&|i9FBILUN5NaaU5J1_;H_Vh3Acy{!`5UgXfR?izr>Yq*5&YS}m0R$Pr+r|Cgsf zlR@=<0^on2{YU4ypBg-!{UY$(#Tr~$MD7&gYjQ)Rzs~d%$9?Lps}6hlPm@>Z`Pb?S zF@CdUa{g0uhtf@G>E|Wixx=B~!Ma@j(fsEsZF}f$0G#d0^j|u9@wd5%{C{lRf9L^d zbPuE(uzLD)68Fb|&Ny9Yi8uca_H$e>{3OKj7vbQ~BbtA)|BOcd^$z*Z zf{HQy?Iigr2aO&%c-?b+24y<&eL*<%zeo!Q|LtA)zHs^j{t`awO17J~zc5Ym<7CB? zRsDU(xAc5=P27L1latebUXjun?SwdP2J3_S0-gdcf9marS3!p-RC<-g2SWVDaa(>p zx1Vf(F6^zY7wP9Oq`&zXVkzYXncnis3g0veqWbMc8o*VzIFmB)<6|a9h zv|o1pvoGw2c22$m$lpEO;AMF)0sr*BIB0Gt|1$8;`Ae;3R)#w%Pd$1q>am@Z`G0hi zNs#6DdX6XbGUMdPP6a2Mbb<#>zmDZ`73vwT^CO@9e(jxL`g;x%qR({Cnbd5CmVe=6 z#(r4;jFk0P?&PfegF5)v>%a6x{wGk6*7~pYuoKrY<2>ZQ*M}xw(kcH#_+0?yh`5|E zHyK-i-}U5y;rFA~+b{Ot>dE@M^ha6#-5$yI zW6S?Kyl*-$)<8nWyYt()oSFaQ6AZ2t^h;ciw1V9h8~ZOsY9;U)uj#fMPSX6BLjEkj z&Gq`hFB@g#uXfFi|3T>gq~^!VZ(ZYW)t0@{P9CfmFE6Y=Q{cY>{>kaN4@Koa0ptG_ zZ%X}hbXNXBj{F~s^?>d}@%O9?VCNp_o?OPfA8AH8UEefa^pWud*~InpYI?~j=xodkDo2N5BesQ3%}anss-JF zPn>J#J+?8*Kg)0Na;c+UVsAtq>Y2>HUe~Fw%J9EZ7s7tjBXRrL`2yH8<_XY#j`_}% zYwC-3e!Zoy9guzn{4)4W_B?t}l>Z5k|F9~t|65o~%I_Tc|C91u6|X<1f*&7r^8aC; z!Q}yODfqhb&$zwW_Fs&6&o&r(yykxe>L1Qus$DL_|8HdF@Ab+}{`_u8K9P;$ye$8w z_&nizEAgEJ<$^CF6PL#6+aV$1AkKQ72QG=qzXs*^pyQ>ZHzg~7clZB}{|>LhPOSH- z7WH9Q*srDpe0E3t0QTmB&i*NaYRJR8uh8q)HnRQ2_v<4D%J|8fS^29ya^wHaThUIb z`1nuSvWG%2aLPAvJK_AR<16Cw=lB)nPW$`lyDL2{f9G+NFXyk;?k4^Ji2Q>b`Tq|6 z7S=PAQ&B1Sg#2m0V^^AdDQ5={@H?QBXXMZkblxZa9}hSt_Wg_XkMow;|GQcFdwb?4 z|5>Piy!r9^hu?#|rZpial-~&O&-#bTTz|xT$iM0-_7mYh$dUgl_TL_jm*0Pi{|Yeb!oRcm zrVq6IYtepHqW|Vg{jbtl`FnfiCjV#no{oAF*(keTMESQy|KCM?%JsKgBjjn9-*%kO_PDXD|HS`>15l5l|3?1#Trv31D|5s7Kf@Q8a>V}g z8rcs<&6MxgPn&u#sDu9|yO=tv66w9d{^b7g`tt*;J!SsCqP}JSp*hl7W%VmsfbPI& z{WI;PJ_l*}d*Gktw`!S;U)_`C-`giy{x<(@*BLqZXVxGm;|;pc$dmOv^Y7j>PA9Ib zzB6>AyYINd3k7a6mHue>FD=(tgI^dj!|5 zAUnnNBivV$a&E=%-54jNd}s1I+D=9erAUbPDgPDMEeq#wGat(T`qV`{g?-%FEem3rs?DrQnFgN}WSq43#JR)1QFX-+IaeFv^ zHtKEAX&-j|?;@cx_zwI>c06fXlz-0On^h(JKSV1L`_Ga8zK}oHJ0lxq^U3mO_cJM1 zoB!RBkPDwU-??K@`2C3a@cYXRW5xa>^7r=t@8nPWXaBR9eBirY0Qozh+x**d&){!! zbFG$tCG4N$4;}Xu`CrmV<+Vk5JRq5Wy|0nJX#aK1KjbHRFUHG7 zA@07lF;1sk&xhPt571u3tiwyTrwOkouIL-qKPDtwSlwzW^!cZV{mjo(_dJCDPaXW< z(=N{cT#P?+okAvE)aPE6DZd_W9E$fBwWk@cChCPR7+lV-X8dP3_;v6c^>^e1*=0cN z2V}+if6*Pn|LB4Y|6X~r{B8ahLT>42$%#ps^HiOu44v|~=RcFL>6aQkvR$KIs0Tj( z^jDuHj-R)0C;gwtv-OXAP%{6o+45)ov%tuiayh{2=aV1%{g>nC#cksJ^S#pMf75jp zhezel{^#z(e-Pnc9h@8gCrp98y%Oi&=9B!}xEuhki+>mQiDOdN3bX$J=u0tv>uLTM zWaS^^$p0-58M(3CAz8KBYS(BdoNvs2or4Ej?2dHM|11MN4ZjlpQ@4+OJ1T#5n<>8s z-zW9YlX})4PDx>uf3{yk>g6df!oPcHZu}PyGx?@h{m=Y+;Dh|LoK}PW8S78TA80cB z+*5ypD#kyi`CqsQ^)TxHeha0-dNyl6>ab+~M|6$XpIqnVOo;RUqE*iqf=_$>7t6)& zebMe%?=O@)`Jb_BpK$&LlFQVex9k1up374s7NI=m$o~%?8A-WcQ`08p3t>Mj7vz5s z_~gEhwHr{8QE8_gWg!jtyQwA^je--@)ccgjW zr`($}LHIZH_+VfC{jPSg!OQtSeNLD0|MLqo{0HElc0)f``#Bl*!})mpj!63nrpms1 z;<(S9e~0XIC(gDX;vFq)A)KD&-?>Y|LbLg|%kP36u0AAcKPN3-NFAI|J>J_?JVU;`KNr@ zH&A${{DZq?UqYeT{PQ`=|Ms(n+@|Hf)RO->djG>Wv+`F*{&)P}umSatHBX-W2X~6S zh$H{$X%ZG^^Is0eUHIoOK5W0J{L{CX{=+dp$oJEq^E2`fz(2=r=-c(rf;+&cb^gm) zsFx^zmd7EG8{fZ5!PloK?`$v1EWT++GaGkaALYLm^^e~F)2WQq|JVnVeABo2=lXr; zVWTf(t2$$x&H1h-B$5Bm!KeGa>90C?;8LtNBrfvL`+WYR{3j3A{1-lHccz>2TL?Z~v$_(KnB zv@|OJa?HQ&Bj*?UQTsn8H~yQxZsd?|Gz~czZ!PK{5Avt}TTeCdgY(UIZQ9TGC@=ng zrv9h=GtVLQO>d2y8s(q$&r8#!{kYp)(8v9}SWj)CHNAKb4ievqw_h?Nm+?;>v$ASEB zdAa%Nn*SlNe||sOC?h{LARq9g=K64Nf%)RU*ABP|x`H8#@PC-3+?Bt+5mG zzZ>i=K)veVfxe)-7>A_Xd7tH^=d9Ff&40=&zay(<%=uMXi6nYlGXI_Cm<-83$Jto# zfgN=)=9L8vO+7>YiyOZ~52&+;GC!GFV@q@9zC z{NMg5%40iI?!ue$?_tPO^{5F+g}8BcZ(~>fp(Z|YeeM`~3h{}n3eQb||HF?zc8uEp zLY!ZJ)QvKK_`Qbe#3%6ndwjC|PwZkalK+l}n|$3*4WGzHoqaFt&^k|g>Q5%V`rO1H zjtB1Je3f&Jy)pe1?pMHXcU1E|qx^IJ?MG)w`}G%VdHI%fLNfmk?;7X7=ne2WD?WZw zaU5_xW9XFUfX_^P1$rs?Iuhfb9LFvPy#$IYhJWJfy~FjJxUJH6n*PIF*}vBl{vGU# zt4>Vj-}%TqN%?Hg`ESv!#6Px=hy8s(k*7oTJ390#M_*!<6acYL^iCgnu_kC`FmH^P5V2mgyK z`)P^q*S7utQ~VPL{Rf}?wP{rT!*4hB&k{L5-Tk70S_`}Nu#YwEhQ8iESzpxW*Rb2* zs(Afbc88Itvo>CT&gT9Gmi?RzIRscQW7|FTx90l=vGE`FKlT3GsqsY_{@qiP?Z@Un zvwt1{b&}ib0=*@rrbBQ;x_l@&8Jhk+a?Zxw{AIF>Cy7!jA?Q>zNYpKldt=4(*WTq5}6__+w{(`AL+2 z&L8XWve?fzS^k3@`5)KV@JW7Ia(~A<*DV&A^?9uSP>J^ID>*+sbyH!6fA@^s_-};v%X>G@=l)G#S62JG^dW=Gf5_ma z{QaFw{M7G;PP=j;5b{5H_*t(;r7LI|8rhJ9sKM4&-GP_hF(y`0$ zc*-C4P>lGefPcn!KtCS#!*WEt6L6pY5r;4PJ}Q5w#?=3M|8wU8TAjR$VIOqX`}Fm` z==vi6&x8L|-+2FFIL3dxK7JUV{I7uAQtRXG!tbyj=LR!gP5$Xq{PW0ebYfgRkOL_=?m8+)?8LceYZ=(oat6zD0?X*UkS z>sJjsGb(?MKmQ(jxM8MZWBtz`35zitmhr~Nltj(QK} zn)d$<#vhdRUdiXczN+!ZpRD(9vG;GkNb1F4MnQ&uZ?us=TQvHbe>v4fxk#{p-`yZL z=96d93vnYY(;TAnn^(v}BYh4GY1awE(Q^({Oc4Ilb4LE4`A;8f#0!RDdtrerQ(??$dwg)(hW??tjJct0o)uypRI5 zb9>W{t8Pd{U%`1L9`r?A2g44T4(*D31BRN@ZrKoR z|E-@hc1ZbqdrSSfK2Oa#682vQ|8tg@lqmmyVZ8(SWIo+d9!V$v+`p7`@_+PJCSUgd z$$tqFq`&5gW5V^z#ZMXj)963ExVOydDQKuBernS3#w5#s;-I+vn{zy5_jvie3G#P( zoBkyE?+jerSBLy_9~++IK>ka?Km9SOmErq)8TjY=_bcz0vGc+#|L)ko$^Rb7{HOXP z^RGIX{;JKty3M3RdE5Th`}7FEKTfdZ|JuWHmfPX=GxAsC{vQ8sSu+1l|78Ay4^4Tu z`FFQ7?*(x-5yZrY~=09Br|IUD9`3HN(TVOIXZ-{jx@Uy?uVj{dN`jz1-xe^>jGF*vS6 z(B}jd${*{8^xZhG_tmXbO5BC};JnJ0wvv5owo{ z4yRt0=fzc@Wx|0xtKE@|zf|Ij8!GD5@p+**Y~~Rc{qOfXVSN(5!4I29IZsKSqf)4{ z=lhjOSnoR;JXILFCk40;`%e~z?uTA+etws*zON*{c3os&=IHs%&+Quz*GNIv@l#J1 zhHmO*COuc4)vm6Kcj&MBr0l9BeD_Lv`U;kq`rF{k?t@*vy~$6_kd(xAl%YP#R{Q@N z5fASo8wW=32frCS-kd_EUG2+A?@mciT>kDR>`B_%-Sx&i`qjZ+$F;OY^WXe?_}s5|P}&h+N`7lceCikZEspqtwL2*7>cW?jxY}(gzGwE| zw`mf-!>S-5?2~5nmpxxy$pq)9{TwgxQ`a|8ens2RT{a_LAIw@4kH7W7CY;`@tCe5Y%HP7s0nUdeG zIO6l=x3_v*MSQAhbCniauGhsCtF}tQ_e*{G{`pE)f9_@f3_j|E_!$1D^vC|cHV=Kx zK4RhUX#bMmCk~h^^YfNTCk2;tc``n|zCCK6Twm=iG2gNHd~_Xts(felhS)#*FaE(h ztLVCX=g^(i(c|OgF<;iJGrpDy)3tr#qW|RquZ~KpUw&L~o(viqJJaiwqwPZ{DG&O5 zWM^!%(9IB0P#4-?cXGVH^3Kfo{cmJzfN1>Z?h!nZ_V9JV7rozB@{fjXTnrNzeKlpx zE~39Zc%S;)Q_@SHBC+s2m-CY9I^X-2eo7U{AM36EbiVi864PFiXP)=X@HzD*|0lEc z$yy0V&;KUBwohF2?cU5T`B7%qwfzbPciMaJ9s~(-P3a3ZA#9E zcZTd2x=Fge6MY0n>=!zokL^fY?Vgvewm$D(9lc-Zo@ycO`^_?DB4O>e`CRTxdhT(O zzPJ@z$^9GhRZ5=KuC9x?=3I9-m-RNYyjrjCvk>p~}nXhxVE7AnRbnEf#wV z^KT>by2X7vS@2Dk^SwLEeQ|@IF=4-x%wre#x}+b*-(KR2+bHq1y{FnqSloGq@_qO= zkylCg&|P%8ge5)dw=R68xIzESnZJhnPdJ!=-MUs@yyV(uy40U*vg_x(t4;kP5)Uu> z8h4)j4FUbvchEk3Vct7HRs(td1NNV$9oPHR#OHo34jw4pLG1Ap!MjxC@p5;i&xz3e zH}4gh*DtiXEzc6 z)CKYJot2XW&rHGds_6fxZff<>QXT|vAYt`$HzvE8PrIa_DzADc$v)@l`R8&uX@hH^ zl!roT3CP!-`^W3EBQ7xZNBbEtN6O>6tUcXY9S`@Hgcw)*XP3vrcU$qDX6C-rTjm6d ztLq{z`m_K1vU?J~4nLX{+@nnW^6VguFFQWL^5(zON@;ic0KvCd%FDa0Lbu2j*+_km zmaul^gXO-|H~xDPU))rwFPt43WH7!mO!AZRr`~TBy4TM%;XuOL`4Zog`qcZNRp<FTrA^EmLi$=`pL(1!ich!SUi|{)ZNFXUf*!)(u&lkc6nl!6FWvu250&=o z{WhWd>U6Qsnfc0ZyIts(%JXV&edX^UVR7y!x_-%5LA&ij*ZyJ&-_Srg&UT@z1D^0` zF8UMuKU^+h`%GQjPH9Jc=?U$Wb{Tx~+ZRWCuEf=j_<~F1+y-&P=UyoH#Sxz; zakV49^re!%xVkRlqF*$7s-J{!t>Dp@d!wme7Piv%nSDRd@2AoCv1b~`>yw}5`Dp#} zjKq)5Gni0d?3ZymTkltQihOxb`)9b4U*!EMWG>;KL<=vre`;p^r}CtK2C|&l@=*A5 z?q89%PbeFzjh&K8zmVfC)_jYrL3j5v@}WGhWBm7xfk-zdye5I3KGl?WTHwu~J9nCP zss!=t@?6{?zBeu%*e{B21@LW{Oa$hETZYeTV8$tI{dqVqeKUMm-)ZYF)z%LgaSS_k{wFT_Jq|1$8^!11 z`*6KUas5@_vSs+(Ka=qVgN(i9iZ6I3uGhK%5*OvrwZ+<1QGA@g_3=Cz8;@L-w{97} z^brP!tv~y`o=o|}J|wpOIKPE_M_7yfWVxgN$IM@PMe(tINp+G6E^<}ewq^L-F7jbg zuFdf6VCb9auPC{GafcfHQ9lvZVn1Dki0}RU_BTfHIe32$UWwx?ow8;4xcwA?D$3$Un$y$W2)o!Svz$L z@$F{n1zUft4{iJO=hcK7V7bib?_ooCpr5)t;$pmmcf91xC_c6iUzf!7SAEBp;Y)Qj zeA)Q8PRqvU4KVt%@p1hz`K}9JIc}7}|KzKFvHsZ_=etx z<5PDgF?Wj=3`NO4*J*it@2kqW6SWRCYt_;jn6yD=)=axcHGA2d}8`L)Jv}Tj$JU2A2#Hh1}j_F~%{YH-(H*~@{xwD%yX6UF>N6MYS#ur*or`y;IMxEZ{ z*i%Q0J8;bC@s&dBkh%2v)cQ@rMYt!v1G!DidpXGJA*?$l zo%Z;ajNALqXTL)Xmwcn+4kt=6kDedCX#ecEg!ehQU@l5g-}KM@WB;1y_F zOgjJiwIZ3nlb5YS+E2b+J#Wc|W&xMJIh;rUdlx%jRF`+VjBkz=<4HJt0E zW*K}$On*3vKo#>xI&Me9FUdR~gXdr~|FKxt!uFiy=3>wp-$6nTFE@O$Kh}{Mz#jsi z>8yNg^+!qN@2cHoyn8^C3_dkGH+(ZNUgyt9#up5Tm%qnZ?_m6p@_!0+uAeCd-%A+3 zovFXdEPS*h+Q;JEI``A~CP40-|M9b{WL|9J48C-Z_^7A!iKg9V_S?P%`*P)jR5QUnE&;_M>_GbJt3X=c-{-?Hom3chk9*#>#T5nbsG38(Erlg+xSfi z)g`pIIm!4gvGCP(z5@5BAYa6H8qXbnK0a<#ihXl})_$0SgM6wX4>j7%OCb*2R^|9X z`k=m-UJ)&SCBQdB^rvd`)f33ao12X9iJm4w>W}NT*iU4>Ps2W0j}Tw+eW)if9zp$W z2i(f736r3nxW9*|6(Cn>_&@uv0zZlK_+K6k&$scB&qCn4c$3sGkFXVxI{Ch2d}+K! z5MP*+iZ;EbMQdL7jZgqyv_ZPI4_JDz^8oZr%HGFII2G%?ZXAKp29l} zmA^de-k*$5uj|kk@$J&Zv~$!`cvJpu>W}sh`&ks?#s=)S;{Ds`L#FA3SN*pQz5sN# zi*tcHh4Bc=36CikKT6_IY>~pEEBveDhg8AYbNt7WQkh z^|v$a5b+&6&;ac_w(IHYzvuIh1S=b+7 zJxm;gS#IGRG@xr$6kjPAc3zhD;nDmIzTm-R{n_}qZ8JayA^gzI`O@P z_C2`H;BJl7j)R;ikGk+Vh`(UvT@Oa_aeekvq8E31gA6|Zq1^D5TKYgXss{G&ULWVT zc&xFH0N=^T?}M-#mOt9v4O<(#V0@Puz^5EYp1fhd7xnv573M*4etft-Y;BQhj`Hte zKWp}@>Fae>`l>RX+6w)F)P3>(*;}hkxn#MaeSU1w`F?ZhHYgX^SDJc#4&^%ydUNDU z&%qD+!@s-mgy{PELX2;|{hR3T=)4TRRBf{UYPl)3r$$;Y&?wV$*R``kT>(Jor?0xT>W|_SBJpCnS zuIeTDn%nDBhP0LUhm-O$_?$-#KA9#KUi39SeN~13<^5cOes#V&O91HiP*3>O>#F7p zU5E8{ZTkLsLf7G~WjdUmCtfa1k@I1FHC*ylH|4AS_7i&N25NMz#P8BT-6i8Rs-%Is zNG1u5_qo3L@XJMi z5q#+!@hQBA_*n13bZvf#?^B@(vOp?D*Uh1*RCmN)Cb6F1MGuz>goA9`ez#v zpY1~_5_*yI(@`IlF$4H1%WwVO_EVzuOKXfz_x(d6o}R_$Kb{-DLdeOx%(QdJPQ3}f zNT;68Yi8u(USZ-B$A^edd6XleD-fUG0f#UH_>4#YqnT6YM)3^?zVB9x&PHYNc?)vG zXX}I6&qu$X{8E3Me@wcA2gd(q?1}q-5cgiN=hOqnZe3;opST=^XWhMQR1_ckFM55g z|80?Kg7>Wy*4eVAqOaE#>#NFmDu1To%eyPCzZU;Sc|t#v`fCq*0DB{j#z=?uS%&nR zS#%e4dWHBw|HD$NJ2Y!FJ<56ipFUrf{Q;T!McL4U8 zN;j&>W-7l9=D1onGpck= zi~1XPxwH>YeaIZNi~i@SAKk;f#N-+#7o z1Ed3|%bPPs_AwHdf3<`o-%WOCDe+~!8_Un$@*bjprzNg-&rQqrFExD|{k$%}a!!~2asWt9HD;v5~<-y8Qx|LmE3wHWg9pGvmR#bqX?Dkk`-(UY>? zA1ZNf0qJac7NUR6_a<^$h;&G&KJt)Gx{Kk5?^Dd)wpXw3&$noN%Psr7_EEuCMJ}YT z_Vj;;?@F{=HojYEpVoWRC2Z#^;^lR^72nnu%P;Z1c+>248lSzt-Q(JRBKT6zML9+fdZhci5PaVN?kheB=1+r2|pZ1w4 zXBM6Md*M#Q&t~Nh?F{L*{wk0m{nIZ$EZqNlBl0Q6{;3~ozE?6g`TblnKE3aRzKHK$ z^x_t z|H(QpasB>FYs@3wZ>IcdJw?kO*GIEV+$`-;v^?x5{c<;JG{_ zclXiw`@@Mh8G2yNFSgHtXZv;it|mUmAsnQC&joRMd(i1I9`WsXP|Gz*_#P8{sR%yr zh1~G*J6M4ISeb7sm5i?vbmAbsNB@lD*Z~PWJ10(W#|+@x`ulM1$>I8MMx*|`&Uxiy=H`X0Dj_{4e6_{y)M__)9G z>VeWf`!I{oc{w+HN3S$EYdXkfbdLCL{4UNfvQagl6F2qu3+#||;%f~#5jXMu34PN( zQ_KK9ak&VWPde&2jc=i)zuLE?{!C}}7rc_2{+>aqeo{i?yvbBcnI|bUUS;@E0{`pU(?*2& z5H7~|v6eqd|N6;n|IAyKtiL~GA1!@V;rW9$8GZx2*MO{c#&-?+XtJV(0UDIG^~%nbJPY$-dvFUQ5Pz%wm%;@fD-Ku>05B zBC(CIOr1Hx~|o*e66b9{H_DzVSd2uwux z^<;cgTEzQjFSCDd^3z@iMg2XFdB~~T%($Ytt5l2I3||iBUo-wCXy*dVr>w>UZ$eM3UwqI#=^px$p{tK; zLK5w#7UNFN59WKNg9q;U*vKOdI?vTP5A_T2bp#&fQ-~k*%Xd7aI%$0A)&}N5uY=Kp z#u5F#;=XUjd(=?_m3E`D>k@?NTccu9mR43Ow($AE>muMxGDH zgZGfIxSR02H*=uu^DFy(DoWN*T zsY7Yc$`4}((37pdGIlhOUK;*V_|u+zF;>6Sz&>{wC-qANU+SIQ@V#1N?27#`WTR|+ zv``Y!6d_e^>;2l_l;ehAX5YyHXsG{Z9gBCH ztaA}(pF5B2Gy4Rvez|hx$T>;%i^iv~0D99nid1%gm#1!&dy(%!QGPT}m4{0I=N94b z&XUl5ILpLW(@JFD*%DP{Js;&?V^}v#;>-6Uj*m4s--Oi^S+gRpE_{?T?epWC57YZ! zwjusvoG-rVDS7`JQ<%|T`u$}4)VTFkWju8d-UsaVJ-|7Xq|-hF)H|d*NawImjK0-7 zraq$GHMP<&M|^tJ8~p{%u1nls>28sizS6@?`(X5!{r=AHd;Xo>L_gis;P$5eR@1tP ze!8i*An)`Y-IR8>92Wn6uxNHXJYDW{r@blm`BGj+fBuTx^jC}dOR1u1%rf+C{ZYP`upL-$+6R`ujkQL9 z-Y16cAhmcrU)(T+-FLbv?Yhc98S7H*?}+C~1Gmb>5BlA9&i`8Lul18gUMc8r zj_mj9zLDL()cH6!{c(PBfPH9~FV|f;(~W%=Iq}?Q=1YA1K1TbbJV+-#uE!$11PL7oyQMsA ze2mBRudJFsEn5D#K4+TLpXth?48An*vEM>p+iiW7-Cwt^{>ug5qdeh#yb1WV`!Cch z`wQM;*?)FXw*QiTQrdTMb+zv<(k1Q_@83DpUlr_=^LL9^%J;ct+5TtnX|n!SNjJ5C(KK&PG@Ja8AraTuR^2^Jz9yuZ^PnNKO+GZ_AH;5m0{{mlhF zet#d*N9^;xhN{I+rk?gcOUBpYj5t27-%Pz{#ub>)S$7(~{2`!&50*a+aQfFGHE@i<=V2dVwtMvTzQX#V{wk>_$k*Ie zYUg|7atFJr7INkLI4!0M?^)_2(>@d;pDe)bH@dM6}MmC#`Q`0`}`q04xJ*OLa&~90t$|kS&06{3fT;eKV}8MyBH{ZjN>j#~K2OG{_Yc+=@fBk{Q*|-zHL_FZwl{Xbdey;= zqdzk^Qde316qF0%t3>?vWhNc!djd0nKNo%t{JT?st&QSa3jIARdP#pT`>mdB(sRB@ z#^-!w5+c57kZ-Ws$QRkDoqjMlJkVR?#>2puPMdN`J+Fvz8C~@q>bysZ+y_y-o zryPbL{Mb+J!}VixpEmig0KRwDiG9ACr>=kA*r!^ZjPLrMasACMF!Jz6#K#Alc8Jqy zKQA_dKBgFbSAef+ln3ga;h@hu9Pv@U&jFoY8Gg{uPrdVURDWf+oAIU6kL7)3MbLfjp-GVX<9-Y7cJcaiJA4;Ox2y>tCYSA6U zKfRC9AKM4&DU%O=xbVA;IwN+zFTYQ({z=|fzslnCzse2YxyYa8pZP9DeMmanhqFc+ z`*+sH+krxy`%b!pgxcYEjs0-_ z-(U$kmo`?l-^FUwXvHbOsK&=MRl91$_K|G+{5%-<0h9L3gde$9^^aJ%IA@O|t%4wT-tA)sRzasEN;vFKc4#%E35G8E!lPe5AXe--!6>b*5aF zgYJwn>5!fRogVFi{$ZEB@NUxk`}#A?6W+ImPd)5Wq_X?VN6#bDGM#^a{Qa8ydHY}O zsI)uKQ{nkCw*39C<-R!X-yM7=`+1A|=t0R}&W~aIO~MaYO{Z`}ik8h+3alU&RI9cz}*SHI0)Tsm+oPv6R^*!_bJMu_>+U|dphr6nsisDUw z-;UX2=5dI5hu4{>?N%JcHyrkP*hJ}bu573t0lwh7Wcz%?m`kSrc>wm;vGE;h(JALE zP#*=Cnf?~*_nuhaNV*GtkNDZtFD$Rbf!mq#$M7x{RflVQ!vpgi-~UQK6MTOZseJ|; z06xw^;Cm5$eJ+B&s*I;H=fO;l_h0tryyX)O-9dc&eDxIQ_WA0=LBGywXDUIbw}L<5 zpH}!l6TLnsZLNO@&j*n6;|BqshjRjmi@rWLKwmaKua5KMQ`Z`NZupc^HogFK8{bmU z_gIB?qqpg=E(e`nIexJIns~(*vF~G5*l=OBlwW^pq52j5;?(!a_WA40CPCuMoa21G zu{Y*>Zc}3iwA*6bm;k#`_tb=x643919lAL8xfJxgBTYI1&PgH;+*S^L(0^#xvs*^X zAKUlhw2Z$rZ=e>=G3|r9AsL@OH$Y#+HxB)<)P(r^!!EzX%S~bUlu{RhUzR8R4P0O2 zI1b+`-hY`){mnA+Xl! zbw)Q~)E|=Z%~@g+BEBh@_s92cWTRH1pGSHjZuH*@6)@iCXt&(ohW1Q7odG)_op#H7 z9Q?Q>pM!GGxo#&*~n^%xFL%#T?fAN-ihn4uKwAkxh*7~^RY3Xl#)L0!^gZB~G73)pCAa6pi_U{EIM%?W2Hmf$6IuV8Ne@tPn;{R-8x*~&uE+<>2;L8^&eUN`9CGw z=WN$JS%n1tU(b)M0Uz}DTKxUVy8IPBW$d8_<1c3o%v0{{0yXhd)ay9VmwKZ=aZubo zo1^{=c8|9YXJCAn?=|`0gWuEmK1IFqJE^;eNr!sn_d@3b(~eTFNG{V)bU=7zO8;2> zIRWFlR}7Q60dos8_)@(9owl=V9JV!oGS+}B5aPaH$>y+pN+w*#XsI&p9uJb;}O z2lJuc=wI;e>hS#DQcHhjsRqiuH>*GQ*WB=B^k?DQV*TxztUq@}Zu+}pWxxBP?F039 z%;*LxeScPe&c@vEW%LKWDA)g2`s>`g({zn5W$ABJ>H8 z@ddyAP5qVqL;73w-|6q7OBWxSq`!T~NewqfRHOTDG;Qe9nvE8Dt_chSxPgWv9_M-!9{FD7?yZ>2*@Ad3&v7F7o z_@IY=scb_PUR)>Yj%=t>=PUK4m`QY=TDfVC5nHKY&;0qOUO!!n@4m#>SLW}!&o)vm zE;a3Y>fg!uTF5-gD84FwKgN4HGrAb_Ak#;gdcnnw>o5<}g*;sFSIu;QZy@M3((#Ip zD|N*@UeYR%F4Nz;TY(kxKtRou3xqoHVxQJpX{_s!?B= z{qxao)6TemzK8vb9L zuZ=Ij{(uhnCqD0M!x#1D<39bRdyT4$;tPOpgJqw!^|lNj>&4CRO*Z2*Ha>Tm>1W&c zQumqs9q>{Mz_PCl1yxUK=A1@=JUkaJb-~_;~J0Iq0-Y z$|3Kx$>&7z@%*0+Q`kc>50*CAGJOBo`IGYvZpXsMeiHFeF7y|@e`D_`zTwbc`z~?) z6&Gw7KGogyS8V;Iz^`qeoLAi%IH*6`vyG4XquywrE}mbq&#%p+_%>pF>V!Y#{U~y6 z*g|}Doxi0HHuc43_+C%0U!3*k`!#XUJ{8X8qP}c=cW;TA}uiC;b!^d%E+dfHmkO}J-&by#KXrJCFgWE-X z>W}G^gPwxV@cOF@S47|c(&(R^>dE(&N3wN{Uu5tRHGRFmzCK^33hDlN7sj2j4i04X z;zrQ1?wRF_^OyW$)4wgj1Dpq?>YMs^2=RGi^lkiuYvMS`MqT@Z?ty*2+5S0r;J0h>-Qp1Q9gyXc z`xhzf7w#hd+Tro}7$9%v(XRR2(DPm?()gESebEZ^@1}ey^Jkuj=)ZBY{`LN$QT^BT z{UWn37xY#P&bY6d*EimNEXMwD-r0T_llblZp{P%Le=;P$nOA60x~c`?{*80@nH}EY z`*Y7fW&Xk`MVavdALn`T^_#vPAJ8>j3DO+^`{ej8vwKZGCD1;#|AssiJ=g1oM)CV^ zHj9T_NCAjGzhwV-xQVDLdY}2)KJn9EJ#M@8qW?aO$N3wLD`o!aup)KZBj)>#-_+=z zxasTtpBk!y4E{H3X?L0K0rSm#lGI5(ly(KPu^u?pL#4&7^$q{t#2!k!^!_qG zR6zL$_XypDo_PNGT~tcksYuU1O74q0y4bAc^Usm6xVkRlra$}gFaAiHpVM(qgD}0n zsh9LR^+qy7hjx3R=+BAl$JJM=96cW@b$7GS^^tO+WItF>!rBd&_^yN<`K{e39hUv` zQoh6&r{_<3^1PCJ+HwArGgIP=yG`uJljo^p59zrQSG&QDbJIV|e>ns+_NaGXh}Qq! zZD#&eTUlS3-jJ_GEQ0>GPA>l=y2k7O$GN`Vs{g%VsL!nW|Br{`^b+uOy$5=0V@Is7 zC%hbw?;`%GH)ipx8%V{?h$qcNc+oGq?AkG5{fBi~T)%SY4TAs6Y#-DwHuyQOj=o;M zk}o4@Qarag=AejnLuRl>n%T|-`y{xN;}^%uT$Ws?2t^?~~0dN++z zs;G?pcO8_Kx36gR8Ply9$NH>KTb#8+Kp?WQ=c zH}iIu`{FJ;%*1zl$oeyJ%S9nNJzm0U;ziu_pIiEA;`&za4fD9;nD)2*&GiI-qYVCU ztol6cDn#Z#u3i%7=R;ZVMc%YOQ%uW^#J^DF6%Aja#UHspajST^*PM8GuA~=D-*CVA zf8wU!YU`1slk}fjX`W3zY3#n+iE;g>#Vn)w&65sMH2l;L@$h?=J*=^wUn=3~e9~Gg zz28J0(eyW1&p&R(-yFH25I6mCr@eJj6852z z!($JRhrhA(^SC^(*RS*W{&VB_jvO2h2NGY$4f2~Q?Uw21Z_GZwgXAAgFIW6i-|u)r z68=y1`Wm_Xe1m`ekMZ{JlY8R)eQSmNlKA~i*8LXe#qZCR_)aI;+xgXPL#N(1_q{i_ zRob<;;@jU1DtC#emn;5hOB&slg#U%741Vu(WB+;`Lsb9cevurc{dNm>3f;)(OgLz< zlhUr?87Ay+?4Y!}3h}-Cos@PZGJiYNXB&wxZqH9lLSX?ui z4;|*$N%9l-J>mzQ<#}Tg2L8HJ3UQH z%gz6;mC`Q1KkQ{~D;0>V_|)8Y>&f%triwgt{FJ1xU0oOTPXC%&KVFf9|2lND(j!dy zZ}z;#pIu+xUG%5xztkSGKb^Q4(jQIb7pS0*oZ~C5sKVU$sWS#C;_8q2xTF^eyc|mzke`T|4EAo21_l zWWSN%Mwx#vE?h66To-7L?G>yEH{ zTRZ7T$TM|Z#7+OLUk5Ep(!XoE{jx8$vH$yj*8QLC`UK+l3)(B~_HSYM(K^!?_cL~z zv{%{@e_G;dNBn{O){gj{t=cQ?h}SD>ueAHKWjy_DmKb@ug_6Fw9pL9Zn0y^d2>|8?++M4&gVmy#u1o|uH zeTnaD_BmG$;`@7<_LuM+#VaQx@PGo^k%FfVg{v5)hRiJSg# zU2f&_!~aT+0DgYg1X)eO{9w}2x~Oqhd?cq{UvA{c@9vZr&;2Ex@+t=Zq*GqZpFZDH zD?sS-^YIt!_uq|pemKTI&mSQ5^+WmD^M7|t*8e3)$A|wA=ik0>;)AU0bAiinV_)ni zKa_)h*;@ubfxfdp*L&4*Yy}j4{j6z%0+v*8|Qnv z_|8MSSOY$tS*E@o&WtU;1Y!Eq*Zbl8K1N%L{RKW8A((=One!w44$1g=ex#2C%H|n7 zDSWqJx{qP~whOx@{cG-lGf zdiC14*8KjRe;57FXuxRl4w8(2v14j1A2IWbO~V=dW%R}b+Jdf>;g9uS<1bOqBR=at z?$hofzPuTPSKdzX^f`{!-byFSIXN(XHG);}e;V}Qk-GjX$9Z~7VgKc4OZ#^sxe;6F zm>d4O&W9WE8|>Wr{$Za3=YX$<@0j@Z`NaG#=Fc|m;snI!xp4~Li#*V6k9JS`)V$l< zCav#Scb4csa{i{@DH%V{r}UBFZ?JO(`(!@cZ;0~&3UTA?FAYx8Y3G|DFVb5h{%M$> z&vxDc{UX#aq;~|}_FNDshnB|=3BP}N)IZAqc}EL=zd`2wQNMF;_>aauX#AeX{OdYL zwI}c}zJmwseoiUqJy0*Y^-MWpz1Ro#!uGNcGq!veVajvxJ!kJ59slR~vR%&>o4=rO z7JrxA@DBriZ&6Jw=b6xR8g%Oa2YfF}4>sTbsQ+GFO})T%Bh=S`-%-Ef{9(%Fsk`I- z0?H-EgalF`(6735$7WId4!(b0AjQi)JyQNllJWC=Pao;>`!w|l@@C(^iPQdG?BIbf z(f{#&H1!>EX1=f2#M?#nppgsrk*{FJmd|uZUNSpar^|l|=clv(`_jJ!|G9aY^CSJP z$@qDGq>lt?pFx4KPv%p8AIiDa&SmNa&?y%m-=hPoo!biYrrE!6kU?{cPJ3bg^qD@x zMURv}q4C@2haKHqzW;PC%zppvX7JM@=b-ggD8?K5C**?fVh-*;{l1~I-lE<{z8t4_Mf}}( zjwS4Z_Pl%z(g(e+^6w%Y+CkCPy&i~`e-G=&t{Exq|N8}5{5$7{e-rSewl?oG$WF#O z4SzhBp86k)_d?pag9j$m0uSUxxx8h`k@)L>5SLe7_!*yk9o?wq^rZ5?@lUZMFMB?x zze{fTf2(8u1NU$5c&-rJ&6UYUK!pnuAXIO$U^yx-`B9Y53h zUjzH+`DN~3g8!-r{vNsEKLG0>*$-j9vswPZAMxAo#l+8j-`S23XC>Qz*ah|Z%@;;q zF6g^6W6Li`nCabf>*)8R_RsSrDwfN5`YY^ROZnb489&ee@{umjQ3@V0?Gwm~=eT%Z zn0kTwY>4w0SpHo+@FmU>BVAr|!|UG`eP7T!bT;)4udb2A2;%2 z|L5zqg8%IZ{?gp=--+{h+&3pbl|cy0ylyfOAmrd(K_+3(yX#q}{S#am8)%_Yrc2R8lU3IH>$Luz1%_|V|EkvdU)&(8|6aM_uVDRuat)z}KKC8xIWo+D2I_Mc@@;~r ziop-*(ya-v+w$Y`V!7D;(YRdNAinKYfIxprr^biW%omzw&5_@_5B`Va0fbQke?-h@BK4=F=Hw>?^= zha3JSQ$|MdZ@~EyA73lwe_@^~m~ZUL-!mD1!A|k|Zv^(IRC?eya{biCq{DNGXt(Yn zgEP3n#HT)Y+uh*g_)j^~x(Vm$u>P+Go%Nq;Wy(KFNrVIQlj%FS(`Qz@X_{>1Jw z|1EW1_WT0Bx53Z)hCcUiu0(ou?cY3lPs0)UW;y@iHG`k?;);>Zc^eF!^Vcaar-Ss% zeEr?DyUd5k?(6JMmU(d!u4`XsB%2vWrW|fR{HdBK{xr(}BH6z>xU?X%f3;thtbdJP zUw-&ssSoRz|Mz$I|K~nh_Wu9rrO@n~M$ar4?Tg~_B|fl~@hEo^hK%{R#nyRwZE8<6 z&-49%uIwKid{>~(p9lNzlZ^lT?c?@;A!yv?VF6B`wRO>uow1^buIh@ zuP}U*PMpPU;&kF^fPGpSpL#3Ce!!%&ycD6o=pS#|m*xa$`Lj4{QJ15@jtESCCcT8|K(db_;dC$a3VNVW*{XWy^Ke+!h044%h+vgvD$yqNEB$i?g9ha?9#IFC@zqYNBzG7mC3kCO8U z^*l*O9On`0d6KD}WG^rsaD5cN!u*%1JLV~WUZJX;Z}9m08vN8d{o0+h{$*Y& z(tQa1kaXYp`0oYS4=m_n-g62O|8}WjqvQ9he-l|w&(F~GI)Ui@`Ip7RBQA)CuNV{$ zBb$uJeCfaX*0+^O^WXIRFMYX~_oe4~>DeTdTmB0sA9wX&*#~~GD%i@*KXXS)Slq&{ z^8O_A*HWVghpsu|d*=*R+SSUwhZ>i^^N~us*Cf6Ur(Tly;?}%u!a>&~m3EgNDg6;i z&zU$lbXUp(i7@_-N2-*#=gt(Hi_DjM;}Qu!QC|fY3=UlgM*a~u{SntZesvQ5*H@V* z(lbnd>WQ8jf8z}PkHi4<{MYoWO+&X>1r-01^^pT#1N z*PDiJk*nv!iru`?G<4zo$jJP@&NA;v`N>1p@6;MZa2P03GO z3*pzlQRY|6Z|!&yH~ovs&OSK_zn=f3FV``4|4+_?(wP3vJSZLif0_rS=R#dC^40Np zMdv|jnn5FY@PqZnwM*{XTbKV@d_OJ4_un4Pr2g+$pia96_1^(T4pLmhi@yH;tM^Z; z0{vIc+xWutb3j)1_k5P4@9|xn=dG~*v)jcIB*gRI*e@iGONzwaZkP1}ttwQ|vO;x| zd1Tri(ygT?)D9Q*PQP}~tx`$)Uvi8o|LL0z?r~qn?SHMnqpY?6s}*h_)m-%c;i4Z` z_(|=tRp{g%Wn37yI5I&x>m<6@!lF{VDm0)AHBlThsJaYqb~W3Hwob z*M)!5`Tq7v_;>%n;P>kL;iLLHPqh8_zcc)((fyTndu?ypW5dl~e;qu=guQL{R@xO$ zHR1Hw{z|+1q|VfF(|<@<+=JsxdQRW|GXK55`rtaGf2O1_Zu#zL?}zkPDRFPtH(}=^ zi7)POfs$*_Q!oO~jdBS(6hd=%j`;NB%x1A*Vk@lZ> zC#@5EjI8JDcS!txK?_Mn^yNOdP3Vprpu_np_1HF{)9pXg(mvNmI1*nwu7^lJw2jhk z-Cz?xT`OU6yB-;Teot*r(!cN@*(P)b&F1}|8=fCDH3|QLi_H_M&rSd5I%%+?_}TyQ zeW_o?vHz2n-`cVNlfGNR;@JOj?vc7n9Q!|Nmeft+!v0UBJlEC#2_$Xp*#Ge)E$!I< zNlRMVvH#=G7XHNXqTcDBGZQdY@YCNZoU4_(>SvJ=fm-Fd3QfF9_IRg_c2+Y zFOKW~efh1OUN7bEBzuUCmHh$4jqVqJ{yr=HldSv8-!t)@i<&9zrtKj8<4FB_ro@ki z>%xC$-`2yD@az2}!wdUH>U|=k^Wbw`|CzpiYo#66f2OaKu(-O`f2Jce^i)$06v>3 z`g;7ofy&RU|DQ9%q~pvn?I!bGgYP^%7nuD&_UG(u_X! zIQvJQoLwFK)K&F9B{%&)yMF4fN&4^E5c*$eaBG~6rA;K?EbsncIUiQsK#8y0f4@S) z;wn~1{t|W$?-sfnCYdnnxC8!W@F{s#yUDZT{C1Q6tbX1-RMz*4yY@7bKA)eii=kYJaKYdpT9@+t<$AGgS$na;w}&q)^z6@Nn6}H zdH>V+G)-STzucWE=e3Kg>pK{6)9?LI^)pHMoBdz}<}QxvKimH){V;2vI{)ey&_T9S(MBe{nc?U(-E2X41Xm;XXn3`#D}|LgFh#e5Sm-(@H6EnfCBqSbTU!cR{q={7ClOq2QS}8{yFY2BCW8V10@t@DI z{@p+PuJBPk&L8dn?Ir8iwLbmbI)(1y=i>6_`uKF;PD;B@dYo9|2faImj_c*ULpv$$ zxL)3A(n)E@_3~<$PD;B9K|(m{z_)yEq9Czbwx+`qPt{gpX>!E%_{-wxyY+aPc5Z>J76-vQ(`D7?789mkU$ z(C@%FJNG><0i9k2ew4$X_VF#T{cV>5|J6;1&_t{rvSs+m2kkAhKQZKD0f=@Vim=Wm6>D|WEWj}aZ+E2hf2?sYk3OSGu_2h8y zr=GZozaH`=&U&&jg;SomZ3~C|nBLGQ_84#FGZXR&aK8FZ+sq8DZ*HLdPC&W`K4l!qomEo;x+b^KnD^d{qJPgVEkmZq&B}ajrdt-DQ^lUs+zLUjvw- zI@~hgl;aPd^!UTdrv~fKh3J3$FiXboBWm@>8I@Z;Jb(N@)t|IJILKdGA1H^kKCqnA zdPw=C^^kg1hj@&K0J>|AS~fS{{**#KC4*#t$=F)?xMysgeA0HvnGf1qV7XII()G^4 z4QYE0lmqQExH$jpB7WM=1LZ)w4g8)9^#iwU;dnskemeg2y>iKCRc~p3#?{Kl8@+Y% zsmp%F|10vL-qG#$&0~r02bVy9R{SdUi^iKorhfU>$*1B(eJ`{Bj^Z#sV!xWxr6vRA zAz*LdVGo_ZpkCd9^DU+@Ij_+Q`$59-iaX$w5Bn6(1jSh&%hzdp=yy|`dWhS$a7uyj z{#Nx`-D&kFLiW_ z&ov3pOPu9AEEV4cpL)M4AI>+i-XVAkhw0G$a@y$${c)#i|JYq8I#XGDJ~%uxw|sa$ zej!pi5OxZfA7E~qz($AZRfP?Y8 zQPY|XLODEy=XLR3rW`iGP7LMdfKQ*4oGFKXDV%zN+qQ6AAk0UH`z9Y9Z=booutD_4 zT+l3QU%-spI{9!MWtJz$SJW$aruLsHAAV<^cB~!buRZK5L>;x^lxOlg#0u8lW*2^Ii8|kU$#6c zH`cF}up{VWAHIVG_JbUPyLH^UGw^Y}Ave_1+LapSEa|pRdd)T0K0L;r-`be6Uv@|& z{lhC`{hx~5@>v9hT}Zxj@Lb40;j309adKV;Ik}O-p*&wfd>`+}rbys@oNFR( z*V^p$7qrjef%<;uIWP^~@;~b(Ll%9%;7Qy56eB;ZUmKp4`JHDPnnldd*;^-{v>cdD zRt_osNy~xyla@nEFiOjz74Wnis0a0-p9baIo*AmcWjWC8^>hC~+MfZm|H%4PZQc<@HFKWI1d5s?1gk^|g_+$e`4;OB!s`=2iGij+KMc{y{PT`wu;1Ay1%h?-|E zx?|UOoSAEVz4Z=SgMvP~zHarTd2D|j_t$y_V&7WmNzu2sK68I<*iP2pg}A>q*ir0b z3)Qv1Hj=oOE;GsXdhWLkcMyI;+5NUVi+yh)?zc7FIvPt`yWch~CzgYQfLp&G`w2?jXjfH4!ZQqIY zD{bG2desYd0w^Eq!Fj3q4e2)g=~af%61a;V* zGagCe?B7;ApTr$7T9}H@an@z2_>^LK%$b}ImQaKB%>;?=SXq_*^?4rtvI(& z{u0U=<24uf+}$D1NAIOKVL;<^L)`m2iJ5d#^)WKC2*~S@Qiw=hbbp z@^SpFlh0XqseIfO$@-PH8%6m{g8ukttK3-sF9aUFT$9Nu_2EFY!|p4Jm*P1h$cOEJ z8So=ltK5jQ{vdb@hx{1u!!0d-wDV)psmh1r_wYR#e|^`)Tn778?j^b9a~bSYEd;|w zXon5jNv88m3eQ8p(iEN#{Dl-=0DM^;_RI!y-nCTqrx5XJ7lQ3G<&5AhoaQNH{G6J1 zwvqXt>P1@al+S(FNc$}MGwN;Bm%plf*khz?_w_e0wdZ#qft^n3Gn3PBQ`~A;A{O*~BiT(WES(F}gSL>1=-Mjon zZm#jy?N90xxXo1WtsI)izH@Q^^}_RBnJ-wxGN0gtJ(aph zfBYUf-?pr0hMtguijUVGUMuq{a=y`9DEx%F{G|TqDd8uS-S5AmrwN4)ll1NR&QSPS z;(0dbWl2wH+@+cy=T-3wJ+Pgo=S!HSx~?JwP=djXwHf=bj8FTQH(x95^Baw_`V(B1 zyM9@@*^Bk7KG!2IRXx#AW76k;h(E^lm;ONpV!8diQS~;&`-t_z}Bw@+4EDJuLxcFo}&=Yhxq%;c|f7edB{8Ed#R?nU-(?<@m(4C91pn#Yjr)b0{AJ-ll*Id*X1|}pu7B>9lx;h z2_b);&n#*#_9=gBqy`gKrYiX~A>X?&L&kNYJPT_3-ic>h{))Dj7 zlqcoZC51ak;C$#0^{o(idfu{#8LGpj{?fgt-lO^P`c(+~R{K_qd_JjfWR0f!j#DTf_J_lw+cT{Byj>w@;>Ae#m=x|Z zLv^?jUfFzgZ~su} z!@COof8>Mqzr5)heWgU>^%l5(TBHw2fdho$yf4HvpB9yq6*j~6@ z<$g=@9<+AeoX!OqVtWyY-_o}uG(2#`FSMyt`ezcK{ekU%kY|c4l#eIRYKii3JIZe%$|scHmMEXF zgZPF1x8!r@6TQoG$!9&};~(_r`r~wy@)p`!{Rt$lCCbO?F82#jK4xcWX@n>rUw&Jn ze0L~jcV7Dt0|G&C=URSb1F8NsdUGBnK`FJ<~cjaTm z=9VkZ^zYd9a^!x>$J+GrL|$>bUV->2A8XSq5`X$C2T%fc@zXV%;_vqgjK7w3lJVE_ zMrO>D`hNGPseHI&f$o@|*1DaP3HY_3z4p}js~vFnb?wjaJ=hhv54;e3_B>q21upFV zyTE5OR-E7cC<9LW_95)sd%*W>EYA_!H}jLMJH+2>h?aFK@QZHSUVUGTpZ|+6|2${` zd&qi2^(`tNzW1^&`(K!EU_w^_=R7pyXV1Ul`vnee;Q3e1Ll*<*`OozDlIQ=zBei{` zoOu4vzh2A11D{3AC(ezP15Z25C*8thCJfEhKL2*C-s!d0@wWXA>b9}@!=<7Car-3J zu4%knK3$gdm+h4F)9z_BP0pAJ4S!t2-M{4-OLH$#e{gG_vD8`8v;4z*@{Fa6q-w;| zn<)xy{pK!tGNDlJ&&+4e5dK0t)gzAG2L=GxT}PGo<$aa9-Nq8}m%KVKwI4{f4@ZRs_5x z^<6y|IQKsoe22FL_{-RDPyO?Nr}v)$mK{8L(OuK{?_cH8pWO^}^V7~%9gL;?*OTF#ulBE&^n|kW)t3oBp|rid22$K{{ljBr&z}|o_+h8bqvQI+ z`R6a@$@-RjFzG|bu`9n5u1YmhT`^?DTT?J{i_SUwM}Qrs+1 z+`&D=u}*3lYWu?WsM8RAUr--h#E;uIagXk8PMwr&mv>0nCu4oJGKxxjgUgoo>4t85 z>h8Jpr{W#GB^aZ6Z{@J9{84{ayqDbH_1YqtpON`XmdW1pllk+7Upzc*pXFQFFXa72 z`$+o`d+!|HCh7NfO!_x{lFZMAUnkQ$dTBC0r?sn};7-|yQ!jH%c&O@+%BR-8*+4Iu z{-NUcZWnvX8^zv~P#?Q~7AyZJUQ7DVhdngr_eZf`7Pr@Sh}<9dk4*W$lJ(2D{hn)u zUp)TvV*kzATkHo)UM!s<@-x-49w)yo9f$l!KTCdvcu{ZYo^pS;*K^6|Ao>1{y}~ux z?x=if=QkE#m(*{ki}(XkihFm-P{rXg{~-1--TP$yQt18rG`=%q7h~y|`;+oL>V~8~ ztbRHfUX@CZ_R*aCg`d!H;b+$;q9^2eh3c}87D-%7TWcTf?W>pHo=ZOCLn|G*dZ_+b z`&iqW+V!1cdBJD;7k}+;BB37go{zT|H3b^(UfSJQT5i9$5vy+x@2}4vY}3V9dIJ8a zMHgdfzQoViA8#anp~^nWkNS45H0SaDSDx6zVwiP<50mm;E&MDVH57hA{`1Ljeb_DA z=Y5`g{H$E^nKe}PC#ceSOgldo?;mF8$L!c!=wFTBFCCc7PxiYAa&IKW@x0ed#^*vD z&-?P*636pq7ZJP=$Mb>ww)CGG&$C|99lH0E_veyNn`2PFHfsO*q&4-nkdG}7Z%_Ho zgHR)RvBmAnrr%GSi&Q?*LG6qs`~3EP|BQCVl6`*b=VjY({Nz&g|W>_WJ%w_e*rq8P``2=^gHkOK!AG4sfv1H%Rw*Gj3lix!3rsOeI zx?bdM-Sv}U8FyLyi{6T z!OYz9S>$M(m5A2~=l!DxG+o~RG4e^g2mx!jpB&HS0sn%}1$;R0cGujjzkr_(e6K>_ zm>(zyzPd#+ekJhFQ}}tn8BX`}OWgD0@+rpr#^+cUj?%f|JuhgA=N9S|6W;ZKf!r4w|r<{ zg7WEteYt!tBx4pqZovX=m+}xWZ z-iqe}kc{~Z^XuG}OXB&&aqfxnDd&b4C*wPa|1IbFv9Gld_$A0E z^|=W6D!2>bzV`dCzsL1wCDuu%e_PUOMKpb$3XwlA7=iu{h#ghJ?Jt4*w+dk)_z4P@KxylIIvs7d`_4I z{-|GXAburW4{rC%US1lP&w9vb#G%suY;2hQzPy>2TYva{d8T_$>O2vWF$;kEIQK+3 z?8Wn3k;;v7cn;^kBH+bfbQR8#nN+(Jr0_Dtf1Ky+pg$GBpGUo5yFD2=(_#5nPde@< zE1&WwwSMt@l{^GB)u3EV&6WB))t@^kJUS}$Cq`p_EqROFxa zu|4oS>}O#6>;V57^^x&+27WpCGd}BAGq#6Fmn&dcmN5Bfr{7pOKJ$GVuruY*pU>`) z`W4pJFLyz1`Pls%_M-lLf%A;f@5%9Lx<9YlV$8AFr{RCC`aTmG>Ae&5|0u0@vw$Dl zLFMVR(R#EH_$H(q!XETy;H71dKiX%5=XQYyYtUZ>UWEG`xFu^}Xl3A2c<&|07qq+OJ(!%|me?G;(Gw?jb4^!=SIl?`-eZRQoZ}IlWxkbkpi=GqtT-Z1(AOFeR z`jeK=`yXjNrJf@hGo};DG4-D6k9i)hLsC8yFdpaonsT^xqw=RbS>E}O8{bF8NcbG2 zOS}a5MT0ay#LIwJrQH1*{!|l}Pa))EzklN{tJR+X-@&2Y&`rxHttUv%90555tyHgg z|31LO=BigNZYV+dx{zln@bvk2KG%;Z7ut;}NBsKtqus5~k?8i4j;cMS;eugfjHlQ?VLJ6wIOP+` zaw6x@t^2U7OUM0-rJUmacdC>A<#K;~-ECIt{-32?iQm65mEOEmeClHXGJfj4?`OWB z?LMP&pnZuCK9ltT|5NkB_|3s>IdFsc+X0_}ak{fw+gs|v;_1qV^|27~KWeJ=i~M^6FM;dA?QzyO zXUFT8f2+1X|M*UH;=}sp3-B?|k+g>mok^^8@?<;LDI7%1xHnGFJfChdcA= z!lUByslfS^VGoPme&5KP_#^W9Y;O6SI9gwfl+RZvFL!^cB;(Q9_lWsqeoGIkIYf4WJWPL$DpL$XQeehq?@gwC!d*f`k zi;=+9N2?r&yTES)PCcPKDw0 zYAkhwpYMu~K1seeX7SD1!YOi3KzAx-NbX#BaC)2WSrA;puzK!H3zMri~_{IHs)-UBj9>>}ArM&1r zalH6r{N&MdUX&Z%`>%Mcb1wPq))%WR4W9>(TBCr%kL*}1?O;!GJcesaa+iTgNZMNY5sQDZAc zO`O!{*fHZqS*WkmYs7@{XN(!$=ctOwV~r{-@n>b2@8yi0FnY8_CXALC#ZE6qIUo~NumKL49WuU_SKlJ% zj49(s6!w%*-g4mZ$-{?Cn0U;DDHBJGI%0T*+}u~5bkcd_NAx*i_?XEDPn{_~B^ zNu2Fkw!ez;i-UYsaGnY{=QCgWyYg{?7b1Rd?9U<2`OJNKB+IP`@jqgIP!4^8zYYGB zUq9e)8b zg-#TK+4#K9J|O8YM}N&-BmFa>3h{fd)b<~4kp3UUJ$vKlmOg1fS^x6=yrodNUmRoQRk5Ieu2Xbh_1KkaFPM zALBOF{8s``?~e(APfqQxS^}Joa+kgkfMLJT+`*?A%40XDA)9QSvBI*$-@u2OD;Yv=lQ}> zXKBP}C+$~Vw_SayzuRT&ZzQ4(s^vV!uPrllrZBYUNu1wXX2_QY-;%a=RcjwW0BT z7QfKo!4kiFBjfxe=?hJe3KsNeWP%?gJ)ye>N&Lb_#@#ITmxM02>51R3C;1b)CY1bH;uYWrq|o^R~hiM9(%yQ|3&LN+kpz;r||ng_%3V} za60^62mOyc(fK$lztY*tkMk$@uaoi2vTd^8X9?cSEkEwRqWtP}-lO&HOd{j9_+9yj zn9pb6ZR?YG9s(BMp2R8d4k1@QXo z-zUyjR6%|n7Dyj4CckLa*2ypZd`y>i0o;A`xeE~R#%?Na%ER+$`dJg*} zw_hXup~bcBrn5S?{AgdD`e#OIe$C!V{iFR)_LHf96S?0E`*0}N({ENjtd9=z+ZX%g zf|Im;*co`+zn~m|7Xqg~IVt<<)IYzT^67*4laa1zqwi&zwoP2r(-NS6+55%J_p4_? zezUND^TzfvetW34{(2v5o&0vB{eYDGmh1$%LjNeg^!SS9+8O;0>KXN^7;>UMd3X-m zd8J%O0zV`r*K**Ls}H%R>vb?g+hduwPh5^PYxd&)su!MaH!R-%xzluh`PZvu{Pt3< zeVpLK-16i8s`bj&e45%f3E1?P7U$l?Af?B8O2`WXAG zxQ})@;-~jltpvU+`Cy;cD&TY9!27zZK5qf!h2Smve>II>vG$YuGo1VPGWG|yZDv^C z*iZK=|CWh53-+w?3rg$RK7^hx&&!VQ{$H_A;5X@IEY)S7z}>c&e0RPV#gqL`80*Pt zy?41Lu73vYpFMx?Zr?1sKg;=8%R@$pnTxKKTNBebJ6`&2HrkC|8u(h zG9@lQ>fho4vOcwEb93&)`abfa-1Ya|owSWy55D7WRC&-|Bw(|77V51xGq_2SS>RuSdcyb%fzx5W z=`MPu_i4H24{C5wCE7*b7Y9zQC-Voj_Mv$G-|y1aSmODAuYFr%sn6!*dUYfZxR zrqeb<*8ZxUZ}5A{{X(>t;2tQyg=jCq?I(UAp8q$y$^Algp8s#v)&xSkJ|g{BvG*Lc zXqzFP_YWm+mIg}x;`1FFC4biMN&YMqMe2_R%l$&UC^xzrYv!)XCBJ7Nzo7S@%P+jR zjj=@e1?RUhmgQi66F_embgNcU-W$&W2r9rxod=%kd-UIQuzlG;%_645ZpMm(&ZOvTVpAjCWF@FNB%{rzSAES{h1W+lTR z&Mh3um2S}TwC!@WkB`dp*~@uU^+M&l<@#K3qO7k8aedA|N!Gh8N&fBnTrf<+g}6Rv zB+L@m=e(0!8B1KBizLhv*XLZ}ZHeo1uJE$N^*N`km9fP2IsXJnTZrp({vqNQ;`&@v zD*T1GJ{JiuOI)9GPZ9n?C;wID>Fh21g|h2)lGjkEu8Zvu<-4w=Q>nC{J1{=SFDDO> z^1HB^;e5TdkC`t$AnI?ME0g6J-|y%5=wS9=FYSM9zv8oVlKb^eI5FwJtfb?IPw zo?Uyt)47A`BI%KzBjLLatMywwoHwu5?>imL!M@~Q`die|IWiT%-(lAd+3#C9#qxdM zZXL{rv2YvjAM(76Z{4HhdFYP{J5XF(xRfj10qfQUx%7A7;kdQ4whuS$W93_`zumu4 z{fwrxFqQ^i3w@o~LcRsw!W<&^Tm5C8tUgjc7CT158D`z5Wj~aaM|7j`6Ivq$84tfq z7GC1~>IuJi_$jIM2AqTZ+#vZ8I#tfw+W7vpEsUiyQ8ddhI!DqIYVnCYucYtZ)FMNr z@;o+vFj?*w`kOqz^*cAWFqZ1NC|9~edSAFKmwd17suM@<_y>FFU?;zt#SMyf!iyT{}K+Xlm^X&wNJ5Z6VILAi7yOH;J>H9^aJ29o(=eg%<&z z1^yiWxxi;*os9Dme4h`(I6V5HCKJ;`{H3A_w09S@>u#POApx*I>h9Ft%zU)AALe)H zZdS&^z4qO~WlM*8OLtzY<0j_P-%=UR*vsvv<7z9%{QrV|YpWynqJ3-i{qYCwThkx6 zmus=Q>{~N_1`)z)BJ$HlD2dQ85_m}u_|KQa9 z2OXB=ce|t?j~`+@OMXLB_g_+)l+S6Y@DC+F_TK1mvHvObpzybT|IzNo(rNO18T*~{ zBwT3ZzA|4lRrV__mT;lEF3Oee$v2(#OD_5TAm7Kb7r(1xztfW+J73@|ll;f}2OB?5 z`Y)0Jn$0h--6THiqs3e|8QxnO9Gic}A3Zb~p0{mn|H8(3|Hou{?NZ@~2>*Egs-=O6 z`)gAE#~)6HkCXFZ%!_qfj7j>fY;s*I0funb-g4@Ic>B8<_L)BJE3*BuS$2PO_(SgT z8TU6!6P&sD9i(tja(sIU=J&XNk^RJL?$q|zKP$-GU#M)d>H0IKXAl>7@QKFfy6i0A zLsR>zX9IsY6@L!!4p;{wpSi$$r0^$z_vHTUdvzSQ5O~@tmVTYR3gHf0vu<2MzWDys z{l7|ij;e1?zj9h8zOy;Ee7S#(@^x^IFFa85k-1s^6`iQ_n_-ROtUr?%EAHN=xPu#} zVSgFVbrb`y#(q`qV=V>F?+g3jQx1F~?9>GlgAC#Wzb9YQ4Ib9_UIFB>$W@%{W)AQN zpa(3EBH&<`b!1Cp=A!$T4z0@L@{J(hfydV~(Wy(@RZvZ!&6fXf@%<`M9dR+=UEf){?63Ev-UEk9cz*hi|hTf6MVkPiL zQLdDu4}5k{mAm(dmPZwEJ|A7yKLT{{Cm1%y$*&=XVvd{o4t7v3-~d`%!Lced-0+o8rC%md~x&7eo0{uY(lMeRFSt z592q*gWQF5iOX;|b4914zGL05Iq-(dlK8g33sSfgU*_6$p4KDsw|gyfT>(J4O9!q< zyx*#@e`M`F(l_%$C7+-5!^Qd%pHtK^bMd_zP0{!2MBv{yR6Y*IJ3jCd$(bvC zZoC?J+F?HV9A`W?WpTXyt%iKVw~c(qm)ay;{>Uxg)sG#~-&lSnz%NeWrNG}s zei)y6!2NA}?|F!ycKFnk|Izc#JToreD$Jj6??``hN&W2itvsXi5Uh`MxqpZ4!|jc= z9(n7TlIGxX+KKvHah6<{S*l-A;~*0;9~my+8}%`@ucz;a8b1Vo%J;9wB0lgU@Hv@w zme4*F1HYX6^;W3fxWHRtA1>us3H+zVnlAAw;AzJNKzG%1qZ8+YieMjSo-lU5Z<5`g z64uKtU)sl^d@rTltDUtSVEQ%C7xsTC$7axXXJ5=C;f9HvPk>w~$A9dJ=LFsp@zZvB zdIL{?Pkj&I>2{_+@Fn)3w!OfAPxYBjYxI2^UaIwm<%Hm@vmC$Z{yOIE5pn(XFu(Kn zQKG+MKZf>EoCdk&%l#LW@1|nSUkE!EOn6(^J7M`3AYd@;qXb_h>-(|5)AKmRw<~`K z@yozx6ykHAR|W7(pGfA1dbfJI%F9DPCqR7KcM12?=bZ&Sz5ih$@U%nzl?b@8$Hy7_ za*S66`5GDDo0$C>zv0%&w?6cgav|RtOVQs#zk>4J_+S!mhZ_!x6!+0Sv)}mPh*g)(+y2 zPsJ|;{>rP6j!J+xKXrmQxAvv_t;P@9x_aH?Z=}U!wXl z3*(FKe-Zh9UEe%#jHc&qlUu$I$h=MFLjPgOTIeI%FQ)%;3P*Iaw43s0d&d%eZ&{L0 z128&dUp#*!ea<}KyWE8Mu(!Z+I%GTKAN#`i-0vViELR77R+3Mu-JkG7GCyqh&FgiZ z^FL!!pCQNCQ}4-B^>VU*;;2az#-1bR?2pC|iM6{J0T@1_d{m#o_Wv=XCJVL)?<^fY zxm^7H9X>suHq=)1c!qI~%H ztTBO#;S(o~lINN-);>YsJv0=z9Wwq*$;+sbFhS6_zXLM`efPwpZD9}q%ggtsNGABPfViR;H+dkGgBJXqQ=Io}!VDC^ZiTt5!B z5x)@EkNsAXA0e(E2a-2STt9Yt%X+cU>n$)pTqw^Y#P#E#r^FXJMGo%RF>)k%x5SHb zrTg?#=lqsSz8lu*9l=6@r90(_`a;y`J*I# zA>*jujFjI(uSo~prth36XKIB+#D8k9XFwb2FG>FFJ@z_aocLq*d-8>UJp4qPer*0* zrM2bvtu|hD#sRtHYuD%P6@I1iwevVFM7or38(A;coaq1f`n*N{o%MNpe|&x3`s3^K z*8gYg^EUioU+PP2y(GRqZ^OBMY}e;4{j2r)53Ie97{B;>z2#?RWiRS2-43HaSeHw_ zyPl`c7yhGSOr8Gh8X{jnHwa{ARxUJgqi8 z``u@2KaBiJkze{%T3gEZ*aH@}$tB;T@wznYRlYK1m(bs%cSt@@fgD6~W%8csH5!-< zFBHX(%h!?kjBDK!Q~U~3{I*N+i+0lXojknM{Y9z!cSzkou2kC--rr%Q=EuKA*4Kmz z#UIA@ZxpBUTi8S6d-rxXmUva-hYPnw#rf?L{a>8FpC-dw|INnP`SmFOuFM_Ha35W+ zU+|nwP@@Ioz9@5a51{<>u}V;&pK{=fZ`Jtj+Zx{oUYEo4nZKnk?ecD1{JRqqU@SE`S^dr>9gL;nQv9|r=$zPI#*^*M<+4C%{lSR##?n;y z-80)8OREQHxY^vnSo%Bseyff$zVB#uMfyRPj>b}Jq-S~BYok2BbtAdg(xzd_=XrC! zhTAyy+A;M!TL>P22e%OJ_t&40`2J1-?4P_U&*R?|>;LSOTmNalgYRFi!_m$Jk})m0 zUI@DzEdK)F{@-=~g@YUB!OjHFfs_DW2Au2crNFmYq58~u#$$m`F3@&^_;J8LgMAC) z#{>U1g`WVtOLv`rW&ASWd+w3MPXu0X#5J`(~7`nzVfdGe%c1bDd%e7U2aU`Q-N3ExfuUO;B`4g2q=U*zgJ#8EC1s8 zDjx^>zb=&hA$Qg85AizYmOuB0Q2!6ZK8!=*`_^W7(=_L=kopV28?rVldLTlXdN^RL=}ANSGy za_GH>$Mt_E_BX72Tk1%!=4SQ&n$M_HZuxV61LeZ<;3DA$UnlvL0e=zkxjx|mZv*=u>`$^D`N&WB zZn7S6zlrmn;+5c2m&5v0g$RAhKWc5|zjC4Gvk>2hvgcczQ)B%foO2;U*PeT^7v;YY zd^m2^P2y)_$Xfw@%jB_K34_sGuxvcA-)g1E~iNPG4_gNzRX_hf1bQCuK#)1UwN~f$8iTW zH4W!${ffHe*8hgx^&LU^FTwhjkMpvciZSW=AL?yS?57AD>-*Qm4e5Qbl&3-e+{M1g zQp7*=;-nlX=f_ws%e6f$NBp~&X}LHb)npJK_{hVQkH4GtGpm57_rX>JzcE$63L#$v zZ|TUig1y$OV-~M!_)J{>#n}Ioe~z^O&&Kxu?3`Qv-2X%QACK_}^#sY7+0eJ}GkxBC z1XS?7iSLvZ0DmW?hb*tB!N*yrd|br$MyuRHoIhrH6~3srTdneEd6m&_5bOi7TwVfy z7kCBplfo;3&z!5}$nPHd!0U4I5J2~pGnTf`HNPBA*Mjm6SGn8sUoGWc%I$sW0N8$S zw4K;*6*}5BaB>&bQbQ627LSIZ)etr{4U+5(83-cwvLXYgN z_q#2{-mB0|Isawv=QRiXy*9#IXcL|%=q&t&>bg{GjHyC|#t$5DeO&)5vA<<}DC4R8 zX4(BiUXR@R&;3Kx|J^aJOz-bb?|)?Zr_Xg!|7mxH`?(zCH*0q#^?jvY7@vj*YP;bg z{y6MQ2{tHR0{lGS!&IbUSgTWuVBaUZtXAPXHrUrTfi(f@ZzLt}sW-}Nw-u6juQ z-p@V6-f<7};*#Wg&t7i|16fb;zL#*JTkZKS@w@+!=M#De=e2@wB!5Di?02gq-1(|U zhCY(|WYaT0Nq#KVaTV(8($GC&(crdm{hx{VZ<(C`@g8qx7CxZwU$0kg{kP|$>_z=Q zgZ-IbRo|G6J+Ln0T?JgSZ?C5w(Dsw_Ha_qn*yrl)r22LV@TG{)eq$BzL$SUSeWUXw zw)pJD{gVEE+P|FzyaMMi$Y&Ms+twmKh#vvZM?Zo4zVaZ)Fx2=FzPscA*VMQCPravm zg)?VXF8%)z_EVfbIxlJM_q5DmzsH*+_D_Ve_EQ#$y%V9j?59Lei9Hh`+E4N4iM?Ar0N~ZoAyJ(XSBaBuieZ=`yo6pRREm!L--w>BH*+i z!ta|E1E>8Ee(%NwPWvImOMugU2=P+jS^FW_Z&n8U1=KUf_kg!YznkCvDF>c*C^ZbSf|Iu99*XHIANzaA_UrT(U&fw>)X>Kg7k@$AK+x=4F3;hH9BDvSnrw9)}ZEh?T zO95Jb&N{hY=sSrYEUv8&yMlixd9}pz_4Xcnoh#34`&-f5!e40G(VBknp5#xc$siGi z?AHqZE`Fhv&q;p;=ezCweWkl=-&fvSA`c;6lsny1pFey^F8RN`lQw+*9;)~L+gAP! zvhr_itC+~c-%Y-)A@qz4h;6#2>ri8f??<=aP_h3t)O@=)6e1cxWU#Q?3e*Oicv3&i~YB>zvckG2I+doYyJy?w_$wbvj}+m z6wY?7EAZ&0+cPm;#P5~DONnD$$t>6S9`I_oRd73Pddu2h746Zh81v6ZNCfxmCfW0c z-tM{OZ`Wn)MfqQXeeABIa?nt*&&u_$f*=D?{)4|%IR{wpb8y4&z&Wo=`K%psb0!A) zQ$BYfK5-X(=2dEZuebJ#N`QA=4Sjf5pQ{}B#)nbvyJ$bH0{GQpScxvs_xw(DHIIuUm=uMUaERdGc!DE8&K4orQxE=bH`YKgZoG z?~li7JG0)Nx%L13ZW@R3pM-pdSl2)@W(M@lJwo+_a{m2bEnk13&d)fw;Uqkl|D58K z+a6d431(=$rrdtQx`~VSiu!y3>~Wi?ln>=L9d^jw*K0B-oxBNN(M)}X0 z34JKl{2)1VTw@)_xxn)fkUsC04}4$Dn{gh`0Y3UU!G z|0;}soexF-->kY^)f6o6<{$Msc62q zA6UQe*=YN{|7c)#6MmlDKYkm*rC)pNfg1h|^8eNG>aUi3+xxzj^%BefB}v!)s)2b= z@*9ZznB>O@zx^yfafixtS$@5RZ&=+RYsaj{KELGSElJ1RF3jq<*e=jrx8vu2uJOUI zPbvfV0`2Gg(b|~SG5dP^9H#lUePDZiytnp;-RWX)Oz0d*z~aFjVsA`{`@6k6TNq0t z21$MwNq_%tu?Hp;$auiU=SBNN(F0-+Oz25h%1i8rIrp~6(8GxD&k*}zLeEc5-hch} zNxzksm2+^Lq$TvyXn8)7qkoUwFZAje>UV{gr8c5>!FBTevIixA}`C&eMI;R)pfC4=q_D)$nUwzXOA0|gV!|3{IKm*Yttw@ ze!KSiR4wgobeELhml9v-{rVz1J6?OYbB2CADw$p> z?)NryHkP8)d4f-N*7)Z0&c@Pdh;Q>?ud01CJbYcASLl!nG=JU)!cQm?eK1mgH1;2V zOc8n7-`>v>E>zdWa-q9uo4I3hm5-fY&0LsQwezS_g|g-I`~dUsH^Z7x_+ASb7Y`w=`7@z_qTXN!@V9d|1H!Be$z$r zFU0XXOW9lI{Ga=x_CG{SnTzv( z{!KcrC{ofu^0#%_4+*HFagc%S;`K92b4w^P5SevW>7sy`n<4k2(S!`+x&F`q`f5cs$QRBptJfOl=3 z#93d*{FY4DMSMDC_`z~|a%OaMe0<|$e$jqk(jVL`TR!fPtt%he0pYwF(=Fh?;X@vmAnlAP?XLh|l#vAKx=}fT!&Q zvK+GO=O{PId(WxL-!xPCxZpDa^O}?c<^BA6jURPXIg}zkof;}GfYZ;pH&cJyQ-0a8d>kY&JaxW>ay6;* zIn?h5!N;WJJrR6}yWoE*@SsZHFO+w~4JaS*vFk+k%1@ou)Af#UwG6!EvgaWF|M33trJ`Em`zMs&mg;){$da|#`jIYp9q%7c!Ypm=`-klt z-8Lh>DT%jl5$4Z^IrWUQUF`c`hvlw6w6DbX&kh~69=gz{OySDEga4^G-%G4NAC+i7 zjyT(^%_*Gi)rMP=d|D%cg=Z=swuh{5J2O96PjC?bUBq`$&spDA!fqDv-iY6LHqz~@ z^@sIv)HaHT9ThJ|e74(Rp6a&?dv8vz5Rpr%L?b^RD@4_xs}Ivk~)eZQhU@->q-1S*m*J9htlST+>e*P?pc4qww78 zbbP>c*K&UH48>Uv`&XlU?o$5D*MTXV`h8joryf7cat0sjG0y|~z+GhM;1nO~@jfZM z6!BYPKN9(r0bhjv0dWubGby|r_)C-z)>|up(^-xmbZ>qCv&{Z&{E&gZUPjVKuq}aA_S#EUy zvCYvY*Zj{OSa9=J=s3&vzuU?m<^J!^|JZe)`25TNt@A-F1NO)1ud6@K@Vffr4By)R zc)9>tZgltEePq8}qvuL|3HQWr$>}2P|2@*kjO~@7d~v9o);)2Mjo(lPW)dLu@LI{s z64{^U%DqCgo9@eROWcp>+$`Zjhe`hI{zx-X?ibqgV!2<|4}A%+B4&GWJ^YUmFAt9QPl|7NEEE3BnKC}^*Ua32 z^QG=dT8`UgLXB7w)C|Cl)6!~6Y|d@mN^uJpWJG4Sr_e|wKg zgD#hw`7ika&T(HA@D;$FpZ}IYYJk56Ji1%o4*~E6*iXQI(MsT*Kh=B&vz5bo;E(X! z!W_jn0zVMrN5Y+~vplb(Y_Km@jwHPhrC8c~Q3Cha$c=QpcqQxZxwrqlXw*JHXcg zC;vj=9WfpvPCe)YoP3HA|DPy7#&?0gi+Os+F9E*GF6ak0RJoS|e--oYs_25hkW+{pPNws zD98T5hhg5|fX|-5xu1>CRSf(=^2hVKz~`oL>IcWY?q0fHNd3TVS*IGm=uUrmMB;pM zfbu&@=I5Q^O|tdRKW*#EuUBecG80ahE6b1Pjk&KnA2)P1s_zc$5V8C=&PukovfU_i zwfREhQ|=vrAAi5%VbkP1*skDDoaH?q^YGE5y6>k5d_GOtpDG7F5%crTWy-$-cwdy0 z+g%Z6@>zyE5mzx#>>(l2~h`VY8VYv4vM zzW3VfsgC1<7Vp9 zB;W&RAEkws_hjHB@&1dp)#sf8Jnc{pl+*QZ{Vn*aH zKiVf@`Bk5e=iDt>egW`w`8|#2ac)pKGGF(WC?Cqb01p!0r}^|->hrVyy_mvT|7I~i zXeVVGLgsp6X|g;z0k8Kf!Q(<3)xOA&C*PN6+nXbT>r_$XS_?>4b z%ex!!w8QUB8C0#y3r8mUpC#B|d+lCQe&;mKeqSUUnY;YBznSHiw&TF`({>+NPH8(1 zE^asp>o6|%AG1C^iv7y8BT$O?Lq0@#W4}!q@MWp^9`OFNG(P*8<-pIzx)5<6_;1)> z9>K1G))FIj6OwWd5dQ+~lMaWf9?t}xwi7W6c-lT`No~`I80u8RN4MaTbq~hd&pfQ( z^Be5A1MX?EA{3+m3tZRZWtG_o>c(fwSTf6vt2#w zm1KS@5q~o9XtB!E2R;h>sGMmv8Keq$+NlPREFCgpNIR&^AIor`Q~>@@_|2za-tqMz%Twt`S3Z5fR~~l%kQ@p1LyjV zJ5C2pudhUD}Y~xd`8Rly+C<$e+=zE z_=umkQTb3m>MFlN#HXCTd-9u8ZTYziaX;RF74OJ=MKi7<$W3Qzd2l}yU3)&KnfxsT zU-n1LbIJGL(Re?zJXn4^a6F6tMFIE>#km?E^@H!ZaX44Qe!PSDeE)|nwVv@kbROdS zZS;M~_t1*>YWMp_9ebPC7U_Bb=YaN}uk$1H`yvm!UO<1`UVPN5xB2$AT7IToZ&S2S z?fj1G^frgLsr6eP-i}HCrcYw`cj#>{{5qK)9&-!(?0xT9+Ai1p*~&=o@HXjuz%g>r zVh7VIJAd}uP@V5GQ`;I#8|tgyzpSmX#Pj~?=M8UYEAvKeO>tk1A6(wnSeo}2$*=5h zXM7jo?u~7YrALt-!#7LC<8SLum8Gn>U#8_Ve)lH1UubLX1NhfT{)NszL+|%)Yilf( zAU{lF0rF!c@0MmFeZN}n7rIbXpK+~Adjj6|!cQm?`NqTdlkdG)zqwQR36&zf;8Kx~ z5HIeRpx<9H|HWab z70|5aw7c#6%*NFIyJqX9e6Ny9hs&FgyL=ZFYXp|>Ww66zQu~LlO5rT82pXE}H z_Z{U)`Ckt{#3}!qQn-VBzq35I{BKU}mnlU2-h9tOAEX(`Tx-B51dhixh3HoicM<<~ z@OR!(Jud+sr0_D}_owi3;CEvFz`st*y%Km`4&_SsfDZiz=4yZMyHYuXpXmF@p5rbM z3oDdA?F$92*ryd5A`Ij03BU7d26Z%+cz(&1-MTq7g~6+wEs)xeA582?<>Uh5MRP9 z-JQyxJ>L|@@?V|Gub78RtcOgK=VjikJAOdY-{8)qf7l^O{{%@det%u%TY~`B zIwsz~buhmZh&;k48fDM#JCkzPU!LD*{e2YQ1LpXQ`B*p?^$7j`0tAf3xSrz{)|dI@ zgME9&h<_{W05HA_JOqFC4@-c5UoSa+5V2*hf(MiNDFvS1|5Xlr6!OXS8P=m`kx#ZK zlxrpI3@|^)g;}1;=QQwN4nB;33-G(~yu`H@BQS@e(P?BR z^5y&j%Xj^gS}(jNI$mQIUcfkp<7&Pi9>aXR(?7^W&BqNZxL$>EVgc~+gCIA|BRIe> z$A=hw;Dx{^yq&D4MZj0i1de_J>wEgU&D5W%{Lmxj{iJ)GxyH3Z%>*vp^33IpQJnAP zGT_s}hqwoPkH2bsj$7Go90WYvS!-?u;@9O+t_*)_=IG7Rzp6iT;EW8!{`1`ziT7(6 zm&&=v9b@OV@^($W2i|`;>9^w^Yxl^$E6iCv%>K)g;eWfRcARG8oGpTK-l`q#QvK(P4X+m{+sK`^9beYkJJ#4K03Kb-r( zE4lj5y;o@YMl=4re1pTK|14Bj`FclmG?wZrUvs29uTWj(8%mfZmZyJ|=z|c;(=8SG z2>oxBr#n>A6RN8`-J>O3h~?=YBl#6#d4|Wz^9a$tKzN+^h5lRRo8NcfzPZXb(>{w* zc$Hed|4ut?b?o11r|td!FSpY+|NmRTc9W@Ti_t#=AC+7{Os0sb`FwLj;vEqC`JPW(`A@F?UtLg=f zA0DLRjsoC6zmMlVNclLxCtaZFa@@^wUsR6#ysYtE#9xVYO=>^HifPI}I7!DZ9^!Am zI*E@2KIIhUPdS$ZzlG~WZMEM!26(fL%7^jK1it>NB%iZ@uR{JAe=P8wksso6{62G) zqMmV_w#~u~3H$t;QN9IYAIvPOUpxN2EO+^G{LAuv>1)+n))ypeS~b%A2WwQ$EXTJI z-}{G-r&x}=a2)!wmTwUleT?{Sna-<~0DlJhV_=8B4EVr3AWy9CRsipX{ILG|z<+?; z{H|Iqnp@dQcQEq5Sn&Yy8~7;qt8|@ZCh%3zPp5_I$wuI>BA-6SWgHhzZLfUTK5$%o z#Q(?Md%$;5Z12MZ2!;R>8w3$uK{OyG^iTqeSONk@L5&L6r3a-%0tyPcSgu&mD4;=)KDO%+7O?-MNY0;{E;J_x=AjpOgL0Gc#w-oGCkd zrmV=%_piY$ztb&z2=S2Vtm6HZPd;oBZ@)#{-}Uo2y#Lm%TY3I`>eA}VSN3;F`7V?7 zb?o1mjJp1jWWAN1VfVMJ50t+SBMfcH@Z^KxdvqQ83UQWK8u5otPS$^^Cyg2;!#fN= z=thG(JSR=+k2lHS0dc86caAdr!%Izl^T?+b_kBq{nMpkTJCiTLONgH?`C@*hKJ>WW zgb$mWdb@(*@3!K@dyv<)Zh3A!y740uL{3H z_=A2Ce(B%`s?(YL>VqGsH{<&mjg+Q|OfP5zexThh`8R|cB!+TAU9_U@B z?>7cN(2LNYey{d^f_^}U-;eh*=*v9>@_^20E}8!o_gMpy{_fsM z_i6Q$ZqIV#Xqg26W3Bj0E&mx-dPA-7C&3-xA2Hra4_iSJ>0M~?!%^`G|NAZX7rAWY15Xf^I0Dzk!z}-Iedx zi0gyo{W`>NO*Pp!+<|!C1=aLE9KuhNybq`LhrI_R{h2!m@j>G(`Rw_rlP!6xdtZ*{ z@4q!aCGB4BPc*FkRCVQFY`T3FCd$8R|Du$?n~VH|YAS#ARSVcrThv(o0pe<^$$pZ8 zpC+-7h1*)-Jj)i9_7tx#>K{nTJHT&EHQ7_#T96m?XW7S`ey|UMYN|g0{4`1ZaUi=U zsXq?pZZ(NL#oN(BX{xS%XnR@eM|^J-RL81sVlVT5YN0gMbV<3(eeS>`s{Ovr-o_lR zQm>f)U(aJ4fYn2G`&aK_r2{A^M~boaO;;Y0v`4nf(dTJkeDDGGpMmDHe^wtOK4|q2 z)1KAmaDyJjezkaecs&oco<3Ffz!gX@-k-mM@H+kQ!?qE91NpUo_!Zos@2^hw7n=~? zkL{N$$FRiBfqoHIQwaX?^+@mbNyguH57u|-{c_)6zZ_^I=7Y35tUz4QQY-(3*8alx z^gukOuc03#*Ng3@{Gx-e5MF-kdsmP8+6jGumaZ}Ga2wJG)p#LUeeE(gHN0e7*ZBB8 zqvV0e=Z4Q@G$e9!{BP+T8`rnH@MWl znVjDWFE-<5sbBW|WhNP2)+RY#&munfswAF6e9qsPF5d@GjiT$*jY+(Kc*dzoK83`e zn4ZLE65na@nMeG>TMd7)7nBmeobm`R<9LVZI(M1(y>$#YW(xFQ}Twve*CN zsFp-~dTURFpI;ST_7|tl-b-nE8Un`ayNnM~=ffW~ra#&@&fisY@S*{-&)=2jg@4Xo zO4AcA#@BlPEW&DfVS19k%yX$};0KcP9X!aQ=}M#*mv=qJ-_iWf1&{|M=kI#>tx5WK zZ#vwdogDu=kX=*9VafF6eaN2y`9ShKNX-I&(4A0xyuW)N`qTPxAgiWlQ66!9wX@Fq zmGYm*A4R->UexA>c>7OVXxjf9U!lL%gH&GOqUzg!?W;@xY5($lY1@92!Tm&nOFbI? z3fm#ycO9k|jAMJ_`+ZB|e;bs<4<(*OJE&s#!-!YNdVbCP5g2>kDuZ5 zh~Hr0gNPS$-Gta(1`}UF`327>z6b4pf)6L>($zr+|0{?LdNi#G6aHTsKijJYDQV zl;0;VH|YB*g+)Sk1ab+COz!$ z3(}mgw(~qDu|LW>!o$Tr!u%aXK3@ud>dzsb$Mf#R&LZWXaS7`Y>z&K+`&o7$DgTkQ zvv{=ocnrTf$M6yUGl{R`IX$9>65_69KUz+FJ^4uc2#J4iC))?}RYp8t@k4GWPH88Jxh8VmMbI1h16}?+-7*gNld}%q)8QO_1IbT}7bDT$9 z&X*34GUK0o;&Q&Un{HlI3y914($bCs;+5x1v%Rb!F6T=-GmV_9h|BrXYA-YX35m=3 z(z4&OjJTXH9rj9&)8u?<`HpFd;k$6(k*xEpAf7{9zOTHCc&>!!cb65*@krv*Po@z+ zR&b7cGl)w$kgfXepwoIcu3fvCz5eOPhKMk(>ie4E5>x&dc0`xl^}KtA+Ou;1j(j)B zXS$M(di5(4%%ycJXP^Y(mjX$jkNcU2p=Ecx^A+4>GP`N?~44U`ze{;0ha$j z@Q;Tt$xgaUE%$?17Zwjcnf;H*zqhqc%xK{s|J(KBl!uR=ug3=!{QilokJI*H@8<^U zzDLZ1B1Jo~l&jpuZk)xWu4K8&zI~A(W%bAMd=dHouRS?g-~PAk$x=V$KIi&<230qH zIFt6{V7=)-_4!#X@Rz{?|Nq+gXAePcsf+r4SkI*UkIu`N@9qeXn$FMn@yex1-iJf{ z)?}ZzCEwu@esZ3^N{65z`7V$6e`Sp)4j!14zozrLJn+)=&z{#M^+N7X_5QVm-oGTz z7dhWhufKG+HK^MEaEE!mNdGT)S(oXu-qiWjjE95U&AbF*<#T<%H{b9PT={b9D)HPkx)OX}?!?#BsvzL7lFe%;ObXPtX=qVOT^ zFpZNfJd3z}4ikoZ(KU_x9A&(pL%b#TCkl?oQ*>oncrW4|h>INx(;Ly%m3S!Yi-?~_ zIa5a)J?9bsi^$LMbwIqA#b-J3(H5T-#K&8FZw=aFg*s^@)m8TCOU^LQ%V2tz(sZewzrlQ#w9C}Hcur&fN8C?> zzy9sro24{e!}#KVe}&=a`S1t5gY>kYzc35uJ7%db?l5i@WMLtEmb#Jg{cGV5n){UT z7k)3+GwJy&;18;RJlan!M|@C;75)~wo%vZxQ#s=6{QB1*K4=5wS2rR)=xNI9%tCn3 zGAlnFF@G1?!>4Ac6sRZMS|93c#0RCo&yDHpL!7S@e_wil@`R6PDNX&)P3Er?=L4O& zNFOwe_H@brm(!76Y(C*r>QnqH;EtEqKU5q7QXl31X~~D#@&2cb`@iy#A8%G{|JQxD zL>#2wk-O~wlK$s?)^pjX2$yk#N|5; zseMZ$#3TO3!G^!|SB1n+EKTAQi9g>xiJwV)Ne6@b*BU((5kH9gLk0JV*ZP?H>1@K6 z5Z_~i!DWA3Kzx?9Z*Dp9nr>N~7|rCp;gMzi;`OKGW@BG(jqe5eKc-iHU&49N)Svyx zSnl$Di3&cy&a-NLTljc0vUdmDGN#%D0SnduP{l@w!>r1nU*Jiy6 zPB(TksXz5Bydcd)sQli=XT~1pQ=mDt>$}9~5xnuwZLa|7^DZaI@>z+O@xKtFC_aNB;HY6`P8-6^7PBRK3dak-S$2A0MbRN&N{w zIS^~c4y-KSa1-31dpGIzBsed6^MMh``42wanxwqK6vBft(NSqV2KXScrV}iC#V$Pm zr{6kM&!i zy`dHz)_WW4wLmBDndEPuH?bM^FyXE5-&k(DJ{(N`5~sc8K9~6u{~38o>HVDwy4PgC zhuh~_sK=7>G`8G!{pxL{KhSbRThV3LuQ7vXRINn|W!~`K$gaGrroN@#HS&ui|*K=*qgA z<4kM*s%W&qgOAPlR_bZKS`@`gH8SI|Eb{kw9;x8j#Oq#@44*?>zT@cKZTP#yNAtWR zRm+TX@`!JE-{jX<21oZ8U3GbGMp(zlgK8UHTXvZ6GTuIpc!h<_`jvgjN5bpZJAL&Q z{cs#L)WB-CbzUo`r=x4&JJct`=M%qbf1?NCe**D2+mqo>Bz|49BtDGzA(ouOiFdT{ zlZZbyFPZMi#N~!+7+rE-bn4E9)%9OxZ<%oZ!KPllk74~GfTUh*9%%iXXy<$Dj|LF1Wz@J?f#OWj!QV)_yv%V8t=Q|~uc zn$Dii_efUc}HX@O%GH4uqFIK&+cUW&WH~h_7~G1gxT;1RS3TW z;RgBS=QM|YL2n|yet!FH;0HS9KodXcmZ3ED#riniABC+DAM`y6T+8Qdg#JM7@=W+t z9mo#qPq(TCc|bUt!{qk^l0JIv>oA)*!cd%Gm`1OVY!dqKk0vKAIvM^dnHD?-Mh0}CjIBYU;Om_6s$jvyGNk| zh`T>TdUDQ(#%q6*^#20>TK^I!Gsoyt+}~R9yRAv`>#f&6W4*hCzX$TgpLgTnA7KBP z_!nF5U%@{fe%jSZ`Sf^G;_CaNbCd4Xmi+r7f4V$f2kX5-7lL2>`94?63xDBxsHG3L z9Qu#>pJnOuDC9pLztbe+_71`KWCw-WGWVB`c&8lC z$5X}sj#6|~xUOmi`@j9v2m6Th|L zlTE)l{LZAi$vmgzdG{CEb)Al-QAn5J<-OkLdwm}9ao_TJ=Nr3LKJg;r@_t=Fd;{OF z)n=2fNBmvlUL|f?;^iVI-^V@bPu7nJ|3czaLM9}@S^VmUJWI^woHq>T7qnXiy~lln!q zR^GDk9MD$=?~5-#Ke4{FgzHOZy6Yx7Ul#ByO)eokzUoP2^+E)0A;NZP?L_JC`&3lO2+Bt|Q*n z;`1``SD0T}2U|vb4&@hoEAb!lllg*qBf3hSPL@j=@jXs3;blLwL!9g?Z)ugk%#Rt9 zulMnMZ6fOrWc^YF1^0KFdZ*_JTOmpYBH&xe-~ zUon06FLji*R|v0QY;DyO#VPI-l(-J@MLv!HeXe<)NSHGC%Wr*O_j%HNm6e}&Ecv&@ z+^M~4saidf@%N48PxJpC;p6&T8si@#{!Zv$^rc4DQFR`!(qEWeTkQk4<|Ehm+pEI6 z{gvA9qALCAFxjtEg?D#j2;Cv+zjk4jI|YBWf0bLuPsPHAD35j)e^#4HyRFp2{rkOr zZ*}9lr+Tsir_6Ko+~&1W{|>IKf3xl~@&+F@SDKC;W!&C}&6TFPv#Ro=<*SD}qwjM0 z?$9gDA$tjYfE1%E&V>q{EB`4a{f}!f4c`XtUSLm;5>L!#+SRyU&5RcT{8dV9=ezz&27lnrr!?kG`RGm1;pjM z2o7Vl;P(vVyYAV~^S(77xrpBr5ge}r(KSZ+KVrstF7Y!=?_DBr#^FP>}C%_6?xAfq?eG5vNn@o_7YcnUDVz3abAwKb$l3(H&-b9x_#K<4sZ^F+b{wd{`e!!%nl>I%DnEsY*>ANBd&$5i+H?rRs2tq{=1>Z@Vct;=Bp*i=li+$CjAFM9(h*idqY%f z89!>%lXVBci=C06>6TkQkp3q2?%jHSn)hOrJ}-s- z;`=$8L0=M9--lW84@7zTvGqmv{;?M=eZ38Ly!-~^#aQ!oUT&r|g(!dRPC*x%#?3M1 z;}lA^DEc(`;0qPg7cO@ z0sX!68YxYCq8aP3&H|iw1p0;H!y9nE63796?eDIH{Ghun{x3sb?Jw647a%{e@!yv5 zcz=UiUEL@meIAnz8=M1KKo42`R>Q5d{SA53w3hzC5`+g`2z_aO{w>f4Xn)-e#q51q zkXN@yXAWcsVM}B}zE_dH)|WFI{-9QfAMslZexPuz3GZDD{ea%p<%RG8cxkGAq45tF zAuMPEx!>+m6dYx<-8C8aD+=Sj#9+P)>JzrS1MzgPF9 z|3>6jL0=*ttLs19q~6MX-rg@9SzY~I_Lzz4WSjm~ua7w#-!YT=+h|%c{oR)(-OVij zXE1>)vgvydG>f=ir&4Xb4KaRf zs7lZu_!wWPwQz%u>zqta_Eo7D;13#Z`7glpGA`d?=(gf+S#PLbM0}8}M^i7s4U+X} zY8~95s}SG8dNtv39o%t!$a+I}J@Ny(vVSr?SU(a90<+0bBLEF_{Qm^IScOTWWy868a=T+z{{Q1wV-{GSTm8P2N zxBnRGKd5qi{W$6eNb0w{3T}{HzyIC(>^=d0AgRyplW>EiKD(>o2K}@3*?$W1gKDbJ zsWlCirkd(=>S_3cvy)Pwo2|7>>hn_+|+P>ya?y3rBOH;$NX=7-}tYz*98w7J5_!pl~VS1j|+&~ z-#zw-+uuE&N&E`SPUsVVQS7=Gn{izU@l$9|^NE)dKTPaPr3MLz+uu)KPQ06ZFOB+N zLA+-@V>c7KWk}rqu5uaiihF4XKEmjyoOteg2KRQ~93d&<*HE9re=Bi&ztAq?XRK*9dab>W+j-&lh&ZC35quMJ)ROCJ4g%U4bze{-jpoaj?x|scUv+2jB zUd!FC-}1dI?_E=VB1BE!*E;kCqc8csb_OHJeku80v_stf{#6$7N%L8LT(8lFc&EQ7 z?e%Sm_n%?H%lE9>5x;LKL3OCj+&JZDhwBI5SEY{di>ocw*LL!9e=wQ<9QFNX?)^Nfj>ybCmw!llJSW%wV~1^-QxA5_zL#YI?6GX7ThhKnW{fBUmBz5vO1C57LbD#t7MW}*wa3gb^b{!T50 zKd7ehcYv^(Y8tPE(=c8G)ihpF=R!V^j90wr&9gnN~!4LHBj>p4$ATLP9~);q&{Nje$oU@Hz84Otil?@k{#zakau>T_78B^q?<;#JoA8qEKWh(6E#6aU z`e*Hd{*AClfy5pdDH_WDpRxx!kX6$|$Y}h1>EE>nI{DZ_E z7$U5un(ToN!fN`n?1A1BkPjsGz|=yNALyU82YQPTAGDqJKp(#~{k!%+sn>E>7ml7# z-TP(s%cf?A8x}`D8sh!-2&~|d@q=AowY@srR%K5}OE>mc^-g`IY2HEbkJ*1V!JZj+ z>-wy!v1dCU*H@Z;SZVkNAJxZtq57siBYc30t?7lm(VuR|e8+o85A@z7lfKlsLm;0I ze{tV>G1iMMsInKVf_~M)D)$z|kLO3%-&8Dqb>|(qG5NLq+Sl?S@0z5(y6@Llny}?h zg*&U{=?M9}So&g5O1)cOX{xNhh#P`xs=p!9(o|jjjmy6t`E_?xrT;GU8^qiXKtC!b zU#^xf<`#Rn1KBjS!}Cnr!%}ZUUXavx55F~4+P8ZnJV@%Z%0+pBzO(GxcK!Yl<*VmA z+z+5XP~Gmy{^XyvhX=@(zJlmKzB#_>>kK_UFIdU<3ZB2B*H5}#8>%y2GiokN8dt&zJCT8~#4iEg-&%atc0z_|GB_!+XRpraW$4BhP5!a(;vRhQY@W-!AF$ zJ$5YdLeT@?FUAo+;@6~pFdZ3PKah`j5AE>!v@ZJn#p^3-WE6hep-6t0}+Sr`L&dDPW{UD>!}J; zZ>8SLUDmHl{r_*TUq6ED(L=5ymwK{---Ggri=MA-Kz*_tMQ`@H_7dvtNv`t_zBGCk zz1i!(S1`Q24t^c+o4Ed4znpk)YoEgk z;!jXck9^hO}ekl#dsk0{eZF~lH-#f(b2}^--`J0@liR# z$K7{Y{(VuA;{MM(g!hx!cVrCbYF(&cii8F zqT~5lgZUi2K1n^(JfdTL_sF}F?oO8fLX>x0AM330>#{RBpS%R&?LKw|~biS!(;4@~StdXClyCUzo;Uz43k&(Zpb zQ9I}w~u`uDLuEk_MzuzoxxS@!};Z(YaepHXYgNcA9{}0 z{eyX4*P7=I;ggT`P9`qb<2%gd&^c-&pOxlB<;|+oRv+Y68@rH;~ zQ+v>JydJ0~yQ!Yz^{jbb|CxW^ZYuiuckQMUU+kvhhAAu2uZ!JO{Kal6Zn2w+TkNLd z7Q3mqYqFb)zx3a7&*TreA9B0fajO!@s&TOp=!IsJU`rDt8X8A+|?H6 zYP;n78lMy1YBNtH>7K#oP-=mBZ_1#@|DVQb&K1p7e4LhoJ3dbHu57OU%yC+<6#Mf0 zKX06tf_#58PK%Gjyvv)b-y4Uy^P8*qI4rfWxr&d&!t0x>e`OpN-rQXMZ;!*|eM;Wv zYCV6(Iq~=Nb=R5q^E#Jfe0igcve1@P5Y>1m`mdDSM;~IsWMJs4FSmg0kmvjuRH-t4 zU&?>XyuV5NE#`NvLgLwsurk~5312pE$a%zjG$a4<2G1wHjOY2dL(I6ZfcV(w7=Dv! zw;u5a8D8e|XA+-S$Ap*n*m=aCU_T<^1L9kJzE|`6^(%(?P!7`(_OyZ65j6CxF7QE&~*QeW(cnRW#Ak?}mBI6fua*9qcs}vD zR`>$qKQmod>~X}u*BgLvd9zG@#}Yq~@{7G-I`M3tPbK&a;zwBF^|^)mIzh^DFT?*_ z;=6dS;Qhl%=Z%QBuj~b;eRX{o?>DQ{Rl_w#KdCxF#Mg=bSG6xWUrXB8&(wp|Lk3qJ zXwMDzHS_Tq^!Vlu+BaJ#+ugn&7(5J3dy#af?=*P8_L4Iex$7TIo0SP zpZF7dnD8#kv4Hr>*#=h+8F@V7&sq3P;+Hfv`jPM@#7Eyt{zLod`)SKj2+EW_KLGCS^G4;Iy{&Dw95GU?dm_~}*E_^ncq5-{irh|7UHJ_Lv=KCf%c- zPP&JGnvDPO@TC8&;Yt5-R`^NRCBsjih`umpPdvv8zl-vPz4lg`F16x+YUOWr<0Svq zR(>Cbe&YL~j`fq{yiyc|v$4uP)^~0)KgYox-~VWcijD&CErpj zKUe&c48Pve?=6ro&QI)tsYCZxnhGp=$60RM{&%S*?=>vH@O7M@2D*`M@0$#z=_#vz zEffE(@CWU(>gyH^!?e7qEXW5smu|_!usX)yYqz)3bgd=NH!R=O^Ej^!RMWMhmhqAP zVUGtdJT(4%%jfw-U9Us=-`}8eekV*1qKJo(vD{^TCkyiFt8j^V{@CXu+{g2-lmkI= ziG+pUMpZN{*O@5z~@Ju(j&x|j&6919s zbvZv833m}MX@;;B(d`Ll@E&0iSB^A9lc zXA^J1dL`#p9R@>`re9W@{@=SD@j=@^#e9%H zFVYzl(K7N+y>}eW=RHoX)(XS-Eu0;LB6@>vwa0Nv)0Z0<|LuV)1f_pQ`Oi8|1)zGb zQU0lrAN2n7#_g;OyJXmRZ=x*{WABgon1JzaU8FyHFu+p^c zamx2P5N0q94jr*)#Q&*87>ZM1MU{-EuklwuRUax)S;U?X%X%>y3y0K}&0y z@=J{ZKTrqwM|{qNzCfE4d)AJh-Qkq60yyhRAj{Jf4 z-C^YM)*wEprc2tT+>5V#Z&P*cb0g*h_2ujzME7Ul?y724woe&v_-{57@TiD}Kt-M_((wqb&EDSxJ6_EdTYE|7(^$zOnNEH_M%G z@k8@Y=&xZf)VJ7t`pNet^Sjl`&qgc#lP&&b9Pf#~E3EkP{bTVj9+i}5Bj$s}Pv6U} z^ggoOn=SVUOP*a;`VFz)JI=rH@kw_dtG+yq^?C8|qb>fATIolPs+xb9#H4+WzwqTz z7{4}^ptAm2w@-gA=6EvAxZwBNr>d81pU$35RlI$wflXDseR@Nhs{f>YI*psEc>4@W znyPsF^n<1<-agd>O;x;o2FshOc>7e3HdXQV=|0|6#oMQIM^hDVpTUVuRlI!$Q<|!H z`*hA|s^aZ47~53E+oyj+Q|!GO9+Gpzc zrs_XwpW#yIFIHcji%=i_h4$&pZmQz#(?@;#z4qxGiSm!Nht$zcRlI%rJ)5e3rG2Uf zO;x;oIu|rmzt=ufgPN-Uw0%lD{WABytE!vdYg35lSxG~c;(VRcEQp#gUn7;=Q+q1a z5j%ql*uY!TPAcn3rQN43Fz=nAyl2p(5pm~MWA~KtbNu_tscsF_&e-~@uvY{1V&kg% z?YC{9zQF6L^j|@kt_qq}x!ofgs1333PR9nyUa$2n@*(l{{cDT|;?MK9V)0eG1}Yy4 z6nl^NOu9P0Kf+@?>aT8~f>r72>|sfJ%r5Yc^V=QEk52C)=tJM-!jbKX=aq;2#GhX{ zG9Mq&t+MZILHZI`-(|g43i71-G*G?#q&&x3?n3a7%lBn0znb3=T_1R!t9IXR`4?I7 zWqjp6h4ddwSKr6RS6+_>|1hurGyLQE`3?H=W6$f^&}ZCzndSZ(`H%ajbxG=D4?K|K z^6w4*xLeOt>U`TzkgBz&BVs0HS zBgS8WzaOigsrC(!d2=CHbjkgNr;0DBZhX5kj{)B?_Kv$AQ7Q*5QQA*N3nQP?v7yo= z=U)U4_G5wWv&IL0OYn=WzncfQt+J{)|CHRGQG0hN%sd$s_LJX%YmUKF5iU%lI{%V z&pi_9fi_$GUWY#Q_nLwhNFVeF$}?WRa(;;02Ju1fA$&Z&gDw4au-wmpU;KOxy}vOY zzmuiUewI71>SF=iT0XUZ!-yX3K{x8U0)1-9=P|sbsn4g5+tYUlsYPiyf%l)>W-nqKE_N|}4`U*3H=&ql$y;b|l_8osd>O91skJ=r7 zK5BRT`KaCT=c9JVpO4!8pFAIR{P^=xyW`JC{fr!s{yV;Y_y1MTOUU=X`MlK6%=q(C z>+eddzxuPEm$JS(?AJhPdiDNf`PlO<|H<=J=jZpHuiAg69`E3Jn`(pc11SEy)&BA4 zt#<$3^H%%EpSRlG1Pw4gUN}%U$k=$J4!V-K|Ge1qTE{;CEkXY~pWm z|6R!acR9q1xc^T0yTrRLWIb7B>Qx@`;gmo1l&L30!~^b^l=>NsYazkc)SKg&@RzXt z6*0fTB%=pC?$y^B%aZw8NBncyKge}4WyB{9FyW>CloP*?t&oZ*o{^h3|{_En85#|JXrS9;(M8iM^ndOYJ?+cKidzeWFY2RaQs zkOEyj#`x>LO<%_}sHMC|aWki|h*D~`%xvj82 zxs|%=YLh=7`PbA@`y>D1t&k6NB04yoZ+8Uvf$km;{{Zg`y<0`p3H-Hx3Kd7wQ&*eu zw6mZU&i`$tUV9M@UBCZd1pc5~@{K#Z0Q^A()Mu~&@_|0O&hYbgv{agoB!Blsqz`(F z{6h?EH9Z4)boz2-Qy;-k;0M~l@T#D-(zFfo=>1x5%fli%2KkLYpZ2(>meS*U$2lyb zk(U4P)+W6G{+cGxE$P>L3H;_)y>G4Uos{oPQ&1kDztZ0sj=BY!&;0ujw#NCOt9N(+-&Dv4 z+PKuXy*90sCRvxCIt}TAcECT<&qRa=ZD)Bq6OcYAVESq#@~5eWOP*UrV5hG!58wM{ ze0-61jTv8zn1ldDwM`)XzkLw>ZWI02XZ@IK^iPJ-Ry2KmRor6w<7hx;py+>{H`!0u zHqRv{ue!WtaF_k1^lJz2Yx>L73iDi&@kJ*&_ec-;aAijSm0JG`)8#&3hj{*}hL6wi zGQL>H^T$Hsofv-OTFP^Ud9LOV@56LMt^>{|-f^P|@7Fc*6iB)pPld!!CBD*<(<9z| zA3h%_e-ZIHSxMX{{)XUtm~=~sUrav1y+&{5zfw2zyf~NP1BRbZd1U>|a^kOD$#nS~ z4vAlUYZ8B!_@g2Z!#_v7>y~8st|R^-_3TrgGU7*4{*d?^#CP15O!rOV`@6)c=Z(bA zrrp>j{uc4}mj26$w_|;i^*&pPe^^ZZESFux-TO_x$72I(#X& zd6ZM|Eb6116<*3`+PEa20){`vTIVnQ@=)@T`Z$l_Zx~?s$hxso;Uq(@lSqLHw3=MsE^c&Yif7&jG<5hJWL_WOzBRVgmCk z;jl|8U~d z`Q2y1M@V?tH^K2bK4BMKKXKoO@Gm6Zo$L11K1QFDh%a8sddPhZlO_DM2AA(^Pa$5w z`XlZ89O7pZcgbI`N7dH^>QlncB>t4tANJp~h#x-J=t07tNBo>Tqff!lCw{4g&n9kC z|Ht)n=Pm!@`Rd+Z*2zYX!9f&t+)=POU_6>ZMk~(14~!S}m`Y#u_BZaZVH+IR+Xglv zxNpUH62CRAc?z#FIk0Lpf(Ph|Z!kW?dTf86HWBSwW5#EO+wR@(V11Sz54)LdBD(k* z;~x}&A86+g<5n5q2WoMyaXas|QJO07U~#dYO8B{LjlZ9V^gxp@Huj)!G2{i6!zAoN zK4&k)2c;amU&P{Pv^3+x)I#`yZu7|RJn#b@ImGxo7a%^U>%u#( zjncH|(?%XO0s7PQo^hwnM0n6Wd>Lcx%d?$@16_FfICb%ea2f$-Pq`wfsDXf5UQ2EiY6 z68%#*gCA%%G~`D7P5Ycd)ye7e^xY_vsaD3`qt_Q5 zg&7p-UsC9|boz2_qdRz^iPE&vnjgi~OCo%lETl=QGE4k6MQVRiORJ6zp>K4U=;Kb+n+KxH<`YkuW_D+ zJ!Dsth<;@J;7#ZQ^hfhGV^zraEw`#?fUKZvSiO3$(?`&+XKYx4wze)ZQwe<@A>_s7wCh#_=eTe%&9Se^9+=P@iMpb5FOz zJJf&hGV}#1Y?Rb*V=MfAbf>;+qBPak>qF-6p~5|yM)aj6UwB}W-&a5t}@npyff%W985S@~bc{DhlOKR|A)WctG__r+tA{+n2zL|$1> zrfN5Zy|byRc;DnNgzhxebjf(s<+y12tbN+W?Jx5d8~aP$BhlaXt5-R{nZhKMX&U_!R0{-D&Du3Gw-Io+Rxc%ZYzXJ}$$rBK{?D zpLiMZ85Wda{iRlj{-x>6{hWpaISIv8JCh>2VnDG8YQ=Sg-hAH!2 zD(Bp15nsW5hxYdhPU=a!Kxd_qXNHu8l0-flj_U)q53 zu>U9^p22e{g^x$P`*%q_j3Pdd{3SfpA61{hRmXFU+yoRnlOCDb#y%!^Ht|gjli{WR*y9INJ`&zz_{J7KQ}}N%e4Lf09h4AnM?BTc zv`F(`sf$@YPHTe%48QC-ldfxxho0?4IeVIrs~A4@48xyb>SIWJ(d$WEo{I-iep!zw z^>GX9so?8aAHNoy`+ifz-($V-zBc{MR^skuMoz({{$4%W=s#fiOxBl8z`sD*M$L+~A=qHWu4_VA_iu!bj-%CA9zO*S- zU+-@+`4#>y@!{07;046bXFGB#Ou9wHXWnf12tJQ^C$=x)69|9Dl$YSEh<|O#Q%1bd zl4mRN&n$f^_A6IYPN^rE#OrJ__1~lX*~E=Dlv=@lJK+861D5^}@1M#Snf^)Jx1D9N z@1G40A{Jf9NbcJ1t*>&*JB!Z)XQ`RDF~0Z&gUkpkyTY|bbM~F{6TjXzMo|n?UUigv8m$Rre3Tgi1 z(>OznJo5Yw$fq^a^@@#tRuIo2f3LC8XGlDYdXVAl< zyl^h{&;GuQc%6@ucscR6ME@M`rieeq{QAT{BmTJ+ek<`^7QTacH|AIPR1jag(#RwD z_r%jnllU&;U$P#m?JNtIWXKTiJAE=(yab)DE%C}+U% zT^L^0GcPCpoXE*`w}N=?ZX;)KtI^LY;`aL3Cx{oyx@F4$B=OH=oh|Xz#8X`NEA8Sb z;%6|wg0CSykn#xrH1U%x{2Aiu*BHG?_>lN_lqcNR)RSk4Pqxy1j`%h28a)V~=ZTME zx-RWSYl+uBDw*yJ#1~t9UL-z)dh^NWCE|ONPsnmvNBn%sDR>$2#$5Ly>-Niu=gIpM z`J{;7PI+XUyOsF;#KjJ&*zO;<@HFCAvEEAf4C0feTv!h?iI=i|N_dC(2G&FO9=22B znar1j&nA9|g-bu*mblu>@NpTw3vvH;gG+x~aE~cpSKc!iUP(W&(ewj_#LKPrBK_?w z=2zP3Ooo4&>(brVOnsY8ybtAZ8yI31EgJ}hVWG?ts(*B{z!VRiGX z862SaX9ZCV{e7_sYDne$>IK&P(W`LB=l^8BQ|4RVw8Fo0a&kUtOt)nGOD84W*J}5+ zs`VJNFs_cLS8!0$t($Ay-?RKDS?Rrl_tf});pZ|CAM@oRzg}-2cQ2uQ!It_;(+u#F zu=;+1API|duZ}o-|yOzbnEY<#r^g7(cy8UPrk3VSm!sUAAABYk^X14 z8~TmQx6Sgm=Ywyv@~`KA@Gc{l1~od3O+zKV4H$Na2>dDIGjoTa~+7XQ^& zeS6l5ujik`*m|yeE%_hO`iixu_pSQrBR!E#-(^19M|o*lWAS^@a{GFIJ@$RS3g}nQ zM+?sly1mBA>vO9`Af(1M0Bg~ zo2>Gzou2f6#?s&Wy8XrKi#{qnuJ82-@5c1O$CeViVFm4q&uxD7uK4>!d8x6_1p8q9 zoh-`Kk^d4zEWkE#m;Db#SdXBu|I_wA*!va=j2e`^Z=sO5y>DSAaeLo_Pu$+OFps#s zZ=r;^y>DSTaeLpw-NfyE3-=JW_bsd-Ztq)=_Y`~Ig1o2L`xc%gAA8?|yr?Xtxx*oQ%)k+n5YrIS!X}`5u%{K3`dUJmTwRp9#au zINaXeJsQ`v@v`{PKWp!$|L0>>k~ZcU(%KJ z39=tX_~et1?1vG&fcS~555mVI{)V-`WhU{DEPNjEFD<;3_%YnKBm9>W@A8JpZ@BpS zs6~Xtzhil+zb}gLa^mIIJW`6dUy!Wln}`pV{ZSVg{xT1i;&UdWj%kS7KcBmQ{P|VN z^|?9Q_ehx+IIff-&F!U^OnnnO6^0wpHLud%W$LX< zT)vYl_9A(1mN2~HdwL$jmyy5Abn}US`5WuMvm`^D> zu_s(?^eO%JF4_kq-H?3#zSX2F_N#ToTa_4G&O?y?b~NAL1utj#-^gF^6mdC+LF_79 ziSH?P3EEGjf9^;5RYQ}n?-~9F>POnwF5(l#zDGW3Y}Z8=-jMh{R=OF)2THo^pZ6o) zgZdXc)&9i0T6Q@cI}}|lgg^U}ro_*sJiR^x1Eij?9CL_Y$?)zxK3|BN z)c^5+CZP=8j}N~4Bz}ISns46kw0$y#?{PNdx|kI0l+3QYCMvO87LZ@s4SXJ*Z05T~ zg1^eXM)pf-^w^8xQwJG6h+J{|r#rsB`ajwJ>D~YP_RrM4^;O*d=|FkEXa7uHSYQ25 z+CSCY`s#nu{uy4Bw11}Hj@v)|OY5sY)BfpRm9&2bSJqd5ru|dRudn`0`)BIv`YLY! z^l_L{-2UlbTVMU2{ZlQfuj2Mk=lc38ZvS*{sIUH;_D^py(vR8C+|v5$Ke2xXH~x3+ zpWc%C>i6uQ?#<8_UI4`2m%?FHar>t~p}zWW+CROE>#P5!{WC=Wz3}2c&;IF8gnoX< z{^>5Luj2Mk=cfAV_w1i3_{&ww2b_#E-Z-<*$oTu?F4{kT`xN;(m4h7}xj2Ye42=FO zCHE&C6J{%)%Qby}a)8)Xwwd>0c~0l^{nsV#kiXa!Q}u!f$s#UxMZvR)&lS5zwiz$w z5Px&1NiS^8@dNR_Z{;|j?<0A{ZM&j8_dSu5>oJQM-nPTcBW~Ma0^(O@aa>A1tB9A< z-sP?^B1hq%0_6iqd_g!jn*<@rfm-cyRtP4bcVkp~wf@oD7q740)}PR4ZN zg&c>gTBaYEP29FK&mnHlBV0h-o=3QlxIK^H6aPu-8{Z4&60axrWa1YQ?l5+`>zI02LcEKm2Tb8dm&bgC zS>(hNZQ{bvCAxBWA9>`8Gvd$BRos8FKMYpR4|u;^W9q4UUJ%8bZlWu> z%lBm~@VwX8Dn2LOm8M-9R4M!1BC#{s=N5@w=Thr@AL;+vJ#We<7;WBPGuZCa&S$wD zWN_)XDn=Vz`qx5+zrPdt@H@~x@wc}#{3E7+nn(O@k%!-z4v256!|;tvex-j(@!TT$ zF0%Ab7bv4oMgHaFvxvC=nrR1Or`gJLa8kr~F??AboI&eaffmWo+6%Y;aiDM6FJGJg7{@}e$&yW-R~lPAM1mgXK>ly(vBQ@6Gxq`V{+O!-1xL3Z7Bd^q_V3 zNa7ChU)VoLc-hbM3(HY(m*H!5PV$j;<=fwcRTl=#d-!%FRi0?-}!XHP1M_0bIqrS%OxQh7uEEh#Rmk}Sz`XlvxEAboI zzNEjcAbvk_e~l@xG`{~G#C9aOL;TY_jDAwtK_s8pcOSWi`J&x-6%D72sb{h4hr~~1 z{SkZ}@fKG2GUClyA0&J^@xjtxG2ImLy;)D>``KHCzlB#2|C^lq#_x;oBHmWgC9XJL zXk+n7BVKPO>kq?c5Z~LvGl?G|`DJ*Ac*t^*{y&R&!v&^Z37$>7n-T13!y_Kdzt}yP@L0y%mJMT2%!+mp=rYYp-e&0oD%C2Ml-8XyV z`=z~A6BsD8{nEdt57s&NQ60!Hc&)e6)Fs`l^$u^(QJUV}jrEdvISHQX8qqz^n)qS^ z{RRH|cPg!?(zNYuy0`UGDbVmojN82&>4QSb>$S7jg|8HF-IxT_v9DU>Zvs4F@FI*e5L6W zlxJ!+2E+G&ALt~=8((j~*IlN5Y8~p!NBz+L&X0W~8n(^o+c~DE(lm7d z+DH$yiu!kV_fVQ1lJ?XO`2#%+R=J(zZ3Ki%A@|nGx{h^3n-tP(MM?-$NJ`VM12JPvLD;a{_qFgA@XGR zQ7O<2rk8rVx6)KheRxhErKv01S8!+_r7687`5gd$pzBy(!36k&da{2CPlJ4*!Hn+= z>7z8Iy<_z4odEuzvGiAC`{4V_ebnQWFFXwKL9bHZUPW)EspGed-w5$Rvl&0!f$*TW zSRUS2@CR)X_YZJ`USfaZ)rNjR*=!HqFYpK5&HRL!=r2KY*nXU}T%{?bzt;lsK`*ku z^IPUBO&^he>IUc+bQtq1<$Dy}sZZb!x`g^yZBc(gCG5W>`~vYm9R8r)gV?`)hyDa~ zlC;P3;RcNsH~MM^bRX-7@OxMCw-$XZ=w<3#J%Roa^dt2Zc7Q%XDbfFf&=2S(7*aGZ z|4`%?belX6zCd`;A^RKu@CEcIpk=R^@=`aUJ%ct=U#eM8Jg<7HWvu_HAV+C>j^Tsx z-Ib;>?0?*E@w@^ZKGNhr^>r7eX(7ws?T_{b`i}Y!K1KhkiTYHJK!2e6IG{$$pL!Z? z3v>tiTYm}8=R6kiL1#;Um)TwUpxdbb@Q!Xu)7flasiV6qO)JPh)faA1DDEC`gNCy| zb-wMUG?l?$r{~WGf6$&gSf1x}R}SbSmWQ7Pe^6)UH#`pMgEARj4eq8i9nJcy^Q5nk z`gCvXrZj!e@-x2pzF9AmUT_%n3!2LM;%1^h1I?ED^D6ou(B*W86OlJi1?3CAhi*Y_ zM4n?I52zR2{>pAj(|s(T)Lq?_rt8Tsbr0N{L|>;sU!V%Q{kPEHfpVFD@6_%})9sA! z?}k5UrIgR0t||l_%<^?^hWwyB#&@sit~9B)O#Z_bcs_#Cx|;G2k3xLV3i1zzAb+3( z;jeX<`WUi;UXcE_PCtB)rJu@Yf8;mmhw)iIHCo#DLH#iP>ZdZ8UT`${fwFaavHfL7 z(d}+W{RY)P4$mj-FHzgNM06U;SG)aby(21M|Ekc}X&Nuj>uKnZKwnAw-h%NAsO~iO zmmPcHdC)_3qkg15T*&$!eBMiGTEqOSCTK69wJ5*%ex<3bZ~k_aFX%Y(Q@EsXgO~e8Gz#fyclavC3!uM~ zzx!KXrRhkdANi-?4{G)*-5cNrjiA4zSHSZ1UhAtgbw_yZ=Wpw)G%ck(-e>R!eaQN( zR6jiE`>A0JA0VzKhvlu>Lm!~C<$1LV`UhP{xAPeKYtXsWUwAL-A86Ztrhd9hFdhco z)C+mVc*Wlic|fDGj63yBU!`dS{ll-3KhUZ+W-nLjJNScYpJm*^PRIw^iT*npum1!$ zXcF?T-QF(b50nl0wOjPlMeASt{{nxIi}9XztH1Y+D5tw|yT8H@^c(y4up9ad(0u04 z>x}jb@~Q8zZ%?IZKI@;?1LG}Fk?6lQ+BaySlux}J<$;Dtf4BqhAE28UU%l4@XKVLR zbEX^p`Kxl2rV-LVJ&xxO=r4$`$Lk7dX>yTYo!3-8-cLa9uzz$v>7_KyWcyO@fIlc? zf8%XHd4eXBzw;W(6LdM#4+?tV{PZ5`Db^qNIP|Ze_vsGa$NL-Td)6msZ;U@dyXfyc z)k|qQhwaI4*b{R1R4=oAdS_ug1bUtF`0LR>fEr$A%1g@c0?HSR!uTK5-pl^W`E!O1 z89X3=_Ka~wXQ!ukXghK2#5V1mHd)ipnReoglg1rAs{f?H#lx~YjXrYf@iPmKXg_7> z#DU|FDa!BVDV)EY2U;p~HY) zeLA*nJ7UU+X(L9AXxX9TxZ)8VNA~L6%{e`*Wy>~goHpr>TkN#&>*P<#9eMi5^uA8I zQ{Qop7(8k4^uaTROc^j{!1w`E2NVyUJb3DmF+;`;9XoW=(5d-j^2g?n%O9UVF@I`) z@vt$&&Kfp(*woV|omO;O@u?I0^_y7Kt;-Qd^vUg;J8?>%K7IS<<{pwed-h?69g*8U zw{336+}63Xa}Ue?OYYdI6UR@QK4JQh8AE3jOq@Jp%8Z#4izZH)ICa{Tag)YP7&mqN zsN(j$TAk6hftZmV>tyEy%%(RKaMok|yYRWO=Mh_V^t$)$9A){sunlWY2j7j}xOc*w<==d?yhfY1`sBvRX z8a}|8oV)q@hc;jT;pIJO}TyeK? z#ofmg&1loh8B>g+o;i4E=TW1J$4o6AH?wHc)CrSE&73@OO3~DFiziN*K5EK@anlP& z6&H`2K4etUuyNB*I&tvWiPHuQ8#aAv(U>!f#}!W=I%?>E&-IJEys1w&67JfPQz zF}+4~=+LplnZ+F@kL@tMc-)k89LL$b(4Ri0s8i=|-8*-iGHMEV7fqk`^)qXVXN(>{ zamv)uXHFR7wC?3hC~};(Srex?&XioIJ>um%&XD{8xg*;-P9JC7l(9}A9Xq9X#@M3q(~F9W3w!nI)K^y{ z)T7+CZFBpeYW2f%;!0ODuMys!${j>t7c@ zQEG~U6F>q;7JvkiK>d+gH%@rq@W2jFt|tx;?3w)l4m-jFNBB|t1@0^O_pP-PKNy)Knrl}hDO>DN-}W2wYYSSyvjEtURUDt%WfZInv?sZ=^F z#iPkXGM9;QjZoAhhVw=`#M7GDptW<0+dq{oBwDo>MHJRM}Scs?1Vok2Ru z>BzUg+0e6Iq&tkWPB!c&!)|ZfO>fgtKON^c?e1in zl(X`EHl6m{gM7HVx%qr^b1+ZtAATusR(@K$-`I#M$^G|f{O4~z)_djc&E4(I{hiI- zz0J*k{MkAM5`&QEsFPxh`G)ssf`{dK)jYclTpgDjs-xS5lf9y{%GLiu1EkCMA| zHn>U0-3o)PlXa6`I!uNsSDf6>7_~`Kn_NwkxSJ=*O*To!`7EX}#vS&#VX!5PwudOr zqd_*GM)b^$WY+oTkDH@^{jkfuXIITFUfaBOcsS5k^;)+bmFeSu8qU7^Q-AhdpWnfp><(tL z$qq)PI?K{>ecbz&S3ApSi`k1gZ=FFr?#;)YNlaVn24z^5KOROlM25r3G^5F8n7{V) zChZQBF8v@%^XRNrJ#EK%5@o&UX@rS+b$IyZ^3CxlmhapDCHJThg#bQ?n+30u>kKV<1=~swwMyt-Mbl=gUyOJC+#uSu4V+xeuEj4}G1SvKur4mwlp)i$pk?m^7w7TZTv z3}cN~o!2F=_q<|W39pn_#%s>&f!B|`dgH9uNvEA7Eal&L)%m$LpTF=*S!UEul2JbS z8yaf;K?XX$J1mooX^tX9fsqVVcM?Kk1w%fZ?T74n=dv`s?F+E z{o>8lWuy7FRz0cB;{N9S+I<(h!KL(ZeGgpoc|r*BBRcMM-hRk&q4^{pPjETqQC^Pcbg6zj#%IK9 zn>+VwoBO29#*_K1BDa8dIBnptfREWM$$K$F=oR4Xbxq&RZ@=9CFuDQzbcP@$Zu?yqZy5uN zrkw%EEFF%xZ-cXpQ~BqQJI`?qJMs@Z+j`s8+rHlR^tLmqU0+{bpVW@tzgg=72P557 zoDYpM01e&6Sgt&o-qOS=T`I{hN}X)ZxSGVBq)pT3bf(z@JvUanvh!q^&dx61Y}Xop zy>4#HkKq6C6!Ik7dK+|xzwB&-@kU#{VU|q?4-@)y*5BIH8y$Z>?&1!|bj!)`fx((5 zwOfYr)ik?*NV)qLonaDByGeWA@3Z%W5eQ_OazfR4H_hrJ?$b55nsZL3vqazR;VK8c ztTWGPpz-V@&G+deL*SGA#D<*25UZb!EAg%Qh@@Y+OWKo4-W$&dE43MZGTrz;6WNUk3gsWY<3udw4X#E=tI5$>ILFPavAG1)8qhdGK->7{){0%AI>5g@G!ywAAaO( z0Nmc>;LQ{eQUyAVj^fdrw^@91G#{khlZ>JEZos*m#j|vLmX6xco_sLB?BhNzr|Cm{ znd=7N4LZ&EW|}tR5e6lN6$$Ww8{^5g-gfksna&XP96@TQ|a)ENTwu>=ed%-(c1 zm}Yl(1HSx_0^&-Xr2Gel9~>>uf$IQ2%eU|bnASGlz}NC0yfLavC7^n#1i~(rFf^q! zx$g`o>T5%6Ll$>9gHhUUf!U!CZEe>ToiM-^8O)e3A@j_*<;uJKf?2 z?l!(0CH*+oE`99+j%BoKmmBQ@5F5prb`d5YjJtqMI%+-`=3K&5Z+V-yVOOhqYwL|+ zFiNiUCXABw@Q9d7?i(EhmmoKl+^6|$%-D*tL+KbUHqZGZ*E0sS#reZ%l6;w`w;47! z9||B&4J8ioSipi2_!02>>({@1{oAi!zyA8S>m=^Xz?fNY%$TH+==^gmLm$8L?DeY+ zyh{s1HjVG%bk-7Jn5O-~tkr@7zSn;AkIw8i#+tX}bXw}hr~LNdgRCePgHeTvyu+%f zYvK*LUTy6_!)k?GnkKWetWw9^t-hj za`L`;T7EH%AMi)?jo4T-K5s4WG89G{_6+fEa$gb2)R}Eyai&KhI&883By3P#)2g5P~f`CE#*y|}Udz5`nZ#0NA z4cM7RXfkSxDz%fL@X-iVfl-xPob|w_bhx++f?xnc8Il}xI4F;@U&=VTo!(mhcdom# zxz~fa9Yi%a?8AK4E5Cr*tszw0&o;RG!%-VhJ8rzKmbb3T+uOUm?d@NccV4ixx4l(6 z7LAheIM}Q}7x&6#(J5fgAnVG-%{h6wz-(NGfM?^g46-!u_0oIpICom!^RzJqEDdKk z(D?}1Gw#m@T?R`!#QM-n8Z!;gQ`~$!`}j#7?CS{g5aqU=E{2hx(muC|JXt3}3F*cU zh#|ZqgYb^xG0$fj4)T7OsqUN0>&wfg`Omza!Y;94`2K{RhKX{?bpYgA^tm&U^CT4LBEa}60_`b zGE1}Z6~kcrFc%1R_~^*_mRE#+oP;I2i98OGt8DFK2$c>w9newpD?WuLotx=@P(X1 zwbQ}9%b)iX*@m^;P}AYg%T17iP{G!|-gmb3zQ0R9oOf*hSLIh_eJ}c6CJ$9axK1D- z2R4j5^t~Z>>RE(!j*zWbj?^^{qt978hup!$A_EsubR>Ac773h-ab}%Jw=;qa#;9B9 zAh(Cn5Nm(3XZof`~`-Ct3#tcPocT)}o3N8no|pme179Ob7on9SQ46xp$~ zBhUga5koGO#F2UDdw>);BPc~|8LTpAyBKw;B<-j~lhdKw)7y4DmD3&Jl)Ib}W2CdS zYwz27-`P#S&|_v*{L^hxHEdHgq;YKMre@n~w!Lo4bz8o$eJ*XwrER(NEfAf2@ZPq+ zx9vaLdu&@`U$#AI4A4_z+ws;|$kdj(9W2v*K|2DFw}~SzfCXD5%CX&kWp00ktg-)t zy*EHqU_pC7i%0El3@YW_kWY`Mf^v7`em|L>*!v&>ZBD?Af}Od5+|=Ihk`w}srIjm$ z*&s0r3hZ(YSQr>DTm)*yJHw)zm z0Mh+FVplvAkm=mCS~4-%95f<;2hhLO(%BiJ_E@>BpM6( z-f{KfxOVpDvihO=<5l(Kq;_(gWj854QtyliY?P5nFxem(CAb*2Tw%vY@vDvab>#`H z72h=NVy-7J1DH)`)ZOT3LLbSrI>w$&&&;QnUi}f72+PG_#he4DX&HP2BIiUbBN+ox z(;%SsUyC7DKq5V;~M)(K*h?*YxS)bsl&5(BEp{H#S1o63oO~>zMgld<1~|8bZWKBql|l zPTtpR(jNFdnr4Ja*Dey3Fy9%(3eSKcz$e@wc0nMd#|huEzmy7knKYpcwDvFu<4j`k zZ-&aI790cm@f!we=wm`qKhmX#@(kjzdH%pX+Ssb}7@+*@Dtw;2RF9_5z&nU zzUaRTq$GgX*2_H!*)N~(OUg*cG>)T0;c5K|~^EWb#b?G7`7L*s1q`X!Ip*VU43`EaO*o67MhGU0i;+IB?tZ%)kuV zwcx~)Xr1q&o}V8n2qGN{IeRTSzIq?6N55pFcA7kkK5v3!WHtDBW~k%P6q5tuc_V%q zyd#r!7Wpez0G?2|s=w;ZX z8XYQ+$F(8i9+(V^iEs)in~$^X9sC8hbdC;@#{`67NNLAZ$YgxZ*hQc^M{&h0UqU~} z4{?Lh&lmV0a5ruMT~Le~k_LxyBkK#lHL?e8AR$T4DC;*bHy14|2p~S+@4FiuWxWy%wOi>cb0)6pebQ<{*T?t7@Hm6iFfk}W1N)5`A z$W*E!qztq1rO83#_r8|+2lfOCF_zZCE(i-fph2tkuJ&WACAtVv$JU)P{GIxQq1IyP z61p2XDg*}D@3vaAtkyVZL}xgvW3GU{IF+a}OGen8bu06Jds>MZ|ZH$i~apWaW0?VIbadkg)uMAnv)M%jA;lPmx+K=P}6MB;Fn0Qgz>m3`>?bgqu_YhBa z#JvnP2O$=lB~O98u>&-up#UN#77_oV2P3M?dUMoofG(mMwwoZ&4YB7g(PlJX`$!%L ztt&VoosE0TIlfy|M-!6rdy`_SHZ2Pxz<2l z{CKyHG{)5e+SJI6xlvAuIVd^yvA3@e)Es>PVrpGOIz-6JgvjXueET4Ylh$N{j;uW5+-C{NuTQyzq~g@#r3s0QS7c2fg5<-P_vF2zx;yE-qWgmuHvP9GeparO6$! zv)oS`TcBH3AD=e@UMU6u<8Vggd6>8#q_Y5_ri^CVh>kIx0oo-)A&HJHVvVn0+-2i8 zS;J(a&8_X7-M#(i?WEQ_?Z3H|Y{b4dq?mMdTvBGH!cZj5%nA2BkT#>}-vc=^Mj=j; zj(x8E5n*XISSNbF^_@j&_&d*LT0O*v;;4Sl|E7!Z^EpDg$75?>md= z=+oABz9YE9c0M;p3>4zWYYYZL6b!duCuIiYzKL-&jCv_CErQON6B(E*(8MWG7+rUo z6U+J~;j^KjN_Q68L9#1ITG|z{r{VAf@b-P0+>r}W6O!S35>zoKz`pu;2Fp=rgdY;N z0ek_ss^h-FuB(jO3&iqI@Q*;&DQ!tKdUi@Ho#NOz8;H8H3F;?Dbt$iB;r^U+ zzngeC{Y~Gy1|4GVK~{b|;1))Xj4VYk59%toF3^m$)@nYL!NPZlKEH~)3qISeAM^~XeX-p6%4v$~OV>`+^nj=KeA2FMX ziRlg)^x>wGkHpd04gyoqOc@4}kD`fMKbby@94ZM_(F})2)syJDdhrf*ROT`YaE>Ta zD!zRfSxgiZCGVSoI>yqKx?~jiaXuD!h1d&t1aM-(LsTL~4xdF&%KG=@iH_g7Is7Q_ za(3)el7X0&?dSn{IFG|9aXf>TL~w!t3Oef;vv(w8401U_6C7o|>_~iw^=W(}iD-bv?8LO_@AznOmqqRi4a^XX`QGf3a2a^&OqU*lWiae4BNzK6Xf zIP(w>T4!WRj1dW1)$n57f9qjGMaicfm%}|KJ(*c#6LWik}h?$gSgY;6= zUzr%Voslw5G=4o+icsMS6=IXAQ)EmS5h%fZUxuDG{?pvR5iR9w} z1YqnF6oUDc!gI$?G&hYJx62yA0h2tlIM6vkA#WdWnlBL2*$`7AaLC76E?+IN#3CE~ z7--H2)nq>A+VPhff80gFtejGk8@wT-=;PX#XT*L!4bsmx!0=xdf4{n}UtZUnKaxP! zgk?7(vEV}lr4;oYWD_Y4!g|^(o2iu@hudvouUmFKKz2G1A%$*B5he>RZKFynq{aWo zq5rrTopf36F$`voaoTtOc{}W98#b`$e;fJ@*4uM#8L$VCl1%USHeV9X-?GS5_2S3B zitW;lgq+9*8{P=?2+QbG*%taV_+y{RLzi&10MG!Y%gWtQ=8NVUWh9|s*$63El#5T~ zx8d-nu?0ewcX>&=DWq4e!!ihhs?N^u`eeB%CJU0?q2<2Ykzk=+1P`WEoC#cL0w(ZB?c5{FD%o8faSd_MR4+X{Xv6n(X%59KpDhM?c9>W&U zF&IW=<;9JeYmn(Sv=K?J zXwu(dS)H2?N&C%NgK#|y4Qa465xq9)o*a>3<=>KM?IAV`y)keZ#YEOp;ice_OstZJ z%Ekdhvyef4C14R;lTq|I9gXH_%NNkcX=k|&lg?NmRmXlJ=tB%tG_GbgaVUb$e8exOmW4R3*Bz_tcQ(BKLDBvfz#$83MryW5)v%zK2)nCQY z02+B%BBlvk1tDzj?r!ZWa%b)T9@G>x)csvUP{?frZA~+akm^i~MBr356UjU44zTI; zbP`+a`{apc|N$a}?+_lhI$6-VAHj=WbK zd9OI~UUB5T;>df&k@t!t?-xhjFOIxl9C^Pu^8T(8rtN;5)i2)v(Auu-yXvBV=_rqo zKS{w_$5;^wdm8CJZB+=4YGGRodBu#47SxmZ)=?zI6YcUyno8xV0;$A!x@atO5BG?a zMGT^+PYA{WSI{)oktV=+q)z2Fumy;n$v!boI>I?pI)V0l^P_^aN;ckn7NI!^h!Zsq zh#cjMPLq>B>;sEKtIGl6O(7+J{1B6Y>Xl7jC`_ep%E_l-ExY9MYs88E;d-D3Pp!v^ zd;hio_5Ddj!RX?EqrW=egwvtY6_sc0M%rPN5 zB?KIl3!0|!58_O^;A6w90>~(3U4pOz=qQV&Rx5zj9OI1MhzK<88%bpY2AsH1$aXM1 z1P(>hpS=n#_PW&~M2`a{oe2y*BRJ6_@gVq%oa9XgXMu9JJ|4tFqQM8Bw16yU3wb9^ zwV-^g8!ZqVn+~-=@GG5Z0jM<@XaR^z2VemubZmbDnRaY}*k&iupMb2s&(DsjY4oyb zjc8NO>LD`jiIfyvmSMC7>Wk$5=yvQUq-}8{Y?_018hcpQK1w0h-^j;eL0Y0M+;Nh! zy#~Aum09Q+p(#S1ibOJK;Y!X72FZhAcXu4^(ZoX38#u#{;PFEW z)jkQN8~i3An5;hVcY&KL2EYO6QCQfF{OhC1ZiB>&OGTa$8KWzqzSC^lMhs7oG-i=y zgOTLoNmP^0kb;XZ-7nmT!3NhaC{8&0Cb>5ZUcaa{tHrMyaHIDTvj$VE<^NJfCRQWC z`vh^4DMBQgFFWBkN%;iVL7B6`m=d+U1`A_EPWAX z1Td$MDXz|iq#a9}10aE>1xmrQ&cf-4>b>{;|Ku%q8lr_6u8i-^bdxTb$z%-5qCU6W zvqMaB?ny=y3;YV~`I2*ML+jvk!|A6oi0GSG9|aq7a;KfU6`1|S%MBv5g#WpLatRvH z<5{%sl0oj(?gB~6ixys?3vOZ*h z1;$V$1gGm`Z1kJU^Xd<<^y3EHWD*&^A%bQ#2LlY2VSQrb3M^5#Ad7+T>R1rZbhilZ zI3#REqVk)>a(ky1Dt`*HD#;|F|*#d?9yiOFGP?Ay}LHcP5KXxKqO zs>*DYuqzxnRNY#DjVuPFMCC2UJDEllf_IOxDnw1OxhJHaqLgyhZz!I@5nxE)VN<9s zL5w5#Ou4Ec;pMQ~szWBzj+U;J1ZGRkIdyfm^!}kwbmnT1p%^Q1utB;BW|cdqdddwe z%i$~)bwmKdqr+LLVrbW|3b_@75&kNj)ueK62z$QCXmQ*jK(s?TAZFcjMREoj7Yt~e zD*O!JQexjilr0r9Z3#u=+99?DtGS=u2doCSL}^#p!NXsb6!@EHw5tWOaCH-L0rVAb z;MM|}wp!fYs%|EsX3ViXVTe7ypXL{Jg-PECulSb6lX$pBM1+=LP=! zc>zFwULeq)7ZCL41qS_j0YZOXpwOQeF!Vkgg?^AkR_`R)#KKFYJl_Q&h&$USNJqse z#SdujYH6_z$#*h-+%ze6>;dTwlgbRMb<37J zAcsvvkZte_LJ2yak+W$TEEJZ=!8FinrcbCfr0cP}FL`oqxknr+=+6`#7fTP8#AH{b zTC=iUpoX9)PDx?*ZFEq8n=IxnMS|^=Az;wX&s3=dN0!FzU}Amk%hQI^WVnMl_Z(XY zTKU(8=ts@eNLcDO;EivdJ`u9tkR(oDW{K?Roo%>5uQedmA|(E8VA2r^hOQ4Q#ld~v zJNfRaY_V%(ia5ur!rF+5sQVIiB2=en8%>q^5|T6J+xQ$7YQX*XS zymoOCmgt~mPbAbp01y)RXAIInN-Jc1KwR|Qg9Q!;Rx1UHJAI*SW6OF_6hEQRlDuM+ z?QI)KIrV?3+LmI2j*GOWkS#co(aEniW}*~6+# zOf{FwMfAghs3Ns`c1(2E74ejMVPCo>{2P{VcD~f_6-&3wH{jcplyFTPmJtdPM0gfR zS4zSmsZT_XP0*uFz=Z;lh;SgBvV~oJz#3(iqo|R2i>xex2OH6jzFu1*^p?YH%Y7=) zItMKlY09~Y zkr_{wH_0J%C)LNpB0_%0A-DoQh%fCjD6l*&b0}X$jfWf;yw-i9VztD#Dj-_(1X)HU zkk8!nEW096hY@^BHf6&^e4?}zS|RYM_42CnGaHs~XZ(V&I%!1?#|_7Xj(Mfs9vI;F zHKjaAQYXCwh;NHEQ~al*B!RJLF;Eu3e3cd)wTBP1V_oBj+d?Yp6%DO))R2`bxC%v~ z3ei$eS$srS{LGHYuHr(KaY}eVnX3Altv8Hl66BVR);N3HJUUySFSaAyL0rx$j9C|7BngPR0V6itLnY5DToe|K+Jwl1n3igV3c_P7D5N+L zh!ClHYbo{ea^Zqlgdm|9kU&dicDT6}&u-I967U82lnS%RU|h@9+HN!y&j4IE^AM6NW$F+W`FaAoO$NY}KcayXhHKV->a4%H4L zXa^pLEED~#aRQyRaXj&fc#Jr1RY=ZCjmgBGYejMh)kj=4c_;$eQkRvI5-Iwjd&Aa# zM^G1Y#=(q@L4;u}*ug24(oiLo8!kdS=ydc4N>7%gMfK=`zZA*v7@D0Wm)U-E*}SeE z*N&Ki=Ba2HJz)CqEoIea5yWhsMJ~Y{6k<7qhP+#=7pPE4B}EHCjSLvm@P(J?Rc58F z;FbwMq{jM+YPl5JyjA3(vqTXmZe)CS3Z#TaxAMd zw8ih$N!CqxcL*h$eM}A`Lrsg>xxMTu`z!SJkCcjZVsd?$JsQ&5_7biZ2XTDOxCWL!-eKR%?Ci%#2&OH?>8|9_T?KL05!ig5R9sZ@Cm1 zF$vl95T_M(na&|p?nVv*bVB28Ob~=cCq@RLJ>$(VAh-aKdM6>@O|j(ltXGySAEF@Q z7q2|pN)p8D^@75#Q}q}At%cm@idwzMoFOZiWSVb4BAP*@Wk3#RN2-uSd1onh3!QxQ z@(sqeQiD{bGewG}ef#S{f9XCw&;cB4O%2u??D9o)FpgWhs2-iw$X{x_6{84Q#2aRF zOjn9<+sC+TB@h!FH8_+X&;`I})*qa6v}9+1K&_GVU}~#LwV~@PBfX|_=jbhWAwOco z1`SY)Zy4&7eaYrxkHiVWqUyC&JD2Xy{iXE7u!f40aTBCk>Qji=) zpq3OwtUz)cI7CS{O4nf!(Gg(+c2BX){HE~%d-IAXBMHtcY|*z8@{d1fP6zmnAxb}* z3?7iSU-_~vc0S*bzG0cjM){!&00d+8zUW&`O7KN}?Zy`&2LLq%qTskNRbRBNUjJqz zz_M|C-4<2!C^6gAa}j9>Ew=%qx|Ul6i&!aVN~0c7b_!%%7r+=QCy^l?CGwgSjVoJH zAJKf$tuoaJ0>3O5xme#p-rVq&YFdbUIpc|w_-RUU0qvY)+XLsGCOC1^5Sn7P@}GXh~wy^j>%Ex4gxhWE_75f;D|?cK7fktee5r)$Pk`Is^OhY0zrn12O0%iABFaE6?Ic*GLVA4Ti`_;3Fk#Wz60f`%L7A~rWbK?*#Gv7r=j62B`& z_#)Kc9V;m3n4RoltEbO@bKY22WRr#gt#9FYzZ$muFKhcqk-fOpz|8Y4-MaZL%~xjtcQehQTx( zmUTrQczLp5Mj(D>Ie-&U)q{P$V+8aABLQBai$cS2hlTCWhscxAPbKDy%*wEf5=xO! zWnR`gXI8Fwd`_S+Nn6aqnjlyXkn~z_6^(8%#DVrGu9^jbgQYEq0YV4$cvJx(eQN5{ z=T`8!MPfM#^f_fqOevXDoME+^{N8kSTtB%k!X3rASpuvH9qvh)ZjUYoYG;bMqL6_Q zPY~BVJi&Nm{3y^j?r+F3gocTgA4x}s40S;!fJ?HC7}o~bX?V#g3fo3KurBsz!4@oR z5tsu5aj_jWR@9(6^i&!cLV*dMGCHm8Ls=Y6Iv#4dK;Dw~?Rcvj!qSi+iT2Nr8^Ye!^20 zYzV*0&BA4cbQ^U##JdL!tdWIqV9K{UgEE>O{*C~cq^>ggE2$;ph&gazDU>?CjL!Lr z-By_5ID{gaV1OuKfQA)^gVwIB&*TwBO9VDT}( z9jX&SxSD-IM!YlomtV0<6g!=y)8C3hF%>)MXGinY-M936{=Fk&DdFY z=aUxK0Ii;CUKu!|M+;R?o0c0Ud4K_;a~!|qocH5E2Y#VG@9R+%Qv}T9Gt`65B12D_ z`4#)kUg)JH^I7sT&B0`T;A4cLxQF=}U5f!V=1kv_=eB&E^k9Yb5fmHdk&%O?$+@M@ z$bH@gbq-1YGfk0UbU`$vNa9E1QN0ymAQf8?j0mJeqRX6lC>7T5WuLPFSU=WoA})j- z__8P9peQg;j96>h39P{Sv%Qsli!VDd&=ieD!oCUe^wTm>V8IfYL>Vm$#DFPaplG%y z40m7$gS?;zOtiaL?nKOy$&C?TAb)+a9Idbg6`z&A=f?4SKa}gEqCfmlzEV0K6FD3` zY#<$O5O2n#j?U>br=ibKrY)o^;{J3IpjZu7Kou6-;R=n$S?joV-E5uIujS8(m)rR_ zYS;DZ*~R2c2dMLlYm(0t|hn8qNo6fD;fPzwI>KmH#JO~K|{EGR?ZD$Y*?2q7X284t`UQel#c z$Il%1r}+VR(wy69fX|-Z!l9#{k_~!fCFo*pLppy(c}1G0Uy1Dp;$n$^?Z{-o`n^m;0$1 znt-n?2}aT%Zk0=Bj0m9Q_*`!xdg{8 zRy-_G5Fat!#1N++4Gb&s;}(e`BbW?Z+hCsRZ<#!;9t^Re5`MwrZ$^1Y&_gN>F^JHW zog~>bKmbg|*`5|d#=c|am-X?b#UsP8E?;W^TAY$-JKQN7?!4IA-GBLfdvzudpUsOo zn3`uNlg6BxJ^p-0o}#cqL$i@Gh;V_@#QQQYel1*-Eog51xHSD@r zVdxkou&F{C^*4WgUvC~nXvQ;E-qp{}4x$^7Qm`6K$wcVT>R3}!s<7zJ70}HUY%z@; z185Wgv;pBMGOa`z7IewK8E%X6Eelp+(~Nio1}bG-s-pBbl>V^d`~WhgD+_GOj+=C4 zKY{Vg`<0OKgeABU-{Bk#<{mPG2^9jCZkEeDEiIo@35&Bw>kBS{D_(|N^5hFFOh};{ zX>zbYnM}YO5fs4EyGx)BK+IFp-&Evh9k3W--+hW3K)e4Z64=nT*DIl$P=}mky zry{r8qMl1J5wedN5c~*Q80x5bCOH67YL(?EbK++3{gOnieW4UoGOsEq^PDLljMdC# z@JORF-hhFaP%)~j3rZF2#O8cERZzQtQZ}0?c7n_zU;qdlpzI+4D@Ekm`9mlz@K}Wz zl`(U1TC~CePeDd7W=vzD<^bATyLs>-;CbT(MdnvQ3@j)Rn1LV70t*FJVr1F*n5ijN zjOi3BMpqUYOv^$^ z^eB02&_2w!<0YSY0od(m78fv-kGTyk=KE11iq~MiaUG4BYi8n7hWU%3WMcx@*o9MN ztr4W`TH~h3cRGVlM<6t9QqZEyXI)`hBw6V&xbVbJ1)uRRS$ae?$t>t{965Q)KJry1#b&Ax{W0 zylVYVHu?a=%sJcqQ$$>BAQG5FMPTY(W?GP5oe%@ai`FRr#fYQN6c^Hi0PCwkfg>9IuUE!Ya(~*ydnTL!_Q((=N9sn_}fbE5v~U*j)CaZMeZOW zFUe<-5vN#WG#!HPx!eNae-+6fEY~1)*NujQ|DP(~e)H$`r+@$W>DS+W{uhU7auV37 z2Sjuh3;fSnt*l`kFYn+UzUM4EQ}ik*&@PDlF?Q_?$Kiiekoc zu@*u#5Iu?=9g!850f7VWRIFLRXIiW&*+VI9E+2XBp|K8<^U7=8jkWHvs|jW2t%N#k z;Cj3!4c~Jicn^c60$TTvVd?ovIvhRE2ok9oxoVX+P?vyd$%<^WS!7rsuoUp7_W zA4LS0$L05&FJS3y9!3A25b}~4C_r*}e)OHs^sMVM7KF=?@*7s8R#c!s)rAm5vy3@Xy8_4Kmr#ZXRe*qq)tXxrL|oPtEhrMKXlvOLR&`v2I8fd= zPxPgj(h_1toG|ek3ZpHM*q-NBWVYmBLO#eu4>SxDdll4#xe94eU)v^#t~GkdOofu} zQy1S;heKhdZ!v73fFfeTArM~Q)0ju`W%l&&3m3_*E*bILd?6mL02H3+wz_ukXiXF1 z5Dq1JU#jV72_QkJF`5G`0&n58DP zVY(hz5|7G7m{-%ePYE~l+hrb(6L6U(f~61!@`mNI@IyIf)3mzI# zpC+O!Vn*BhyCp<{$PAtG2_PUiWUR^cPf;r5+-3a?Nh20T>d$ zMX1P!jSMH{@F@5J5&@O2LwuA`fUu^bNUR1`Ti}!AUop555~PiueBB{q)OkR>eCmN3 zrY<7X0Xq(uub8f^wk2E?c(T$u3aDkIS9cwCg5HlF+;bL?{_2>}~#+bHxaTf*nrgk)={5Butw#NCHR3kSOXdi4T35el)_6W-Si7#B zzK8gQDih)U2}LEKYVMJG7Wac*pa)1$?M&r9n-$cO1?($$!`X8w+yWRW@tbzWb0G@P z}lPfsj?He{r_j*|~Jlw-lvLo)~oe!(1kgZ_!*aHEs^ zgI_`)BDfJ!8jI5Cu@JR1SRbvL@S`Ok(K0{8!%CerDTt9o&(3!$Otkgve2Z%TicR>d zIh7T(;JHwtHKRC5W%ZmW!lTtkKhz+*W96?a z*Q+0DVrz=Ol9k2S0z(brEN zBs!b3%BjXZ>Zc`$Yj#j3gTcel&F)oX?x>srgMOl3Q5@UI$8uGI1^HT?L8EZjV3Hyq zbAu;y78WoVXD<|Apg5o5g8}!SZR7=WVwE>oquuBGFLs`9?Y-ExLh-^tgOM6w^+o2m zfuh$o5Js!9h;;^)r8>mJr#6@@H!D)2mZ>0IytEf=1$2n#y7Ba2pODG$Kctc8LP6j) z<)*-T1`078w?vIs11Xl;W_E|D7FUtrUUw~hX z3&O)NwWT7DD*g(O%5;JyJA<+sRB zwLrpwz`hZ2;^LF#CHSTp(|{s#aY2<>fsw_kC6tGZN0E$5Lzo9pTQ0B%pt+1X#4MX-3s>1` zl*usnOjLLx;D|aXKbayC$gd0qmguEUm)vl)KHVNG1;mfiX3K(Y4voUYU%h^NwRD@a zF?q_cIxDKaz;3LrlI&zbQapD6#YKoCc)B6FO+X_e2!iNEu!XVDcv)TbTU0J$6$K|H zN~6jNpZ22MCUq0xd5ZWtNtVAGfVyD&XES<5)waQKgX)1@(I#g2B%b)GAs359$#N=M zhPnx4)1MEO!L(9Nq591?-u?w(XL@d)z4mviDt`TqS-UM?VF}AideU>rq|nkq^wII^ zGFM8YXPG+ns=yb9uwRSU2-jX3Q4{-8^{1pr-PX79uxAsbbhU;1v^3XDlq~ACq5DUl zX6MzvaGIOa&0rt%ScF~V@34+E!q+AVV5R_P5B`mSJN?-yV7UQBgSd+#m z=6X|ova)1?!#xYP?1v(&iCcD>IW8CVsi-0I^{201|K-_t2S1fIK7RT$m3*32dO-|| z#tDIp&HYU#Gu_(T-2I!L&0hR9Jj;gom;q`oU3sU4$z>J}{Zc5L@TUlMzXSx1(}JpV zG4*g8NN^%Zvi42ZI| zRDs~&!vAvJ&qV2L+@TpZ#QLKqQVX=eTvNE#@?QexDT|&g)07|pbm?WL(t&~*$}TM@ zhHCRGGJ1~`)e(BbZG068*4L4)JUH={PeS&4oL{r~VTrU9JejorcPoVqL~b{Y#+T@~*<~YyCt&ys}K6yTi`(x`XEX>v|DQkIt?|=7u-_xJ7aD0VrFnNn9w(Q&+rohn5otq*&Q-n`e zXiiNLLB~>F38SBB!cgpsRKRH6n2t55S4p{Ce3jl4Nt4SXnh~_Ju3hFzD8+#AVs>0j zkThpPj&YYfPYpc=Fx-nA*kB(Q>sBFy=h7ob*hrCKBMtH?QB zx>!AndTD>EN5?0%)54w=;9;@ujyu0J^kmAv@Rm&pju|W$G|8UvG@Gt z77rR_zT1P4S4F0#tgA`cgqj!9JwX$zeKo!S8=5Il(qqOSd)Q{L2bY1ypm8GQD`jdK z%5b`*nXTkvp-`4RMZo0Z@}g!`fX$PQeuwA4^*aX$&5GxH##X$*#ry?FLfY13=HUfR znk7XsT5tEClDcK3ILm621x*Sy@Y)o-Ot7GMF>`Dnbhso^#K%+bs{9F4&8_E#7xH7VNpWj#O#0xEj*M~RI{vB zxhPSD@H)?^5L1+ko7?;$Bx^4yx3Ny5CrnZ^j+g}?VE;vB$|Ceau!q?NjBbj*+5JS@ zvFkGfiLYf?%lYDI3%2mYQtvo4Kgc8@2T$;R&YJ_5EY81(O%&@znpYr5G{0vd;|etG zi^pRu0VUE@#g-YV+@O%PUEjELDhHIa8iH08qo@Z_5e5XGby~;%?3}+LQ?}z@cv?dP zLq1J(441(!l~#3V@*yr3UAY2#=;`|ESGT)GwnbRqFV+jRQBX*Dr})!YAxPPCh@(A{ zfUTBOpbQOxydtC{sRKrCzCQZ8^z{k{vq(_wiAqpiVl$wMb66Ky*dU?Vf3&Zcg6CC z49!68?Dz~kRl0ZthU3eg_|#a7DsBZ<^kj4^_AyRISv{u2thB8w{vM8RBS+4^?6vpH zk>r$i5n>5-@$&nT6+`meZW7`PJA4p*EgI(!nI;xhS84-=oVqKb*)&u$DwqvEh?MnuCZCU>y zyZZ+v{;HxKuT?yXqSdUQ*Dgs~T!d6Slw$pdTT<}0VtwJ|xL@)wx*#3z?(VLv)Hk+S z&|P8fZxk9rc_7&a0_FCN{%%2*@Y%wBv~*ki{9AW?zhxQKe5VDW57$Zfbb;8-KULkF zLiaoo$|`6S1Yk}<#jCGkJ&JL*po8I=V~h3hD8Rz)QS9dDN41e9R9pB4dV|bSlaw@P z%94(%CG4q#%j@9}%)j*2dp+Y;WJ&3a3S5{yweXh*d7SAjCkBJi+M{X8W8E%7xC{)h za&dO2r-jio74lOrMd-qCLaixjvG!g>P#VaMqhy^sYxkpIX&<;BB6P+5D6X%#pC0&f z^UKg$(5YfV;wtlqBkKZLTp%c>yjo;Ug%E{lM2BYPeh*oGSZ;6*bswBk#l+Z3ovwn0 zpc+XY^n!@TG}o9b5RnO@y3Leu+O)Km1}VZt9Xn6)odW_;8hosw8U_Iu-H>kDHUA#6 z+{(gVFfd$RS+fkfnG;2WzcFmAx-08_R`A5^IEs-T1fjF}X|OnPKNvsDH9s&%C*wiS zd0i8m?M5H{^HcN}Cw^6>tQ5@8n4pSLe8VD4Cbe0SE(o>y6gM|);5-zau6aE^CgeRV z`2`vxPPc1i8B4kr@cME?*M*mr4PKqHvH={=$YDbbQ3Yvdd5qKA5k0XWJ?wE>qvn5+ z+T|OF@>N&Aa>|CI-)~r{f#DeJQB|yCc|D2^PE{G+ z1)V#x643Wn255>J6;HBw!zfMaBbUy1`0CRyI5$(>jkvBDrsM4^ywh2BT}o=v6jx zCHlb%KcmgK`vjt{l4OdV3Lc0J%wy0Lg7w@vqiANwNF`K%v<+k_034jOVdIv7S13nF zocU>r=R2+C^6Jj>)%F?WSy%&Ma6uM#y3hrfgCU z*wbZpQy7GFg{G%QAlm3SP^gf72KbTdAr8wiqjh0XSVsQTVo=u~mQg4%FPo%`?^?13 z?FHlF7c2q8ye6;3>J zR#c8hXYd$}U#)pS1k6b=&VOTC0^PDe-RM#vXA5}wOa*Yf6mym;(+%pG` zJyA}c4d^A>pu#QnAaIX&2WXewZSJe*%+vc!&{&ANKIwr2 z92XC)^e6Ub_-Zt$I_Cm)e<1eOUd&JiJSjFjqD!T{iTA=7ef>gMDRnL--1J z8_uPN%$X)mQL=LJW;{L%Qv!*#9J(;w015n)l{7j(nr{e4rhCyQ%F+;LqSef;1!A_m zxJCM#`nagz3RMfmluPc0*n%8}Auh-p(h}4lY+wo$QuJ^ivk%Z5L^4fAl4;?`pN(HGhFQY-AhZ8bPJxQ17 zEyp<412)y0_&XcOO#Arr#;0%i-1z&yJbn62=~0O?Jr~r98WRA<2@Xq99tvSksgHAo zqVO;7kD~gCIYrX@%Y}O9)0(xKHrJW*-j0!@uWJn^47+f?R=apxy*RG5e!P5t-8!zG zo!e}>Tdl2@lB(+0wG-->&O?b2`Bz|jfb)ol^>QsOFc@iYOQ0yxO2HqVM_7D?5!6wQ zCz3fQR?vvm_#IwmmRXiur2I6qRBK-ZahZUez(i=>b0SvV2z)^P6P;-I5E}V}v4X1~ zcOIIg=E9dBjI7Z)@}Z}9hEs-9ye83t zMEJWJvw2(Oe`S)hm0+6;1aoIH)fpEK@?c6Za_2^i_?wE_6@gQ%2C~8Rhe2a00%K$! zqBkP%Os(Nh4kSKk&8sSKtWJW;Xeo{B*fE;|PE^s$I{}XVED&2K_E(T1u9O?ZuN7u% zVRMvq+{yZ5%wE^n>LWExbna2MT!qkh(Z`O?uNsENiw*Vao^MzN<2Ls~IL@k#mK@QO z(wy<}I7n`u9-Qh(G1Tzs;oK|0M?7MMxrbQW0S@HhQTBJ?$}lfUq-g{^$?juO7?^)z z>bDWMcP>Uo=dxtuWy}qzf^|Z((F3qonA~R`E?{{oft!(Yhh)8|p5jP~f_bUXYIM!V zEZhrZV^)si710g9NKW6G7<9bLxgh`}}4eF%_SaHB&LX;9Wl8Hk49M8!WdAU7+X|f^Ei?2 zw1%5!NCx1}K1>`;H)8?~Co9?#>T@1#nGBd4W4Yx#1U8miM49AOmRl5rS^0I*2r3q_ zsl{=$1-7b$qwpq>u);sinevG* z>tWEJUHsCJ!>+H=3D-&Mg-T`IM#=HTmVa&hKzfEE$?l5Ks&ONp9{p;jz}IV1O*y=# z2ak$xIUrDC2Uv1W%IV5n7~3yjY;NytZ|}T#zE9B$#N+YU(WO1!(gd`HEeFxx5Sfff z&}U$C%o(emW!kI&+%|HX~TC8G-;!a|^AU1+FKo|RJ zGle;$T8|(ggu=Ys-$<4sLKEetlF)0q4l~OW29d16B>(>Z0?#fc6fVq~(%(F!wb;i( z7Yw{#ms=7B4wnDWy~XO?S?m*0^-gZvN}3v>LY@T>^$&3hHHts36vUcwQkX4t9?$1u zFiVFbu7g+iC*k;0u@6*j?^2crU!spz$Cq5Ig=zyDbkG$wW6wVa&ze^)$!5ZAPIp6^W z$C637ERuFl8y+9i44d{_oHcBkOhINg_AOZD!1cw4xp7^G+46lp-mC&w48c9H4X5LH z4!eaUw5miMl%j4LnI@jjJw1!L#`GwcaSje3!f)}M;=YpufX7T@n5NG^%&Ujzl$NY>vp~aLVEE!^m}BvbVVoK@ zq7)_aL^2a|a9s+JxX&Q>pXafz0DGDZ0!KTSizxM@_>5VJf|VGc&$;L#CgTv_C`8z& z5T=(irumjts^VMhTb9GO2q38hCy<0tKO-Jdu!I%ffKOGHBvvKFWVnM|6ZS|ckrowN z+~op@MZ~@BYD{^NJM3X)}V_pI2C)Y($%I@Z_8#);Yn^)0+H;oS-ouJu zWPk#6Y;ZL#wi@9u)Fe-2)(D?_YgS@%lj;F5UN*9V{i1g#r?lduEwyvDC=x8R2i`|Q ze9VieKV%wz9A@|=03S+FRKE;twu4FRDt; zk8zY9k0@~P5!u{t3D>Tqs1Z0gRhE4h;9&D>t@H#1u+@hQl+Y7-XfDqz$R^C zsJApTBCHLCnNOBe)-Uiey(hrNAlf%D`I7&Y_hlFrk}fYC_R=Ps;-#@b&9+JG?C~a& zY2T2=uv(^0KlNFw99-**mNs>qt!8T3rfYcW%3cgyB@{f`1Q@`{hE1lq*ARCeT8i+xhiYz5+v2h0&gzP}q*cCQ}qRhJrIkdUw|lYbOQ9dp73NQwEtWS%tKTs7a)m6`3r zrni%=K@sP%5WqYG&3d;7=$Qhvd<0;tb=%Fe7M)QnHtWH0i>Gm{WWZWAhNjf9%%^n$ z#>bnUYLj_0ypTT=;;afx6!- zEZ7yamb|`!+%Y+@x_xcZ8cA5F-j6rw@n614W=Qc4og$t2cVG<4p)`wg_QX_os$k7)SLM9eK#Y9SB6wm1ih4e~UcS5`vUv_>X3=f`fY3ni9D5`(}cf$+< zoD>+WLm?;+ge2OnNAR}vbS6DuDjvQY=)vEuhVDemwI)LsBxVWY1%MD>KVv|rW7FZc zS{Ikp2%pqiwbN5(ermK@g9m0yosoZRt*DNmNU1CTi&VE|96?jAc=o1M$lws|i6#!! zeUth!;N5^Nk1>SRb{&~x-lS>-feE%+=KLv6XSQb7oVdBn0Hv?5q?(q!LTnKACm&0M-1m!WTU;TTAxrjn|yaIzV@tPi$^k~VRU0wtps5#8x@=7pf7=Y7MU5zpDKD}$!Us%}1`#<%e{BBfP=$Oqla{0H5THR6j{k3);hI_xaZ_rqPHPDOwN4Vq7N9**t3$r6@tP;7Rk@ol5lW zG#sR3`4zI@p&G+p%jJaPrum-?h%`(wkYxwO*sLBX^rkKmS;cxd**Q;hABZ^3P-Uc+ zf+9!nm&Gg`AyAOT*_&xB0^3e3-CAbMCCg}cviWE)Kh@O;N4OFzfA?#{MH%ZfI(3oF z7KtTEmnTW0{g&w0|&k7iAsc%nS%AIzvG}n>39JsrZ=ag_AD6 zsGQrtf(qgZ1HeY%Cm8JTQ8E)2xlNb#6W_!LU(UDYn~EbERa~Wj)mrrg4!FJf@1h~} z+&MGYEjnk$!yG~yNT^5>LFo8qCVQ{EG)Y<=L0p9E=#r zvzg#FirJMnmUFHJDF~Hfk>cia8~R<3KM%;?_-GRozDAMWswNT7vox&UlN+F0%E zR8RRtRUn=bP(md@tDH@5L17d)n6~Oft}w0jyvBv$aS;lv9OeX{soTfk6P>Va3@i~0 zMyU}I>kPu?Y-n&ZaoT3+nlk2~uR2nbV2n|>0@<(7rYquTrUR{Pa}LIHy~4J-_zN<# z&ZFQ&JlA8jX5G%kQj&ONjN*Z3A@%j~{9NxRnkmcW%|+T6vJsSEIS-CBO1ow~NQGyW zKjKfCc0WWY77+^)Y%Q?35cUvv3Q`4_T1>Q`C~rzi!xNcCTX?ebe0y*EQmz%c08pYS>BG)kE&`VelGtMa*6@AXydN#;7;knHiPn&R& zYoYLhzInJ(#$xV7&|24_s0gjlMpH>5f);&J z^-xOSY|Q3uhIte>q{%h(+67il{QT zq&M@_Yt0#^kO+w$I3U|y!Y}Ry6auFS9}6U$&abZfysqUsD~(1>hdF=Lle?BzEc5-H|i z{H_CangAdAvDnDiV5UKUm z<^N~f7YL;9qZU*w`+@`tH^(d9rK4B0m(PiKSQDN=NVh{2!T2vl^Kj@D>-hz!`(9IY9FTibfm_tl_JVG5v zj>wpqh-59BV4ePM(SjOWeD;94OYBSq^o-XAssf}&P>tgk)3nMu7U>*>7H(HcwHOV! zZU&2bxh3d0da@y`d_|QO@B~jfFvQN1eLOjlvu>yDLsXh}yXb*Mmz+ZUGBITw~O$~PH9mI76QN2xV265eH zZp-gMZB9621=mrMsJyuPN%37#Zk27ykO3QapmSZtD$d9Feukg+nN`KNlvjC3J;mXDf)A_ji$zTlmFRt%1RjoT6Ft}-Xe0?S5{{Q3bUAOAWu58UyKU1ycJM6^8vE&Ty z2qA2RjSx~`>p}_?VP~8;Y6uX*LV(yHiOlkkYOUU&9-toM{69}rk5FIlW6Zhc+Iu6# zsdQw7wAR||GB0EF(Z`L|=MPh*rvRTQ<77_&dZ}sq5cl-_gSw_tjr}z{_u@6X`1BH; zCf}3k@)FSXabb03ab@}L!ZN)6{QbN4T)gT2(gFc7ckh8y?=Ih4z3a?msd4LN1S8r5 z%)urW%CJsFsIu=vi8V^r!iPPi6r0w+wjD^je-QYqK(%U9x-R8l&s_*IQl*R57ee9_ zDd!@un)sX$CBw>~8$BletC%aeaQ&EEU|x!v9~hIq)bJp0f7(=ROh`tyic z-#T!Or=Txo>r&d2@@b?McR#6BL^dB#pgSPV-lKe*Q24i zCd)#Bn@Wtj4<^*E6{GMD9Pj~l3a>Fpi2kmO6dZh!pXY=p+g5~-Dsl`wV**YEwA^Yt zT+2swKnNv_x8+9T2ivMrT8~CjWabehk8O%RpB2d1(Whhs@rY^9PJ&anH({3g)Ba#CV+y3oJEWEz#{ASPjDl06YDW zNHKPA7Vctsy3FgkV~IRt*fUgr#c3Y(U7P4#Ey!VaPXLwBs!;JO+a3yn84jkDIPmJ? zWU62?8sox=v0bE0b9_C=HN>{Wu|$6H?%%dI31tc7>Bw`8tmKh3o^8f2^*9MQSL+Kx z!J|9NYawbiG)#}v4{#@$k2~DCI(>F_x~qP-2fOdC9$y^q?9mvqP*%;Q)ALIh_G~)@ zu+4)`3R2*%CwEV`s}jG;7Dt zmV;U`A7n&0ulQ}m&$K8A5f(Wpe)z=@W1qrN0R0rI0jC;h6qW<3CXJEmDy1Hi93ZwAn>63`HxKtW4jvtDzI|LVc~n15 zJnMiJ;mAs7&f;z97|j5V*!g@)u#yKe{k|122Xt*D#w+svk$6M~V?ES--K-uZ=UOvZ zGk>b!v`DhR2*u(mN8Kue8YO$gcq)6r=s`sgGM8@`WZhuNq%#G*3=tpUL)v+_r<{WT zdx0j;F3$1Eo*gwo){i$0Mn>=?MUSq?cEpmSvqQZDtJ9|Bx+COX3h7ngwVeg{4C)?5 zj}L6)SUGAbec+A-bW7WXRcb(Gfpyi+XHQ&QmT@3xfE}+vi*X36yYuV{(kVnP#*30Q zvSr*y5P=4AFxZv|rXa|tkG*uYIyabMdil1K}!x59Wwta=J zx;l*J*ytl;m2}AGW6Hpmr@o~J(#drt5ZHa4H^6n5zEmOMG}-8 z?ZU@{5<#qSG{TLkG0&gVMFYt7T9B!e!rBd0cU)T2!m*ZbOWJ!It|JmO$mtN<2A zl=Q2C=Dul(zv#2RrOr=O_fQ!N#XZyK*-{)SZzj2gGJr2BXlIX}V2RE9RMl&NZCVAMe}_W2r1u^fycWPV|`LrDT8W zN<{he$A}!zpJn%kg*WZ8lOz?hxAsmR1#eEOO_I*f&o0p{2kXNhMU}DzWE1V4oj=7~ zJb8@hkS&v}uOV}6O>zC%Q3p-9Vl??(dNTfPhKla zbn*3*7cVIRwDo**N8B;d>x6o|RL8UEptlov-N6i(n**^IE(OfqDzy0pE4>9B#$5@Ue{KqX2EIEN+Z z$QVR-Kv=|BFvV-)8EPsL-UZL%zsYd~j2k>>E6eB5KdPr~onFrFAQn5Gf>&nG1X51U z*#+RH!O!ey*$$06a{sy+oeb@e1yZs`r7dS_8jkjiXlShGy^EQ$t7A#ZHsBF}aPjE! z{V>ZwPr~q7@zp%rc(k+r6HsTH60qy12lS*XO{aa7FxxoFAKZT0NAE5!#8E24Ht`3F z)tHm=8!kGqUV%pMXn4WlDE;b*wtpfvMQ9P}SX5Hb25cI*+>g`vR8H|umys)}Hbn#L z_g!E|m&>|0^9HZP$)OTjN11ViKdroi^KP@nh1l9qnulAv1D5sH^CyzZLZb@nkroiP zf;Fop<9itL`^i?$>oHCoy^GKpI~*x&`N2&#sur1&l0PwT?s?M?=3Okl3_%>-(S^IU zYE)KMVTatMJ*+xH{6=zTD_1Aj9xy0b%G&SLm+bsOtX$#oaXsTCh0fr4M$~AHpSNuT zbxok88wPX+%VWZlu-_sJAP;x3?@Cy#H>rnrBK#t+mR6YK^L}3~2@HvuRUf8d^2lKl zDOZ=~SC*Gn?k=sa++U%b%RE&rds8^e_6;T5Ka7D4q{j&wa5nKMTsO&(KTm)8B{09^ zhFj2|Fj3-Gdu+D)9+1VfBxSDNGj;cvZQBg~zF9zO%$fG{WlnFD`QQ5FH} z2vHD}lxJM`j}s2-))d??ZbC) z&j?JAuvKO3%V!S@Mz%rnd)Xya4by-kC(XYGZZ_vw-vrG|?kwsXtANg<#YO>~f}>9I za4_f@hXO$(J%>k(@E$e?Ffb?y2{8$tt}IcSW5};SmkR8t7Cl_Z(Pp5D)4}G( zv-KTgtL$X=EDe%Mga@7M0HWFO5EAqxYfG{@bwdd+E>v4Tx_T6hcj=SFXLMyXo5Q1U zJOVx^;Bg{-2vS$#tpT}|5AJb7H3}kkSTr6Ew=xKTD-x(qLoxQW;6K#Qk>{VqS0JCm z(k#S@TR1)~mAi6wWDytWEOq1Nggk0j z!v3R3IL)Z-#YGa2$j?)XcadLzdjNTTwt>WX^M#FDrGWYk4OZEb{fSbRhs7hqmQ zft1z-B8W!fm|sa9imJC1R>hnVEZuCdIXt`MDTQ2e8qnM)I^N=e0oRF_k;d#!6y8^OksN-( zcM8RveI_M=Pz(XPcM;lrN6hHjWAf{qFW0 zxpt&Is+Y&U7szl;%cKkF$ltH!e@UHWPUaL%cB+mqr9255<4Sr4Tn_Fl@bk$=^uZ~A z=PNUars9faY_H^DST@86sF@BF zv#f5lVyf4xm(9ukWr4eaCIbUDnXILPJ@FprvteIsA!{78@)1%`#S^*Z$C}2GA;!MZ zlZ~CvB(Cnr<0KrKnAhic+mE`RB8Vl$Exw@4!W-6g=hfr`CHILfb0sXm%KJ2BOTe%{ zH4VC0#Hv3ZK(ypS=?S6;0mSG%N|bUT1zRM)+z=V7iVPbz+RMGqJG_=4=sGG=S`Y`Q zs&*=7SnRF~7m7+ShHMe%8x;Hdgq%hG7(`}03E`Ro7c(VM;fxMHD9q1H3}D4$r(%x6 z6^aq^_PCS|?ytV+BxIyETQIwsOiMs-hHE_J>0WaL2@M8%^ z3w8k_RPNky?qbXaNqK^kNeqwZg7y9VD>yk3RuQVe_hN7r&^Pw<;9U>DfV;UrbhV$< zE7U=gL$8)NJ&0eF03FfDB0!q=5871v=)pAcx1krJ_moP(iMX2nID*=!o)oYx7L+P` z6@plzh$L2G%u^_{u;iU)D)E^qsz9;nn~oHXaM%|37fi;QrgZ>;|4}Q6%`eY=tT(~M zvVeaD9BUC4{H%+mR!AFh;@nykE=jCqoo$wATJX1uGKILD9^P>L<0A(B`s@lSl6f}2 zq}_k;$5)*9w(A>1j3%~RoP>|zM+R=!0@4> zQd#;W2BY7glZ1+Tr68W4{Q%de2!|It32C|xo@-H23_e(%ZM~;03FKjj%n`7l5C(-L zz??<+(;KA^P?))?cjsu*xGfQ1Xr*GWvQ3YWb;)){T-FoSH>!Yy!9_TcitRE1V(R%h ztx3-vR={N$9ZK@_8R>V<_==)z<=l9LX*$}CHzUfFeM(CKHmFIl{t2}V%@d9KaF9lo z(}f7(?Fit26Dl#Pp27Gojy5b@`NbF{5OotrF#m1(Y_FD)u(dNWI9K!8cMJQZlP-ULYe027z(o3rZ01 zIQ#a%Maj7p`#>QHE(xuSs1VrYJF3@TvPJ%HpNN(wbzrT4nqmL#&(65dFKXi>`ysCTmz<9iI({}dI9iDAS=r)BAfx<=&kB>@VDe{k61LJTmwM>oAnyG1{Xl#&DcY+nm9<9Ay z3(|`k5U#8hgkPUb9LI)jx>gSy_D&cb%4)!q%w*TH3{eKdG@%yMo=j`70SCO0#b;ez zU=@_Lii85$ygehjjoDDz0;f`sYvm8uJ#$^?D$zqgC@KX18CrwEX7ufQ*T2KLB`hwz z%bA0cb1$88EyYBZiA1SeZPec;4ft3b9J<-u9};)^Q^3CJ^cHK|(sdXNkvDY{y(jKJ zLt94>WamPU6D$TO;>+to{85TI->QsMU{Un>CxJn_N+L1nsSOyMF&)c~<;kC;N&R49 ze%_VZRJ#A4Z~gPF+UZ6xT=Nof27@Vk$-^(pHzd3GJ)xwpv>91YAalm6picsBI>abq zxN%B%C$!FRT2I1~nxwOcyqo@L@W!l1d=PtR`0k3Lo}U9b%lEG@B)fYC?#<*V6(QVV8<5zUn?2oL{}6B%;@nd<})?%~XGD18X{L8TEaY zXrVQb;Uh4FlAC4fQl@mlLz-GeIwpXbO=NR?HV0MLBMqfdF9~Wmjh1yqDkFF|&d#rk z1A#hIGc>8XWmhO7WUm!N%tThVl)N5 zO2hI!)|PdWMd?jD!B_ByKiR&}LSvQPT3A-d^upam{KhLQq#CWxudFyV{@&ufyCfv7 zEYKfuX?gMP{rRP(=q(RRAtVHf3d_t?6fzE&oNj>ihg-l*i4t~@D`icFj!HKI_OKt6 zp21!+rU5k=2{;(^1!13pGvDz%o922N!J}P%LxfuL9HB2UR-t6eyA&P8mOo7FIfGDS zUCYipJx-1#{9?+(??l$NrQ-7~Om=qU#e~6T> zFLFvfu;Wu}*MDCx=zhTbUT^P-qB#WoISLq*<@l3>2M2 zze?;RE~|E~bgFfF3GGCg=>J#OKY%H-Yp9v zVsKcF>u97&BlZ?znd{2^%KX@!jRX$Ay(j@9 z{M|4fO6dG}w){bje;7D5I(?@a4c$iE$TM@o|B;ls{aFR>7v$8hwT za50v5Z&T$7ZD%ptK0t);DO6Ws!>sR7VvZ{@Yo+YEGd8G@tlGIEcbbHvQj|N)U;6{) z_j{|XQv3ao>n#?-B}i<;zFY2)kCLYhdGgOAnCHdYw;FaI-5}BrYLi(vEB5pB@R!`E zg)D$XbeHm7RWb$4xG)BBOHeZ++?9O_vyL(4Fj{ce%({5cnHPvIF#VdU2MXB#r`!u? z6qxzVy?gh5KlsP3>EX|xMXUb;&{WNMHanHa4}pQVmR6ST-M_cGI)4vu-o1sz`*#;` z>^VKV4{%E{XSBqgk(L^Wc5+Ez{bBeN=Ll~UDK-j;d-{~M!k4Hw zB)qYe8AHOUzY^R)4Ttlq%vLLvBfHQzgP4|hdSZYi@ zj&{%TOP+xpP|mqF8gv9J#KvB$@MtdJ!kiV&;c)KklHHz3EF-6y%0UrrCNV5&Y~%!1 zx}eF@MH37sa=HzO^VqU=1BAFdMzm)h{A`?J^G(h{m9b$3I2!GbiCtr2^0#@cS6H>f zYC>vd!!asG*->c7b6HVJ9aU36h8G3+A@M~E35Jb^)|pxX>MMwDM;NQ*)DVs0c6d~` zs3R{xj7+sLfdWv)Sv^3;i~Bl=HAz41qeImz5y0Nl zZX|NGc9KY;*QAAl1bVT>&8Zq+%%}qlj4Twh9f4N|m`Nv?RxK;2ctL>ASgEqTJT(-jJ>gA;8LSr!oF-57C(90QX`|LsQUpvCJ|MM5-lCdF z<1hxT!`kE~e5nkoY`##faGcho%t}gA_V7-n;V`91X~3q2no)qaV&vO0N}4PO zQ93q!fj)QX-!zNcHD=0PWnpTAttALFt+EI|)zgY~QN^lE+tOf_eU zcNHfZe-4l@gkM3IfMmb>mmt~=l;q%cdaR49mjHyz^GlY4-le9OD2;qL^M;~?=Fodd3uiDWNLi>!4MPA%WsOK>VSYGeImyR7~-T1Kpk4 z9&G;y6v(+Vw)h=<)Fvf>px>9_F7>sazC`#e|Iym+A73)uX0$P~Ys= z!h%D@THFy_X;ofCS*|Jh@ZOxAu*E?ib)AV5bydYcG+LuP&yirjmE++K;TT@3=P*%+ z!=Do?hMgdqs;-IPS_>uXrPQel1}uD52e@$2w304SlIZZjrcuYMN(9=B68h&bj|%u) zY_LMF_OP(o*ai$IKs}v6wRQnSqSVkEhjYU-;=F(|r#(2FF43Z|i|p~EBIwktyXZp` ziCPfJ^S^Wp;|N7bD0)J^EuGl-VbdttX$4Y$HIW)>SmQnY@y-h*jVD5X5B#U~WNe-Q z+(y?Z?Kq{5TajjCumMUufS+cwQH3+c#c-&FdV;Zo8u@2!TLJ(b{dZHm(89`_h=`87 zlwK^+!U`dvO&0YR^4Tx&!H34`YUKoOggBu+lT9JsGtpa~>Iy7KJxv6CapiF0xv&VF zy3&!S&ibzVuhpq_t+G&E=qD4B%DNjgRguab3&;(tD=<9s)D{ED-bk#PnZ^u0fBus- z#o+-~Q{<+4hO`^P=FsH!DpyIvNqIw3!{`7#bIv+Bz< zMT0{0t?xW1Kp;9o770^xHncap=`*uhzDy7@smn3?cw4#S5t==I4x~7GE}~mw{G!g8 z9-Kv+cEQE7uZpO9h`dxcRV2Hd2Mr}V-W9PkYSTbMpbsw*_>u=(iM86OWSgZrX;8SK zMXYwzyY`76mYj`t*E{op6l}IeI`s#W*wnqfJ+Z0FRIpsWw{&-Yb#-N#1PKt`-Fvv4 zof^@=Qe-u|Q-o~cMnPlSTicroBZb+};WuiJPPi4FHFff*mxR8V>Pg1{U>P0CO}?-U ztk77Ygep{hDFs^Z?|w6|44OIwN|D(gE@T>T|&U-ywKHHTEn`aI(=bU>+n13F#d zV)xt&seY{#tX`1`j2)w=8%_?-2S;x)8q>RDkV&38a@)|3T)z){`%ad!G+>luQ$Arc zwQC3u2PU46b=GH?!7Lfo&QGXQ#7r6L;%Dt)I621=-`csFurP^BKv10(U#0K|o=ctk zSye8o!{?K%W{i!BH)+#+`wS?w&^b@Uin z#z)On3L?%C0)fdSswy|?40#M|B6Al&+1RZ7!W{yUa>1e2Km^Ev!h1GI*7~g~DSb~- z2wU5-iUXZ`l>(h0lyo(P1ug-oj{eq-H2F2zwZd#c$W;7${>PsS#6yhth!RvOBAE5;DVNYfC7O zE-GKB^vB3M#)5^n$I*+(z_0+z;*DCXQTGL4 zGE@;ZpwkAgncg#oUNtMpY*3J(^TtPZ%V5*Va8e2?WRwPtY?SGbp%hqju<;#@on{yn zFuxnjFH+v-QDI=vY=m7!xB5NbS5O@5QNMZ{#+>Dwd#&thj1_*}fPeNokDxV_+)%z72PE4yRxEQE{?Fnbq=Av1Bcc!FwflVqp6)Wvk=QSy%1yDYg zC)2xS3pQNeK<#|>g4d=jJ; znJvC1pQLh(y$*%06D;n+a6e$cPzt0V&=&BP_tK;a9VI$#Z46VHu_pqaYI~whxF6d^ z+5g7TV*vsafNk%W2d6{%hWK^9&>oqVRb%@*;eG~r66^ZrlNbBT6Hb0Od4KqUa;e=Z z$iouqP(IuYDSjZkPs;FVBPm=#p9z_Dx*F5LCON zHQSr%YAO%Oe${6wg;HaH@G2pAc5+I)!;|>z1Xrl9>7qgpaN&A^HYG}JYX2P_7J+6r z5TN+s6sB?Y27crc^cwA97Z>j>-CJ6@cXxStiQ+zVfTbWjftk@3Hi^!)fvgL8=*oO~ zI}&uUg#wuU3p*tOB1!>F?Jp4YtDTo{UP7{DO29lY?dj58h_lSXq_c~h{c$%M7=1dv zxKxl@zmd`Q%NLK4T1J0{GU&l}f7G zLfO0sEtXW>LTHhuM}YZ?bAprPM1o_dH|s)}b@t;S0?%o;u7-1XPCmn+2mB)>p+){( z94OKZY6)|*33iA?=yOut33c#~VQ5P_^qiK?oR`U*SmU^$o;?D|(?V)ac$P`n17+1j zg1P!dzA5ubT`oKUt`dLH0BQvlbcxCVH9}?Nya!}vn4nu6wbi8c^p?Eif0Whq5o|of z`L;%DQu4VA%6m(ETzxB%dWHFAbi*50mS8y%lY#09lx)~`6Tt}qSjkF2>}5FTA*2YR zb-5%-SvKhe919Lm$jxlS_qUM+n9xmOxMTA92@^)|MTSu30Cl*O*VTl?@d_rRcE9(Q zej8^4nUo}p#JKQ;AygV|2|To~A?b*z2jAN*oct?}h&{qnkn@!i)P|PPF%?wdl%nv# z)(1ft`jm|;14?wXf&0|#hrbV}W^X=AIrG_i=ZFX$x$|a;ikMpJ35*gtrF`yR8B3qccGN1lNJk9jM?*USQ`S5dyG8n$bvU;uk zqS`YkpAvtSE+KXc$$;pK@ZCj&Avzg+#Rs02gTeCa22Lg=>KcZKUe^sw(scS?Ke5Z4 zaL7{BB8atDZMqR!v;fM4n|bFOP-D%6sb~#9VyRj`g#{UHB1@^ZFh7#3PkF-kBYJa} z#9x%R6^mDRU~dowfoMQ4H9&|xvs;X^q+$C;A*P*qavNS~+{Y><@Kgq-Y~_GzO-}AiermcCLyq z(iah#x%CKLPAjU}zrJ|+5V93i0?M_a;c7=gI40JEW^w$uG?`rx%mQgYm{=@VJNawX zFe%L6Q1wWWY$~0QL?YW@_U~v_8Svd^NRSk)fX)dez5M{|QRZHOr63a5+IS}g1M66t z1sKz+9u1pJ@8T8g+!$gcZKWtDChQg2EJI8Z2m|`?5?ZxGhXP@^;=lj-7gqG)XvWK< z&K;yc?v`g%y7LHD+6YYT@JyB%fj2U;R3HK<`sMO2DPJ=RMvkE7G!)XzqfuJ?+J`6n zdSPK{Wp!nB35W8+%EAhbBB{BKTX}WWS4iM$1-tjKxSJYq-X9)LMzV_$o$bTQh|N9m7E+(dNw3k6Y-r*hm^GoKN4}IrdR=j zwihy1P|W9yREj;)`UWNGQXWz6sYE%m+a%TKHU&8u2^~{szH?0r2MI-C1RcfpC1D(W zQWA1R-Ag2vzYjj-%>yEn4N!wOA~PhN%XP^_tG8mgc1f_#_{_#oleLH5lV9>!UXV2# za<3qh4pB*aSezpE4p^*y6Xr4$V^*$2f+<5Fow`_G`|q!3l#Z-8Ph^t2)ia^0DqfEj zoi-E9T_bYE-XfWxHB=Tct$y)b$@^iOqJ&hwjZ8&Dwx*S0LLD<%AHb4uxc#F+~G9?eLc3c}qPT2Hbw# zd~rraxMz79N_WtH9v!HwS^?Wopb2 zrku;fItRgp3N=b|`xpC5nCFiDP@`On7zYxs!<$a~)w&n3_>w>ccfAJ|wIHzwF_sj} zn+3=y(u)XThfeQuQU3aH|DajTH#x!Cqw-d(QnE_+7B;cLU9>)KhGz8H;7U~oC@?eW zMy1@*IaHh&^3W*S;zOHAdDb^oj_JT+Q0i8Yh_`|kgZZjpFzT7{Kccq*PG9Od@wy+TwPvVAYW&hN;mv({vIf9b$R*z zJ-Egts@=eM8P73On75ag*EjHK>5CcOk&TQ7chRXy812c%Hl8=noRlo;6qIyq^BNTkzsoF} zbs?wE=*^0Xxf%&SO} zDSk&zDjN#g0GHm?`3u$gyDj+vhB+aLj7JCxodk`Pfp=4hC8s!BVx;{d=1lkSL1vCn zm-gaNjWAfIKQ`*NFnozwozgXR^Lf_P+2{6r2ZT+~X*W*q+S}Vfq#TY{n2dV|!U$hG z|MKdzoUaiA$aUm2G;aDz_vqY#9=f=miLg;;*w}iDKRpU)Av%Y#{VY<=AW;|=GKkRr98iHb}SZdNi$R5o-S+lU}J_8d8v!kLVMvKo*B4vb`zXUp>- z%2=4g!^ov zZamt2{N#tNKmX#2v_kBV zA(07WKOIC~NwPKx@trlRiMZiB_Q%kfoV_gV4szw!5e!M<^BnEM=XlXMp(_4e8>sAG zTn2n61dFwPe(*P*r;o$*}oL}%MBob#8%>;CVXfyp;a_||%hFW&C2E-t3qH_qRj z4WH06-NH(P5!nzMT$n1)r)T)a^CQr;o4>E5)))zhACmTFI`rV`2o8&fLSOM^c;3(y zh6V!F*q2$&yR6Sn#39k(I2})=dc5|$zPuSAB0Z!I9C3pF$b=VA;4uYpW&A7v0OwbU zL!`{jJg(=ZdkgoL3FTb9yA-Xp?=8&VUB=N$wVQd$MlGz~UA?!ku(-U4-_p}Fzd(Yw_|zm|$ND#_u)NUM z#kE*G!p8u9!dT%x*gJXu6(kE#oxT=Pxbef&M;Jq@+*C|I%uPjs1JMqQMYo>!u&DVC zV+p`07yR|{&cB0Zk^BJ^qnm2UPd7jDH8|SA9TS8F?lH0C%)Zze{0!`}HOP?$3W_AV z9vnrdhzVqaodaKY@jfaM%d?}j1=Mjk(|Pn^l2V5U zcsj(P*5C^r<%>sidNLiON%|oNO3OW-C=tYW!?pSaMC|%cUMdz)=rs>5#pG>rG!em_ zeGGI8W7@JI%Az>e4&7OF`FwN)GW^U5f!s}`>u|tS;7gA z=-xrFaKZ)k5jJ5MU}~K@KM1Y?zw`THTMVF8ciyTp{YH_rgeq3?EUX~!+_j9C9iL51Sc&5ZVhW~LUpxoT={$=phaK^!4Bg9={HXF7T$vge=Sw>Wwc~(fi zqvH^hEDyV$o)s)BCiO^04n@%gm?_Z2oAw*%;0dA2bHjpz8b3zeA9*XpKALgOIM8Ix zMeB4b^QA~LCpf3u5Wr!idfglt=IrJ3_+Dm*GzXB7M#I-nAfpAmj5kO*_)H zkF#M*^0Vbhy>}MRSxbpGt6r}*>(`Yz+pfbgs#N1pebq3Q@$xmI*Pk&}m;Jg6tO}Ug z9;9Q-%3T!v9fD=vZfNBUf5xm=N#kGY9|pwPpE5@ymY>OQ+DS9=+KwX#w~{Z$&}XCs z`GPVEX$T;HZFfhona-;n_XupA^4qTtoO<=Oj(wyNiIO9gVYdk#hg7JXJ!rkY0 zpvBlSu5$SfcY`>2SZnl7RO&fl>p7fGSu0^Yu{`dQf_c^q(xIjhmUhl!RaG^*oNipUKm~pJo zcLFvJpLe|?{3FQFQTY57Y%3NPaQl@je1VzRS1+HSTCi$ueP=~C3D$`9s!AAqkbPE! zb6HDSLa?BM@NQRtDl~p_vaUkq!->c*{CMUOFn<+#k(Fa` zV@^_PQ1#9J7%AI?>Ql{?SjTgSv5~~>`Yot;!MlgRI|@TO*D3%Z5@ZwZfMj_CrrBE3 zNgg=vcmFvKVK%RG51< zfSIT#M2Mjh@E056y;DZHA$1`(*)Kq|s4wP7K2XucF)wPDjPIfKFM~B{ysQ>8i;~&P zq!I0ohH4BuuLW7duHqxzf|Q*@)OB@;OJOxvNJq(SUSnaiN>GQ?($x<#VgE;@EbLa3&>wv=0#<_IpO5gTN&&L32R8=o&Bc0 z<{b<~OJ_zKkBw5N$If|vT7X>=4$~i>pGgndF|H}Ly~$cDo!anKl`$=Zb^cVUI`3Ma z62~aDifcMT!%dJ9$uTgxWH^JMcG$S>Z{CSFpZ>Uw+fr$Jz9oxSpNaO+!r;M5CD;;E z4@nfMH2RgIt@YA22FO$pzr25T8FZy@tBz)fh`?1JfhsBOoffz3};B65c41 z_ucW|F%R+Wd^Ij}LTqNxw66tQOZ)Aw@wah*X!)Nc)@WCBkZ%3wXTqVk3A4N-oZ1J| z8;T~YN#EMB5k%qR7=Xp|f|cnE#0Wk^gX5HCTF}%DvSCGh=g^nw-DV_80BZ>sPPAo| zSFw&(6QK<9jTq<%h2bI}EX*!pU>hM0HYB6M?faub8?XOMy&@-L{E9U9nRVVM74Z*$ zdGt6UkhNcuGjze95|^2v(@uh`p;^`8@T6l@8;A997G6~$Na#I{Q1c2}Yx?W<+1W{8 zxvzoRKH6)Z0E>al#(RJ;j$MqcesU!!2u&29CD%G9;~oXhf~q@DvIYYESl*)=lq?n} zJ=Rh0bF3lY`YdIiW&O$(y(FCeJ&G*EF!RuXD=kdAR^2zk!gTymyKSWT&JUQf{IfW3 zh^&2sn8iuKKo#P)txOc`{Di(cy&N4n@cd{Y&vz0-lzkk#+V6CD&{G3T}~z&5WAVT z{y5#FN{nGI|KvVdtX-A*=^V@!M#}X zYz=sQ_4x8^&oyM07Qrd1W*YJy*}6~p%liq5XKO%dMb-i{_P@hNCC)NHB!uxqF?(nP zp&?uS6TxUnFbN`(q}=O(r=(=jD^MyvdFUD65bCa*qc;@rKAm&S0YQxf5q=W;6w8F2D)fy$HtV>?N_JL zV1g#9ZhLrgUHsVx#K;p2p)F9fCCF1A6CflUru8+$8o?oHlI6u&aL2Y(weyN*sb5s$ z26i0xdHW89Z+}*DIv`fD1HTOZQK^8JhezPUNtYP%k)m`w<5ZS}SRz~Ts|DsWhDNK1 z)eNAlEtLiLKVDJtYS{3I8Xda<1yK~vu8;{ftS!%ylaQa=S)jsh!?MMhGzEh?s#)^V zkuFZA85X>SRLo@Pa6AIduvcJi=yp0;=%nKgnS(M}o3!IHK6NaLdN zj95J;a6>1Rq&g!^T@vjPlN^v~VQf(i48YM?ii?Lfw*J)Y+|KVD&riW|sE?BNbcP9A&u1*}fw(){o&F8PycehBqHpYsV2uP*mnRy(-?~YMY zEZYDbi-QeU@1s~aM;W>=$q)uuLBJD*A*K9jFx<0^fWM}9iR8Y5xTFHK^!4BAPagXs z1!D$(!2TA2Us$wi-~F3{Iz?AWNC;cAeOYsXv7UF@^Q2k_xsM*)F*TT3bizm=b3) z6bhNg(0wu%te++6vPS_lI;}D!sR4aS0>L30r@+thUNmp^CFSpbxfao!KagcOojc7;gSIXGi#U>UKlZzO~6bt*zz+r;fA!0XHuJ!T8Q3f1&_uHfV{k z)?lZzZERIpq}ro_RXL7+z&wnF?e?R5nHg-xG5}qNqbrUZykOm$VT(&5sj6VZhE~-y z#wBI!Y8E@I;w|o1ubhr5EQnc-Mzh4mGEkl z4?W4Pl-H~c)KaU^ph?~qfV_*vJ3CgDsmxeh+$Jy~{XU%h>zA>{(kK}92x`1a7P_|h zPp-gE?3L~KgXdRV=QMa7DUvyI7@k=3e>gb)^!@+)|NP(o*WeF(6n#B>`#=>*zMmfc zVQ%mHKg{Xut>xwA`PKW2^Y>RFXIB=5&?bRZ6VN7Iffgd# zX!ZWyn|&165hncmlMkn7=O0PayZZF`%k_U`0EC+VXdBo#80c^0-jJ+muz2zoIf+nK zwjf7D6iRg)SyZP4n-IaXZ=k3g9h&K6HIL_>m(vhKCoWJ`pK^Np0gc{Lr#YX-b^OK0ox{S zHW@|8gvfDf3oiB*eJPg1{N*?LV6zXo$#;9k8Z*Wg_dhkL2DWq;X0|Fm1i2ti$vDs?eO9 zF?jnRo~3u#18UbkOCokuP>0?>7uSvT2_}px$e{`u-;{px7v@chO8<@2*okBHY#?w^rkRU!b*_YZFWYof*(xY?;cRo=QlX||1a zKIr{C%$B;EnWD_!u3ZZY_u2yPot>wj7R@L)_eW^@P?DmB)5Ty{6ALz1MZz7ZY|CzD z1uDhaVD{iWm-Fbu8!qSaC_&K7oX*TpThN^rhz(FELZrvIKqbU>XE@gy<1(E%qeMB}pJJ&$6#l^+> z<>i(6<@@l1ON3;TPA=kaX^9Tps|(S6vC2(hnnLZ7TcJn~$mzkZqQL4!UlFd|MHcx8H<-FsuI^L=W&%E?>URa5Df@uilpi=^DlocCB*H!}${TekD=+FC@WN`HkAH;0 zl7d1sdI9SmItbr2s#V9-Xe%U#w^YlC z3eG*{lGB+5*>A!IQd6f#!q#i8MNHYHLs~T(g8V)l`rm0<((9a1DhQ5p%;f1y!a7X~ z0+M8ohp`j|f6QfSK3Zpd}#2GFly425!_8li|3TWjS~tMoC>a^IC~c)vHuQqk0~UGPvDE zwY-F@80o6oiMlS80T{5ahJ+ZFk@GF z5{Sqt`yzRN8hC-bPQG=K$&M%&L@1RsB+e9t7j^aV!uIMtu6_UB*Agzk2#q!XjX5)<`PQYcfvFi`rLi(4{Ke%jeQZp_P}N2t#j7 zShD^vAeESxp+jg`R>(Hx$4ivOtmd?oYs(k(z4Buh$%L1rc(U;fo*HtAg;roD6ip`C zxqX63-l{5vysCdLpe!p~hCcJ86e?-XalTmhJf*gb6o9C51QRPv;SZM>7}?=7gUB&k zM73EMHLw;LJPVARnF&WWe{cz1!zxM0dWq#oT~KwE6ZfaDIsgvhGrctt z;?Ie7Z83hnSD?S?C`YF0XR`BKr5+X*7UmZhm*y9jR~D6tc9#MLVr6M6x;lSDhvfy zWwA88O1&WMNm_XF@DtFjkW<;r3rMwpXbXuTMGP-oYP@}zEp`e4c-1?Y*X!fnQ5aWe zKtWha_qE(@Ry21lIF${LEn&B`@z7Q&!l<&(`(={sdY-~SAz=+s;_{L{hE7-e$%ayM zTy@fl0Scik6dfX+oAvs{Jy#yhxi0mL?xyKeo|P@|3@d%6*Z>$0fo~!Vo2utSltuB4 z?~aCI=FLi#cjK#Q-PkG&d3DMtR1SlnOG`T~sCcM<{n1dYzCBk>(LLfb8!`}Fl_k}F z2lMQd;=9J?zQfe-GGj*rqqvl&SQ8r{s%&|+3oEKr9t&69iW40|8mbObyyG}L6!NPt z*?M?{NZm0I*H7u4lcXGvEg>Qi!1+lNHGLk4ZJjkpgiM+W)1Q9N>W0YB@CdbjqO;+0 zxIi7XVnkkqMCZ#RiURzv2s_qgP~?1`lQ&bAXo2;d%NzFX|D{V=VO3i9_O99)O>8Mw zF?ZE}T^0WrjW>#D3b^Zh==HsFw5ngcT}eixV;E33(Krd}=r$b)RQ-tS*B%G4#ggQ# z#E8v2c+K^`S9;Bz}?ns*y4y(x;9ilC0@p)p^Y|sGXe>R|TJL3B{sDk|<;| zvgnB7DR8hGu&6DtxzQ&k<6fyjkfF!S6ERI4O!u}+7>7v4Pu{7&QEGCmSVH5iuRyN5 z*EoTRD9WUf!684te7`NfWZsM|{}9P%?OPK~iQ~QLl@m+^2Rp$9j#;?ovx*AS<|*8&Fm) zkC~MV3k~WvK13O-SrsmnCrL8F6d^dZ@7;xF9NCe~E2Z|@USGW%K_)2xj?N!&fYC1?9MA9fW7N1%u!UotXER)M7#9x*VO>L}> z8m<l|P8vV^HiF6!Kb1LlFmlP``MMuBb8`AUTL>t{?3w5}UKa?s zl8a5!N%579>zL4mQc|3k6!7R$WeWa8dYck8_^jS4SoF`w2bb@@(+?oXP>GZ^fWSM3Ujd)bzbV zS^t)u|FR!OncO0u&YUnAgbwwX5+=M7b_@(E7jE!H97Swr#g^=Ka`HhDbJ=F&jg@+O`Q9^5(y^^hy3yQ(J z9?)cpH025HstYAFIKroFdkUiH-MMN^K2?SP!-LH)gd-926ya?hQaqu3@@Ov>7@yK= zQ3xsqSV<2VRAr^avLW0Gbx1ms{)Ju~{OQ-Ka2I)lE@jgfmp-zd+P6(tB}Kkn{3vJ@ zD>)n%B`v~9AC*^`wWCSg{9Sdq;A|>6#`gRsV#Dy>05Z8R@BrAzq`mE38}lg za(`)c^*(>*pL>goDj-g$>XrNV@bB^?g6^W(;YAZ>Hn}RkbZoXp&OTdSuZa7uq=^vaNN8TnjiDx@2F8v)gw!ihn4ZINOz7}eJoMCeM1l#; zv{iX38X8AU31CLjr^ApbFDHT6*%hVH9|%C5z<4C1#Ae|61lGzCEHrv}p*^Bc4ZN)5 zk>gB2G+{Jpf%w%?mhaI8@E@?wzG&7Jxs)_r0an6-KyNi0*+4`#M7{3D1nn3rmCylI z@QQN(W{=E`?N{E|lJdfgEdZgU)pPKe8{8&UKhqam2|9@~w-^=f=p z@Rp37-R?3A%nL^#GzB+-6!I5PgI-n@75KqFZjE>~ z>bi|?*k*4Ln`%J7PLV9^bhpVEUP7w7tOX&mf^Q1m$+^UD*rB7|bz`pK?z+l>A-L4e zCksx7%xplb?$;qfF>1kIv4?`!0UqK)UW2<*To|9i;G%*`p)>7D!xh|U@cnmz1Kb@C-G$mRH8Zj0@Z`R*HT~y4D*bm{CY+V5xNEisvCD#MmA2A% zIQUI-l+&NEoYhlw=1A2X|A0^CF2$2kG{|H5l`_DdPYmW+6qi=&*=GS5Uor}jfxs$zWZe`CSy_+Es{-RV+0 z_}a5mR#V&vTzJV)NRK*oDCwXA9&*k1hzWx}O_cUdX@$oaM?6|8uxNos{rVH8xt%KUv=@gC+|Gyj=eX`~DG8@Vq1KfQ1y z2Qq-v`KK+^StMKEA=wX&)1K$u`*>|z$O+#B$gr@f`E7rpfamPissB^CsL~I+ z$8j*r03q5kh1osXaLG=}Vm_vY!PIx8TGMCiyTHD~ z4^zBlhyj+5BT@uzw0#D*eH{Hhq~Pq|hj*5i$-vA(Qjlk2Tdg)_^k__v@A|0Gn;uV+luGAu#B68gQ%G& zM0@Z@6%~&9K$Y*T?<-j%eOPGJg=$icG5YQ7+%-@HNAGkxMUtI7B24>4hImNbc*Y-e zizl2O-rjin;`!$5?X5?TAKhs%bP`NtMZZ1RU@M_+$fJlt22zVtQ4PByEkm0wkdDkt zc;D&$8`2RXrp!xC^%I;+_`4AuPuD=o2-DoNb~Jr6MkVRF_b@2>Le<9g=u!-Q>NP!6V2fVA zo)QK}(@{W<*YM2f!ZI2ouH%YQec_J;C41+0e1W^#I18IWoZ&l8&d$zV-iy`htkZxhW#8Xwmf1+gxmWv?{61$aaQ;vt7esM@{+MC7Q;OA^ zp^nrieT?4GQs0OrOHwI5F$KUE$E_Z1Da1A8krOm*0`n==?fS|<^0F)jUME( z193SZ=)UQ`6(^`r#j>zt8Vd~@77_0%OGfRt(uin*6KkU-7^Q(bzxU`OOsk?XB5Lu= zn^v!thWs3*2xkAnLZ$?Yh8Td|@>fG|ce1cwkzL%CinxVE1k&wooG^^g)e57fpoaKw zte`#Z{`N|(uJfzYYj2GbSl9C<$HptIyUP$q*NO!7H|1=1a~*!v36EA^@ZG(m_0xl= zw(!PWsf<8OXNd`h7XXHoXg0$=iat1(n4&tUDTUfa%@qQ)$aOYsCI^d^dD4OAx+>g- zD$?|}61;ZrU8O(6M3(*$w!gAz51&aW#2Z}?rf|^`X>XEC@1s@Ry%G%z$u#{>gf)S5 zYlGjsef#$J_VOtF;uNmxH>ARtX}t&JCBN8xt)W|K*0a2@aDQ=m88Cc*0haaNQZ!*) z#vyEi;!3~?bE6A` z6z$pI2+$h}>X_C6dVLmDg!4-5IPM2#1oz*IIiwQW@#RgfVBn`aIUV%8!6R!ajM+?x5(X>8Aj1GXp@abDpZ8T2AEg6mQ-L#JsvV<(nZeyk z%B&dNqNxT2p<3Q+fl9b*i4=(1Sd<~>RopUfPp7zjJ4}5h8QLAS$f3BrmJhkyK)4Ss z;p=+)u|AzLQ^KE=^Q(2~8a!FYqa3@X9fR^!9lBB2t13e@$Aru=9B$t;0C9T%^HW(= zE{oG`{QL=N)mY~Zc)s!O}U_SE7woXNq2P|7(4 zM#xW&gu*LK(G~~h^Y1ZSdrei-Qi}-XGgi6h7(YPqQX86_mzoF$P%OYB40GlT1?-^2 zKqS4wiJ&UPmQYDQ>W_odA2&;+87M=q%E3tKwR9D3-E=Al2x!m&LVQpv?Wd}W6N)nS zo~{DgaZSEN8)GO8HNuu6kfZjm$ng9nB^W;((;i@+|10L3a3$flI!aJ+X%A5rf)>q9EjVqPQ(3FlTf_sPo zMZU#p#Pf#x8nrn&iM7*`UA%t?Id;vn^^KIEJ0uvg<9>8q#)+<7x|`4e)q+DG8Q;Fm zsx-k0c-H!qu>yvfz}$T((YBHd9(Ofrbf5>|!QqNL-xH=C5!`%-s;ssV6Wy*I5-xwb z3wPo`*B0ULRo8e7k#-HCuwiZ2d!)7um+Q$PJ;-?b4~jP#qOHjyd|a&RwShK*dUeSJ z%2!L1Ht#A!Mx}EpN5>F3i;}3H;u>M3r$64(2&^olNw?2FFU*sTSv2s%yl$E++Ipm_ zc}Y3L+)mrbHl5unsoI_AQdAZTsgeH{eoejSn^kQn!U6o9 z%ciiJ@SS|Tl1gk`v%bN^wt2B^3p_!glla5Y;C5))(7+FZld)pmV71!_e({FB?YRS_i$XjRv<*Pm zIYmUgJG*@5oMFK)T+-56v6nM@!UJ*P_RMV}~($0jKt)UoFS zzvJLg+SP zD|hnJb@2$_xKx8Bl1GR^wyR)OsZ0@yP>4h?GOP#$aat==^K;QM&H=2q_^7)os={P& z!6F@76w5^wst(rVp^*?3TdZ{_h_ti0OJ%?(JB$S5QJlsj3{8QBg)yl3LD-`2$!w&n zlwj6-OLv+twV`oQzdSyWqh(u~1R?8J(O5Oekn*)s1T9(%6T&UMK1 zM++|d(qj8}q5K|+e|xpHp*5S($d|?kLvcQac4*z1+OzUrI(g7V`gyIwJ9J83?!ymP zWX#GmlL`;mGRnjpoDLNT7dysr^QgnPw7l$i5f7G;ri=xFmG$lV8i_~hrqf~w%~?a+ z^pZY|ZAv0kYHn$mDVe8QnO<c*N+)p+(n0QMkSgd1#4-vcJSoO3g1UuKus-`KI25 zb)2Q7JF=ybb}>M-X;p{KbM_{+Q5^KLY+fi#*QtbkmfewbHFYK=gRgy-_P3&l65K`aMyYV(p-b@D))7N zG%!sq5Uk;t{@Cd)Fv5N$tkQ%0v!_qavFNp67GbjC&d%SL`HCJ3%hk%EQNxq8ppaQr zgUz*QX!b8Fv7Y3nM|=B3SBZ5^Uq~aLHaC7SxQS37#xGF95BLh8wG@HUT&yMO`@0-% zBzmjf0(Re|uq8s;6Mxuqk)Kz3y%tIT^3n4hku$^^cCN)*4yLb+Ggcn3QcG$z+W6bo z#sITSvm}F+SyK}xrBSdt;iAwS2ayrCPvVAlxNZ;XJ9s2qs`+z?V|sr0S(Od4Oyh8X z-km}52AeyGtMa~INv7*4lJ44@lI6NgiA%`_ zCp=4Upm@~w1m$)3N3iO_)jk_$PX>sHOtP7p00#ZgdjIH*#LB|8qxNaR6zN}-yp{p7 zhx(Upsye4agG7p5Gf$vCp({4|XHSh49#|*J0HHe5Hx(#7hAv62lAebvjz0wU4^_mB zk=Jw)0*^~PEjyn9@y_&MiVX!BXRZ6;JBm1!ch*a;B!+O21(!U!E$2 zSRx3XpIrjc4%QWHM+7dN&cm$c?he8N7VxPmJ7upAPuH(a%}wt*CU;?W0f~oho*uqx znml=xs6}+a6B2u@H=5xZS<8aAo>X-r#S00ai%wL}g@dU-36DUXbrBAl)F9$itzF{~ zN4Q>=;;67~6bptx*D&1|gJaWPZQSIB=V=S4De8+mv#$CVwl|*zb<11G9*)@15aiL2 zC&GN0UyMpOkiej`Aqn$pwu`*uvyX}W+Lh!7p8Yz}Uj_6{ zT<%78lCd~pEAYh*o9{fyiz|j&Zn0d$hpJ4!d0D^Ipcuy&%APH>@qNSrtHRz1O z24N(XuE9NPEWWEsbQbLUZ;N#No8&bLU4da;l0vWg7+Ls zF>G*qc=1P+&GlgB;DHS@Wb&O`$nht{gOyQ{Fo`m_BFbrN(^(Wr8fY_ZxR zjOFuyuG|?mc-uv*>eU{~RDC#+t#7Q|yim+#A5a;(O<&QA=t#yXI{%j_#n;1Y8gQlcjE!(!pm>M z)h`hvH(VXE$TGI%tRf9$M5M};VqrV8t&srQJ1LJtBWo@rNQsG(ay9<}8;ddY?&Wv} zhXh_vcktFBhRqe0du!jyUS~z}r%Ei^59>r32$j?xnC*zsu6{L|K?)?)O?lZTFV=rr z|64>5JLp{PJn-xi3zkl0K2ybgz&q+CoJ6LTWf!dx>yZ7ah_N7g4hHj8)`n3bZDL3Z z4=&A!rq-dI6xDF4nZVoR`Kw3j5os}Oo%DHyFvBU00cAx|X9Hradc+(3qKm$MH9?+# z3I}$SH{Raa`3bvj=ZAF?3%kD%9^U;09G&JwYd`JdOcTe!-e=fKlF(RORi|;JG(i)D zx?}^n80k=6P}kCYsmTiGOzo%uw`rOcR(0!9dvzohvr6V?UheM3oJgNW4zoC0UtL2b zBty!bf}c%{%Q{fSiE5#ZE`bvDCu~YHsQ9!{Xx(RCow8;X0Y!<=Q>+5%(r z>KK%!`7mQybZ8-1JHFTv9UwHuy|iv=R(;&N=-bh!H-@0mQ_R#X=GVsV%eBGQkHx6A z8DuIeZ7}Kh$^31=IEBRsmPUC@UEKhdumYvu6v*ySoY~Ebi^njv8?ozncA`2&snT<5 zWGCilm(DQjd87}{(9v;QsX;P9nLKzomcL7XtU|Bg)2^kH1^$6q!w3`VP5;on|j zbH5u<2y-Alqg`inb5qR%mWvJ6FhYW~IoVr$v~DCo=+azW(0}V{*F$7@vbdv$-Utvgz_XYzK+!6qh?KWw2uQ+Lu77VosVL zNVgbv2V*G)QrUP#2k|m}CN~wKHNrO(p>+bmgrFp?PNQBu4kg7XUmOz|j%^&vv<|G+ za|suh>M4y7!#1>JaO51nbG*@SG8yez;CM8_1Gx@+)%O2BJUeZx>`&wNi=VgXqo8w4 zdd|jLogP};>Gkb*jM(-#XLo|m=$mSZQoVoS33$iGCy5q(cT7A>esP&a_-#8h)dgW7 zIqD}W93Am31T8hU-?`lKzYeAM%ZHOc<6p~CDvd-NP44i zO+yL<(`?Qmvcq@BZ#|V=C|D>t8B9?C$8d_(pCo{05~++TEv$2w9-U~F5G*c&*%+~W zv4t?RK6QphsDjo^|IM_idW}D?d91!npRKq=J=dLz8$Clf!m@N~Rlp`(r@nqeg+!_0 zqhu=l5O&OlH@@BSwwBY2mo*tC6m9S_4}G9yudsbH1WERtsrn)xNA-j@BsuOsy6Th*rgvn?j!Y0* z1zVcyjj5>xM?HYc2%d!)R~eWeorqM>Rw&C_cKxgTp{eJIKe&NHob&@rrLjcX9bd{S zg(&3(OMpWN-I_Z=u>*xFWwnFT!z)z8$<%DKXEM&y?VTHpn%hCi-7M1KR7`0^g*itV z=>^4;Ws+oNNU((EBd~xJ!u_RVjChGDCg>Csk*&^Q?@!LLG@Qot>(p=)O7=B9+|dP% zA})F{N%unXBeG>R6to0#ExYPh_!Ej>EnEt{9+g-l!&$6xLXZak^}jMShliMOXjYn6 zmJ=CX#bQ?jJIrDtemszS`*dX`ZCR;X#Y&d#q*7GuNUCtk$D?}^AgS;+%+2JO!U#j8 zBL9gP*c%>&-d{sScA=n8%3qZ2#2nPdjb)S=78wrVc?&ew@_eB=0(aFuK9&EM@hr+PKLjm1ZvU=-Kv1}kZmM}!vRsulufs%zo(%d1 zPLM-;c}~Z)3~LRwCxV0LC67}ugq-&LFlvHByaG8oEF{fQqptZ(g~rT0wVkC?Yq+(P z<;g?ED(REkl9xd;B3$L*W8?R&88-LHPk=uK5_MFUP^03&fheg-tbjoMeAZtMRi6AA zS{q!bj1g{$1E%;lTbrygBGsh8b~hhygR(Ax_6HGF#64-~W5=$lqEI{KWU%8(c+$;OUY`jmr=@LEiCi+Ps^4pKJz)Y_1yXUv~x&++n7=Pl^?u-QDkYsv>f4NXjcExeiWNQ zXup24Awj^jI(UT@m8RNgC1sf+zL%$)g<|aFH?Ll+6l<#DG>D-Y^RNiK;rm1S!t0o-xgitrEgvL|>7WmWc0vIK~ZZZ)0?5=$p#2YB{ z7*i++TbnJ&*-FI9oYF?xJNdkKjSck44m%9O5>DI2{s8Y)tHGw6eu2em4ItIhNpQ|Y zr6IW_wN*8dBXop{G2Gms>-Q49p+3pD9Vg*5{v!%HT=tq&!^Bc=R2;LIK2Jljyl`?(?5j_k%DgdeA~P-;uL$t zzcD^woNV-16j@a1ff7WL{>H}INk`<3zeuq?{)-WL zE{ZTkxKg(mF$Yv6b2uhF@!MR|yD%EydSgjxK$L)#*g|{RoVCPpt?xW1RLPnP6X5rz zcUh~$!)6@*m*i(7-W1w1+F6VlFv|ttoRqm57N2xL=9~0IT&3+)oh}6&6@U*fH)IEB zF}2PdVu2%|*j9p+$P3cT6PoiT!$DO^i=mHY`wi zK@!ljcc(so{ye2HI4zt*Vu)X27ZiS9Uk#QD;W|5b#b(rL8A2ODCTV{P#Y}~n5m{@N zBeKy%>~uLOqd!pz|0(vBy&V!g<3Gs~sGI7hKC6%vjdG~OUUk$6pfHR+2Yn&&5WKJ^(V5S7BG&7Fi-%^R0%s@&p_mTqv zc_GU>!Cz=5r|H{ij0waW3efAX^(RBOx}>}{eWwrT53dZk?^rXg|Ij<9zBkBhuyT-t zi1@TVN3>ig&VRk2*Un}ZPD$SoX{Dz)Ew2cDhxhepXof!{XtqkNBFHTC@?~&oe!Wm8 z#8x9reT%8tgW1dBRO8O^w20`|c~453+VPd)Ux6iUQMF7q_7(-&C&6nsAeA+4NgTV7 zO%{`bL1=4-AD0prW8Re9xQ%P4Bb{XG@pz}&NfsbTnlO?8!K{x<^}TAncuir8a^UC?J;D%8Y9Tq`*RLI8#2(EsWpmZi8Q z^(=vStb(<{?+~s7qTfjbEoSgd$#vt2+KysSL~FHuP1eXApZOlKq8=x?*ti^c!M~*X1S=WH z^!G+_#L)YpZ;F(**v#izrg1a!vz+F1k&@ zAl8tVa${9V8C2Qc7w7B~B5jqBF4=#$EjV>?`Uvuak}_jOWeP{&jic{G>y~5NjDiC+ zM2->fBiuT*yQv;_DqvJ35C|08m;@CpIa^Ej~d_$|RmOe33AB@tNdvZMvt z0A2t@MW#LzStj{0g(&NM%YaZ_$p2S9uMzlN2s2ue8p{0;$UUWWSO%1JCE`wttMh<~ z6YPYOyL$}nBy|Q0R$B?>3YytrDqSB`Rv&p!#%p_T_Tf{H-W~t_{mF;Zv-6J^!^^8r zpTAuH$NIyKN1KnI{IK=szdU{R{KfXaz1-P-_2W-}{oB94)^=^)g&2X%CyFw%|%cUG&l#(|uqcmkiVI?-a z%MDV?M!s=#QzKN6mX480?mDiBdt+EMGYi|n+bL>qM)o)c1(pCvxp>l2eMxJ5-Xg+~ z(mS$?vH_?5_>6q~3}8|{)L@3~!F)cUTIP-rq@$*bhWD=hUv*>pM^&VByOm)t9?}w| zQW5iRKB;2F0GzLF&Qy@-)fgtEV|e_d0vbz5Qvy?jPXVTE1U66>YzPSa!(Sdfp4l|l zO&fbU^lC0Ht_pnLO^==Io54dcV+B4)8o+-YH@H+_MQ8G_vME5Sq|np9n&$k!Vn zYFT@!#`IOG4J9bA)atrCY5#ymOl6~&f_Np0ieYH+s=7q+&mt9+Mt>1O+XwQ^oF2@f znuizrY1Y5}KxUiZiam6Rw8N7rdps008w-rZRx555Xiv7rvpzo zYllY9NBbL4!J;A#X~P0In$@`T7&~`pdvZft;o+0rv!B9a_4w>U0lo-ru^}_Z!~StD zLV)Z+6!OZ|s-~-k+Rqd_BH`lflQT)xI|R`ju(c#Z|3%z68o~^$J!@|G;-gtk#xlS$ zh8Y9Eod3#SVK7}b9=w05?^l~7YxzjyzTD(j)F96f1TD_>DYC^^)&m5T_=;Vhv|cy8nz`*pFZ|G)Ik|Gw3a z>mgcAxnKaijO#&)3BtwaRl7I~L%TIWtsE^S5!Iu&PG6Xlauw-%?LVaC(wvKX7U586 zXjW`-iYs27;hCBfMJ`XkCDe(aFR1p{Byx^!`zn0l{~71f?NGW$>T)l%PxVJ;!;;MC zp#|A@T7MA$b)=2KW`M$rOy2xeaaE3bC+ot}j_*8^UVk~Td?{jwjBA9Bb`_9uaGTNi z|Hymu_&TrjzE8X_iH#tseP1p?kpM{G;_eGXkV8?Vh8|IpNl2QpBGVVZ1qF))H~={! ztx;Zf}3Ek9b(#2`odhBr~j_t%ryd-vFyWijQob$f# z#ll4sfAU8;bA)@}d)~7?=h>g<7;I`O?38zlrOC0k=Fd*Im4n6s20E#QGJ~z;y*x`S zb_P+64eUeTd67%9ZDw{1nh=dlJ~)nfU48ztqFetKHMy%7|--G7NKY8w8j}dKeAPC6izx zaIIjBS=}OE(A}G#Ieqa^8@F!fYwyDAXDmK0Nl|msOY<+d41O0gs7aVow#jqIRt%S= z32vUvi5@O3vgwy)>9kN?up*zYZ@r~NtRf%?7DRyr%lWzhY;$hLlI|ZD8iL0KtwwA_ zHM88ls!IYcleoj2dV_X=FwzThex%R_SC<^&-6eS?y zylaNL?UY1V81AMgIu$tsrl0ERLEvF)<9k71o z6k&-s@w!l+0&oQ8p$k1M%+iMleTptw_=UhQ^=1);ma4^WwDt58+*;$%2fwNf;>{^X z*Y3h84H2*(fh3hI1FdkJHS26F19V3*W@xHSa~KP}|KS~S(q?Q? zdeTr?Of8wQkoF8^xxb5%mN?c;_rKn|rPXEDU~UaCDG*{ESucE3*dSvQ$36u^Z=*x{ z7UGb?)ZFV_XxR*pnLL&EjC~&|UI7tgnRP`xtgT--j|xFKK~ir~f_NmU>eNau=7F;f%JptqSYZ?BRfhqbO zDA6cu#KDO_|mSDx$>6O?i@;M1JC zCBh?YKVT_4uXZz&e4@(TgA^>ehZrYS2tPRkWW(IBNc{|P0Su6z8%)Gx0?XgwOo_RQ zSdwV-sl4a+K71clvOAhcY6EDb{DBgX{w7GR>5T4Rk^s?pM&00@VGM|peUPIw`1f#z zcl7T;H0)hh=6kT1jK|B$?xI9W#M+xeQyz16 z$Fm_2t_D7xdA#`cmVp>G4VA%3NP@Lcj&a1K{8hvy>guAR++Z$^^k*@Fu>WIb{sF;f z3USG9DejP%GIsK0F1FEFlhD37)i_0Q*BerBC#x4+FLz5(naIDWkuq-zg@M}jw*(vb|bJ5nc z1fkJ|dbv^Vwj1Tea($uJU080^D>bqtG|Kh*LV2OJ)LK|xYA2w%bxz(%HorYoUw@gsd z%jFRLT}kF_1=VN6@rp!-K7&?nkM63G0n9c?jp&!cUt(!D4a%>^{2Lw{lT-Ia1D+n>M9Nz5({p>YL1}%OJ6s29VrV2=#GnHJZ*A`%E{66M>kNHOcg0 zII?87Z>XLjo9Kd^h38TY>A8=LMO(jPv}$U!;Df@X4TyvCMX|be7F|mw7|MRJ9-Vh) zCqQp32x@BX^xfD%k-c*?asP|KWXsF(6u)`#GqlAKTe&7Zuf=n5I#z-!V#YMPnd;2x z)Zgz7S`o;)%c`(&7lO2@<377ZAded>JoUnN(BRN91cPC8lXQksbLO z)u-9iqjw8uWAJJQKXEY#8$i08d^ix&ZLT5{oj>Jw6UtFRDc}M~oePH2Xg`U;d+dUe zV_9n!XbNw&vaW2X=4FF)oVo_&9mSL^KULY9g4E$^tV9X`4%k?U57EO;YAP5OhMXQ~ zSkSTAm5mAfYDjW#44-_%x^|ydsV`-ZAN)ffXFt4j0K4dec{k5Z%J1fv`9f|1>Rlx^C6!2dV51khSNGF6t8Znqf0=ud=oR;z1-#Y5Z02OYk319(;(J z928=bJL3R~<2PJ>oxU1ynrXnihkH(Me_n&G^IIhlrI0G9ISE34TL^J~|p?Rt5( zQ);@LcF%S(~(VdzWCh`Z-(?S$Ts5ClfoViI7av>Qd z^B;512C|V}$&hbfqwZFRH9_JRUaKI>F74Ok9 zrDgVNp8C_k-ONCFCLsT6>XjP>GZ+1}!Tss9F%FROwg1(7VOGG0enp188pJrfbQMt# zyMyN}YE>akm*`mL9gIAA2{6aS-{sXlG@Q5bh%?IgJ5TYZluyRwnT8|9O_EV`=K66I zE@9d#Wh~}|i~l#?)o;Ng{|J{7d629rj@+LxNIQmR^oCcva!Vg@#el2&?J3z>j`^lmXQ?o^aG5gKc-bDH?UKU9I(){ZU z?BvlOVVZ-9T8QzOf0tCuEQ?Sg?9^iF8)rTknG>7jBs)I>DjTyjJVhE@1RV#D zPaQPAb}!)^zm&3c!A$t2%#{Q$-bk%7Z<&~@L$xmeLHz;@ zJ#)P2DJ*X0pD-3s3JmEQh*f-Ha2drjgozuelW5>M_r?yvX|Y7<<2;f&G&5G(EV0YL zfdh!3$PR?t7)1ThdRVM3lP9PPlbhd!gYG5ecB3Ex(+7xcz*e7MS$*4WzBY{W-J9X7 z9l#LWU{a}PoRH36u;_{d@qusK^i^bJR5 z>09N$x~jNyRtaj$dazYw<#L-Ca4K;LFq?>k{>J1;cVXp1@A9ej%XXKzy-vvaX$dix zr?Pv4QY+kPPU=}f<{R9w#Z91*l%R*5EvDD)25ToL#BSCK^!U{^L`hagcP^}tyiOw^ z@9s4dR7^uB$pnZXEc`UmJj{|UqKDu~uzkxZ|pL#wTDALSK@sxa2 zu|yd!01YQE>DOsH%myc+$qg!JE}oBX1M{}$8D9{#+6 zNPbsyoVw0qc8>u~AD*Amh}_Ni=wWx^i-wq`(^*{eX~SN2X-?WV@b8^FYRd+F0pKTzkNY zwdhNi#R-!khCe+_Qy^))OKhl;I1NXpl(C;8z8NAX?!vgcB2FSv;N&#|^gG7fPoxS@ z?SRM&AjSPQ>YJN*Pfi*o?5*eH>AXP~zsyvk2Cs1*LtVF@kj)r-Ab3Wc4UwqtGeZ#R z`?5?kSJqC#oIW}or^7hD_$;N6n^CxHG&NdDA8%ZoH=nwh8>{)RuaQ$=p@-21Ev2Q8 z;<(;BR$!xor4}Fxip#uC3)r?5GvpBMF{OZ!#^!+s%PARC_ec3my2@;)6-WlU_+~5} zG#9h|o8r&ZxiacANycIvzq}ZjLF(d`%i@%sHCXGj3OP2^ZO*R_bCImR(vyA~a!Xzp zx?KkCO34|qFB&G}SU|@BvtP_?o_ne)F!y~o7f`lcPZX62*P>X6as@SgquFYAK8gEY zp6bQGG9%GlOzSI)mrVaHw0bG!Xk5#f(ab>i44Y_d+cDMJfJk+F+u@~8+IJRHo#W0j z#HR72{C{3RaI}`khM;V5I6-ZrsAk421$S^F&DG6Zmz<-pJ6rGFg$Zk${4p~p25Bp7 zJ>j;It&LXz>P(*s8(@iRvJ61yQWJ)xy&!{6L}*9K1+-R(S~TS$Fb-u5=F&;IU1hBA zt8bh?bN;n+=g-aK8jH#Hn_vi*FaQS}FtbEp-erZ3owtnsugMzzO|NfDuUWkGHmN%j z?@t1w8H8VY>pm<3=}o%C1#mc(8q~C&oB0WN8bBR1Vkav^IZdC%_UdRf?A@5Q~9HeCl_9EsrvK5 zZOE?O`_L{ybuUcf2Yc&Kl6Z&ZrSqpgdx=C0r{B78;mqsvmoCm{b-lu81F(431kbj(GSIxIMRX)?MFS$;wd5Ny#o1#TetBf5P+aXZvO$@bf ztjh}wS;m~f!#zluMi3tGMo_c%`Os?RaR_mV8w?@84Rg%G33;qPl${HK%~U(3IMjW&g_dcI!3BfD-WTLn`{vbmzN-5`59 zK6h;>M}s&3h-*Fo%rs`<(vCFn4qu^p*4I5irl(Jsg~5o5T)Dl8K<_?1e;x}Ydr!oG z=Sy@mWdI(}o+6q8&}8Ct4Jbp#Ea9!M5o5l%bI91vEoT__*v!}V{`93V zf6oG@$s7BoHG~!0CbxuTSJDx3zZ3U~2@)cyRZ*h)jXLmgU^zKYlQzfn0D1QsPPyIw zusRzRke-m*9WKQBf$&X(DMYDoW3y|g8!uqeRWM7p0^Ush_JpBz7odA0iVrt_$pQ@Q!8jS_l@YZLX)TG(R`uBhuY8J#k8`@r5^5HKZk@f-L{J1C3%CO7uh$mZ-i`Y zN5288a0bZ7$suB z*Y^3@g+uJIc36LOdM{mKJlEGQT^f@T)d!aMZHEZ+FnB&3=79Bglc51~ri-GyN3Mie zQwilkZyJyBHf9G%{XJL{Qr<1&;s`d9Lqy+Ir{;}D%=D5yB~^nS=-RG3qj$Df28;TZ1yMRjc)R^J2NXq-W^ zTlvbZk#|yG3`7FYJ12bPstxns60_rUw2M-bV}Pp<8qq+#HfHC!NFW}2MlIiLnSYGE zLWfIJXs{$tn0Id$?eu2_s+H@szfVBswB_@do_GI+)rM5E;y z7E7g_NW(FSNv{U608mY`iM}azqo{R&A1*W3M>GCOK7rh%62bO9DmnE+pC)1i*0@ z?Q5_Wbcwhaqu~+dpwy=u>}}eXcnRwcV&Y*(Qj}m4YqgO z$w)!AIcHb?yb2+~&+DytuJ9Do1;Cb2QJ8`_S8F1iR68K|-^BSet%|$DYGqxGh>8MVYx7q z*GaK0Wwn?h(m$p^w6?x}L)Xo0wmxF|P$OntG+dXSOy!Q$+L{593&zuGBbnz<_d~gC z0c@F%wRqaJjZEqU03y*bUh^8ZDz$FN+)diRkGNq==8Rqw(zH=z%4r&rcXY)O@QnEB ziL{+Ljd4VQ(G5_MNf?`G2*w~t4@;xWr-whE`sST`^9%K8K=bje_u$5%&>|`5eA&$^ zf6IN}z9U~e-J+svYhq-lb(v}Q4Jaj+bLelE4z>@+%^db8PVRT|}Ht<%z%R+%qt z{@ZER%FPyW1g#FTSF>EM@}OO**Baak)ofM~3X$dR)<(6_sh8`GR=eD4RqBX^wN9l~ ztu))!7EuSycDY#zZY}R$?c!N)shzVF5m{(d%6=k(NPWh3tsvL9EW8o0dG2WRA?xY% zhdJVCUEglpI;6&MfL+fMAU91d?6x=*GnQEiZz^3z9mK(xWE9eVvaI5#a8aki#N2G;_sP2- zK#>-fIfIa)O`yzb&{fI{;qHU`k5m}JlX!-c5{_-@)8z0z-@P^uKStgPCust50|2`^ z$T{2)2&W|U9^mnb8XH3 zoOtD0j+@LAiN1cF#F(})?}3o>?-D9d=8ePio1-y(g`&eYq~W4W!Y^A=+Pt)+PzVr( zDD&#&z=OaRpy-raD`w@{;-?jo90gUNCp~}8fGvQX;PSHy_mfDEJbF>|wX>7S3S$JI zWLJ}0vI2wB&C-UBf}9#$x1YW5oWv>jLJ}?nRz0c(GM_3hSU~yMyJe2^1?@ry*eza& z_g0wg!dMy`AB{vSw1_Zo1T{*yDUbt|rZd$UJj}p?!kWaGmv#5#PDIBBGtmJMtC5C8N`^A6)HX?C4q)hczH_<1 zHzf$y+Nhb$Z@46}DYu1mvSQO%%)AQJkZw$ok;W3r6K$(Jvfi_+S<@rj$wVI0H=OaSt?`@D#F! zxHE!N4m)0B3Wa9-4~o$*)Av?JHnFMUGvc#x=|w z1Jf-H0*om>^8PEbSEY&WQdN46V=zWSWZR7UxgR1L+`>v2^8l1*ECoo=-4^q&$GwnO zdd6~OjKEGRsyii$4p$3!gw@M1z!qhd!j?{oZ~gUK_X^JnAX20rmTp*i55`N`eF5}5 z?ktcFCGSwOEGgb6+>hHFaY4aCd{`EU%$MJVK;Tx?RLB_$Z7IIpS0@9b6eu2)j>D<2 z(j4n!7+JftRZpYs2shK`j)v_;A7U0+F=VQrz@dTK2=k_o!_(PwfhUgmFpLmuk032O zM2etw%ThEbiFe4cmj*;>*k?}Jye*q+gFejd_S~!rx%aea(%JRf zu&dAIUZRPGd~ei1JY++Ie3*K`O7*gM?S}YD+jphRVNtK^F0{x`#ovV25!|>Dy|+{v zxl69U^q5O(3!blTE)(Nm3@A9$T+%#2gZrk~W!f%V61t42s8H=dw8f1`ji@MC^XM0U zXt^*LAsMB)VomD?!falFWhq`O7|7(@ZBW{9VaiAycd1}_H-zbBu_gLc#@8Y>|_P(FN?$1lD|a@@Mx$dsAVZ-(_orKNcQceKCiaSsfHx%Y zfOHOj-tvuCO66j`TrMhYbntPLJI86K@6keHK5@~vPGrNgm0vW8ySGjtrxedwsFRd= z?i=#DrzqwQIl7$?zJ!v*NIJXc!6R$nT}e12*H6C@)p>$G+{ug4=`dukG6ZVJS*SBL zRyzk`VfI^%m~a|qDZy-Mo}+HiTwc>(uE&vjTpta;^FjRJ27kgbZG zt|GLY7)dmEM)6p89)pHLoVW=a&goKP10hHE%Mpx(LqCJM(TkokFXOypkq6ddsd&m9 z^rEN0lp(fMJs!OfjmHyF4cuqYLfS5zu`T{g|J8gP++0FgM`QgFM$`y$$|g}z%f5YD zr&Ko6>St17N+vywE1EUL8jQbY2&pf3VE5We$sd0-2EN9jA$tNM{&?KfAhJ|;ub1u{ z{>3V!S==`rgN?v(1bsftkckZe&U9S5qF0vm(43$^_##S~5Idc|AdtvzLe}PTp`g5- zR@QJ)fo&sj>CF74H_0|~>Q&N(^*iFHsV}mm;=(^}r4E428nZ_x!$uL>u~urbjo3TL zfI;w;*Xb;&aax^fx!tK&%H++d*4r)A;+{N%WLIwyNQmxUTIW2~VmLnPH*pLC zgRQUYB8IJ@CC-Axx;KL!4cN_R-&(~QC+m?hEjYMtBAq7m_|e&B=I8g+LlPELt15iQql-8sICP>va@)QOu5IL@9cFLWmTP5(dOK%eBCf7L~bdK zxHm9ULDr-7fVa_f8TZSc1gC#fEOAQ;i?kv$r4nZmBPnEPIsw%B*yb^i>qpKHZ(cFO zu-?$!Edet);tR|SdyLo?D^No zrhNaPRi$X=u3!)*q3na>f!$76{s9Z-w&q1-$}4j6_I#hZ;AEGwBi z2?98F__H*1`1Ab7IOZ+d(3DkM5f3U7Gl4{3@x!k84}oMCP2x6vAfRwA z+>LSZgOzJ<`^_0KP9t)EmVHLM0*NV|Hd!#x9H<4Jou&(7DuS$L83+jBoop zpSBm}16H=8dk*Ok=*R6!Q78!8DKW%AU51kn4LA-ds;E-412I(Y5z3R>)hpV zc;nvXHu6NL(i)DRk@MT)=6TN3`(UHHazkQqdYbx!>7C4lVc$_cHo-T|g`(qoM+f#T zq{Q(LIiD2qEN$t=EIu3|iN%`XRY?(--n{U}XFr!YfuDZ$9DL^&R@T>6^^%8pU4~~` zyhczH#R3rPAmZ#j-2*BnV?MZ8U@3fXD%XFuhXZlKIs$2&R;lhYA1l%d^2 zwFCs(iAw?Z@aId#v)p?hPBi>PDlcZ((C!@;^o|kmn}hnX*|CszlGieSLMR{Be#nBL zC#2PgMmEvAuQVDYSM&qWB)U-#HBA~25A*GM7n!s ztixt#t& zQaM~duZk9s1MgH^SYP`9E!)+VCG=DaYd1IZu&ISEy>!TkG~_(fTf1|h$%xs*90zkJ z(3DscP*w(%hR?3!uDXQjw3nLp)TDB|=qYi?%Suoe(mR=YQJJ_?wV-3Xa6Z=-f+f4Fw0%b9l^}oMm}pe z_@f(}G!4P|EHO#s^G?ha;r!&+Pd0{1tw^{c)0Z)%w?h&L@Dvv(k~fbU-fEiP#NELd z-q+UZ*MRJ`pn!l`a77)pu6D=LY;hh8yi77@H_7KrZ2|G7BtM73gv(=6RhIk~1~6D8 z9fXbERZJ83ql6r)cXUSNhk2C+tF;VW|#R7ZhyB$KX zJ(E@wDa^EQ>6`*0i6Eeza{k6}A1o+DEv1T()|4kV2haP#2lD=C-y=%6-*zka*siTZ z%KGJw#GSl_?ge^_=a!4N(0B+zJ13Ya=%?%#aaY2PYAv{3*pAuBwJ;+?%rRwY;IvAS zEx30;!*enPwT#F1Tb%NsX2>55EW9sZGcCm?)+<1M=CvF6Yak-nNMqi-9A|qcYHny< zOJOiQol*2ubLl2utrQ$)N;e=(@SpC!o}-*dfXdOdqlyaZdu8Q=p4o{*y3U=5@I3n> zYgo`OxM@0yzl_#wViC_MCB5m8wRjiqW*#%5ku%mJojAR@9b~|9^BEqccPM!i# zIu0ld+r~8%?-2S=vvBG&-lrsn9v|=EYzo`W(q{JL{PLl6GB-ldoRlx15aU;wQO@~Z z*D}Y7lf|gdwha9Ehzf3%hhNOQMfgJiWHSa!7yyYcu!~1CSGN2J+|+3vZm!|V?9Hgo z-Zzbk@{gHbEzcbXa|{^C-4Ssk(Cs`9xMXEx2%cAr6p*kpVYxG)&9${9E7Z~6Qnk^j zbV?Zp$)$QDcv-EzJpJmqcpScn34d# zwSFa)(bNi8bSxPrgXM5I!Pm()VT_ExCnxWV#+d2Y9jcdNG9J4@d1qQfFmk23+->!$ zHANiPacu9E8_k7YZMj`ts&p#t%2H>siEk+0?k`L_d;?Q~hei+4-!y=B&UHA=9#fPc zvN1a|6DV8hGJt+#p|r9#qhQJze|uVQUm&fGd7&DO>yq+G#^Cr#W`P!r1?SshnE9l|4gL!2FVZKezlUOy{cJwW>>-D~OB)uR9JGN5+$m z3axJ8O?6Y62ua9N9z9+*5D`f#EY6-LFuQ8b#w&Q(LCLMYi2FQ;m9>_Lt@M$q-QX}gA@(inFy%5RtWNHG5DE{L6yynx$zqTS6h{U+IjQm8as#&?rQOt zVNa8gAzb*POdPy9=|7Z=v_|Wgi&#PVp9bm*#f}}E@TR0KbA@v$p29SM)IvfCel%$T zYAy|$phdiZ(fGi`dHkHgk?x@sVKJwfAX5lV*beujnUv+j_2DU-6Doiig1$70M?pI; zj|=bszql-JP8fgl^+fg1r~v=ju@oicQrk& zVWYH&+j&^CAtCBfx`VXJE2(!qf}6loM+c;cr%t?=Cg=BOHuBRJ06~g5&a!!C;4~=I zEvI^^aU>!Xb>9QTI{O{1&o*jALm*KHXZCpBj&Lx~gd-1`;qXj%ARBoEc*YVH3<2}x z77=b!u244^Ua+Ya+^uVOh(HpteLwGk1OP!RVx$5tCc0tUkJ8TN?8 zM-vRDa#Fi4K#aLvkSGI;oGzE754nuYpE7@!+kL-ez`8*uao+`<18*fwn|OWA7Iga_ zm$7ec=`lRK_a6O)e2-i2yWA+w6)#YGSn7jIo%Si7<@u`oGRT;aDe4g~y> zkhW2Z43xgT#LvfzWQSTgc5ITXu`PL;eu%Z-U3rg(LH=?rw~P|wMyrc_u1@}8;q`rIMkq-4x$aA%8e$U+Z{wRf|l{1 z!bb}qDh7%-79LpjYO`L``G`!i^Cz3=*>(~ysUpXWi3H;4clO-rQ}buW%#q!^K}6qkItIQfv4QIq1ximQ&;TejKNR9yKh7r|59tMMtXK8ElDffRFU3^i53h@SG@-Hf=yokd(v+3FmY z*NE;9(@%T=CaD)s_93EIkX$BQrUeCItDh`lBp}=YcNO@nxf9gB=BBh)d)Ft##z{p5 zr@=k|(zC^zeU&cuSDGp!c6_`^o0sYUjVbJxlB3oNEB1`(`y6hylD>>=4KR4W+P+O^ zDSu#eHq29MyMyFBoLE9TgMfRM*Zn0sgs$#3CeTD+yVH3CEGs`s)FK~>zrKI9h)5$e z(cYee3QNswXv6d+_E^-|fHfR;)1e3(nX9*yCa18I@t!I8J@Jj`FnT|Ov53_of@1zU zv4OuC`>g!4KU?}-@XqE_=^HF90<_|@Q^n6Y%kd3nb&yRfy$xI5BE%qX7)zKFO2v;W zr_7GRX|BS33aQzfIbk(MbNsvdJN@tY-`v0Bf2IoGbnsF_0*oIA{2;$bwm7FD;!5);$717@#$17JJ!k%>?%Fw~ z>lw%T!P3qs=x=V0v{L*kBt=ukHQSR+k&#NgL2M91FGajw3ADrU8WOS?vK3@%VjJK4f1q$nw561vWS9LYTs_P(k(CGA6_qWt$TH; z+p0DeIvwTBT&^v&7wT=eq;_w)QYNov12#_{>Al5PuR|`)O0!X2EOPM=x%GMnFMfv9Y*$*{<%K1Z(X?tkM!HCoy%rw#4JHV4SYAZ$zR*F(zua9a zw_tf2wZ#_R{oJuzU98Fiu+Zyp2X1G1snX;kUa3x^C=vu81>FVlKIJn33R1rKy%q?U z+V-7T&ybWHWd@>o+O{s;Lvv#w6~N2QJ%|QdfHHSC8+g>c3O@l{MxG{B7u^{w--5tt zVq0uNOg@uvjUY*DBzM7gf(6vpBWM2c=$)t!0QB8VX*)C zN$Z<_+)0KujfdfWQ=VuByeYXQZ8;}S7mbm)(p$#nhCkfMpp$hC5mIpghKNW zFrF%n83rD5*OJP(ped*49&QW=B~tddD9-AXm`-Ul8NOvPmB-<*tVI}lQT^)0b0=u1& z|5EXlV0xB9L9zG~CfmI-O$E=71LTdJz-`%-D*@Y_oF_;WZ%3{z z69l-wvH>%|7qN(T!{CP@DT)+>0e5gA1*T(VfO_3ufSK3Q1J61cJWqpE^xc^ZsVLL8 z^8?y)(B){&6rzsJTs76#HhOP84z6MHDfijn)Xl`h-2w;@)4I=#G&{4eoO$`JSM44F z#9mKfhgr&=%F_(n5!b8V=;7tzxgm^uJaex>ma74M$6FnVvo4-dVi~z5p0`ZMWRA2< z$X(=@^!Ayhmx@ZjvyR(}4qXNZyuBrz zvD`VDbqSN64@{pd*T4R5Z0M`RZ?xR{XbB7SK`^bqZZ4P(HPNf_%+d|m-<$esse57# zWz^S0JRm)+_&WMFY-8soho8X%{g!=t&0>kKoW@RjT6k23cRs(qcK!9&!snNj#r-v4 z_sr^&{@C|^50JTMR*t42wXrnzMgb`Sp3llT|bS*ynFrB z6(i@@V=mHr(e>-JX-&j2M0p_CGYnC0XGx6=fr1!hqelt+1wne(99KE!mYYx1&Cjxu zc1o*&6}R*_982&B~St}7c#JR&*c)P=iws0G@ada9ciJX5G( z3}oiA=%9VEkRjdX7KFMq=cUo$v6~|6xbkcizr_b>TC(6~x(Tg+E}~i4fUYjAU`N2q zEv70R!}zVXCSzmZQg433+ed)Q3}+~C!GLByFE!guwBaoY93;mim=^^%E;D6R;T_b> zwN4GKH$lN9$s`gOO?j=13?|)ny~*8O2wiBPYse}j+r(=Ky)}yUMuWQ#$f#MV4YAeD6UDo*=V7oN8PSS;&Ouwp5)a0w>db|k=NBU z9!j;ECRXXR8mRKI2~b)UqMCWiIMpwmSE^j|fNCEDK&@3}_rocS5V%fus6d_2jE`7PG;?#gb&6&G=d3{K=9jO)l( z*t-7~B|N)!Wod4;_hF9lh;NPYQ(!;RN2*ym3tR{nPFpTlzv@;_Oz>&Z;gvi@+^Hzm zs%#^h<`0`|Y@o5#;0x)7rpxMBgcsgfc64x+N3h2Cwoxm+VPVCkm5qs;Q?!t&H3bf- zl4-j9NjCk`C8qEuHpB^{0gB_7#;1Z|5irQK{yP9by8W}-T-W_u)g5;K{`cOtI!JiS z&`jw;#L7ZbIG02tT54zd6n6}J$7+J+x9)vfW7b&xIm-;7+t1fOfLHG0{`s!3yY!9w z+y2)*w$)w1ZTq!JxYVG3S>@(k-0T7Nb0_Ivz4Pi za`LkmNoi^3Soc$NU#?GMBuHroVs*IswyBz(8&Ut--WshwUPd8CQDB9(|4s8SO?Y60W?Kxxuh7@S7_Epm*k6+-d~r|S$N z8iy}Wb>ybi)$!ZFDM>mFT8fdcTsQ5Dn8sFEZDQWxm0+~YStVB1dRt&{N&dQ|#z2gN zQ^x73bb93)-Cn!_yG|{V#*!Ud5QQjis)i~~<>n5%R6KR&;-yNped*QH=P%*r#f5ss zkR)-!xC-DG^_M)?-A|5AE}c33%BRmJELIhmzL%?hsg%}$VytNo6oP%jZXM*AGLD zYYm|XwJOZGkM}!A$j1uLzaJJn+^k#7{iSLyoO&*2ZpbY zAHDzG*ojqPxsCsTo65T=++}x+7wKbi?y@O*!T8pEW&oyyXOx_*uEbFr|o$^!Vc+GGo z0AWki7~&ADyu#SYB7PK|?cya#`AWcWPSl4Agd4`a83v+q1e+A|{Ko;lXrIM0O` zS9<4^3wDi5VK_gg>47yh#;&ir5Ilg?BVqV@3c>I{F&(QBv>?N(OOsAl0BA{fZu}xS zO)f|$a0cF`)X&`E0ijo5&W9ggCFMZjuw8j~gabqH7G0mbeXe(5MQz5LygBAOB zW_QbjVzq6Ok5NNZW6dnj&kCyw65Y9-Cs#FH%QCIBv{HR<7R*T|L6Z6 z_|{MT)#9K0rY}GEJ#YS<@?W_2&xXF^(|>c~&%gguPyWHr{%HHZxcRSkfBP%{!;61< z=_eokz4QND{V!hsh0)*n+W$QDA6@y`XaDGL`oE9=H(&fWh2Q-0UmN>V3qSGj@44`I ztN+>hzZm%)Uw8ZHfB4Nm{q!IHhW~5!zxtM68Tf5y|HhF&yZqJ1fB)P6NAoX#;g|M* z>Gl7m^dGPO)93&AH~zmT{=0wg*LHo|sUJG{A9R2Gq2K-W|7+zx{ro>4{?2oMYx4V7 z{_#_P=yQL+^IzWjQ`!&-DJ`W54gM|Gn{-Zv5iD-*x_PPygW6fAZWPd+-05 z`)@z~)#SIF{_BUnZ}BUSeDB4-SNqR5etz$FeddRc{lEu5^UNQ4_aD6UUw`zk2Y>sk z|I_%NyZn!y_yh0!pRK?0;lDia-EaKJ%zv`>b1(dfOFwq8MYu=kQVp?JJ=q&#t&d31$U%~TGF%xQ5(61;}~70(a^Srg?N_6 z?@BvaI@6a^%b4XD^$T9iC)d)unGrL!7-&?cp|F5FS>R2xNDhMU3b-85z>%z{v2 z8}4efci-!Guo5|vIY;P^=H8JWOOqX*ACy{L}Lw=hq8jJ!WVwf^b+>rUm zu!ULx0$!s-f*EMEfxa*VQt5_Tb8piVb%Zo0ZEUp01}@N@?N!H`V3ZIri-8lm-6lN7 zy)OkpTN3bic0~^bFuP)o%adLh4rOyVLXOMpi$_q^G#r61+eRbs9G*s1Jr?0Nh)4WD zoWApj?@gAlB`!_K!^0WCf14~LEI+*4yiQ7LXVPhx|9a#tVmy}9#{L8;q!AE%p|rG_ z?oG}@*brd@T%&1J*2V3t6Smz{kikJ0Wt`fwJGYD(NEL}DdMjnXPr=m(=&sX`x>2G1HiqaQpN zOBMR4w0PE{9r~%XX@@?LV=2v2l|D$GOKF#?^uv{Or7C@pYM0U~Rq3b7T&nbebWPzI z{a~#tRp|psn!+>ssWO);eITM!Xor4?H=(pkHTuC+Si+r!Qm62Yern96Mjr_Clvb%m zKUfG$HTpofr|^t^2v#Z8=mTM&LOb+>Y+kC-2Of`pC)r@(npiIpxr1n>8HtDn)JbC zgRY8TJ(Vxm%=mp!Be)>qK_7HX)%`;{j``%i$1V^Qg}u`m~Trh z`e-qi7ISIQPm8&<=!1AEO0(3ak2Z5brBZ6sPn)^4>7&hDxc{)!rk^%*Y12oWxwM%} zn|?47m)i8vW-jE6F16{0L=&YpeGouJp&j~ZGnY1V>Cg`up-Ub5z-CP08U1vaONTx> z%mvThQipyz%%wvgcnwo{Mn4_q(xDGxu_&}dKON@Mp^px8!Q9J{EP^=Q^yrRO(1kbL zkmcXgpO@ErJ=B-!&;C9AIoPMN-yM4*X`AT2xt_>b=%=sZiV62VAo#kVuaNE_dm(!+ zrGS15mtvzfz#GI<_91f0c0epA12+)nIOT*$@4_NeQue zoJN#)8mRra%}XJ$aHrS8&-oXF`l9a*dnV!RjpejzrtrzC!Vm|2aQ3SvmcB%VYv(r3 zpw8LuCH<=EUc(hW>8qKVg;y_xe2T2!<_fM-i4{<6jHERzjiyhTHYQdPebLmKC!p(k z{WHILCHIt?Bt$CwFdKd-!P8BQd!^EN@tFHMrTu87&LD)#$bNO>vKW<*pqrA)CBEBF z6a0WFT!ZUV3tgkq9FoEH_e*@t#ttCAu1Mo6?1h3oUF!^&Wm+F;rRhbi7mPkEH_Z+! zvMZdNTZ*Ves?cO|NY#wBcEGV469`Vb8bBVgu=?yY#kn z;ez&wE`d`vLh~;WM~trkS>QDn2E2g2ZjM}Zt{Rj^ajQacfefKkk7`GoTDBtUK|j;a zyZZZ{HRUa3hs<|uL%(T(hD~`H9H>ihkiDDe?W`9<xxZxfa)L2u-hlR zXXfj5{Ht{&4stjk4X?`s+kDW9DY0Oxv@BP;-?Czv4v_(|s49i-nTzMyA^D0}MX{Z7 zv&Htx6+EbhO%leDqf3*tX0jM5aAeg|i)f>Du{o}v64uNJlU`A-I;QW7dT9p1<*H=S z(vhVx9T8dMif^|S^6r-wDaoT{MuDka#5bMHCcO;_6@7qAHht~<^6HdK$hP@W$YE6( z)O9(S@K#)x>%^4;=#?@jW7YUN2(th_-pTH?(EIM2v8 zjlqK$^>)_T@@ju;lY(bvFEbIsUKY)-P`c=T5bgEKrDGOHT8wbNrt@6gU z?$_6{Re;RZwN>&ouvUwlGn`L1?^ia*{FYHsns#m0;=(qYwYU&AYeF?S;l4qH7k~8e z$CIV-%{#RJ#z)L@%YMdDhE2^6G;C@Z&f>zv{q`4k{H-kB)(@ARzA#RA($SfUL08fp z>nsFiK=CM=o-xMW4~Ooy&D#3O=cHc23ra+Rs%~u&GSpeqQPZ#bA#WhDcz`LZl3Gcq z=LD)>*fp0T!=#2^oQsfy?VBJnJ6bZgxUIwuGE-(M$wnlsX__%kh)5YqHv1~)rEyR{ z_NsAh`VJwa)_o^O7=xuz6{TV8d|D~G%W;-88b&bmBu3$Xnxwo^1 zE=IYtSNx1y#@|+$91Ww0k{-w2l#`(1WMf$F$6Ds#Og?w3|k{JlndJC4QuE4Zz~Jil3&a1k`i1XyadHndv7>$~{H z9UF4}-WPooUksUJyKK%F`S;KQskmzBWYmy~LFIrYPebV%X#)C0;h52ao)&~tn?%*iloNIJm2mU0c5 ze$cWPX_<4c`!IqRqeW%K8Hqz?L&@&rr^EE9o)#nmAV9+?{4NYzln8M7VUQZe5(`D| zjEM+wUo_BSNka~zm|{2%Ap09nMtIZ5Y?%Y|9Z_Gt^9p^j%`;aYY?hXl)O>A$=J&aL zeAWVFgrR+z1(Va$&W$OmBKvpdDw;5q>Da|doWpNkQ;th!2+h^B#9_`onPZdvK9Oa$ zv>-tB$#M4yIG*pH!I|u~g>=1orOPGWs+KD)2q^Nw)n20wZeBswS-aV2?YwS8q99{d zDxm(Q%e_idXlAKbfex?qI$#fJ^6L#Db_+?QlT~)xM`y_bviaGkcP#4{C=vN~z30jC zSXcutPxKcI8|3^_Mn}gctl9SeJkpF!@!SJ`@AbCn3p|~uCwznm8{IRmd@JLngBxFoPJm&{xzzH87 z9H!(P=VmD5BBrP1v@~r@_7=9m*nu3=V1kwr>2zc%Lou$(a@%!rY&(fg?hi~qiW}+O zH<6V=6CDQ`oKK=JK#Y?QET96_SG^_NTyE&9Tg!Jg7T@OzZ>3CulTjLo(~-B#xsjpP zwp8K4r^OrVfdf4jFXOj!?~uD{V*~e|LnKqJPUZ~n@F%*R#;nuQO?zt_@2^1AapD(- zjtSdB@Q}nPZe%c~Jq~sm%{UT{vl_(3GLm&~X~GTpG7U)-lzt+06+u0(WO?YrLvu81 zIp4=7<>mXKBFoH*=uL^KP|6UlRLQ1849Daa;VCp%oa4penWM!|UApwP(m zQzR5+?u33A4jfplEgzflR3$Zz-Xi|uS#?5nV4VSMtt_7i`%OOP#+wcgBRk^)o*s&c zd+)K>oqTuUJsTzoU&srikBDsn%4FyBKE!U`x!FnPVfwbX$_m@K6_U@S4wB9^yPCyS zEaR`-;$YzG5SKybVySCxQpPbVx|d?=<}JPz4AFN`sKd5-YDUGL1)t|FUPAU8>K>>J zoV|rmM-E>sxJj%0_^y7jRWUAmHJutVsP*pS*H(l%oOeD|?vx%}!ohM*b+)Lvs6o9M zwFzfM{oHg5FcRb?S5smQsM05v=*Q1QQ=P^f_CPu$zUgNTDTgswgQ?I5?AgbgG0c{AJ%oSKMSu#BEeBlHYe!-FPc^Q_HBAzyTce zoE@(6*-l~Pw9}L+x2BOa@IQt>>IM3D!4oXxo-?7q>WPRtBNE=ua-whe>lc*(R48)^ z{!Pl7bOyCb2pRx7xPZ}`#1-4Um9`rV&2Ns}zX}&^iF2_t-hj?u zjdRFY{=6Yx_l6qZL{nn!`#B!QCq7j__<68%1WwkKKXQ`nV^>2@JF*m-tw0?HM6~k` z3^S@nV-4}=zpAXxVUda3w%m@=z{35uAwcOeLdT$`00F1>R?pZr|-;3hvnE`nB)AQ$F zW6yD4HPKZoEJQ9`lbN}R;!1;M8L=e)~o*FdZ3H6QTjsTUl;ZSdU zbyz=>TxfkRig6BG0TK+tnV}Xf*GlkV)Q*EGeBsiDR#tf{Vzi=3NZY?BP|6=?zI*VX-z&`;YSHxzkd`SgzT#eQU+ro(DQ$wX@n-ybV$U4kMv} zIy3}a6A^S9B%AF`hclFK?d+N)Km8g{7%Foy=xfW;f2jc}1!&I~Ji4If+t88=`5L&! z3I^paI^~e1DRiWicW8)}r`Nk5=39ItW*-pW8Y^Wj24_y|&#%z1wdW;sKz9(x{`=-S zS~Y`#7=aaQPKX2>mHYq#e@%4H(*^M1(j{S~3E*lS#*Z|CCyG@njc)*{<6;DOP|*YE zq&*lPpNuvzeh#lkWvALQjw+-0D=-20;jNjsS#&5WP8TckC*t<1GJmJ1BY(Jf9e$Tq z(>Dx=ZeE}GASy(;=2Ny~MK7B3*Sj_OjBEJkFf+IvWgT^j=4`^{2eIv88ZXI%3nme> z4T2NjLl6KDFekZJIG^=P`sE{e|8Rc?s~~2a(S?`Jt)@a53~tDVXhclsFg2^)bQm{X zU7Q~RJDUzc+v`J6s~!)W_6L^A_l4DQ+wN#X-DM4gK51AMrNE`K0LCt&u1Ggk&SH~H z8*VeCrPN~N=i(Me2S3fzoV3gI7NQ2?d@cAUOkZ>Qm@09N*hCCQf|t@I##G6HgsmQ0 zZ4C`M%3Ggg#o?OKc%NM*QN6h)+JVpjWW$QURU%sS{gvhGR!L*jp^D?5Q=>kjXg0M6 zDMw7pwmLl_ot!*GEfdpnO7}24xw>g^V%meC@P;$}KHT1t3p2ykWNs2Bh!DVMfWcw6 zXo>)S*w&=!NGBZY+ODQ`wWf0jG~3tJqS!KRyE?q3iJGhuwK5;bmXJH%fOc1uWx~#K zgzrfU)*03&JChExfv|clJ#IQ=f~SqeP*v-{9gwErz)12!lPhLC6l{yMM3?&jm1tJ$h-s1g&$ew?fQY+H_F2W zU?lIBLQ<~9rVxX-vt@&9m||kn$nP*RVZpfkaeP2B@`TBnVGD9g<~tRuj>{{-4L%Xc z8|OCeAmc4DAOGM&r%iuWaa9Vx<`CVc+yo_?CcMK6Dp} zjBs-4($1UUzT>cNaZdR?U^MI|lZ3NeQdBY21b%YzlXnfs@TGlOO~})KrxG zt{@b6fH-!4H2{!**{*-GKVP|Z$|B6vyD>%T&QxHo^TA~aQySYA@Oe0|p+D1G86#n; zt8l+?ie$|R#85sghVg_jkZT`W47{&*T zQx=Q5R0>U!k`~(JCH_i?S=H9m1m)!n|<#=DytPbGp(fzhObHguHec z^jq_1r`v85b6cek=6$ZJzMm~Im!!<7wy5{NmQB%}u$yeIHV2pW1PEw=tx}BBy@F{> zGeWJjRdhr`*&vhO3VFZ!w%L!+;yRawho7TjLjF_cO`!d<7j0pdU{q%N+y;DUgW6D= zsC!;GIS6%xAu<|$UPG6oI96OqNucduucoH2bQj?3`oKjojs#3IE&aayO9&@hK|m?^?b3;xM|t7 z2bhc2$n5t0=03!6t} zij^3^m9`!4cVlE63{t)p%hB;VdWHFq|=n6~884h{*Sxm4q$^$#2Gz$K!khg&9p$8E??8<<=5h4JAPt89-!DHkZ=mU(^# z!A+ZS2O=8ja9Hjuz02f&4QkdLqJGD`r5Ls!4yy**H*G9PAA`9teo(LO>eW-7Myu_<~5${+P+n2lMq!% z7h^&2C}lsyc@~~Uh(t+TG*UmIO3h@MC;FR9?KAui!M%)!xO0J#1lqzZukq)@?z%;( z-(`W!1OJQo8ptY^t;@>l@>-agMzVr_decbGcW#rd z)|%L8C6Ar`?A+%fAigES8#7fEKWC8Cmt4wFerEeCe%2sbm+4NMWR!y++U&y@;l^F~ z1d@-k4PeE9LQH3T#~n|{KNh^NrrafRN{!mh9yAtRyzb!Mr+G%tFLQ>~`=PC^&6uN- zFPK}arWfIi`^f7>n^_Wx)H0eR5E)_Z#Ig7fs9Ct zkY&cOj3P;Pxs20^@)HZ+sQr9WxH_tRe)YiW#LqDsKtEgGKzQ&iR;+mI9jsF{lXAx!HGY(OXfF{D> zzXO+n{}cF5_0g-25An_;^0s5tx+69=n0()L@30( z_Po9R`Wh)1CC_gPw$yOYnmT`_dZ&Yn5zeTgEn_Opxl}J?BiGo%^?T9N+)Pm@MJ(oC zzbjKt9J7ziQe7z9{?-{#p-+Lf-aE6!+ndIuAAzA?nm0f0yq+O-%ue-~R((8}QiEP0 z|F&yCv-k49nGZcF9MiWMU-V`^5i)DF3?6sMONfICDlx)YNJ%2Pfawve&c|&qs~|MXYirUq--Tvtr$DrjM+SSs;%J{%EwN2{KPrajzy$595wa*^&lnA`4rGTBRv*(q*x# zF&Dzik~F7dE3sGk7(`wy07u{Eq9`$c1i$Q>!h_$ z!^7Ej$ck`K3m^WLGHA1!ec^DvQ@N9p`c4|y?i5i$hp8>e8r3H9;jU*)5X3y=97}k{ zuuXW!iiHw%x}ZgK#3axln;)Rkm;=>FaTHVsjtbYxERau$xwE5{o(l9h-WFYZHvO38 zQ|H9geZsP&=~lWiQM7=}L^g?P$u+vosfd%|XlU6{X69iyb5ixBvg!CTH&qWm#4*(a zfP#DKS$2CK#h7QS(umS4XvGBtqp{Cxx`<~CU1Nwy-5ybpiKX9Cf%|-2Ju8G2vL0=z zM6O9=x%eS0g&Sc)$Gy{PTDTw^Nkju7)t3fj2;MZidK=DyJnFn;V|CMcYP+;&cesKN zkwi$s;gwO{gArYvZdj&%d%9jX({uVegGxV}0oJO(K7YB)TQ^?ciHc~cvzZLt{6+yXeMji=of z6FALAoBIXVc?E#RqbxAYCCo`**6b`#52+8|&fENO9tYA=&A)WZh&XHUpaw~6(^RC{<^F!Dx|0DrBr_aWnPofI|-oSQLT_gd}%pKI&qBahE4 z`_0;pH(}UvM&k&TJAz8)=dz_s62;{vYq%q`YHPF})6H1+s3#dO0kk>zA?km*6uOoQx(y@TRK+v1%`z;PiI}=WR zH0SMj@Pn$3*5a~;Svm})5Q1kBrEDQC^XT0CH?DK+)|-UM?I3MRgUA6baJN zsvJBx5udanT?)p}J*uD$U;;Y6-^?%am8x+#Y$;<-t7EK<`-p7tlRj4|EISB_ceaCU zjP?zkQ)@VbOdN${AM(%e4f|%fQoY9y@4mFSN zTsZJT;lOi+U5^wFJYG1kw{W0VIM6B_I9WI_Q#f$6FnXjg%70%fjCKm6hYLUOPYOTq z6NMl6O5yvzT=@PUFMR)33*Yy{h41^Dh41@Yg%l^DyfC=0P#7(YmJ7RhzN@gSSlBgI*fm+$HB#6$S||(@_?JAG zB&}ky_gGS>@ZRpiu0ml~r;t2bD7=__>$MjP$!sARNq%U(M46)S&TOG@qEMJB6do)T z9!P#@<2dDL^4DH_k@8Yuc(O3^RPtMX;474WkreA+PQL92ewy<0eEzxQ_y73cPQLvg z{`JDXhm!C5*&j}R@6Y~7@`r!+ukraG@cGC1{CAUGqX#L6lG}gsk0rOi?~f+8|J0vI zZvUA-p4|S^zdO18=e{So{b#>7x&8gWC%OISe_wL@=l@c2`=9;A))2#{x{#6-2TfBD;!+dux>liOeYZOQF_^oNq$Klulf+yC&7B)5P14=1;OhB5rq zA5DJrd%rXJvETb$g}_Uy?dsTf!z;KCMk8w@nm4nbIHH}&jv;)@T_9lZ*9->T8=;z5K8GMTO9^&)E`7M<_#-M-m`{ z@@z7=w?P@9(BEGA+e2G>Xmbzk4f1S|`VSnZ97_gwO;Q;1E}kVPlil?OWhmL*s3*H8 zXDEC>wuka4rARrR>^^#gGM4N<(oS|C+(qH@L&uWc50)sr_sCqb`{CV`k!1J2=O}}e zVzTG>iDXaXIOQPa5amd+r~VwJKp9N-v?|G-+S8QBlRYKsm3THeOX2h6DCMza&#`Gr zBiZxf^OQ%EJ>$D6{5?V&V@(S6#-2^~JT;Q+d1jcx_eW{x@skujkM2qK>_3p~*|k5} z^T0&1Cn-|~l99PNN`*2-8BIn`o=irL4<#d=gOo{1i_%F(nj@5FDNiILt#L}5QcFh0 zcTtWcBQNZyBov-KGn0%w`BXCU6u&+GXfm>YEEzfQAcaGBpqPw|?oLMbo}e5{Muw=n zyP1saq22>Le}H-qJeur1UQ71AbTrx98KX>6S{&yGlf4rY$=)N4Wbcd5Qh?XPyOX_# zj#J8%eUzt?y$5G0FHjyx_C8PDXP-;H| z!Pz^>c|K7{2FAcIPlFSVA5I3I-J1-QJIS6GI9KCC$@l*1FD3=fPGR36%0bEz${2;Q z?_=!ynA^T_3iI5@{8-xpYdhR2B}02#$xz|ZWa!a-$xvxF8S0ED2lhUh9C)^p9C+eL za-j1>ueQ`}Z`H{m&js4m`p*tKf_BKK?S6hrmtc2a|yV;Gile<-im;>ak=1 z9J1%}Lb7`==X$oy=fla!z88{##~)1gJjeMw`V!BcNp_c}ncGvz?qn+2+ioShXTY5g zOeMRgncwsLHZuYI0~h;Sv{_2_=$st|Z#K)xz$k5uGnOiAQyoeM=5~RDp8@YaoD94O z42|yt?||Q$;OfDbl7Z4x^4os-r<3pg^`9vWR|~_9!f?GX49z-G7;YDaj~0e!3d2){ z;lqXDBZc8Zh2dgh=wM;!aAD}h!qBn8P^mCU;ahf{N?0JU;dTkdw=~G zl5hW~e-A9MyHMj0PYx9-FBNuyCJu3Qi=cpm{5=S1d2A>dJ_$K^0rdXF-emZN$3O!t z@v%c}3rqPl=w{cG$-tp!l94KCk7G4_=%r+6Zaf)!8WM6GFrEce2ahHLN1jcFM;}jy zAKae|jUPycjzLoDfb78<2$bXgJg9DRG8rCvDjAyE!@E_$8T9s0B^d@457yYmT@NI~ zGl0+`$lPvF=L=)WaQj3u{Lll*(99ETDJbY^(BT+u&G25Uo(vxtqdm$=$m5I51(Y~A z2RVI&akl}d;m4DKM|gh#aNm_ALk~Zf3?2iVCIE?NPbP!=LDd7#frbY;3NO+I^P75+ z`hfW3ynli*0#YN7GIl_C_~9p#VNmwaL&aq1ImrC+r<0KqU^xCH;~Gka_KhS%k3cq$ z!WtZBE_#fKPAIT;4@ zhaLyDOu+)|p8=gf#!8T>mUz2rGV)w08LkX4Cr|(=Z=igPW6aTemgD-|U@|gAyL0>K z?W}dDjLx-MDh9K2LyIx?tW2{9x8GM>OY_QHpKW3)N6m$5#{x2S6cDo=Ap3u>-|~wFj0CL!O>Jo{SuZOb@fpprqmQcrv_y zE*UBUrzb$M^%IQoWHRv7a58X`b)Mdz4A0hpJLdT?^Ly?I`rMNYRY8>lhuK@!WdJfh zb{trR?K{Ev$6*H^83p!Xo1TGHcmu>+m@3o}~TRnPhm+ zNHYBB0PO?6W#;uXyMI1f^d_D6R@C_V2`%E%i zg=Kw|ISjL=Vn6r8nsAOrrp5BG55tVN0vj{KKD|gkHTHazvjPh@1X&r{|7bGM0REq5 zj~|CMEz@4|G-nMGcMN>8m;KtyIfk_v03Qq-1C7Jp?tT1u=E)qVS;s@O6!!h_i^+)A zwhX*h1P2|?4SV?13zUbGVb0g^G;mV_50t9O@NxF-L@^nz@f)n|@UuL72%Pj7dp5;6 zgAE<(Ot3b<>ORgAV;CA`?MH#B(a~h+0DliKAK0p)M0@>sGW0z2c!)K6koA0&eVOD8 z)8AkbJW=Evw!xeGz@rD)6Ih?YJx>Goe1?r0d;+pK39N`rHo-x|!0-g`AB5F3~8E%3{n$Q4n!SEn( zw43q*Yx+<^q3+}DWauccKf`*}fu%8E3i>g0ggt)gLCz0*e}c8Cb}0N_nW6v}m1luz z)(){|Xn348WnK47CqplQ=bmHTABQX-Wu3+kCWD6&FIuDE0@igD8t}jXbO445acgh@ zm<4AK!h#JB@SO89_yV*7oHuZ^k_=1(S7Xo@`W`61$T~lt4AeOnh$#bm5yfC}1_s#! zM7GgA;MHTWrHBXvupR@CJ&}Cp?VqOnR5IFrkg|(%AlcVGOgYHsY03=c7^OvNB%_^S z%09{g%HHHhZj4e6Q1(;w+k?rz4$r>nCCUj(htj6BC`T#Nl&NGNcz)kAN0QOG66J6* zdg6J?qsb`yGJ0|^Wt2icCks5MuM)PC+X_}3VqD+9WiEfj<&(=qjU5*H%NJkLYs3BQ7V)grA#?NsZyG>L%rjB zlKry>DTk8%?P2~N;qPAlzDSwk^V5{)`FxbpqBJNkQ68flr_?FqlxfOg%1O!`Ws)+J z{K&?5vX8OtJ9d=y>`-2!oJ{sj?o0Mf94_p7vaoBSkc=0S$wG3hkjxa4rwYk4;=1>Z zJxO7C$7o_~hEk)vD8~K3iwBbf?Bs#^{^URd$Qe(P14A&p`<_YmSLywwA$n&P1I%I{ zBYFG<$}`En7ZDbxo=f(Xij+gi=mePiFzkM(ob20QPxkF&6%VnpQ|w}u6-PK29iC10 zbFz`WlhKD*F)+yJ3+&WW{0^2sP(G3Dou(XzGipPzch?ZK5Rky=`^FHco(3~K4Td-j z);j`~hWd>hjJ8N+2=b$F+?#Kx~KY*}!0L*ZJx^M*}Pk=q1ndam_4Hkeyg7F=m z>#B<(iS$|A>G~GjiRU^QYvWxn;i()*m0j{Hh4Vmd+z_e|IbxszVn;) z%&b`xYpuOv7N4LZ9J#=L0qjZV!P(AI7|m+12b~Ce(+M!D1>vk>A=KsM#oW_*V1&XC zg~@B-0s`+`xcD#$PTXOX!4LLHN^mxz2BVM%ezYuyALTN0xhIOik9tw~p-o*3m&@Q@ zAl{6Cr}^PV7~G??)`F*j;Zcb3N8I5KFuYu2@?SS5ejC8WQ5|@zT@S9U!`r6h(&w2o zoEdiES~gsI-iPl|jhje-4cr+Rn@R?+vyYiVJYFy4*vVPJtKoW*aG&R@)c7qEa!(WI zv$q<1#%Zj;TJXBA&fkyS!6yCVCJtvY6cTPAz+F+iWAb}W51H||gv~iG_>ha$V;6_V zrYnJG1N0R*aJhKeXvx-RKSHQ?sQM^`-YlIk%#%tA_TUDHk zwVcKOx2qSyf*g5G7UzT^RV8^rjD8)SZO54_<=P;%a7;BG5?nl zY-T<_c*)p>x5zm+R-wAcMFtMJV$cvzRSW9O^^e9qlV&c5=GYK6`G zNAG|U`1_cGg&rGC;|1n}N0r7$E7{ty&P$$*;EbKICV}UHaHeqEF@v#AGbTAlmp}5t zx0X1TV}|30CC*UeRP0z*WE<9yE# z_ur%7kLHGQ{_g=WwrhZblg^4S#^O^Hl4J3BhZ-|K9p-P~46NU~xv@;( z9_e^4|2l+VlgZ%?p85Kh^CP(VE=%^(aE=Gl`hf92&W~X6c*o(qr;EFD&gyWqV|Bu; z17mIUKXwtEeIQI-VEy~WT22(q*#J%a@0t8j!;<68GqzXbRL9=~Op-jp18@0{6%5OU zk6Up14}8m!GlK%|Q9(dFoay~-%J*k)lpNcKa(4G*zs9)_4SDjBWbg#S@2$WmBF>E$ z4h+a4f@IG*){J*LzW+SvL9(&)px-8Ahr8c9Hz>&X;pg|Uha9cPQ%J!q@0`iF$m^0|cTM2}JR1vVUt{lGh{6Ft z8{RzmkB(z)z7f7eYIzYKScR&_=a1kMC}YR4!|+t|>J9j*EXj>F@J^7W96r!3$uWZG zgE#>Ra*+K;cO1_Za{RA}2|1&W?1AuL!1*#Z?6_ek^T+z&qs*k!;pYDR(8*d6LwIIj z)k@&<=odX>f9)N&vw!qlL2McgI8jOK2v2bGGb1xVp3lpGVgfviAM1iV= zUCa=hW^DKIcO7tclUPdZo}BpKpSIGzh@Y4KuYyaOL9Sy}bOOV8q6jBF>)_$0e=bn? zy+8^IqbRZh3Umc#t0%qWpW7`%o)f_-Z(z&J*8V`mUkaaLS`KOd(Zx9rKf_kRn-Ds9g3kG-GdbTPJ0j9~@W{>CM~pq{J>GP< zVC*@$@#TL^oDRo||6cg}IlBK(2TyEDcnb+XQ3&TsX7C#XtAZSo$I3Xi6k3Lq;9pP0 zHgj@-6UX1Fe*!jfoMgN}T*y8cb{wxbAAe3axgshCyn158%c=lv|l>bp1 zIMW@+9zRerHqQ;_Mb;!Wz9LxVct)^af@3)T(C1Va=dgjl_2Bx&pFip0ES^j>`u9;{ z?6*Cbamq}(1m`)x6Qr`?kTBj9q^?hq{ycUniKQBA5>7q-SMo7)td+5KlUzXK`u@=^ z@w>{KIqSk9H`Y1fg)?*b{wzFlPv(vIyMJOY*#d@Rz3m`Oss^WA@O~$;TZ%6R48EGlGgCAG+aOx54$|K^xXfrf~XwF30Otg2tnuJt8Jy&fjf+2i zr;|%fuuYt&z2O`O4i7NeNr2PiAgI7;@Uh_v5mY!Q`mbKcIWy+uCB^ymjirOx*f<~h zf%)kSO&|=XA$W}nPC&@8`q%4IW2R#U1b+{|@#=sBF8S3#DiUpo$ym8K>ws8@6cK53 z(-LWPQcx6WbP#DwkvEs`cW_#Xo`NEV3>#fdYD*d_&8&3ms{8Yj`tyUmam0@&eg^S#&`*x*O$I-n_&MmO=J%$8UrPL7;)f7FlK2_uXU6qrf*+55 znRjn#es6_$Z+U)ic}8z}81dtJt7yH|CB0Q%#P=tDF!3XZZ{J&8)LWI;Ta{1z!rtoq z-fD;>5(5Q97T{8l9KSjM(^f|kKaTjx#LpnUALQAR-%{98-RjUvYxQVNxSg!6t9LKz zoT0I)+5H3yYnyt%djI;c`iT0-I?wvR`W)M){HB7Y!e*Cd*Jg*7s`>z(`k>pn`t>pO zarH^{sr6~~=?zi!Sq(AudG)#V`Sk_$h4n@Cr46(O$GaH~?hPIdo(*1?8vGjk8v>e2 zt*n|do3fg+n{t}Hn!THS`YP?4%K9oD(4(Q}h@KOA&gi+I=Zan|dU5E*qnChQB6>;a zC8L)DUKQF^pg%BGB66{_*`MvJs%$E2b_eH!DIv>#`}}|Y74_Ty z{kLSv`t|F<`_qKFQfZa)YL(^dB&95^?xdKRpSLo#Hf?sloz&si;olL^aiiHD2Zl0w zD(J~m(N|PJ4?{{AQo?bgv=TjxTcv~^hF0T()hJghqla;ZhK9DbhPD913l|Kj5Tn@d zmhsQO?0&bu|6rB!@(S|sAxU{9`Bn1p(L(s1B~?L1*+7anXg;dpApqqTAxv0b-$+GUQUEg3j-HUr@7H-9&}m(-O)|5&&gg2JQ{kA z=sBb3f}SgS?&x`<=Y^gRdcNrSq34fYfRyCRT*zgJ77CtcB6v}i;H9{Mmm4T0IZVq0 zFUSeJXh=4kn+jf8p_Jr^BP1K~f}BT!AnkAhBpVJ*9F9fP(8Q4l;6N$Z43vY-Kq(Z4 z5fOnBa%DJYVH^~i;hX`XvM307J4i_~BVolX2Z&?l!b+Htu)0B4C@Lc|24qMQc(LiY z0PJ~6ZwR@UNlCKv;~<0^~p?tb<(uwZrg+Vz831 z7?qGc+Z8fpyB0_($SWu)C@QQ}P*Q+zTEb^TRTQa;@`?)ZF;MtU=WuT6%YsC(gSFT>EqC}O4El~ic2yP`fC2*_2DT7-LP6eDi z6+N_+M^l4ydbR@mQD;Hxg#k6 z7-wN5CdnjWSQi9fMbUIxHip5+GJpYCCXE|IB&4+;kIy1Y!Ox{TLguhKFowT4vUWGJ zEu0uAEoargEyn{;A-JVr07Zq>L1`gFkdP2I!JAIYBdddrg5ts2IfDfjMbT+RXg`*= zh?L)fq=J%^kTP@XuwrZxjT3-1ayFri?&wM^-AT@*B#^(O5BVbncJw7havE#CzjNTU zCdB)ZHA3w{*#fZ

    =ShIFf7^#zWz6kVw+*SY41mtQTYg$pMlCVBqoaZ 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

    IMx@;bl8d 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¥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

    iM7?AD!cqay&W5=Q*BB$FMi$a~8)W zx;|xGD{rlL@*;c~n?$?>*YgKC*0a&;zs+$i>3Mzo9P3$Q`s1!*H&LeSB(veS9}K{lAl+U2^%+v)bZszo?MC2~Q$U$vu2rY{Z?(G08Kqo(Ek5@h*-1 zZO*>kErpCnco+jK6Y(mX-?=ILz}F-1mcn22cw7(ZZfqpFfBJI$?EVpN;#j}2xd(Rj z!J4_OOK5+HdyeBbiOchjg!jB4$K9z9UOy$r3?XizA4>aU_FH}spBK-h^asP8@xSI+ z*V9<`kHTgzZcYA;75)WhFMcn_CG0Ie={s`1#y?}Cz;W0QVUx^(yJ0^gV)j|L>hNy2 zcj7nEPei{-;*LG5vwPvOiM4*$yRbdq#D8^My*BepDNm~p+ravLgZ3%>AJ?zW_Q$_o z;#c9H;_sBWhKqdwetTa3wV^uOhWM?&THLrgj8$)!?1#bn`;G2NiPqB^!TFnB>lvL6 z7lW3z?vkkQoA^N{Kk8ic%|jwy0l%@7Bhmv0WC&ya9LGi!k z!XK0iKM1z)!^(whKKvbFBwGLD*RWj=t^aWyJT0oTG1z|stIkMd|9#HBmh(6J@!0PQ z+uwg=ukTep{)3&p)=yZIcU)UPLH!lAt=4~;_=~FW``@d?m4um)Taj z=Ak}lzKO37Pr=2cS9~vU|5|+FwdnsDE546li?21FZOCuO6kh4;)2^Mr)}PSxMSs(j zD88{SzhbqI7QgtT9Ir=MuRkcqJYrku&)|H_eiD-rk0)KVS(1xbe_|=_&4J?j1nQqy zc@E~|Q5oJj>6ITnzb!uTIgWKb?x4IZy!7o|d5N3c^;G(= zhPP?x+W5_+FIi&_f&^x%l$#id+uFvy@{VB{uBCj2|M5Eb$^&%_UiBd zGd_~^w%}a#4k0O>QkDIZvKbID(|RT)^1EB&jb5n^Z0CC<`gPIU^Fj8zIQt>k-v~d$ zHIaPtH0J{kPuEj=rkJ(RZv>luhj*&89)#=FHU!UB{9ASSzWQXkp-*P9*PoL2Y3X{d z{eG;^^H+-Ym!enw-Z1GWFRhOAcUO)2cd`Eq*Wx_A1S3jsK5XetMz8NzFD3oMte3DF zcJ@440_*vHz5*lSVYn6Md%_j4-B0?yFcY@#3%{Ww^Z-mX45Ij}@%#Ac5-*DneTLrR z|G$-mi>hKNa@&x}Qw1@PBtKdyNP1_Jd(>KgF@;qiws& zvN5z_ej3-ZD{)H1y4J?`9bc18qljmu`YAr2$UV=bE_gt?BFXMcy&EBu{~muG*M)61S$;!1iwE|2Re=ouwxgfGLrF!2Vg z=Wq*ru#||_cTnG9zlhn+m(+yyhbJUf_(t>={ucO`@HHvEf5jWjtqEgI=q3cwdJPK* z`)rC|>p%Poel+pZ^WyprpCfcK=AYD^> zKN-h-^)7Ktf)4#iS%pX_Drn!Pa{7TzvhomB>x)*YsM0go}QhSo>=Sq8Y{kS z$)Cli`SD|6n;$RxxA;Ep?VoS6%wF?_wS@VZqCViVftof4b(ZAy{8$|OZ z*MO}*rS%BblAd#roN|0sb`s?=IAW&x#e?Z^+5BS7N8WX9##wSs60PT;XWjTfJm=qv z<3ZI%OEll|Al%1O`dSZI-{$Q7QQ?n=efT-B55Fy8efX_l3$OJmq#r;SiOS<6Tq_^V z-`2CA*Q_AQkDix4K7IeP_!R#4u!UE79s*l=s=Ty*xs{jnoA7M(`aNlXyk759rdRnb z=K5OsiTC09dhWrq)L8e&OxW%Z*Q8!pCda1`x9Rt1aV1@U zUXy|-{!7sN_*dutHG9QR6I5a4w;grY=l4L^>}wX1KkBNkxkTY#fK4wxjr-5|vF%%h zcRQ+hkkd-7vcGYDHr{7V8m{f&ol<_!LH`{*D)DtNUFeK%V35aQy4=~_iNAomlE2g) z$~NpD+1|&W*tS(Ri0kf@fiJN_F&)Y#+KtAExZ9Irg`IMO8? zDTIBi=#MwVK!qx4m&Lz0mV>|0Bb-jy7sHVdJ-#*Bx`!ifm(IODt6}(h9lI>-)Nv{* z-eSEX*RD<%n!m3V=s*-WR$y1s1p88v9ftb)SuA9eO6&^S!9loZvJ$zd$~ab4#V-7v zjVNlBr=Gz`yO2|c!fS?X*m0~{#c~F_8tt-)3O%t~+_lMi3wyI=y$O(fr5d7=NmWrh zwzT7T^rbeVigYT{yG+~Ai<9flA*(}bYjwR>Yl+K5(#5M3OV)4FUySe8e| zOIv3(<*@q-UrD>7uy|{0(mI$2MSUZ?IvuNP18pxV?^#qF2u)F!PhTSU}iIJ&{C7Lf<#H|-FzjG?{jpbJvYkur|urjKx z3C@`3I=qTLC)ueKXT)Yhae!~Iv=@@#eNUxf?$)yY>wi#*q*wna6) zE_`#Y3x64AU!4`(W(UyP+??$j_CK|K@#gS#sVm+P|X=Ix0GLxg?F?ZdIO z3yqol#c<&D5OeTmZ{lCnDvtTr5%HrruHtz=JDLZ5p6he^f5n^U?03s?Z^xPsFo3jg z(EW~ReEnnO@$iUYyqWT5ErziVg!h_*s5^q+d zZx27iHIVE@{DW|LO%I~^69?k^FrDwQ=*Pe>rKggv&q1)2r{?>#g||-jns223^`?oX z7n@$=$&0Z11QOZzz%~0kEBx{3Exh#8a`v8OFE;zLc8KYhI3}45kHoe5)3ay1UMd4g z0e%{Ht3dQyv40=`z{HC01N^1L(tnBH>%Ve(*%v4avlnmd_*Xl|{LM`9b>zdi(ta@U z85GW@_|H$Q`40Qz?~uw@^TCdT*GR1KrRTv1rt78gs>9)*ut_u@?q1y00>$y=ui&4M zSo2$6#osNl#=j20zpsmLGuX$cuoj=@=R617{2cxMa}9ahfHpy*`lW9RR=-rAYGJES z8V|b%?DMlHZ28go@rqtKKjp7K@%sF!ynOzSfPMZ>fGvNTKlBmo=MQ}Y`}}FvSJ#%hJtni~?3$N=r4)*7FENthe z@;MT=^fg}p5!m9-&sR|Ud?3M)YIZBx2>?So7I>VS8cFav#7G zVS9hoe7K*%Q<7fu<@EjWWMk6T`0SC1)xK*y!aj-B{;E+EslF|4btJ@-ms6q5w`dh{uJ1UKNYs{`(peRyj#kzSl82d zAL_>d_;kK;NmM^}!nOJ$yfs#Irx7_JmMh!Muz{e#Fz81d=0;jNu-y( z=@tLMl#P%75ZK}$d3IcHqCTC^5wOmupCUt~e;%FbHJ?iLyIZnXd)pDeT`%3=pTl;4 zD|}DV^Wmq!7GBr)Ja|G(F3dliE`4In&+Crg=G$q$nCjz#q@PQBvoHQLYT^Nvx1JZi zyw#pqdFy#ohV6Ny_{Bc{NwCHLH1SJ6xrQC0-#2d0`E64jS@m~4yuSXby|eNdab;{D zo1%FpJ^;V*#bj1(M?210qWKwmzCA@65|z(KxW0UdqEbG(zOTdn`Ywib4ie?B53bLj zo^O^v)!*%4tKZ^LIW9Za{jL0-obo50o#VS5EB`<_4omuS4&3AiHz(f5aM z#&7y>;U<`FVvuXUiSu3cOqSdWFUH+ofcyaSNw+dS?eK5u8^T9Mbv7RELD_GaSmX6H z-v0T-nosa4em|dJ1UxJ0xjjSwZGK|SC%6#*Lx~ms4g5a5!us&K-+cHNU<a-e@)UqSOl)+elwZ#CG*C${)BKcg%B&*o>$I-K9LL0_HDSMw{z;Qu_OukjOi z!P_R*e2o<-FAfKh{noIz_v1mNzbL0?$^S}x$KJ%>TZw66if6>1^ui2?JfA2`~z5QfdU;Uk`c;N5w7x>$z z^1A8q_(CXllf;zUZ}Z$HY&gZzMmzPy9Ko@o#q})_T7$ zV*gHJjhB2F=CKguYFK^Qw-d|$sJfQ+qhYgG{V8K>`4|7mv3`$g0`Xh>FFwg}u!k-D z7wGl(iZ4_8d9G)0m-IDk66u#X`(7G94Syfi*&la|<5Bg@l4!nw?#F!srQhSjzeQr% zYwcxkzcK9X`@?4cTjm$6# zbG#tO3v+xL%U6p*pWQftYR{tNo zF#bNy1wqTZH5EbMr=}&=^O--fR-Vt&|HkR{{CtA=pHKEX@UlA>{ZVWZ>Hm!1^xM3_ zTv+VSj_NSKX*T*X$-esHLila9Et7ujg9@R)|9E2QPbIw9e+-+x5BfgTm*bs1ON3YK z6@Dek%EHTDQX(reuyGxDt%!m3_itm_t1T)fy|~%&CWN1cz3P}m@$K%ypZ{_p)BLGZ zqB{FE%n+>5r_`Za;nO(3UnjlzuPZEL{XPFQ+IwrSG#>qQcv7;L{)L=g;~TtwV4IfV z2f?P-?;kf1*Ip?;@#Z<+CdUJEJS4}v=6H`BH|F@r9G~b|ifo z+3H{F8cQ@jdpz7eVi+IZwGjW7p+g!EJ{{(@BZ$U>KMapetnuHfzehR#+VL>#kLUW? z{jc`sT5PvX_8KqyC;U`{AkzOGpXtTBl0RepUe-+bglL|P<;6zhaWqFrqVbzzwZRgN z-@Fo@7cq?AybD$xmGt4q!VV>Wza>t|ZP!MPG_7xntREM0#qf2GeU zR?=UL{k7!Zo}Y?;Btd=rW!U1^con@X+ISR=CwUCMBPN$!&S2kH@b@B3iQ=2W`TO`Z z-q_+>p8h1KKaKG)4-)^QdOrx`@~IR>BQNAo+CAFJ=0|M@Cx z_mARJef04?3R`@d|G5F@(ksLs(^p*HUTv+}t9)t+Z{;&_x0>*5(BGIO%HI#TmOt?< z!W%36HL!)3Ui}l(i`CyYR{7}qTKP!72IXgZ#n%E5vTq*s5!>s8mi{+yg%_mb%~9b|4y)lmwuSjYy9KR@WE`7NyMk~8yARgQRu~{S9;2CW6~dh{!aXdCti4K zP5663L*gr!#P_Q}3?;(^J&oVYU|1Ac

    YUK_vXd#Ufn3O|(g#KM;g@%NbQ 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∈9^LQ!DZZi9-~5Yp{Pz3=_4PcP`g;B`#}`qU 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%0AJ97QUvqZ) z@>dkrkFF(oeMk0RKE9E#*H;$wPn@pj#NOk3-6pJ4C9Ut<+5dTecfj7?)PjCX;d|RP zh3|FO7QVNY3*XBQD12|*hyAIqe_!{#P4PX&{?+UKVISW=3;HVs{b}~czI+e%$5vjy zQ*{&H<8Ds7BlJfH*xS$VoVVYiQ{Mgp_J`hn1ka6{f8Edg67C)SYyZDK{crpKVN5=t z`6mO?NS-jJG)(0LM%gcU4_LpX_{ryk2&f2f?bJ?F+ zd&QS?0&QIX@0w(t?fET|=ui6m;h8RecVwQ&?ws*i9G{-po#R<7-)VD>N0T`}iv6kn z+V^K!f9d$L0{&Cf#aprRjMaa~!@fT+FYt25if_u1Sv=wyj@7;qCui;Z%}Vyov$Ffi z1K?FoXO4*&&+3s`B_XLlf3+ytxxs$QLp9u`(xPm@7b^C`}d{-zwB7?*1wsL zzsMImUGa?iAd5$Hl8pO^`-L%n{Z8T$|C8PC)blOZ($mkz{?_v}4EO5uEqXp>3cMuh zvOke!Z+`^5JnDKriS9@UDJ0oH$C9_FJFE8czd5m)e?9-B=ea&fizni19qak4AuaOH zU+H&xeSK45t54-?IX;^|J&!XQej)l-dt1R4zx+#oH|lE7QLy)a7;OGk{$N*L?U@ey z_UK->)h~O^X=(MzUUQ z>m%6WRXn=I_VEmdz5kVz_wkHEU*h`noI?4zh4OpCR$l#IwAZ~{U*FZvUj6w` z*y>aKwVeO>`1`Uthy}2gJGsV@9dSPer|})7N3y+k2M1*xTzdUT^PN_F`|pjPdR5JFbDo++8xRC&v+jm<||@I@+aN<6I=b#Ut#@v zUF`J{tPih?P1pI@i}0bbKHVqM{dzm!kv^33Wv>r|y?)KAdHq`0>#K6U>&v%x=f7(I zN3HYiKdNoke)X4hAFqC6!~5G7w)$j$2X z!&aZlx99xUm+t_3{W#8Fy*>l>`g85``tz{Y2N%v?w}8EV5rf71zZmxVm!0zZSFqP7 z0lxemu<7Hv*CuDO{c_16q=T8`c2|~+FNF7lJ2S?WnzGlv!P~zD|B(HzY@gnKKiJ#f z<#ffP`53(YKMMAnvi+Ja`yCxC{ykyu|7NGl{vpS*|69R+Biio$Z|7L{yTRW7wN97+ zyB*8^iGqE1ws-G;uw&Veg1!F*PM3c@n`7l=uj_B#em(XVrpta~$FkoZ_VyP$UG~>I zmOay80ef0psg*QcZ(e@dED z`EK@S15yn9Oo2aitn$BVot4*kzlr^wZ{LHCRsXZF)i3)EDevvKb}aiHVY63!V=3?B zyA0j)?T+`@h&iZT{YS3P9LBWG>bn9y8s3vWRBFn;rQ4ol-v$05`>P7}_ZRGYx$Q^s z40A01nzP*d*YVckmHlguW&f{&y`InX_NO|Qy^h!3zuu?z_9e%%-x~JzS2|tsa0*l{ zFZ&k@_CwwFAp3nC%U;hjdjGFFUH1QSEc;HZD{o(M+k@;ccPxATuDZAP+k@=4cH4*S z^&pV9zt8Eif6=k*KQGwt!}j6(^LWRypAUQgn#0iBcXH!Z_Jd%vf06O*w^z*({gNB+ zVm+^C+k?25W0mi~`GIZk8t)&Y`}*5(zG1BTd%{+~?Dd;DrmH^|IhOtX&R+HF`9B{| zAL{qKljH9o zx4kKzdmYRFdj^FnW{?q}?Am~l?Z&d&5^C#@T$?cc-?E|_rv;Kdz|LqqyAXxl=W=wp& z)4a#`n0V-@Mf0wj)1@}=^Z$ohjo*&`^Y-O?zA4i4>e{#1^Xd;Dn6kdJD7^;HeDeMK9c=w8f7^2WF@K6j_fIXJ zSKHPk^Wi;M2TFS1;3?SNr_lQlC5}J#euT=;gRQ*mHHW>~D?aHKuiAGx#|LYl^m|~_ zRemAYTdcg|{Vm5Ii&s2_q}n$3^xDr z*N5v%-rr)_+dsnfC9{|RGVS-Qi;tcg9IO5nTtD*uR>Eel@%)F**?11`yKphdug^z0 z7@NKPeXwrc-;qvNd_(vGVD{pR9S^>(KAF#Y?;F-W&l_D=AEuHb=&mj1Q-; z!gw`(ov+e)SV~TxNq?E%^$q6qrhndxx_AiJ-;8yCYCVkaa{5I2!}Q_2Z1(`%BkE>7VK1ej8`3{(Od$r&4HLx;_rtBym$9&yWa7_5*gxbnzLZGnReto%8l$-@Z3?%~GHP)o#*|HVE<_Tq;FNw z--b<>zmqq}{Du11KUjU@rR)zpkKQoP7duvapMmd6hi`bkQ~L*B{)v8hK9>E3*XOgp z@cgd=ci%Lx|8|Rv)t=7ftUcndhh-f4Yec@k?qK`1{!n{wLbv*5Kc4N?_wOxiuVycO zI@^!eKVtjy`fj`A^@FkZ`mt=EzWk2Zo38k^{o48#U(WVu9M%uptB?1=33-1*VDqPV z>p9r^`qqR^m;dMY&isq-*)L-~&sevAW-ouw9+LMr95#QtzdQKo?EbF!1;>iN-SJuc zs&6IF&!~N@hU$D>aX5t!Ht#HzlG=)>RhkvBQZ^hQHN#Z3ncfpH;a7OfIK_ginq+nF zx%wne>Z&^VJGfXU7HxCJl{}X7nD@L!zHAi-)T#+p&jl>i4s~j|OAZs%^IX|dGPJU~ zbCpM$aHdmBTf}ysDlojH~ol z9S8u=XpG6x9EKuR%($b}9<#$GLBxoybcN7i%chYaPwg?gRbB8K%6jac)c&q1m4ipD zh?spvNu{JW-IYSjV7B&YAP*LKwJtxN>(U;vvUN4pZDGx(%KD1%+R8ddHRv3EFrRA+ zNMb+dzRn>psZ&j9lKw?~W-t8TIlWu(H+CKX4@h`qp z@g3{TIQYazI+njrU|-)(?K6L&KAd}fImdio-|L)H`ueux9KhE%iq+=1HOF{k#k-R4 z3|3zJ2**@oy>oCG=K$}=_FTt{wSR?QkGwbbtvRMY8dsU(t?!b>`w9XWZw-IrI=?^5kS z`z}Z^@R0?c=2-EmKP*1gC${<&?@+$8SiD!hSD(y<|G}72diW*UyLtA^uKbPPD)XoE zU$2stmwx2ddHsCY{J%Pl@5p?I**0~bJOe)sFJVk8seGp)`SN{WD=+={a$Y|UHvKi? zA38Egc9JuaowHc+ zG&<>B#fEv47yfpwB+Y3Ra#BC(zhNgG+vW1}ITe&#PJmoaC>wKV7jAt#A*Z&G!|P$i zoJymd#km~SQqFlEU0ZI{KaF#ehElQTlTxET9MCAIAy*fzsA-$?Gm0ErgP{ksPMgXp zdSrLUQ)b=RDBJrlwV{pVh8b%tF_rKKvXJrPG%BZ7|K@z*wEW zX=H5!rF`2*a&lG7VIUN2&db@{S4yu3R^stSzmaz#mE574NVDMc_&h&Ql3Wbm!}6NZ z{wDZkc-_dO2=P03|FEu@mwpAP>S-i%|IlH%3xR$IKg(BXH(={}J;e6TO^rQwp)Jh=|moNDJrf6L(s@M5?m>uJyf)^=a!{{yu@t-xA`P zLf@8S`JVW{6kZD(CE4pYWXxXv^bC#p)B0Ep+xj>*awU{b$J@2eUj841&A<9f&nWx; z>eD9cFZG}2GUeCg{8+yOq@?ksdn`7-imdUVXKHLbXnR_XKJ(jCOW4-OWc;^>A0{Rx zZC`rl&2L}(z<&Gs1#H`w;?pw)7N7d(65_S~(Rg0~+j!UZb!Kh0eTh$Ytn!<1{%_^A z{pxy5`z?i-GJjaUvR@le?AZ-4m zuhTZK_km4+7yUu_dKd50u#fkbjBl%7>wm3w`StYxB+Ux!PD7Uz>S#!QNC?4b1-Ym~iKc{X(xpO) ztZ=hJW|A(k|7|LbjT=ZK?Y|c|95tQlljep`U0e34O^vI%otqhObzH4oQouEW;$ zZz|srTPv^YZ@-4Uu6I^Vm;ZmEoBtxqpWdl7`x%@}oKJVG5zhyuUkRJuZfSiooa4Xd zIZ_Hb`#BuHJuh;s_WcBV zYp>$joc^_V#4i+hg=3Zf8n*K4kBc~d`~J8Kw))i{$8vo3{qY#bbJKOb>}2%!U4IPV zcx}4cqdEFL@5;f+SpBs(;#sw32$dU!K@EIe6g&Nn`qTKWRUeW0r!J<)yTAQ!7QAVhCdp7sv zwbaMFz7%OXQ`fI$%OZC1zBMR7&XxYCeNHh^98HCCzZP*jNuff*OiMi)uz(SkZh& zLpmJZsaiCI9&=r|UY1cQc2MG1W!ii>ifc|6E|a+&{VhWl_Ed8b(-@5OZ)O7+nK zjA^Y)RjN=!rAmCkcBIMz{{Av}mtfb{C zJ+$waG#?mSonZ-i!M;xX11(H_f81<-}mM8Be zspKdb?aM7*?x~#DQmTpdrCwsxrD47eCGNIoz0^>xkKJO@sY>dR_C^9aDAum!hM_AQ zB{iNJ(qmN|6M;f~pt(N&hU+bM4zT!(v8F7OsRqT#!@a4mU&A1I{2w!WQB1iYDj+)vDKz5 z->Z!OE~SlaT&7`c<2>awjB6$z`?8lJ$Uc`JZ9;zcM>SY-sp07f6Sr6Mswss=`C&Wi zn1p=3YE_fZ_kO~?h-mNg6G57FIcexvwPqY!`2J}s$!D>s$D2l;*n7Ht{|`ITn! z!z!nWqWy|y>`OksXV%XHn#oU^%a0ur>TR^PDyK9wGk_W<=i6IXNh=8XStoO3aQUu( zs`(T0ep)tTpB|IwpMrgJe(KJP^~!#97Et|<L>4?y{HN|+Fm$WaQWGF$1Gp*Wc5y|`k{Xo zXWh(-N{zG~ReZj+x47L^qP=YA9-RILp>44DKgByLr|O5e@;Qy?{9hk9~SiUov!wA3nSOQ zPtdJ>(r+l}`dx3YuU?lgf0NVIKYh`C{9R!m-_ZsAn1X(LLD#+9;jw=e-zi+{@#|+B z*vF^q++LsKbgggAab@dU@h;+s?&G~4w)&*&*$c0K;PiF5kyBZfuN3s5(&q5ST<_EG zo+>@S_;?2W@Dzi7MM2*I_WGJ!KlJ7AcDmYsBD!ziNwBql0`-3mKOXCs{Yji(dVBpQ zquFZ??+@XH^pTS0@O~1uIlNVVBX$bDd_UOAOFyijAMSMd*YgA3|BdM8|H>U|l7~3E z!A(fZxEX#ad|QgiZv9feDe`pM_cwGs!0TD6w1$p zuXE+^f_?diU|)WvE3fhJPYzUmJUj>c@v;eD!o5BSHeKW8SFj&1pTmBAe*qsJ<3AgF z{if>QW4wQ)Jtx8Uxb|HFTl>`CviJR6;v22?_ZoNBg>@JAnaMg#VAFxVx9fq2zm1+fj}`O@j5V)MgsuEVS2IT@d~EbLp8DG`*7Qu1l34Fk8>_y>T%Y&;`oZQ; zdTX{nueX6sSA8F{y;*(#Ei0b08UGfKSmWDR_3M7QuYY&g>JRa;{=D7>HeLSKXZ@JJ zBCGtxtS?{w64=U1*E_jhzp;H@*Y$X>Uk_V()i^?F~v z5A4e?g?;&Du$5PP#&bR2+ADt9vEtM3g?s-)VekLwQr`cY=;mMLM|8=T{{!~E{AhF^ z-%hZV596zAUT*_?{gr~g!s)7ieD{3)w|C3ezX!Une^1!_t9+$LzWjUWKK|M0zWf~6 z$}9f0dgk@^u<7dWyJ6q|MQ-0G(={HK!Zseom-lU&k6?eZCx6YPI6{LOuhGZlv;ceg zc;*=R|6=bu;HxUq_D@0rp@%9>ISC0>k)~q7T&e`=5G<&KE-2LsmV05r1w@4?2sR=` zF)G+AE>VyL1s6fY6_vOG3y2Etu3h*)@65dSyfe8siDmcyeZOx<%$#SQ_kHG_a%Rpw zw;XvK6287Tj`NC!UtuU6EM9b@M^g{@-aVoTq(F7(?9&`)r4e*7%pAqP^5#`OrF~1rkS$XUw z;Zw=c1f56}L=X6t5EUebg1S7VuM3ooA@#9#4}4R-#7N*v$H5?p<4{6GmTMKyLwiHq zDLCfhkUI7?l*gX7$tNvbzfv;C%GalY@<|Dl)BkLvj&c2nZsrjV`d{{266OP^AYPON z<-W8J`aw_B&g_gh%`wJ-kLk5NK8MaWv-lV_>Ej4qL(p+_TAB7zDU71Ap%KBcjv*yN zEmOx<;PmZIN@OplgenuK9I)QWFsUXVvSeA!KN83aw&Op=W z6>!jOH5*Wv@2SUS%V8IKL0;{|q3#bveY8b|LbM=ze8W9B(_KSkT&7&_(g+7T+Fo#)&7@$~53SDC)+ z!M}os*A_ArxAQga*ok$Xc<9AWj$KN(*k-{Ml;$gy(GGe}4RQ426}JbmJs$ZB%AI-a zrTCfp6o@!XBtDZ`x=*34mIyTyWIV>#Zwkq#q|9gHK~jm!D_1oQOT2xAnta8 zWA{!Z&G^*uA~FKpIUgRE5k8Mu717;x6+s=ZkQw?UtG*A<4A-NXXl(F_%S2;yd@u@e zd}w@3GCmdK^-gqrx+gyncxmTH^k^4jd@l|YiOYBy@qAE~nN{7B@3Ciym~Z#kv88w` zcqTdwz5&+7%!9?Yk7N=erhAa(<5g>HAB%Bfqce+F3ZoT0e^T;INu)Sqd}bA6SPhru zDj79eDU^>N{rMQ3K1@HRio#Fg;J?aU5?n zn4WL44abKJrstDvEFwR@jNI5w#@|BdbIvrVye*__f3L& z7FYWuU2ron-KUsgc(SMa6l~xB?IiCZ;CALph2pJ=jo6A8ycI97jQ3SwD_&rZm)h42 zdeXi&FxyjmRshTPwvj^)L-`k%l^X0RjvLi1eWce3(V~&y-mPU@6__P zUJc;=rajc3)qthmCypL{Pg3ed9KErQ-Y7?}HL#3t9I({;09dy7C14pJJ$ zy#g%tGI6h5>Qx1ndX<2s-iMA}b?~f5{WIOEpYFwT{WRVW0L$^F@2>KA6HmYYDf#yV zPxIktV4gqpJf=P=!Sk4CJU0MyJTyP{1IzYRs%W>bJg{uvZrF3Yq*nzz>k)2SDZr#Z z2w3Xh2rT=Le*aqPcL#pU%qP;D4lMQQyRVE%zXsl0koso=OZ|4hQokIq)b9w)dh~l) zv>r~y8bOJEPYZ8vMt={Co+p=#^BK3-RU&&jpQZhBU<{K=WS^T9*wgb=@p13y^Hd4H zf%(ACS0#KQ`d8u%^smGx9J~wtBYAqSMdFcF15E8%i1+e1zWU|yd_>@ab~;{qzHJEa zy~yY3wgdjVrak(uLkHl`4L*j&X&)wMq3Ex3aJ|O*)SeV=D&9E7HoLZ ze;M9ekvNR^P9z?N#Z=;Dc&|j_Fa}Rz`fh^6%kbWX#MSX#1I9F-b9`QD+O4NS0!LMUaz;b$Lpk4 zfj-6mCNQ^`aK>piKH=cKt!;k&={8>0#>U~cHXeq#C+o|?3qXk*cd+roGXhM{BP5Iv zRHAtI3ZC%#GXs0V%g(ZKxTB4Soo(YR-0-pDIoHM~1Rjp{{rOJ#JzjG@&~N)R1m@rN zq5A2@73-0G|IW7k3nANnIxySQ?*mrohV{zm)9(ki0>0khSo~Xp?~M8%?H)YeJ5&SX z+r#r7(%q+?4?VP}y`E+D3g!pR$EyXV_B;p7@x6`jeqRo)K}K)?b$A{Nj+>hJPX7vR z1xA;sM7SC_#^nD1u=IZrSo(h@?8%>gw?z6M0G9rL2bTWbus*Xr`QI-v)!zc^we)WZ zEd6f=mj1g1CjUuT-=+U#VCnxRu=H<)^`G%gw@Ig zdKG}B-Y8(H_o~38cO9_QqvyrQ`0fIhdIx}|9zDN~G3k8^Uh1V{Ka_ekfTbQi?~eVc zy_*Fly=lNwZ&`I)FCSRyeG4r0`eHw2OnUTTWvSN``>Twv8L-rw1r>a7KqdgW``dY21KdM5!(y*AjtrCwWLsW%5$#&=L)(pw5F^)}V9_5KVj_3GEP z^(G5UdM$yaUJqO^$oMV*mU>HpWqd~krt{%eTwh54FtGIB4J`dzPVuuQ{cz3 zJ`TdgL|=2h(|UP1u+)1InEf}RJq3v8eq&F1^gL_gu`R1l@7HQ-->648R*L-BK=sG} zk$%8uLrR_xzulnJp8V}q{8z!8!@qqrt;HY~D6NW8hx`AC!GB^-n(?9EEVvoR{F?>z zo%5-9o!AH0!jy=o=gdid9*cj&*xb)ftXeGg#f={xZB92)tX0*!DT$vnlAjO#v* zhvLr$=J;Jq@zHNQu|LJP23W?oPVf|8Q(U*n_?F{3k^M=3KX|T>;=K*mWisA1z-&+T zcf@rTW3qo5SlX`_Jhg8UuDiH>l(&nzZqEC zzb|+izd5+hk>j@-nEh$|TAgf<-xIix!#wG?0WbB7fSIRwP7=QzzIM9Jp9jo5#k)yhvOm9xZQmPM+BeLw z@g4`~Wd=OWuRk{p<`>ns9qSG2srEIu+xG!5^JIUZMS!V4kF~V>vqr0cr~cf1s@T(oG*Ra2RzmPgM**x5b*6MC($ntdzogvC)^0@Ib&*nS76!x`M_L1 zwWm7Pd)a>{12a$ln}MZ2JvWqj^2e=7%O4**j`HN+!r3pTiv5E8C*r<^tiK#E>y!Un zU|IhT!IMATla~IuV*mN_#w70@;991CNbfT2KT>a%*pEoBsk7faB=#fnr{_vb|C(Yy zqW-@ZnESuUQO~32cA^TE$iIoRUrluOD~W0RCyV`v=2HsxAG!WC5c?6$rvhicItf_z zXQ%3R{CmavLchWDCHR+2ymY=3mitK~XTRzu_A83_9f7God(^bYXD~3wllgOk*BAR2 z{VpgavOf#^mmJTFf!Ut)_X5&Id%bFtXJD4utn{cW${sl6Xz|B~(Pi~UII-zfGc(l00WBhtUw*{|jap4!_A z`!lzf+DDk%M|uy7{fzpf5%w$Y58}gOKO?@nAMkWOor3wo=acIHbUXfGz&u{Wm&bl1 z+t&=3d8+RTfyw@4>_5`}RIwjXJUf78yp6^FMCV82ruO-90WjA`=f^%^x!!hh_OG45 zQopU(zo`AM0CW2({?TGTqxiQ2%lJQW`1#oHB>x03$47c+iv5rDo(7io>jh8t5wRZ< z4w?OLBF?94=%k9BB3Ragl%OG&Zj}sVJ|S{0A5tDbUqhDiQ*j;#zW!u}^gSM(5+W)O zDl+BFb~M<((e~|+@<3U=@hxIbjm1V|Ce{nu8&bwp=1~|S{BNSdk%1gWgo@Y~3%O1R z4T&LsAB4WB#L!FhLfCEu)J~?!+E*9h?>W&Ubr6#^n-@NnZX0V~Q4!S}wJOmVy&;1% zom0uvRYjq$&x}4-B-s33_#mAg{YqZQBj_01}WzB)kxF;hDrm803fj$y?o^L~DIp%;>9Th;2Qbb(?Xk}GE zmjv_?A(PY5j^)Li%G@Z3oC z$UO=p%FvvHG|eahQUjxq$2XsPyxtO)Qm~j58|%e9T9Lm1z6mxgAFWpz2axKf=RsYD z9G4#|(K9Ts#V2Rwrpc!0r`CM0-^fEyS*9C!|{^~VeT6JX})c{)vT+F;95 ziR@ExZ7%I=0JA;u#~pqw22S$V<62z$-vG>fbHqCinD_p|s}sEIacz#v0hO+LI@$Aa ztvyE%tG5EU12DE@mDc4ad-NV*2ZOhRUj@8N&uEW6Gq@dtEk8538F+@Vr_VsH2G;Wd z&qY9gPQtY|_b1_&xVC0Yzo&5soj=6*6TTZHW9pAgG)}g+DKNK}_#O=dz8UZjz?T?3 z8m}LL*`DgZ4cD$*KVkYkPsU`wAJ?jEPx^P@T2$75C$Qw{`@WLz3M~0yX*Qn=%>2`{ zaIKq8zviS9J#XuxCc*Qz=rc7q#q({3tydnH^@vZ(wE1LU=Bd4RLXX=!5%tf2 ze@mlJJYnVu*TS_XW75A8Shn{TOfJ@^-)o(XYstHf-s?%YR}1lNB7P6og3`ZktH7W1 zt2%r&VAiL27Qvq5q4+Z~d1d^BnJ2wkt?l~00A@YvZ~A`XXC^+1|Aj6={M7$n0CWG- z`MkMna6Z##WbW)1eCCDlt33lu>qoWT!TLe*6Xy76zD@y_^K~jP$4Bv3?_Hy3B>4Xi5 zc^Z$e4Q`JX@VaiA6EE}Q5z+Fb5>3jH9nOq+sj?yBm=GPuq>b?`!K7m>6SH3#sthJP zV{}EKT7&xLB_*k6lNpU*QkB_6dnP5CM`3DcSHvdKO6b5h$g0ScnGAcPN>;xlm_nVE zWTM+=u2psClM*E!qcWIihZ0qciEnZ%TvKK;t6zRnGs;Vf7*c1xK}v;9ypSnXnQwq? zA}!39o?|!K7-Gj&6VeWsN~0;Zi8TVYiJ4MS0d)}D#8M#;je{EQg1D=)Jw)|PN_FuVA7+{=}Ntc z6>Pmpz*27uu+(dv5@71DJ-{-akAS8BSy*PI{{sS(KRshv`d8_A^of3{V3^wgTUn9 z0gI6IKLc3$-vuoFzZICq^ATVJ_eTYeF7}?I@Y!IUKE)0`T?*?FwhxEP`nDp)hmU^>rPeH~v z8(8YmZ;DC1EByeI-cR7A-mx@W?`vSG*E>D%r}(xAOnM`MrQSsuwjTXvnACd_SjKl& zW`IeLo+%>rHa4~O-UOC$)O#O$j_kkPz*4Vo3tR7Pfk|%yu+*#G z%GOH-mU`oXWqbc3FzL+zWSs18?IRNQ)c#@A?_M|l zJIDSz$Np!|G5nq>cC&}XjwTQB($7t}(O4{1iBT54)h4WC*_|50w_1#{SoOv#Ym|uB zYa-#*1m5Yj%ZN7b{tC<3WfiShG>GME-;*%1c&S$`S$di+U%V_5L(eJ;X;-T(T9>7# zE$zP2Wp=&Yl)G)06t~QdPus;PbK+BWA-fJ$ZzyS|s>=K^^)4@7=9RI`j>S{c(XLmQ zC0l)^%j|y9ABn)NaT$#In1rK8pT6>(n^UUHJ{MABlxb-h-)xu{x;CszWUUvF&2?eegrFT(zs$%@8t{kXdVFnfmY%Y-L#}mT#;wUl%5Z^48_l z$<7;y`(q(4GxjPoWnE;MK29vXOh+c;<7n+N5{x+KM?MwCD2tTm_jSm?-1#h@7?Fw* zB4YTaIAuQBIb&2rGogZ1^St~RWkuv0%Pv+OPR#k_>y{E zS??okMyDW@_UsSb7??jFbR4(`@QsGATG{h108Tgfx#^xq_lj5I{t=}Xi06;sU)Rvv z2>vPHr3R-}_q;X0pBuajd>{CyqKwj-)`%CFKaNH5y#y@ddl^{9_c5@HkDeuwuI0QZ zaNlJLMy59I2U8k~{&*1hEK^@&^jA9WRsUVnDt;gMb%Vb^e8jJUCM9ZLOTo9reGKBW zHSNv8ebj8=>9{{e=~3J#y$zV(k9Tne48%_G`|&@erfA3>9G|73HxT_r_ttkAycz9z z3h~pNpfvYv&ufTtzqy7U^%p+UVfELez}#OnAJzfO`S1!b&j%XszW~er+z!nBN$nqi z`ni87e!AB#E`cQ~%!r%<G4>$h% z5a`L+8~Pjk4dzQOurKht0+anwVNdvHfocAwR1D@H^-nus*+1=p;ieMx&!xb!e})2c z|B&8XV4ly^UrT^xf2{^S%ji*my$sC#H4*(&5p}#^cv`Q@0rPsb1h^}3%>-?*7WgvY zh6ZOhK>q`eNYwl?#6#aLy`!PVv|i9}l<<0SM=s6<-~wYmsHNw%1x`156i+W;8BaH0 z8P6@iGM>f2GM*QKWjxjJUW<&UI+bYuJ?jXZZ7_}Zt-x};?*x|PO=BX*`)y#^o;QJI zd&*&s%l0$^mhI^T%6ODAm3m3Qtaq@k z=j8!kXxe`q_-^0}45s<^S707rnonN?%k~}tmhC+a*RHa?J%D9<#{yG(uSXs1XR32E zoasRdsY9zMAfrdx3R5JSvM*JK#_?hTq6iZ}6`3W8tfEER0V3+MHChx>Md;P2Rdz1` ztU~Iq{(~YqA7d0*acM`a9?@j9q8JBdEAm3pM<4h1a&cfah>AiniV})j(OJfA^wBxR z97Eup6ml>i9DOGUSfR*Dp|TcPURdM$qo7N%24R9(4T3z1tW>rl)rGPrBC02f$>&1b zs*xQ1Vnr~qtPliYnL=eMqGqSrT2$nwTvb8+YvQnswMQUaSo~an2I7Lp4AwTf9OKig3i#c;HvCo7rElD3H)Pt}{DDcUHCJa4jcq8g2rUVZg#A(049fY);+Jq~kX!mO z{YCp?`>PX4bxuiqVgxVCf_nJ~^=p6P@8i-S5BS1T{4HMgpV7DYXa$AQ`oaG-S{yyF z_z$AR(F4U7;pK8-5gy+VEsh?<<|7#w9m3aGkcdxE{s)D>!;@j6_^USnm zb^M9&kDi|~+DH6m?v@yQdffOYE7?l#dFm2^C4&CbJlY?J&sF}3+e_xlm%_t8&iWnI zk9GcHd~;JM))M?<@bdhLX9DGo36)y+D%MdJ7iMVPoL`b}Mz zFc`dUAL&Que_$Lb7b=DKeARz({R91SG4+$p{Ea*RzT@*Zh>z!QKJDKn_!D2T1Rhb2RX18tXY4_W@&$s6={;fu-I;V5vvH+s=CQ9HB#w|9;1x-os;ms(%2k`wp4< z$o~dlS^u@bvi`}y>`(2P2F&$Sye(@7_Vk@%`n@y$9e%pi#Y?|8#_^K>v%u_6{qZB-6OjGU9Iu9CJQ=`J ze;4efeoOGIPx170?CCuNwx|AH2rTvQaO@+FJ-u|5_H++V#`BD@r}lmd%<;5ej^|7P zUu*iC+W#o->C5)7s$sYP5U{LoKQPxvdR=f&p7p4`cLOs|^S>uBx0lABc%Baw-<{Co z_{jb-#KZQ)e=c~^Ps4`}r2e_UY)|c>?}HpO?IXQqV!n8?+4UDZcL=y=t(RdQE_(-dIO(fUqaMiB0YLW&%sS1;DIF?Y*N}&|X?U4g$;m z-UlrE??GVJi)EkO+_p~uW_#+-2Eg2()L-*j2Juk*dx2$re+6cLiudJKLA>OD|EYmL z&7aqS<@`AeEZcJcSn59u%=)Bv1ep7W^!lG>>$L}#dZz3Yg<1{KWEbV9E+DyjN7g*Z21(x<-RIu$g089I`fTcZshDz$wXRM_C+!Wh> zY9-sgC$O}C6aG^F6}%ph`gZ|K`&3}Ir|~>k#pcHWOaAk!Hh(3s4KL!I!`*-0l^`6G{uH;(-OMY^i&7TR(JdMv% zU^#w?>Gt^i3s~y^30V4{g6m!Be>*UbKeacUVf$wTOaIlt(!YMD?Oz$!x3d0S;Mt$_ zyW;v)@~^^P@_D#Em3$vy$^WZ`&94WRJYBC!|NDU@PrnB&`P+aczY5onlAi=DdAi<{ z`~YCdugCS7oI3oQBG?QDLF!|!tVfxyy#B(DEt ze0v=J#2GgKCNTTcbD8hN_22b+dGS{5^Srx&af+%$<9}vH+y6yekFh`T8yx;TV99?0 zdl}yr!BhQrL$>tYff0z7rVClaf_L3i+W%H*4OFpZ! z&6fw3e7UYRf1pdiQ~N^TW&1h<%l4h!-S&T>Ti{Rq`$7+!Zx1Z%-*JJ>_XC#v*SMaM z?Vkk9JgtY_dfDq?O<-w%SGH|`$Az~2NMLFIG5lGd;(s0fl5f%5<~#MVdHT&l>EEoc z%^wpy_3yLbW&b`0Ec>@!f7}0W{Q`Yz|H?r@dq{5$?4{mXV5v89prbb+(4+Pqarkk- zvOU+KKG`2%JN)LsHlGbF{RiaO{5uX`&#C_+*t0*iZw0Vy-z~u0KH9G`F17cIvB13F zkpG^`Z2ymd*`N49SJ?buV9DvUDh$Stzbq zpjC)1jm;tnp+^Sg)bZlRR#W+vYNk7_WV8G-RO)+PBrxk)a%@~_=dzgL!=R;_rBGvy zS%i+=6pbxvmhYMnp2JOGv(1q*nyCmJ+hS@x^BoHXiTY#9>+bDB z=V@^@*G$cjIA-|rv(?h#W@=h4ND5hI{fjk0RT@e1OEZfuswK~mSZ2jz^U7#O!C{hf zY~4!eH(^#%zvTyNam{?1NYP5;n5ph9eH2s+ikpR~T&2~Cd=#V7P?Qq~I<`OfAFyoSJ=Fr9?DsnO z2iyqZ`iZCa{v>|Q!7VT%l5gkWbL!aq6%HO#*XA?uULWhxvr?Z2&NL?x#q%5{lH?cT zy*kO$XWN)3`@0(1SU&rc_`avue5A3BoB1|A-@(r{vH922Z2YlN3hS*DF| zZEE8K4yO0QxV_Y0Bk^95?2l=9?~8eA@5gvAOXA$qY}~wcfMe-RY7_AEY|zSWaj#6w z_mhEHpZJ3gpV}_qDV`$^uGGQi+n!dtyhi8E0 ze0WRnWWOBm?MV9`{cZcfz|2#B`~_IH?_E?lDm3dS;l~6fy*`)N{&@~QcWA(G#)HXs;Juj!o=()B9pGhq4hwtIZ*Y0wPk5Zb zG+q~95sVM<9|Ozwd^;?_RNo`Z?fRw<4|wu_QDCy~G{UyO5LoI@A8F$a0+avJQMUi< zz|z0>=m3-bSHQAAs*kbxM}Z~(7r|5fmyEUTe*%{FjjjxMvcDAXEpa?FzRv>lcoYBj z_<*PQZpC{|Qg0zJ`;&c*2{v9c$;S03+PIR#ubOJ}?>qQmycfmwQ9PN~+VQjpW}fCp zr|azb@f|Sp6z?3oHzjeoX*TZZ;BM1x{=S=RyxYOI;=L%=r+9w=mi^b@mVl>tM&D}V z1@i(->s9@5uwIe)&SMwE|PTgZ^m8 zdkk2{dy~M_KMiiT`=>duwC^_G#xouK^c^-|^-de#>)=xt*nHK6Hon)vujSeNs0RW} z>+gLJ+UxHtz#Kod@56`e_7yG*c=F!{Ecc5q1W)7pR(@bl_}IfX-h}my>m$8kD{Q?m zF!O5tTxp*l6;=g2`9BCO<5??ss{e*ZZ2QbdZTmjJTp!tg?%-*wZNArIHa@i=z|?mj0U^{-P&sJ`615ud>F*j|xov+54%WKif~nXUPdC z=>3l3NqyS(_n)!xa0h?(Y{1ia-2R;1zYhU(e8k`Myv?rwW}fPQ<%Ix~{T^UBzCQ|{ z>`!_*u&4fe^+mgX_5e%$FfOJf9{NgvseiV;8uSn8Kk-_?Q#?Dt%Xq#6WE zM*i#n6!5Bl*4zFM0<%Bys|#&@J23O4SNRPaH+Jx(4K`nYqm8?~8DOgK#!Ys8OMtmP zH6Q60fIb4*A!zC#L$IobJ4hB-QB+gV8_2bG#8zdJg2ZK1Aat*jh zv91j`FCItzB00A{$vO3T6q=PxeWWS5P$CLMES8T0WZRXW=Q|bxrUu8wXYWm&}p1Z@VZ&ew2Lmm;MB?gxpxfNEYWx@Jk6eQ%$084q{|U zC2;C}t{6V5s5uiMJ_zzC=Lcnc6fH{Nk|2+Aor5wyigM8dX3(E>D#S@8ah~yu#PIc_ zWp;mt3g!4kjno0S6yGk2qQI|sur_CROu&(p&3T3KV~JLbgOCL7v6yEr#r+d4FZ8^O zC~ywI`KpN8S5llMamh+S{h@9zWKAj&<6t-{EtXu)cPt9yXp))5Q2{4=z4p0SO9D%Bw0 zl=&u?adH{w^oA=ZF5{fupytG7oa6IR#ggV?oVT#l9Jz>dlOU3>{?ebIK2=2Hm!L`C z<*3+j+9LMfQ0!t;8l%3bee5`URibzuKlu3gUvp7`=mBw*Vsx4EQ(TO;_(UM3#;K3E z+Vsase(~_476B)W=;{+G;562M`{Vk|i}Ri!I`0H}=IyvA1t*E1O5PKgBj1q#w zVn=fA(WI}k)M%ee7vgH-f6CqDb3up?I4>X5UbFGIkUE=vBf+_bHfKz%jO|nOTuPN> zz^PJ;OEZRMB;s%hWM#Mrb_{wLfKDl%C1#5BPR9qtIQeuCDVRsuZ(S%B=(X6$gh*1S-+F5P zPJQz`$&|HG5o736E(bhhEff)=%aDAskursrOc@lEiBEr}OyoZ(V}G|Bf%p-ed@>q} z?w6<7GKmGhP^q{KUG4oYGDUb_{ntd3FV87;?fKhfLKH~pGR}5KBV|QXMj5IsNUDo} zy-dU?`IN7geG{UR(i=rqLGtNPPCs!y5m=Ra` z*r)v0%NP~CPZ^+>bY^~0?vu5Q#_nPp1LDLR_QWx=u)8h zBl>Lm^)kP#QRqjNVmHc=#oo8&@}NHe=J)EG->Hj#^MLD-DyvMybb9eF zu0~8*WsHi)GUTT=n8<%pW_Gd7SD#ZkkG*ksU;2K0*`kRj<21^&`4^v4flOJh(s45M z*ENwJQt>V>ql|XvA!QjV)gx6#nMfTYq_UVY5w?i;ITJK0V(ssx$;5s+A1oB6!qQ|o zE;|ooqFoFF=ap}8Z4z(5ZBZbfO5~F6RSEr0GNi1N^I-}uE}r{Te1SBgx;So@U!dKsf)&0oTp!tIVpLh5?C-@332A>0cxgYW zqHX^-@NBQzU&-dvftjcJi|~CH)+78rc*f*k9T#UZo|%@yx_t zAnjX#m-eIaWp`=68@#li4qn=?ZD`x4155iYz|ubXWZV9RMz(ze@Y25DDYpF^;HCaJ z@X~%xW81zWu(WT8#X;InNVDyCgO~Pm!Atv>(rx>*fTjI5U};}H!?vH<#I|n%UfPe& zwC#6;XMLKF-!-%O5x~sT{2hH>phviB^8k~7zZSOt8{nn?IPfx_RgQh7mVrI3NAxTK z_NVWg)oNvb-z*K7d9q*U;Ps~lJbk~d$7%NW+Xe$m|Mwl7czVE7{r>`%-*>CmCg7?4 ze{O5HKOLC$ss63N^80*89G;#PAo-tx*`M0Cw0(d{uVx3^-UnuTig!J*jCZf#Dc)XZ z+VO5UBk(8vOTo){rUSD+#Z&F90F(Wlz|uZn@MM2#N85fau(W?&@PoD{dl#JTdEL$B z6#3r(EbDK0j*a&?_|UF~@K05ebV>=T&kySAHM-%Mb(r}{qaZr67a zF!NO3XTY-k#{^IM3wzl5F9Wkb>36xn)?W_HJjL6or;WXA8$a#fiM?#T(}gxZske={ z3QX~K>tn||1X#xNxxh64miD#h-xgqLKfa%h&+Z>!@?Qrm=kNQ1r}kexAh0K#IWWM~ z{{_IZ|6dY3*`G5gu&4Pp1p60XKT>}^<0nB>D|I6X;xh&u*{-wY& z{znC$gz;*BIrb;9-V6n1eQMv5E9~~w17@Ducg(>Hh6OyuS0mSszcH}%&li}+v)OQa zJoA8M{4W8sKgHK%q#fV#5dlx}4Fk{iG(Wck%lUa&@YG+|jI!&yADI2Az8^;0_00rk zp6bgOW8-%m{D-kN-~Gw}Q-5s*mh=BZ!IS=oae+PIJH`i?;=k=GJN`$2IX;TN&jdUE z)mH~R)jtrttp7$}_NV&(HZj0tKVp(?KN*umg{z!XpR^>#cL0n2#5clfj$0-ox7 zR$$WWccZO09GLaU{)mH@ObdAOuQ%QH?+DEP#2<3_8aD+z>8}u&>`%Yh*6R$+dNiK9 zfaUr4v*1bZ{#ycj!lP~tFzFuzmgD)2;K}~Ra9~gCLEU=6dO)~+B)}9;%^7w)9f3Js znqPZ?wq9=ra~qJXD(E)tm9^B%CAAAb`( z+0S1b_>+B)du{uRfw_KaU*#os`#J(k{xyexTkzDr>zCT?+YQYA)V`L~KM9^nYJBbs zc&fkc{dWCX!0b=08>0S z725IK56t!yPu(}{c>ef$z*BuK!OM7h0kc2Vx6i@%Z?O3h8*SY6%>dJS_zz&Y9_DTe zc+x*EFtum)X1hJ~dtWl1UR!LO^p=g63QXgB$J_S!z6dP!F57D3jBNp?{&^f&_Rq_L zr})o($F_eKSlYiXc(T9vFSh+hz|#J(!%y07^Gkqb{2kv7FvYtLSn9ncc??p5i&`;5$CE`Bw!dz5DmsdT#?uy@~s6eEIhJfC2AJA&+c8^j2{7A}-lt#NdOd)dr}kw2!*0)6z|2#9$^Q&6*$?{0wjU47 z_7u;nu$R~8+k`*GQxo>`_1%sCvi(o{*7olM%=+a239$6<@?F4Fyn7sc|MxaO^amTa z{?W#XKiT*bfvNuEKil<>JZ{@RbHc_SIQS-fxQg3D@zzTSF!k?3V0pf-5Ips7a=8Sn ze@_FJdha-RK(fu>ByfVKQ)QDE6b#P6boFv_bU{IZ&U+Z%J5H?Up-CzgASL3cC`;q& zI*Wdwq>{nOCU0r-B$K1-R4Q-s#U>wO^1dd(SEv%COLgYeHF-^wS2X#QgorxQQR2Ky z(}Zb`*UH$nHu*S{w=j98$(xzHoyj|!yt~O4nVf%jJJZB@x+%xAFI76<;8RRq&E&V5 zypzf6nLNknWY*9H=zrDn95W!-7`rXT4&^yH=-i7oK$23t#X1aLD)l@*P7|r7A2WFh#F%3Cj z=2by~o-qXlx@G4W-M%J2*W_1k(Fa$X331Qh7OMv%=(7!4>5A>TGRd;zq%(!n`qV1;}{pltZ6nu%4=-q%s z)R~5Vv7lE^I?Oil?=ll)wu!fku`8fpkRH^T7dCm0nMm1&&upP*(jpU2=148H63uCW z`MB1c5a${H`zt4^0W`zy>F-uxoq;W-Z*=B;X%?a<3Uq}(nt3qV#JS(tePHrtJtOL< zVohJ=Bh+8dJ8pE3CuqmPrlRZ7FGRhHM5cQ6g1sIdDmp<;>PSaO*g902oRsAIcrfsU zs;0nvgzp3rmE2|G>|hqa{-$3->Ds=tiO0)N984wU3-t=s(VRG11)t0`6ZCkR_RBHz zp+;qWhSzn1 zFn$Zoe0fE?d-OX`lqTxT%QN{vlV_UtK4x%B6VF(qS5T0Vorhzb4ax$GfKLZzdU<(j zwqU-l+3^=T(XziLmcsN^PL3p1P>_z4=+!_XBH5(uuZQGhWcRAmw#qcMRSeFFP6Qpf zcH`~L%f4q;UdG_OHkq^Yy3h|u-D%oqmJ9D06Sv+SJ@1*OI*b~oU5kBHi5^u?S-31h_b>T(=T%kUSo2+TJpQ8eFfOWL2TM$N-%H{J*IlaQ6YV@y}DAsU*)yW`VucwC_ukzhn9nOSMXC^e}j>&3W^QxgZLM zG(TaM-tmT>xXq z&y1RLy?3%&6eicI=(Ww(1}(BjD4~j`p9bb>&y{B3f7IwK?5PhH&gqgtZ7MM5ogO9p zx)IhbsvqmViV*#x99|p0RpmdgY^rK_t)Q*SKhDcgGoz+y{|IgFZOqVt^f2vK`z$JK zOOq05k-6|Yo}1^yXJ%--&NcOcX^!``8Rxmiudnf&XX-y; zE*!8uDy8hal{HC;&glei#)&Y!#=&uw!U{8HMv|*__5qM+KNG2rIL2Xuch9NGixv(Z z(eC*NTGHugDrVsz1K6$QeAKdmZ&hI}{9lY~ZS1i(2OB<%jkrbH`p_(J1rj*h3gG^o}lXSS=q@3<)*);jHA4~Kio;RpnX7nFP za&y_8wwv?PYbBAw!HoC0_ z{?YwZU-6piy+37*JD!)(e#oLr^9nK^8$KsG9_IB8;>*kUN0+>anMVyWv-4_nS=m2r zcCVDqh^I479-Ko5GgWk+w=g3+qsGE+yuF*!$ph5nFv#-=7pf3w+ca~edS`z|Bmwh= zQq$gF-4Nw224`kh?V8kPkB+!jQ+o!O>F?2Uz3P!sy`uk21OIfx6^nk#%pUVZ z%jYw4vIlNRHSNgG%g2;OrwpvvB70^=c1>KD(WxJ8zdS&>9K%@0MwUX4napY9(e+Bv zlLgJ^x4L`FiBUzA&;L7^Vb~Ps=pj@9A-O< zD-emx7$UX82-2Wo_}~1G=RvGF@^2~Qeq8`{vnF#<@!WSqa7}nP-SS_6^-Omw`rm-5 zk^dXw{5Ql{J?w~v;}k4gTrfUo)upRO=j4Rx8bqX)VRr%gA7arod|@ku_IN?doSY{I z=k$3VkuG|qpkPQ&&UiFs6>e2g=#T5R4BUlVq-flDYR$N%SeqZYH0P1)!ozZ&EO_s& zt*7o9cm`c0j|tNSGhXX$+`6?lvfjPJbLSu}p+EEJPyKLvq#A7p;g3#XdR3S{W{k?{ zPncdTB0)o?-r=Q`<}M+rrTCK)CeO1-$fU5UT>MdS7=Ox?2Gu`D#lsqH+d`n0j3XGj zUo~@hhtGrFYff8n09y6JzBY6tPp3!l6_!TJ}@FLw_AtGK|cm>TY!Gq`)s z;GFDkIoUwRDZ{{WitNOjbC+ftFnqK0~vesssetil;M zJJh+aR0;~{6;6#B;q-yZH~L3wkgZ855D10gf?oDcA676e*#E=wTA&+PtAI%D@>n#~ zxHGwBFHYfm>{L74B1i)kggPgNE7fe?GvA*vGf5vLgp(`Q&gf5+KJdfpwyyXSR(B1= zpRl_9JFt+K)p+YE^Vq!Othgsm+|At(r};sL)x?V%Hr5CKw_Lh#^F1$aZ=RsF{)-N~ zXb$)2pG2!oPyCNOoRVH?Io8cKwT2IB-~RE{&BJ=JTDV|AetPHfeaH6*_e!r4!7Jmd zo_s!WTeEsaDdE&eWNT7k4V85~vC^y8dP&b2%@Px4vg$%|McNg?7tS=6FUEIfBd&UL=XITI;hSFZ^Y*{ zyd=M3QaCLs#rhXc!AdOuh5cEn*1vE{TFCkr?h;A0{)O?*hxHH3eS-BboSKL?NW{Oe z6Gl>4#z4nmCk%vchmjU`!tlaQ7-?ZAjFhm9fsWBQI}(I$M-sMsV^(U|2_uBi?MT9Q zZ=@xK?cPX9K;x`PN*tGZ?M7{0kd}U1mA1GIk>(Aho6#u)yvMz_y{+C~yzSmjZU6bkeF~%!YK)j6a0iG2^k5^6HZMyFQIcnWO2O^(q*Blc#IKyUgTKUgJn;rH&(-rx^d`CO*!U{n4;?OFdubPno>G ziQ|%x=XGfMudAwbHTj0iwV}C>@)i4g6)vmYzUd<~&eQoq^Ra>a^Cl12x@1X@gXdj; z-n28mI{UDCm+rJ~qt5R(@cg|skG+w#Y}1X~E8e#u>yvVCFCNw7&sl44yz}HYr))L# zZ_m2q?(};yvUg;?IAPBV6ZX8HmGr~Ccme&_tZMt4*175JJ;tsm>sXy(`1fg6sPnC{`#x(TRsX{Gramup;K8i+{rZQ^X}yXe1-(?0 z*EV@Qll!6ba%&IWxTj+%^M{wZew;rlbY#S9KRz_zO2dx}o%^T1?WkAnrqJQ+r)p&l zxi$3F**_ru+YDdW*;Au5yQAx;N3I$= zxOtnxJC8K~dEA-(3$IC>bLRZQfrXi`B%ikar7O(qn6FM4`x6I_-1znQPX?KHRiDc8 z+E5$^vW95`@2AI(?dUV2f7VU4*Ie-F^jTT@?!`{iKL@k)4U8|d?o&5Bjv4+RhCe5y zWaezpxpy?Q=>4V#E4NNi?TgH6-P!1^*X=*BzG$9q;&4;{Sd;VopK9=UlaFNHE5e!m zmFc&mCT|ncbQk2*^u3)U51aGD+#x-!YopKqc4mXDDY^YaZTvPS?%b^UFaGhG4Xegw zy?^svI|etInRWJq1DE&MyD+Q!+-?J2yE)JF$34bAKdWZ#tW6(1zcQ=EWp};tujWr= zO=vLT$H7~l%WBo>PyJ?H^>WtKMt`2t=+EzF=@-$vOn?0~OW&;e(9F+|vR0-HtMhsN zkB$AOSs#5nWn<^DhqFGcdj9=0_k5Y9FZ_>YeL9^64A^6J&9R;gU6VoHVb$w}oB6VyI}Voq<6jZ9S^$ybox6QMNb=X{k{ zQ-3}0>CF$TBj4anOY+r`zWeTZUD_;HxTWE*b^OoXpRbrIhVSm+>yK%k_n%fyJiXRx z-n>ohjoPMhB~PbWFKJBg2UA+$)c=P+>G&IK+FQMLjXL7}a{CJ!duHEs@zGNF)E8}k z-@&e4X}HtvI^G5*-X4F=S4Z?7H>Gj=^C|PVKVQkv{jcA|#ws#PuOGRmEKzpGfiU+7?0uQYsRz8;@O zW_&6&w8!J38#V4=_*pOKt0O)?&p2QEn~#xrcfX- z=&bRn2DfUeF|P;SGJQUWn&|Vn7&d;Kz2&rTtJA+9I_uq7r@wc9l&_?C{a$msj^`{> z!Sg$H`_c?vF;nCE2G`oFak|0Noc5;Ns`bt={0-R}pJs6Pej2wnc(BtS`#0t*hR5#~ zhhKbL*Uz83dDX#fFVgy_8~q}O|9HOk=lyJ@6JPQPTffT)jq4h{kr!*suV42#^WhWc zeEQbu&wB4^|1_g_hSQ&$4(j-G3_pE^#^)J))eG96_oMVin&fnhRw0$?D*V8$FzFn{5;p?5cg*G1bu*ST8UvP%T zyq=tJ=J%w-y1pT%zGa&CJCN9;O<3HKK z9UXk)PHoTgd*&M&b3A){>H7G5yyRugbNkY|X`a`sH*VH^Jri%{HqBpP@JF*X&+Ef& z9W>AVbJsGBd4JiLr0uzVt?tv9+qZmgzEbA(=?ABOx-`~$Jm1?VYRv1wEe`(TLd|n~ zTRpG!`TG6DP+dQt&r{yf*jG__-i%J#pV#w`ob_!(UCs0UvfQb^@n5xGn$b&drR{nB zU%g86JpUj4PGjC*E_CdFens;DhYGu}Tt_)slv&-?ZG zp*ntEUuQn8d7jVdX`1KpX|Yc89B;Fp8uNbrRhq_pebM4aJw8=Ue=T+D8*_)&=l$y5 z+cZAY*zZ48WA5KxPCRFg)I9J1cjW2%`FuHhkmh-R+VF$sc|3AYv-RgXxWiZ4p06Jc zj?Na6&v(|=n8&wp$6{rff2zJ7`A_55o$=Ulrfv_fC)<)V=JS2MGrzw3v*vj}=(O3! zp)>DO?c+SseXWHWRTVuYSS>(*G zb&u-)=ktHjSK6LmPahqxd7eLe(>3PvW#jwWp7)=7o%y|eypE5rPbam}{(L>2u}Ndz zAEt*j=J_#YkH%@HJ>{>`nB#fKIbR3t)b(W>`{BtN^LVA#v-_*jpS2#>pV&)dULQVl z^d6Y3{dqsVV}`~&-yg4|{dqo*{95yunRxuedVC{C?o}m)=Kf}p!TE(>=iwLjPQRuheR z{hwdK)_>Z;19oUV-{|LltZ|yb&;MOxu0Q84t;g&Ct3PR;*XOUD`u$~^=kb{D_}3qz z^|*hhIPuJI;@R!QQ`cO7^7ZfcF25~bwS>?ATPNuHc)Z_t`eUubKU728^Yvka42`*e z-#JTTULO}Y6k#{c`fwSNOMUX7pC z_B_7_F4nlC;fK%En9tXB&V0P}LCy1ged<$<`y2oL?`quB;4xS0`guK?>cn?nMDx6! zoqa4{dGh*t+B&V*+2~Dl@LC6Var%G27VY2N_-}CL%WHi#&)1(HJM*z{wq9>?JDC0U zKaBT(t^0@9ryAz#%3?!gfoe6de>AfA_vI8x@tpr@pgBna1-^HTNIg`>3qnrWAg%(U0f9 z-T1rrIa$BR-0ySm`$hS6I{tX~g$f&+eaz%uWz(NVp!u`LpWiQMVUtfbeDr-jmw(gr zpL1QvW(!K=|5CEQmwvyNT6CYv{UthQedgWkGUjuKEYp6O`uqtkw*5n!b^Y$X&;Et0 zbJQWfkLK-vh$)pvHff&UM~k%5^|6s(Z;19c@5hA>*#4oxnvcHE_L_vq-oI(pBJ-n;vy*h@$(mr}7(W&OS-K0D&zc;#$2 z`o_t_Cyw&lw>xdbv};HESGhQ`oR?6(LQ-<2$|)7ARj*Rj#h?>Gmj_)5bTt|0MqB_HfScbMpJ1C)KS}yH?E_sf|xLxlzLg^?4hLR>OXr56B$((;IKS z{Et}=o%HCFKO9)c<>Wxe2~kh`J3Gh05mnekub+kc^gO*Z{mWccKC?GvUUYr!s?V4F z)3#1l-XZV8IAYOz&gyu72*Vwtk_nb*|ifWE?pb{mte>X_|j=PuFV1 z`=8l-VOz~VaOYz$6Ypi}9iQXNHSryK>QQw96rJ8nnQ{9=59@Vc^Wn>m6H(aF@MeDr zoum1tr(UAA?xJ-zU-*u$KXJrApCNz0=t9b({a4sb^Utoh=UFPxe>Fsz$MNNVqx-*c zoi+;kpZna1Qa2>6&k2_M3S7T4AR4^RLkDdwlUf z3d!H=+*f7XKZVV;-Am8WukxW?NA>vf{O~L2@o&8Bbv5Ne+wAuHoi(48wtN8jN4_`x z*Iny+Lp6W;TN&!ooBOBG@VSQX+U4SR$=~IRhG_o^S<~_?-t?c>M)%(pZ}#p%e5i}= zW^P}ow_a!8n>}Pc@kM`9VR{Qp|Ha$4i_S2w@14(!kp?A>KmQ^f-=r}^W>C2szjv|b zHxABuEf()zruiN{E2~Ra_74r!{Z}+V?~B(?yWvCf4~@EuGViE~-`lO%efPRxJ6|uv z;dy+El5{=g4%Y3egl{(IeZ{{hH78wNpcc*1;~O%3zTxx37kxth5r_BsY5%Pa z{_zFzMSryYa}9sX^l3ivzQY$9{+y?Nm_mHS@EpIlThH%CN$mzJKG!~fLLcdNjCpw9 z4&p;;h976zH$cbt)1%K{PkjD(`~3G;XuG!me0&k{g_mAIS@it(#_ReY`MS^fR33TY za>}CXZ|?1SevW+b=QF50Wc+!3$h|}JFIP!iM|@EqtrRt?<{=<&{Roef+179{KfA3M7FEsw^J2lZ0&-LG@^$&e~*B0f!()N#Bt@WGr zKdxxc#2@1IB}cb!=KJ4$Ne0pL%kYJU-8v<6xy&{)L9$9)A0)SbXFX-M&+IwEa02Uu5`CPTH|67GG%A z-{n&ld=!h1nDwdkC-c-Lk{f^Ma$WztjxP+1<)3f(MhmW0w<=wK?+WdoaO1HGvHWul zKlhFB*jRj_;cp#!^&PQzf0)+qf9BM0WATMO^!z$`{!7hb@u3SeKdriVG!|cI_?0Ku zS1*v=_C-wnQ^)qI9LvAR@CW|3Q(c&|f5^lY%GL3&+c<7REdPANr*H1NDi-ez*Z$Kk z?NdG$pKJK;t7c`!;tLJG^T5uZB+v2rBecHPD(970e8liSy}3YLU%BloGW->jH>&l? zWXU9*@OG3}5l^Yu5SC<5M_6 z`)76ExKa8uAG+Gq|7v@6eeSj|-|($Is#GJEzdup?pZ0RP6(8$+rvB~+9#FTMUHx3c zPpLiZs+js_{i^lo+P}o&3r+t$@zJ&+v3Tzq9babB^hvS!&{WNj8AZS1EcOR;{^c9K z$75rYV)3C#+JF7u`dH^5w?E(Tl@BGiiskQ3*8U6jJXJRqpKJJC58U@nEWXh2`R%?t z5{vhzX#Ge2konJ8e8lkMlE1kw7GGreo8R4WXH4FV{|&v4@3Z)xdfm)5{XgpTvvV!p z^l!xYU-#qpL#~$+h0S$>NQ_Z|48rcFj~nd4BQvl{;Ry|K@A2i@E-Lh9BQ} zsXf0;{rfc*s62O#e*G2ozh1|GPNQ~*6~Ct+Wr2UTe*Lrh+mR~1 zNE>r~-c-*o_x^()cCPbkBuh(h~YyQnfOe8-*xw=DE(YD4Ls&^!`i=D`({&!_lDbiq2a&iGk8AH zKJyoAeLtf8Pun?pChk+QSD$Ski}VGaSA0x3dP-Jpe*iQN+D3Z#kEMAwm^kK zp)D@?&&>P0d&zruHoLUu=X#&*)sW%gX;b>^Q&WI!)u#%NDg(EPbD_&!qLY!f!Xvn(^L= zbpC`tpE(E9`0wVOoXxbm%2GV9U)netf5Oj$?wWR$1^My$-h+7xyBKbrfAb#iVYx+q z{=d4|(ltN)-0G_x;~C6&m&ZR|OKGh(D$$1@hnsfiYS{7l)FtNE zHHPMw`{#{M<1f6o+z2yXpV`GkFD3pLW_2ocIQF={;71- z|5E9HwLU+1gk8t{F07nxoR$B8fB&__wET;&on@V0@ZRZWx$*K-P`xV~?H?1AsrtQT$mhTP>2s+4 zj^nrOG40Mv)?$k6zvq3*GrfI6YyEL0^S3+Gko|hTpRE0lHjVQ0_Mzrd{%;zWNM+`C zckqu_qiOv}wZb#WwCice-VopS$?JL)ey`zzU0&y-XQ1|Y`FJvtcD&uuI=}0@;@>~- z7-~Px{v6fJ_Px_+{<#18e2P!^c>Xlgu1zF6=XYiz`<&FX!maqXY5iuqHiG7-W!*K+ zEc?Z-CL-roPfPZp+b$$A>)n^g&h2Y?sDD$An@?>s+RusY2g~2Nk>YP}s=m^+>zc5C zMDfi_ZXRaZRRw>$Hka0~?+5gIVVd!N>JW}2TiohlVI?ap7bXZWBIwu6WPyQi~Lf@NjcJV z(8|INf2U6Qw0y)eeG^*e(OpldJ^eGy${XpokNmQaKC{d;xc?wO*PrMg@_CRibbsm=XS1(KZ92GvXnoe1$mbqT+ue6r=BKgzGQp1tKi3HI>zwXRV$)B1OzpZr zZdZRu?LKOqsJH3oszrWo(5$n2#i847C`S|ylj2#6NzuV?6b_=wymkOpQKgIYe%;S> zbVktpx}MTF@*ZB%&vf?Wp#6n61(E&qC*)VV{1t15?|#2DBp+es&6s<^bq8$;qT{x-=j)TFPMJD2Yf;`e?P4$({Z* z52l~@PqM3r@aOHQv9%jjOA`&uZu+@4Q~$NCM4kPXl3&}EL8nbWwTz+Pzrec0tq6dmioKb9JPj zi^iMx#h_ZIpA&vA_DBER9msEOkIUDrd}omFEXezV4zwP|zmbc!w_RADb`!Z>XGhHQ zH@hdA`P2ilyYIsv>y;Pte7jqg)TWzf7qzEUQPQ6RVLsX+5r zXw9)4WrCy|uUayn>F0%A!~E!coK&C2`+XJq zen#!KrrUTx6ESjqanOF_LYei}@rD=ciRU=_iFwg4lHZuCy;qs->MO{uRuY|SsbBx( zx2~J%uGD&Bq@Qee581WP;7?Ki{O>OttvU_oU-&)`%zqB>uW>)8c-N)q^XM3lmYSAJ zsvBj0GBarp=y<~O8y7$uZPr-PMC_<7*hGx;~xaf&{c^0;P;e0?cjn!Aat;}7>R zvU{ia`+4A3s(5E>dv=W`yH2NDRAm49QNB!FyG}Lx@9IH*?g>P*F8Y^sdOOJqN75c#DI&0*~*bO+g8@%;Tf@OwUPy!AQR?deSUE)yg34W@i= z&uQ|OCR^Pb)}%&MIpfnhu^|^7De-X6sg*@tHWBgLf9kMn$jjq!W+K1gKaSDN4rn}1uK>NI}$8^*iKQoo(Q zML&PqHCj%d&xv{VwX0wbhtDgz*VVH|$67my<+`6(e#J{`y>flffc!w`NYau19`Zle z;96I(@m(IG%1hMP{}}lv8kBROmH%a96G{VJ zpj8=zf2@tvjK_FACn*2DkPWA-@Lbm6snS4iZs;G#Py3R1+M{JN{aq=@uIC|o^9uhu z)-R$Z-*vcEbd{CR$E(RdRtd@H@x@8WGtD6KS6m4Igd-^qW{ z)*iu@-vH}yLb*ZLK+=)({|EVh7jJGc)87+LcGaJ#gQhL2SKY*)Sk=~>b5stZu6RE3 zw+;?ovvGf%KhXSaPZylmG`n04EiX@dq8s|PP`^Jt9@;LMT3)>W-lV)b$U)q$_K4>{oF_;Ar^G{Dk6bkU-93@FE78*(aqRz${LkdszSZxGYVVee8#2YmALh@THCej{$$Hj2ek*J+250q{DZGuzil~A z=x;#-)kJ9CPrgO|*Pm>uZ#sIB&-pv$^?;H29pqoR_-EF3q|s$9$_;9F{rjWEBmW1h z^L%XPcilt(LFaG6AN?;H=Ob(VQGxm&pYreU#ouq{S0zSU&_E9p=Os0qmzwpt<89N? z*{_@B@9j<0pgoBwuX8l*$CkSHXr`lfp3eVxu7c3K-*XM2xTEF2ahd+ED|Ft(jq9eI zaY#qz7uUzA;W+<_>txg@((dWBp1G1PGSjMC!TJ-E`W@m=oMo+3srFPsmXP+(dz z(_j6D@q$i}`|rW$v4?{;)HdDSVb<KYU*H8Te^6!!Vm%XOHa|pd}xz1J zv_FUX&%Z0T`<*$*>ys(2A%55G+(GA)GJ=8PyvLQ zb7?$0pWN?A2GerejQEC#tHte$<*DKGq4qJYAE#2#j#*!W&wrqME$K-AeB}S4X8ka; zZG9-&o$nJp(CqJle}d90o7aglcn(Fq;-Wq+*x zFxJzul;1UOsg*ux(vsumA9})fE$s$fph`sb9>jTYee|xkMz6EtKGUo?^+`R8-sMCm zvH*ClIA#f z3py@o9o(Mw6S>K*1tIPoqC1^`octbHM_&Fu+53X_U!JER#^)SK{k(YVly3Huk3a3m z{gmHtdy}C*_@3LD6a54^&Wm{&-tfERv1!k_jQZK{MaVoe&Yg|&yRs8CCy4fWxogRn znC>cK)DJIA^0-`Eu>ajm)Sxwd|KTjDo9=4Z>L0%_$#I@6^ggA7Dl2KzC#siclhs|t z=l|U$=<}w$4pYW@@coKDht`MeReDV_eY9D4{{q!)(mKd-8m_nN9M;WR-#vHf{Fi=( z==_1G-2^Mq_T`*R^IW`0!}w-uIH@rQL_<_aNyPi@3O>tL*QZ?8Lx@pVr> z)2bN^js<6e%fZdyKJY6rqz}bU>Pnp2jTqFO__zm={l@kr-J&+M6W1$ToFz@y+rQP1|a@rF|W1yehyzE)h~Oz;nI>RVKQttoMS6XH&g>zUKww+1{2 zPP{{Lalavkd`sL7hI&b}-!!3L)qmgWf93|n2VlB}q;EAsJ@^vL)|l$o4kcC`M*K|Z z<3eAC{t+yneT3Ei=#0eV*@#@v`~dZTfSC{%)c*r3elmC%dmPp&uYQH!5X(rMaq06TyJtPD1WkzBz_$e2TD{*~K{89IZnF+l$8(Dd^T0{jp zK@E0}cfY&P@*g#5d3^H^PgRQZR3mz!HE1U^$9wBh{Ey$ctsS@)LUFDdAhZY6t0Qj* z>c98iBCGx1zdihw`G@}D6id5Dfy0TOAL)3!szOb)@rq9{f(# z39Uk@-UaRIPw_ggyE|QI?-etVJ2{k})xc;;m?>UQh&lA1S+BxK7 zPQ?7>r};mWe}(lq$hnKooABo{Z4YarcQ?_=@s%mQ+x{m<%=VpU*v{Vuq=y zvq!Zx>0Z*#gz_vVx}d!}X`Ss@{@y9H{=NMZ{qWK?34Y^=8nkB$X*X-cE5sMQv3;)9 z?xgpu_Vv+3H?%gDv==(E|2=5^$*|?=XJ(+w*Ph}*C+K-W^`2KC+Sevg|3_5ZZ*Bj& z`OHo$Pb-UVXlGoi_drLs|Mn8g@9g9HpPGN@>9O8{9?+SM>fM=$uYWXqv%jroZU327 zbed&50A?*l`a^I9cpL0roa_a`2B2L7@4Q>vG8F`ifn~r-V0Ew#*c@yK+U4)`BjxW7 z_5lZi?}MYj@!%|Q3TT&qZxhOY5IhE+0xy79!SBI);7_1keyaCYCf)~?M$b_^jOQsv zR8D2RKCGOf*MaoC4m7WvS$7!!=Lervvddp>t!9~OgAKrDU~8}=*bN*2hJkkZ7j&&+ znU;gA!HwW{a1VG8JOv&D?eY&QSHm(52SVl2H7GPVj6WARb2=)Q( z@~@1jX_?l8TfyDnKJXBD0=xvC0qyb!ucQ2>zzSehuohS!YzlS+TY*Z)al+Z9R#QWg z?pSaBp^c#P@H%rG^kenex zpx?21i_-g@2fu4m#Ypq}I_C-aJGYz^r?P;#qRtcOcW^2`#d)4uZ}Z9pE&CJbcXFP( z6tC4LI_nWRk2RUbKl+P})}Njkn=HC&8JoygDMr}Fo!-ay~0q5;02 zxKp@21 zn;k>iMycy~pUPR2-mmI|_rdpTQT-|K9=NDB)h7p8^KxOPz4*TMXCAN|*bv+WX1PRu z1;GknJ+KYPd71h8_Okvg555bw2m67e!P(#{@Kf+hkn=J>8A18CfcwFd;5G1P@G%(g z1By!n<^(w}^HRKU>(86u?_iwxRG$*e1{MU%fwjQqAm?SyK0xQAJ^{CY`@xgoHSlNf zF&OV4#is!|FZ04A`kZwej5nEdZm<+s3v31U0@r~PLC(vpjr%aP0>i;^;B4>{a0|E} z{29Cex*OB`gLejPhh-~VDrL6C+uuJiq`uV^FR0ZZt%ICT&7yqyCfCXkT|TWQ#k)Z- zsMVr+tFgb~9|z}{Ip6w=pYy;}sORT$F*z)zbkCst{2T~oWPM3Gj^gKf#We4~%Wu`? zhE`JpuMo9s#Mak|_b(EIz9k+;{b?}d2Gy?z<9|b%`@iQEY32jy3_hx_q3Aef2$%!* zcCar6kAohN^M9U|;+ZpZkdDYs90<*1dsr^AZwew7$wLgvN96qPC!S*cITHK`oD9wa z7lO;dHQ;7&7q}1P{D*qeJS+$!_U(gt=}XMg4;t(Xo(1EFlf8X^;$e{Ud-?h8cy7(+ zO&cxKW<2L(H?#&jKcBrJv7Y78sa|mPH2sP&&hVs1@;Bq$Zz+&95?)Qu*_!658Bh9y|DB1!S6#WJWog7$DikC z8tj|FhRAmY`QL-S4}0YEwm+kOqy)86n14L?+ck~$WxXiTyxR#UUVmEbP$FnAvP9=s2}0+S}EJek3~;DDgM zR{qZm6DL9^dWUpGe%QgES;L>>G8Z7fX5jB&tAx}pbCGYd)n0c+^(7ocA9x}T>Dh6K zp>Gj`;}Kti$K#Wpm4L|0L$aEiK1VbKL%~7dMDX^9}UNM zI*52{C^6?aV#r8;&GmgyzX&{I;}_3O@#gcEjK?G;FrU?AJSHhc%2cV-7L7#Ir+)#YYjxkM`%{aip0%)I^2*Sbt^$3xHL?=3r0oLvRwP zgFC>(;6?CP@H?To{f~=K`}4td-~sRwcn5R@lYdgs36=yyz-C}Cu!GRtexlm+IW-83 zs6)Ct^nOv#_6MRq2ytv@)))1|pt=1cty^1ve%F%t5IU$0>1*J$wxnycBPMN6JOXlj zAdYlV9Jl{(<6Hl>mi!uuujWSBr^%-AX8+C4@&Y)2WHP(Ik z^GEnR9*?i`*pt3V+t2wf^}Xu5q2KV`8+Fe&>Gpl&9&7h~+rD||yZ-Q@FWmjicl-V` zBahElvy;!)aHMggwg{i^OOL_JKHs66KHsxvW`yBl+(vpsZ>uLo!4_Z`*kB{snUh3) z4q<1%m@*<)nAQH=+{DE}#A*46E#L9iT)zYLpXDL@hk1#MK=!j^PUH{yh~f&5C9)2I z4h6@85#V9)1{fKKe5@bBUO?2dz1o@~*7zHN?ZMvQLc#Zi{#a<~A4p$Ee808Sk0;P+ zpt(M$&|DvEQ_uEFu-5}y3I9nshFar~06)%4nz={R=XuB9&VF_*BmC1fuq~Aw`fL*{PVDnC7 zXYLpE-wFL#XpT#dJf%dw`9nvwimoiX^L1Es<@(;Yr$$#U9q4!>y5iyIv*LUmpSP3s zQnMfPpX}CB4g8OLF20vVKb)Yfmzw>U(jK^F@^In%MQ8p^R>l3(8!dWmzIWvB8ND;{ zJ+Sy5Qr_oDzcSa#7gtCiv)W57? zZm23L zObKQHvw=ZiL9jSj4y+2=^{?WjhL))%7zz#q#|oyOO#ZV`&zgA%^?`U3eoVXm4LMHd z7npmmkY+ahiuB=A{`G8sa*pZ;o+l2tKumv;xD#Z5=E6&4?~L~B`p4h@d+_^i{=K&g z*8}i%09rlTzq@dqtsVJ!;L^_ZDhK8HC)#u{^7;Y%em(N{?6{tQuOslHe|#OU9r<_K z($4i7`X_1AJ;m1_@bB~a_xgN20$+#Vei!qH>xB7wVadqf^$S0)ccXujcKyo}PS=|s z28;A39WsL0cL4F$7~<)H#H*-hKdz5AgzS-gpEUcG9!a{9+n*7mNPD)>^+S3hI`36J zOT<>Q@7|(KtRZ-d5#1$-E@)Rt=;9#!J**2-y^i}E=^047bDwg z_0;W?n}6ut5#Iy;J&6k1)r+(jT7$m^KW8_@cLiI*-vz=?>rL8&eB2+;Y3k2`k#!rH z{qZIxKWB2HJ0($12Bsx?V0Xdam4fPBiHXic@Q+W_5)$31h$FC9sx^zPWI*di0M7VQ3r^R4iY;aBE~yLYz%Gz&zz$ASI{j_khVHy{4;Dm z?a%u!Am&*}tN~76OqyAF3F!ym(xs%E=*08Oh#xH{mi>e{Cn9<_qucbU0U-BpRv!BO z+e&aZcmli*-UA(Z$v+Jk1eOMCgRQ~d;7D*f_zAcJJPLjda{vBQ=y?64@oSyByNAx} zezupGbYNR_v^eNv=a0=jh`o_rK0_kr^-Uh)pci{AMO0vkK@?STY%zae(5j! z6;u7^bj@;YFoU=WOfi#mAMi9-WERy=1%Cq@%tkzzVh-ZLGhmUqR6iChGLLj@c^2`x ztG8F?>lL`V4(U1}MAi#y`fINLtBhBR@`i%DK$&-JZU6R@qo1R@(*AlVzNVM_9QM-P z$ZtG&9}MnJ^$B|rL%~$NNH^(CoEZk)hnS`>@jRF&9QOW1?njdWq^E;t!Q|*~2xu*Y zDE|2*n0~+FC>k>+DMo%VW$EJN&)g2p>`;R2jVcnmL02hBI(2DciL%h;h>I%_3nMOy zp;=Yw6NFjpk&sv=32{gwf6ev9V7DXtG4~@6`}a*ud0E>rHQJH1^S2w{VdR;djM|Np zoH!hO48E6w>UV=ZQj*S;ig*IdlaVxYXll~W!7*t_Cr(S;2TDCW9ofGFtE4Br49uN@ z^cv7^d}-YsEmIz_4%lln)%S+pF6!BS)TaIy)ED}Y@-zfDfQP|XAm@|JHj3i8zLL=G zpzX%@pI-mk^Mj)7YAaR8sy`n?e(xavm@-RT@@L+KX6A}V_WWSYq@)iBJuxBGv;9E= z(&JFib~(s|Z_|Dz5btDuGrxC`pVk!*C^k*s9mxNIL+*+SeQEdA#tp>~#nw?WRIIw{#Rfr~)42V!=N!*2Qcgn_DMYq|DysrvVt{NL~2z0LsP|T+NyY6n-zZAsPNa6xzewV_FB&MnZ;bTgc7(s* zLiihnyC#jF$=}DhnlH6laR$-nQ;$yLXWIF3J^L}WgqS~2e&5G_OzHnO4msLX|JS#N z6k>;wTvQmBhWdG!*NVPgVO>1>S_NHA`i}}+UK&}!*PC)hic9*Z)<&!JiOh%{;JT@|2Np;4)D9$5j6!;^*!3 z@7K6b{q;WRr(h17@wG>Nh5Z!Y2y7326M!QE*cS${bN)5(+Z989jtj)2G0b=15RG3l z%Ymrtr623k@DBq&23N!~59ed<7x7nxX21SlP=A+z2f!a#i*dd}{fomCm+c6#_fda_ zi24tNmj1ET5y!Gx=oO83A9x)shWl{F^O2o(0in76ud)vE zeh8k3VLMl1=*Rs_f^o5~o|Vp{w8=)ClQU+VkUe_8hyZqOCx?^rTm`xQuQE#v$B{Rb z+P~MGxD>iX7yo*;H?yhlVN*XD_1nRVHh!F+S-xx3?X%sEhr3bS9nj8?>+h}{Y`y>8 zn?z)tYO=o`G}T|TU+d{qpJ5(x!~)_Lko_d5FN!*!^xFf!$BSd;&+*wJV&?zBCGwN} z;~3Qk9go`1{ma( z+l`O$vOXMllC}KpnDy6*mi@_dqMhHH)}MS~llP^6y-!g;pE{!M@7Xv}*K@xz*o-sb z!O7P6?D+eBvM2XM?`Ibus6Nyt?=4Xu?*O$w2$Xq`+SIe(9UJ?{cx4-lqr_w_9k3&Y|J`4Qp8FfY8oi{ez8keLIA8?-bU(mr*;QSO22HR!}&p z;+;cHZ==5F(2k+uhPUx&c>fMPLx)iHz_9)ux`c-I>}|-w-NV9-26}Z5>p7@TuYtWo z4R@oi|IprMl_7?d3@+OsZYc8wSs(IINM{Z|E@T@Eg zPa`w(x_H=QtKT$_jI)~``TRS+f1@^=wy((hI<6+IkD&R9E&0BalKh-Ku8*z$yW;HT z=O6W1|MBPF^4I^4d`S-Wwnp0x=c5C0Cj4VcyL^G-m!O?Q=oiy2Um^H0tHf|TcKHI; z=h&cI^A`VaSy%r5PvTIYTZ5duL$_#mJnJq zj;^C{|3XwFJ9ae<`e&MDXR6zDeI9E`=RMf(f( zpx<`wIg!tMi`sL6&bt2XfBWGuYo7A1iJrAaM{f@lFYQytP`3Wggb87m@vY@Yo8{X(EX2z>VNju=+}}Zv|h1^;c2-eDEe1yqfCY2e*QEL2EMq z`_JDp1LjY*8ZXeTTzvbZ=0d-(lb!dQE$5JqYegA13ljEvhsd4?_BO)5mB>G0HTm;# zKs#X{EAn>~_6fq?Mc8`?9VYZt5g#t>gM^+X{D%qqd|@9g#`l5nUn2a|{Y3MT6!RAx zw#@n~1N4lcq%+#+KX#Bk8|>Nklg{z3k^;a^kqXX|O*vLuGR*&))r z{PzmG)a`_Ss)rPx4Ec_T_?>I1Km6(7!XENZ2>-4k-*sW{E9_@P{$$B1e+uNw{x<29 z(C>^QoeA0j^7ar9nvc(tLvudPlM3~z!8Bl6Fddj4usB!(ED4qZOM_*=vS2x| zJXis&$o4@EtiNi4O~DRe82COo9-Iv>2RDIx!QtC{Ua||-cR!TKJPDidGq^6 zVl3YzAipp2`@?_tuQW0LQ~OtU$R?`;o}xspBhjw@4DK(+&okoRFK9hBTvjpN@5@0~;I4af2CMwpz3wQMKy zcOrOx2m1%=r)|3;kA~&1Vfk}@?g!V){s&s}rIzTH3-8BsM3CnFc{yP(zme>`pRXcx zO`+cr`6`Kg?+X6{!oP{IR~7MD#pltM!oP;_Z!he@qP>zrmlL|O(4it)Rj zKOFT-Z0ziJCV-v&B%dHITluKR6N364Hg=iMPEQIDzYg{j0sJ`sA2xnjDnvaFjvTaf4 zt03xo3(f7>ad9mDPYVAav7G7%ZP%_{{ZPa=pRQTkKXcz?fBl=#>=%eZQ~dKt|CX>% z08a<-m+`UH@uo)KAG>^wZQ`bj`qR+yruny17P=2OP1x<)ebf5WBL8!t^N8i$xp|l} zUxE0dNzD8LF%O0}SN+kj)h`0qvCpSMxp*2bQsWz=!9KUv^c z6s#X0u5SRl%pY65P~^`cmPZAlW1Byaf7~DXTibuLTf`hfb3HR8fSvuA;WqwvQQzaH zfBPKAoDsmze*Z4sMt|a9zW!b9{@v~5M*lPYNb{fW7h-9lxt=*JfSvuAnSS!m&-E)& zul*dgo&7olu(RL4i}TQ*ZU15YitYICq5lb54Ys!bKbbvDh5dlg>=#p>wu%2k)K_d?$6EgT zn-E#YmN#M;|2T$z+r=NRvL|ohPv(&8*HZS`i)q|ERMpd41v0avR zQqNnP;EJR5=+yhh7R~*|h@{P=9?*7Q_^U17xL3u$zHq>Ug$JZQ(0$>}k81Aw?a1N- zDZW~kG`G}!3jSPZ?U(^|uCLkL=IZ#TgQRZUsM5UNM~bdKmM8A!qa$1Hm->$+-Xk@q zue#W%(~0<9^W{q`_1MI_@|4N(cHtMj3%;8sS(zqMH|?J|^s~f01{FSj@WZhM!)Hjn z?5F+9>vqY!y6?og2R~`l>!{S3ewuMMcl`O6#+FR}XJ5TXN~zNySdl4VuhQA-4X%}E z$KK5)q~4Y^OW8VWuhegFVo~cq`V{Ua^}SJ32lVL_F(mDfV`CD=IXX$|XTE*Y?(}N7 z;_)X>_x(Pk-w~;M-`B0}KdJSvQUxk3v;ImA{c9r9$)OV#CC%42G)hN01?Ypsx%4o6z}1{%^KYJYOF%{)KL3N``#3dXk;5yU6J#&DUL2 z6ytxsm+X9<#pA`K-$uThZ;|HtX(#f}7VTHgMgIJKcX`qOnqvOSiT>3S{`wKh$Jc+P zm`OS_`gg7=X}<2{w$L@i{O=d}9Lsep6Q7Shw~#b{KM-HolL(zs=q#U8Jbw?|M(E_5 z$)3P!RjDu5lIHIh_RJ#9*AZM2{kbaiX%Sy)yMO+SOG)$iDhj(}F4_5feN)ljy`n!C zMSF{c{n$Cmmsrtj=N$k1r$ql}ihSwBd|ngwZ$x}%;r|NXKk)K^Z*-OpLiCA>Skv+w#7 zpRYpN>qeaNO*HaOoTz+BKHBYDvu2G?bygO8?)u!YP4pG%+06JIx6k)gvH3<9Ci;fW z`Pnyh?^NH!inV+V8Wge0*;C4QUd{5&OlzdvuYBFRcejdfS~g$KoLhayqY-^MC+75B zzizbov@a!js9=%?(?;2bJBVqqxp12^BIfJZr}DjG#{GyVz}?5 zk>mCi)8Djuedmk^DxN=o-Z$;uG>Zpz`h3H5pKt9}r|;RRalZNE2V3QvLz@k6pRd@- zV%9SnjUoHip6uc~X^i`Pvpv3ReP{amZL8qB*X@1Zf@jM2)!ACUvFVQb`ew@Hd**xS z`_7ot9Y)#kjnV$Ym%dz6diqp|&w3u@+Mn+E<~^V1yLWGsZ)V?XzKg&4e4k$RSl`vv2Cuy}s|dSMj9@nP@#L(zW7GUyF%_efJ*vtY=N$G5UM5RS(}ZcVDZR z&x#yrbaeZu8rHKXuk62KJy-IKSF@f!X+C%Iq4C_wVkZ~)<`?fmTg`v}{qGFKYzB<2 z!Pt~z{#vm@x19O?VDCQC{C>6fE7E-Z(()ywd4Jkeyx(UM#}g@Tl7A9KuW90VCP*BQ zWfuNHLQnEgKJH&p5noa0!=nG&FH=0fA5|5{XR}29?Be+4l*qS8_}3Qgx7p+0-wtBF zmWugb9YOxQJU$Wg6(-_$3j01WzC*#wl=(_!{i{?FF`mm}JS)U_yu!XALboz;|27;a zoye+H>R=*jkB<+ViTSv^n*90r=9%!XEv{GIBbLwhXB5xJw;w(9*KNe{hw}{Cd3h(l z;;-9_`MB@!?|bBjY_N1sq`v?%BV7_%<65GMP*glRCeW5IaE%SOXXHU>K&CwsEVqRs;o3sMO9VRRCN`iYN(p3ma1($*QTzj zr`}cdRRh&fHByaL6V+5TQ_WQi^`2^}TB+8mjcTjfsrJgHI;f7SlX2c8RCQ5ZRX5dL z^-w)kFV$OxsXnT&>Zih0e>Ff2RD;xDHAD?n<{cV`s}br0HPSfO^Pw80MyoMutolfe zQ{&agYJ!?*+&gcwnxdwvX==Kfp=PRCYPOoA=BjyWzFMFbszqwCTB4RJT`g0~)hB9& zicl-nDz#dzQESyYwO(yd8`UP`H|<;0R<%uSS3A^BwM*?*pQ=6TGqu;ayTU%TUwPC4 zbx?hw4ynWHh&rl{spIN|`ci$RPO4Mtv^t~Cs&neRx}YwqOX{+^qP|vF)irfp-B91C zZ(6j&zRn zjtq{Bj!cfsj<+3I99bRN9N8UCM-E3$M=nQhN08$kM;=FBM?Ob>M*&AcMwRC82!gg9zAYC38;LfZ|r zR?}6>qNeVOx;}p=s#l$f>qCiSyZHONx{}tq5$|^Qx7)RQxCi;o@9FQ~y$@-vuYY~| zexwJ24Z=z1?@v?%h+fb$ko25Es2@z+IfST&5ifz=$5E!_W|7ob}ZbfPwyh3 zgF1u_E)v?m+rHhs{{won2T&PoU$BrG!mgvx>WS26Dx)m)KT&2Lf zrJD5%D-hBnv_#KZ@7667+<8Ea;&rOMSFOa*o>jXxs#&5&XmF`Ujk`6fnAqxHqCyso zo`qHn9TLiw#yI+R?`7PPu4^Z*8W7&Sw>i{`1HuQgU-i%~9R~IqP_sexkgCmUR{TGH zXFbeRwVDmuht#i9wO&Z|iovL>*`P|}YPBkM=-s(giO8x3O)469?i)BHvZBhn)k~GA zIH)Kp26gIR(O9qkp$dnG4(i^&d!Mk1p&d$;EZ(t8sWPQIl?g4`sY~%rCA$e z@zTXQmF(1^c=3**!JW#Mc`eqw<6%W({V7=}xMZPXrJDv9FITi^xsqjCz2;-A2Hm@K z5A9sBONUf5HK`o`5_$HQr2 z=O5er(!WUBH*2qKx~SvsXQuk6ZxgR(A%5->&iR-%ldnL!s~0r1sOGKbvxp=Iayo3q3`Q=d`fLc~0%~`RFb8 zNb~vOYvTOrGjTrmmC)Y_|7v1>8w>vvm=8YRoO?gDpAh5QF3uOH5dHmCoX>UC@}Hk9 z!auV(zrAR;e|w*c@nX6;xL&2Gh}SRs zkFSDgue#9ngq|wS&zBMT`$bUxc#2-F#P}zO?`saq{)_Q#6S}f!Z;)uOhOoac?6XDx z!^HA>SH#Z~{XHrAyHePjiuu|u>}`boipcka(D#IXD)d`7b!(z|eO@TW7cRy(U3{OH zTYMj~OvEP;-^VT&@x?{_Heuf<*2fmLX?sdz^;)Sv+L2BN-9y+DitD>Z2zypxPa(dK ztCxiG^ZUp4ul?ui!AjEc(f%!=tBd{9%}wOb?{E7>zU1QisJBj$KkrXY2>**hdxd^1 z`twrgJHmfMF&b}bjOUTCAHPNY;r&fe5c%`>fp_tJT3p0GJ4ycB|H5MYAG{(vzh74r z{p)j(?EL-i5TPAc$VZY*n53Sc7DGcAaq*MUQ#jMVWNL$MgJ#>`CTB^uL@%P8ASf%V*P6?=D)SrKDr2d zA~F8EVtG6jdbk+>Y|&qNeD+t5_vG>1meaI8I~Bdst|FZUI#_6VeE9Vi^3MwYbKObv z^{+L>^{tPD|9_7sb!+C{^my{`K7M?6HT8$L-~Y7Z$@g|r{}NcUrqthke3@Q+Ub-ZX zU#Fk)-(E)iO8w#eZ^#PLd^}gvOPcrBdMb+N_t&Fhe=4tUZY<*6UH!MOgyTr_@%HD{ zN%Qf-ghr(K`s@*#N%QtPb{gr-n9pnrNxuz!M&wIVmhAj~dG`s8kKbQXUm%?r@l&&t zKY!j^FZ@TnB!7NCoL!Lo`Tf-!k2Kre$H|}HALEM8BTL12I($v>InbYvMSO*Ql#kz! zR*Lp_3EfsKk7r^$L1KP>5c8Ks%unMH)W3}AUkQ674De zC9fdDq2@Q#|D2+p<@ov(e+KO*6U)2ME!}eE{WZrihaVt2?_ao{8EAedEm&^3mg4}y zLg&a{Thy}**+=8!?T71`ZBJ8tEv^uJHkIsUL_N!P+sLkQh2W3v$Q~@}Ssn>6zTXB@ zJl}_vj|F-iraR5FTg6mu3$PjhWpVU!4? ztTf6hqpUW{8l$W=$~vR0H_8U1n0t;*M%iqXEk@aDlx;@YZj>EH*=dwrM%itYPmQw2 zD4!W+uTefX%08p)H;Tt72aIyiC|?-mkWmgB<%m&^8s(T#jvM8KQNA?FS4KH$lv74I zZIm-cIct=2MmcYk3r4wUluJgrY?LcT`PwK~jdIN>*Nt++DBl?6Tcdc5@|{t>H_8u2 zxoMPJM!9X2AC2;pQGPbcFGjgzlwXZ<*C_Xl@|#ia8|8sfemBY=M)}hy4~_E3D36Wu z#3)aV^2{jDjq<`MFOBlbC_bY!b|}@vC@!OPFv<|4%rMH4I7VNMGCi)LjWW|Hvy3v^ zD07T5*C_LhGT$f*jIz)ui;S|^C`*j8)F`@9mKo&}qpUDWgi%%+WtCA@8)c1Awisor zQMMUnyHR!+Wv5Yg8D+OoJ~hf7qkLwRy+--mDEo}E-zXlV95Bj3qkLhMLq<7llp{tt zYLsI}Ic}7*MmcAcOGb&~H14-%lte~JYLsL~Np6%BMoD9ov_{EjluSm+Y?LfU$!e5r zMsXS?hf#7GN_0iW{Y@QOX&ml2NJ~WxY{SQrWH3r* zqhvKoHlsL=lE)}{jgrqO`HfP*C?$+i!6+d{sbv(GQ92l%Tc$}#-?75_hTEsA8qPipgz?V z|8~m@E!+9KbXU>NSfOLv&Vm@m@AdkRH@5A>)c;n1c2>OMcDFT_aR-He#eQMd_TLR0 zGlcZNnstJM)%}U$FuH z{jU#w3cMxk@do<)bN;`ZL86@yp<~-#s~ESm(7;n4F$eN6N2u!*~9 zQygZ0b2K5L4WYzW*{lD3<;*KDN4?Xs;D?A5kCEykl+R7TDCs zG_UmA6vKRnZT!yL)PHYNf8VBF_RCJcLVVH~uJ?9%?CLZBi}KpF7u)*0qJP~U(smJu zxBiIU?^ytQp!{r4@n_WS1liPcTp*TrZAIzq~f}rEKbJ+SJFi-^~!;^)KeJYj5DcD6d_6v8^8``ZwbhZP$Ug_C@r5o&feh z`Pu%ZO`cme^&A(7&te&$;$`&X4b)z2?Lnfwy3nDbKBjqx*~Cq?sgG%1=@${he0yyC zzO<>oZc~5Pre5~TPQOBYiWsi zUx1U@yT2fpnXy?cEw;uGg-fycu`Fr>P`IwxS zHIwWAQ^@^__dCr)oi{MjePUL ztzf-JXb0r+xP|8W|Lyz|V{~jlFD>4z{ zFRmgTAG-20(#fC`e@{9I^yCes*}tCf|857_6TrXwW`EsZv_Dhi+qQ!I;~_p+%*W+9 zWRDAbSuy?(*OHz4H(%sev&kL@@#)0)_AMa$Td?mI{W+kMo%=UjjAzwqvUB_K=aJ_A z#u4qGgPq$Oc9HxOD|(F)dWz7sw~#;2_o02H6C&Oz#`l%5A6!iS-2PHAU+u;E)KT33 zXP)TKpJIJZB*q`KhT7x#=_m3f75*V&`KA!|)IuK-<5@2H_ttD`pO=4pp-+hTIO2Xm zr-VJ@wvE>2C?Bs+1x0%<;onKF`g14 zKDp4Pgf1g=IiV{EJwdcrN!X_dd)~?Z%XfoVKHbIq_z)jCUSaPe^jI-J+eCg%^iSUJ z=>yn#|1?ANznECx2Z;HvD7NRSqP^k5|5MSwBltZkZ$A^nc*4baj|%@eqQ6(fd@m68 zuh-N1#M?(v(f_uh{UsuPzv%x|;qMmjPh00wdpy78bke+hXNmagV*bX6`I|5NYY6`( z!v2ZSwS@m6F`spWT|Pgns#qRMyg~xl>jtoA7V|CAs|1^LtBRMOv`^bfcHZAgdz%Af z=lz+qcMf3h6~I1xfAskW1hNOn|Iro7&+iAa|I-54Gu)#1Br*`X(F3yc@vU@gn0}d6 zl|mYzm*V%=DQ)Zv0`zZ10Q<%O_MEqLt7W_KwGA-7-2w7v+)erI*01aV?C%7yXA7|Y z=L}%~CV)M40DJv;G(O&6S(EwNKZOGHKi!uU&z~<|3$^}CCH9}vo-DxjohE=ieSq=3 z636qh{kRdjRmJ;fX-^oy{=IGc^bWV-TguPtXT%-SyuF>yM%x!}Ki>*{TztM6xsu{} ze<<(wBI5(;Wa9nmdvQFPQrK?`dm3R+FZ3_MKa;R$5jwljIfV`qI8CwXiey9 zLe~&FxyWBz*i#F8dZFtH{{})g7P_LCpUfg(RbkI2>@|fwr?9^xbTiR@JrRFbY>$nE zJ-^6TSmKPep%xLiZB!lSTe8(Z4yu-dfD(Gtu8lqCW#fdsT&f zi`ZYgME-c|XuP~X9xn0?6#X3|>`7$2@J}V|p`!gsB3}<-&miJQi~L!IUEWW6{HBdq zlL+$u(uKtFgS7v$nC6G~U$<6}=Kb*y@%c^Kdw);<{QfELUoFqyNxM9MC+~M%O7vga zmj|#%1hB6TVE-_Hy=(ycI$@XhbCkm-ZEa^?_1jC{UxPc-tSS` z<^3e3UEbeO+U5PjrCr`nT-xRR#id=|Z(Q2t{l}$U-j7_`<^9Q}UEZ%;+PB=J<;lmF z(k}03F75LE=F%?jcP{Pn{^!yz?}sk!^8V=3F7KBv?ehNV(k}0(F75LE>e4Rnw=V7S z{+ZG)@5e6f@_e1N%loxUyS#t9w9ET%O1r$jyR^&uy-T~i|GTuy`@u`Qyg$6O%lpMk zyS#tAw9EU+OS`=Pr?kua%}aY6@p(|%<^AZT{af+0hIZq%i6?u9uj5_Z; zQNM6e)P8~5dsBPp(!aO8kcjB>1#R%RzbEv^Tm9{CI2TcLjyIRMgNbBeC5UVP+zQ{!9xEj@;?>xeNN;*E0*UqVXq;^e^c1!i02#K750WA{*kcz zgdQm7FTOZGc0=^Hu~@%dLWc?M7Wor?McWJSzp9J*yd##6FDLDf`1`_EVthY~{yh|W zxaiMg@q7w*Fy&9B=oMc)Un-r@j{DSq-ruGY(!k%j#`NvoEYAyPc zPuQD_eC>q)p!t-K$Ja{u4;Afq5b>Rb?kaRUk*|la7ZLsKDEzw!{ekGuXrX%u|B@pA zc;O!={KJKwEd0xhd{u<5DfGKSHxas}&@)7P?S*}i=-*u7zewm%5#LkjenKx3@xw%W zgN6SHp;wCd4@7)#vHVAi_>YC2D)c&$f3~oX676jk{tJcwGND%qy+g!*B=T<%{(FS~ zexbJs|4)TJB>eXa`vlScap8YT=))rZOQFvSeO|;*5$#7katK zw^Hb}LO&Aup9{TF_^VH7e)#<|p3oD-^#EH%e1EZg6N~tr!as$u2Z`|>6z`vhggzql zbkVWaO6c}NcNV(4&=tjastJ8gjIXw^ zHxN2Z2#lTS~}gK2L{J| zy%)s^5htz#9;YkL$aMl0wju%!fH*LSdK^$dP#i%}dB6WxwTDxE5`1_0)_QBbw^u5) z>tEkgUwt*~+Pk~=49fcky4gCB1 zfdBeH-wy32;O}ML6qIid{vPPYK;Qa6{+6J8Z@~X>pufMn*&oLQ_V<0FZkBg@`+pMH z_wiB3zpJnRYEZr{D8Dl3uNMb@FZESH`JF*||1jPHe~btHcg2OyzCFEtFAeA~2+Dnn z9ewsa_iOK~8)tUD`nI6_zJUKTLHW%=d#?-XKM>SE67<)R)6SmVy!~r~^5&p?M0ta0JlW~r$?M-IC=Z6^pnu*M`0KMld#?-1w+H3jgZTVJAn&9gUVj_J z=Wj-x{aJjzJn+|}0sX>?qtDLwuL$%l493IPgZbmMz@AM(`4xeGuMOmXCn*0YD8Dw~ zKdA2Fv&;9-tAqLeUBP_%!Jxb#*q_`V#LtG{?*rcx*z?xFp7Ef)?+xmY3gTs5P#y}( z9}W2b6zG59XI=YyeEW~N%9XS8_)i4wJurx;!-Mj0Aa5$L=b1r#e=d-JVxWJQAYQHx z=wBS@`}aWKXM^^?F6iI3`(1kneEY8tvQhc-|wRPlEQZ3)+7`K>yaDf8H9* zC!JfG=bJl%`Qf6#{+|Zz`$4cD`fjj(y*=>HpMv&&D6sEEL3_r7@_m8+-GlY-i9z{u zf&2|YyuUCgKPB+rvx4$V0(&+F@em#7{F&|dJ{u$6 z{W-yS*bv0?D}(x12j$lW{<$--_w7Ob2ZHiQFh5)v*mqe#|BIkKzX{4uKdyOxxH;I* z-XF}LUkc`r?*!#H2JO8ki0=~vefI|KU-%4X&te}BzX|65twFqgIcV=-5N~UP@%V6H z&%EIGlRZ7)KPD*eAK3SeK>yl+{-MC%4+ZTV5Bl@4K>m}1@qAcN-Z_ZBrw8?K4f><~ z`)<5t=Lxq4_CGI>_ue4BJ{gn;0(s{K{c}`c&*?#b>>c>OyT|o^cE0fCK;M%C`XvGV zd4c|!z`t(}>URz7|5l*y`9XiSpX}_*&O3e>(El;l^LKzj{$H z-rgM0A0Ej2N?_07fxX`j>fiNQr!RZHyChiO{WRO0b$0jm^>fWzuz1(qxvaJ=ySlo& zdj_6hSVu>9cVA!Myn#iFcV4pONH3+my}Pe}{(=PycHMLDjl$YHI=g%N`sWP@T(F>K zbnTs8Ts_j$-#>7su(r;g9%-H@x`m5gWmrciS9h;neSNPtUT;c!2Uln3g&sp-cTca$ zoA(~ai>W=my_h&KFn{64g-I>V>$3*-_kYguBBl%0d1m6ZhDB{{?IXY3f;Z6aDloVPba;v#vVE zVRDMUy1Gut=(08=^0^siyiUz&!mz{YimOsis`s{^X5%EI&-L;EOQdW zK^Cj9)-x|!sH|CadS)G zmxaj#YOe)SZ{Kx>8E&nS|G!bfT&Hw)-jvBx>#To!`)(`AQ`6?npFjUDqeF!PO3{L6 ze(y0knGvFv%=??iM5arGz51xHou>JAhUDZt?P*;V!&x6{azSL~{e|KQmr$hU8)5?;RaIL7xq9;hM-kxNK{q z6*i|WT(oGXorI|o{?hp0(=ge>CCd@Azww$SiVnKCw|BYG;X1pVTMu<~PMX}<*FSKS z(b-6_u2WDSZ0Pg<&&7RjNA!G9Gn{sqE zRVl7Cl_!}zn}|@)^%`Mf%r5MHgD~%Bxd1)AZ!o~BtK_2xZ>VX%u_8x+4Yd78kS zo3;G>#q*X#_O*A)TG@sX(mE;?y1VWOl}a%lg8ofaP~%vvdXH53-@w8H4x zOq|B0t`kk3iy;jx#rdg52eX`RGsL`sVZ)l;KO)SQRRsoWXz#QzGr50Y!J;L*?!M3d z2fSC9Me{C{4m|LQOP@4&qm$RJSy=re1Apu=hzTkU8vOE0!_?sx2>82q-tQfqAT%lR zJG&nASf`s|7B1Xr@sfcq=@p5H@D`KF?!wH;Opyy0@4WNQOLl*XVO?s%z(OuY+fFNl z>4IMy1hw!v9+N57?aVQ!Wpt1_b9(xQGCDZ>k+@{HJ@$N=VG0a+*v(CE5{7(5OaJ_x z_uPN~{SW-IFxMn?hh1MYx~_RU@3O~U`#$c#rOTf*_>@P4^~~RiP1N4|?SJ61gP!!{ z!R6Zcwe|Kc+HLne-L?1L#~Id+TD5m4+Pm}4&lBd{BG;Hn!;VhHp8olZcHVWj-FAD4 zVdiFwEOp3vp3cRe!lSqE0>fanKC?iW|88Lxk~Bt>0j+s|fmsVx@nORllPFgB>H4Ij zvp#nVb9c|@gjo#OBxW+dXqciPi;d2%)L{x3qn4s;O`iA-le_zF%;}8Vgx+G9iStT2 zJ8yNo%%v6snw=KhChd<*^7GW&gaFIy%~vA@c^# zH#&8##@4_BM(g5tdaOgM{-T|CA#``YJeTL4jJD5sdCpV(Puo84=v-sbqxiep=xl0Y zLfC1^t~{vRT9TJJ<_?dEnTz=E?fZq})i%YZ4L!X)WOVq&Jggzz+t=3X`wh2i;h(=? z(V`{7eCstADTWR-Iu`(jLHD!_>*~VE1M^X_^BUt-Z%MPeHW-~7A6c7E5f)rIX3cPu z+Y4LJ{X-Z*bGqkk(`xCOvD1{Z1q}*Z&4Kggy&|KNUR$oay3fn?=5g6^evT>9X%8aa zSYUZ;JeD=p@;8glaj9Wa-u;d_ylrj&DU5)i-YyJZ_>mHw43uL(EzDDymx-4vGCDKa zjm)bJlfvxk>bXvsbtQWtTWS_9x>Z=GdRDvD#k=gX%Wk{>PM8Kg*7_;2_hFOgPz8`y z?@k?TyRgzyspWiNu`t$TjZ>C=qGi#d$7KiLR6(z}?0>Rh@}%3lEFg$thiPum5U1zn zFIa0BOblKw){upZsvg5zrV}*_CxxkPn)-HP4DPz)IJeoJKMi{$*-ua7np=RC@^_s}~ekM$_kLz;{vYvYiUh&)I zG2gdN;%}Th*aaovy0<+(nQK~Kmr*9QH6fa8@s*~d)L*MG1u=RP&TCWWUtx>AI9cR#CzJj0wy z`QEO$iB9eA=ve76yO$CfeuA*9cVrCL+MLe%NButVLSdMzA*snp;HaacqPUtdHL<;Y z%;5ue$!tVWu&Q@&7PPP#zqe z=X>6q5!G+VJ8tKcXyLY~4v>{)oN zFeJJl($e44cca6sB2#vgF!QJmFZ$-OFIoIkPp7`rB*fK!Uo)@8@B_ju)MSmj{$zC4 zk&0)$*VX-qFsDNur%vi_(?`;Bvx;_jxM1O8!+_j`YmadIIZQlq3BKNG@uBvCb$dsz z7NW(Btlf6s{RG2occwUH$2Krz7ieV z=>)g1%dOX)o%0-)wZvwuoeYx|>Py@24eaCSWJX5YzF&cvc?zb-J50+SfuWVJxA!2! zjMeu@XXnA5P8PYa>FhjAn8MyJbi?~EhGjZk#nFz}bY}mp@bZk(Z?soCUIiN$1DJ_& zqhaO`vrm)Vi#%`Mp{N;hm<}lY)zkZ8VTy3O6!+adXPP{GZ;rC(l=-jl^3)VJIOi?6 zz<50o8%)hZb>q#OD|y}jWxQFdTz+XLPmOcRJ3sE}uund=iRkkgul0~z-PQFa&+EMG zy6);+p5#01E5fWm+O)WBPB_1?7Ylwo^*0N|}##G7;%Z!m*S@?vB)j2@j z+qYO4lNIx;X2jk1*lX{74mLWPgsbEyMfuZ=&bP|Kw4?K1gf(4lZO<~^ykSNeJ34cK z9MAMTu*UOZj&lpXdF~u}QS?8+e52diPR``1&3H=l+rgr3h zy+|1DWW;C-xAT%+cia8rhN+pFsTfDtcZD$L0j8| z2DjYjJ}~&XmuI$UHDcZRO-5%U!`b);FVAV$)YI4hcVWc39bszs!WqhfMWR5d3qBkF zyBX$NtH8&W#|u+SoDPfXr4G~duhC|6+n`};o0`i;f}Py6gz1<`9ihnJI>yn-$%+g? zy(eb8^0K4s-C&p>=}uAC^BkRs^z+ui{o5#Dl?leqh>rz!m zM?;t^qgmGV_TA&@%<4AvdT;OV9GwM=i-n%vzZmA72dj=|I(KqhCer`cB`gEHXM2U& zY-^!sk+9Hs&1A2qyL%VIJhQ86-_0;5Q{kp-FOMmDGl`GS=*%SdUm0^lr>kdqNXJIu zU}1X8o?qQPM+lP*rqTWP3`Zx>+@g41naPureTS}cbS_#n!7%nWI68aYvI9;wCPPMN zy<^WWiuEm-JUP+n@0#$KsqpqpWtc*Mp49a8GLwhJ0GiZvR{BQ6I{OzcUc6+tJ@?vY zpMCbNd_tIH>rxD&_p?T)f`tI=0|VCzlV=oVem?k?!vyOx5jPp;-n-xvX7+)BJ58RR zp?I>;lM62x?sJ%wA`rjuc=lk%+l9e;Un#8VYHR!A94v}LObx#(r;`c`nC@#0%k;YZI!9*(b26mg z6egF8&0jZq%)-F;()U})`+<{}4^0Wa)nmRdtut@WvAlt8Kg=*^8vnOc)ezX{ny_9JfpJ_Xx~e4$g_C7g?;~2j2UyXq{9bC z=X439^DJb}a#$9WHZ8tfSQbNWs_g!Eqf_r%2xzLDcY&8DNt&Lt!d+~FYJC!i&6R;&2X8q}$vulRgz;@W~!f2EXw3UlF zd*7VSs?;f6kN0%G{bKGoutb-c=rI%Sm*39ij?S|>3!hZNoF(n;2YY!&h;I~GPi>*& zAH|Nybf}lqIwrBBgkgeftabwP<~>K4IUrll`v*=nI`xo-hC4r~I(b=BEiYqPJ2n+` zS)1F23oPf)F-K)qj*3oqHX@mH8F16W7(!Y9Xk9%wlV?N5dHNNG>EXl28r-jOSk^iO z_V&KXn*}^Dn)%y&%2D*N2POM--n$%S!^M#tWt4LaOhlaSk^F?A0*67(Il>joWJ1d!Z_h))5)tIKAPKm@4YwX@~HEd$D9ka9I`kJ z=X4HMV2_y&ACGDT*JMtYNsA)GoVju+S4Y>Zqw}6Y2F-k#$+PE5^QZRJ=X*>pwL@=O z@)pC?70%J}>3bZV4{+BXmwK$M`lG_KORhr7CvwaK==yXnPs3URySw}IMrYDw44v6G z@2felggW1REyGN@qMUbk8Kz!wSNk`G$pH0`d!0J(2g0mn);gR2e(ZROM2yga$9jHm zCeKHk4E&v82sanILz%xhOg^VoL=vv)ala5EGlRDdJv|GB+3ao8i2b)~_KPF*GOXVY z0Tv!0%s3J0oY3UNVVEli;y=Fic&#uUo9WVA$90jDM};oh zgRd@en0#vSC%O+e(bU?1eq277C&|ShC*M0Xp*kPI;d3i3yd+oi( z)9K7tgnX>F_qbs^gED96lQtHleO@n22ONAXVF$xZChrpFqAIug5~K60r~()_e%N6W zfCpUbJ}Qh@a}+jp4t&nbbFJ4b(cAkK&ztoxW)9qx(a~jcyjI~`4U;kUxehb&!2Dkt zul2bGx|Z6V9&%XLm6rd-Ff%Xz&tXkuZ4c*kMWg?kV>xT||2Brt=;Fx#ax+e4h&RT9 zPT~xsR#T8BA$o6#FpC}oG&Fnma=cB>-`mS8yc|W%nCb1Th|Yq=MA-&yX~3)ATkbKh zM3ZXgU_qDbKDfZ7+VDdP-aPIP%jj~>_V%X=%gfwAeWcO3dogRUKQrT%27d*Z?CXjh zuZ?Pk0b_XQT}~0E(@A}?z4H=2qu70qDPg>V*QL2wo6J`VlLc;Y+5fLHdG6Fw$4%NH zTqMkTh{+UAX21pSGhSIB2x(xSa`J4(*R-oXzS3j9S*GL5!h-9uG3T_aGF}y((9UZz z%*#~O*F2_sceS@)SJ36y4b5~&?CiYJu#C^;Hx<05MasVuV5-<5hNo?E!~eJEyoH`S zyxvlGbo{8G%loMz3Lax32S02l>iu9fmoi&dC?sZs3X8C<{ z=-S$Un`4>kj*dTMm>o;meBS++49gUdKQ`uMKJ0mIme35r^=Mh13xxKz?1#&djeBf5 z>GoLJU44cjTaEWl9LO-I(yA6T$x}sp`yyewD>;AX5?$83e*)(0lZ{-v%+b--wyR+n zRoK$Gr>8Sx9c%mEbLl$vb6As({T;6w%H^a!!OP3qrTl;r=4jj64$QEev!i2KhMB{h zyeH+DNi_B+drZdYNr0>Su#B$sF6_t*6D$3zm&L~j)2&u=y-ne(vr~jw%kw|vwQJVodB=Ibp5u6>HNP@U&CRZt6m)8r8r=B`hpC)juk>`9 zQf;1OMt)7ftF{^M8-+={1o`Wtk~|w(OtbGaItzHo)6Y6A{HVt=+mwIYVYwYL{gY0f z{KX|*ot>9^I_5&>D13FL(Ro%G#CG^<$Lkpl?D(peXMR@u@bnECosqbP+$_wC%d+oy zUOf+a%{{kgSmB7SpBR>@Rm(a$ex6}ga_;(7&YO2z^iRbw;qE3KE*O68FnLp#+S2p; zW;*NBKY1)86!C*ibmpS=zXX`jN9JHr^iRS3xL3cm?N#_KyZa|%*6rZ+PxF`&$zZN$1eoIE z**R7;Id+%;7XE2j;G= z<}15Z57{+Y_)isvompUc=>H>_*r!|Y8fI#}ZeruCoGw?}eol_%YNK-t%oBEWyu842 z!pFpXdy_J+$6i&&yu=-2j!^^byn@#^uD$&=4zqIh-}xC`Mg{L1GR*6g|1JnHRW)H= z;F~hKOdgxVw>S*MH;n9U8J*Xm%rGw}%icbRuC47I!ZP`OE_t`ZG`{^(+u8NLoGz2r z*7p7;d9tXZ<3on!G-l+bj?OPqny$LLKbiA7S`l6rV)*Yfo>#*4kfQ5~oUUl_mBO4) z)Ma*kxdmMdtnKO&ovcy2ugNj9&)RXV!;B#F%nhEdpz7%OR!%22XUomGJoC26yQRSL zhBRR&w5{#CIh_Zv;QL;O3G)Bln$zXtq8!Uv`M#tD-TxGm*gIOtn}b33!xnT7D;dY_ zoh|78377&jzkb|8hr=+y_nCU`r=Ct0Qnc}KR}0?9#^B{7{r(obhDm|5j%Szdo^jWxx`$#L=Doeo%;o7RS8rJR=B@IWO)zdqcb(|5tX<027*!-d|wVx+)w$Lt6zTHD^fxy)~$Il9uwVt)|uO51A#OfGzV8S@g}SjI%eH3y>|7vyxlEo2uuOzz09H|KOtmj3@o zv5Uluq(Vb``&(Pc%P>*8X|k*Poh|5gfH`};qIYM!LOpg#hWTbl)%!}A6TrU2V@%i_ zSGqICPvmq(OForjZmLkt<-+(KpZbQxUd3>{`IQo#R~`Ky$7uC6fnGV{+5pp@=ei8b z96)}33+#pr)0-uKeXGFKG&nmtZZ@nW48^y2tTaM8zF*>XvwLUf?GDT3OU<1nI_JN( zj-SlIqPCxASV{HIg_X*>{e`1zLhs6WodWy+{|uIgqXp8h3j6ZFx~GLL9y1yqgl#PN@6S1}YaWj5dZdKu^E6%E`&bj3e9+^tk_Y$|ZOxeI+xraj^1apbn&^zI zeSSulbuM$_;)2dQqN8J1hdF`%|J@2Yvqx(75Y|N1*0yI8omIB)W0-Bjc~a2Z&w2Bf zWpo99`;#)P)Z+hb40&1e4)J=uOUODp4r|t7+7EBWO#5SEnyk2<)`EA3nA~8;KKxD- z@ydd15VAR3QIeOvwpnGEBUD?Y_kY7XO`+^EyoaKh0qU5qHlE=v4Xq94n;0pun+FIqx941k zv1IEZO21iWVE(HMx?Jx+8EZekg^m!@D0zJgx;JbWbB(px3b$U^f-b|nTdb=tYC-pw ze-L}Cr_0=|;eT<7SGbhC(=ek_(Vj2sCA!Sfb1+!mHgdcEXC3dDTky`s+S)$R#Op+SvIXyBVeUP1N5`jI@a_onMq74y3*H@LI7tr{ zxZ?9Ic>j-MSp9`eFHxZ`(e>pFD-GGJN>~;f{|wCg&sM2xOov~v+_6;WbuIKZV@SY_ zH;7Kc>|+D9qPyp2&#PF>u3K8jD`8Fm2Re6(PCr-1hpK$3s%!CYTJSndYW+bPi0?@w9bZ1Iw?nP^)T%0u;P!;CBozxL;Z zbm%W(nOoY|w4f_tMn_L~ZxEgQlDnn1|8(PJiseDWzFOkv#srOMkf$T zXtZOyGLx4_5WizErz-?pozWpSyT0NuIHl39&TC6_nWpPKT`rBW_3eT#hi@#f-1M7E z7?Z@;CG=Nf|QA9ytPM z0g3zQ5A9LBp(Bb{bwmyQF$(Sz?&CkUN6CXE@@Q{x{#BPQDgci{z88gf4)CzJlGed-=uxt0=ol${GGO+ zO?hX0xVS5-e0(15hIW!aXmA-cr0BoNFDEA@lvClKrc6q}Vt!$C!hNblx!QrwFN1xU zy5AuGGsM9C#P4rAqq@q-PLP?B66zvStVFr;H|+mD?foTnr1)1P@&@B1xf_gf`YvKc zIDcd!{T*!pk6(+;P9uRu$V#|R zRhHaKhzWG1$c#v_a_S;@JZFn*14BD}UoRoq$ z_(j<U!`isoF~{&SzdydJuW!^~J0~ie2^B z`OFn<^P)PxOuYJc#^$4>ov5cSna0-trXO~m7d4jf3zqps;tBnplA_-c6F&rh6#F9D z^&Mmp1C`&=XTPB>zeN{VaymSJM&<)x|Iv>geAhEzRr)3}nGaJ^{5kkP3#P<< zM4nzp8_45rtO4J~e&L^|Op3Tq$kPwgwimPR5YH*8elv0K7koAZ9jT&q_kH;1>G*|p zIc5)$fTyHr6EvjC67=wgOwzlNc`>~G#Lb1+`gUY-pDO2%Xrw=e=O^%x(m%mNO8-c@ zgnqgK-ajDwI`V6+~dHm6Y#-BTh zXV!*aU?*606?6Glh@rpXpJVXfpUA&WJUxW0uOa`B=t6G&OxDH;+V~A(UVjt{*(tt? zxUZZ^8}>x!S-nyHSmZ5a9{4KuoXuDw)qh7!Zey;yk$G+bwj!fK8{)6BM&3nizmzrM zCS<{rT#KFjF{But_~rD+U(qkyZ^ow&gMAl2pfeQ)Z5=HACfLoiTePGYU!-3nNe=Sk zYq06-_=0vslK&m)XYGFpwxPH3A?Am3h*5l--hv&_R?nqPv^}PsaY9^*4;|@Op?N9& zKpx*h8CmHoss9z}#;z!S8M$m!9et604_{(S{6YE_-^S2X=z~Z$(!T25w4XoNQkB2a zU%4LN;r|pH;(ud|!&||35q*|`rJ|#+5@f{meX73Xk8f4xG5$&EpSz=&azkas(EVVf z=q!9YLtM?0lOpcpb4c%?EzhC7jPd9MutrgiC@0jX+{aI%oo_|< zLHLb*e)>+$BiQp6>MnxjZP1ffz7BRRF-J0tH ztt6Et^V`H3@*6i`=N-tq9=ZHsvxekK8CK2ocMNp zMoJ{_Hu$Ko-U@ylw8)LVNu6-+EAXZ0OTnt72)YWg>o-$IXC0m@^%3n!{}Uhl0$R0E zZIj)!p)uOWGY9SX9y+eTMz#Gtlu6a&dZUE8nD$3%v-|;H{TtAdQur&hss1y{-zD9N zuAhTrN1gk$fvvY-6MxVx`9AF-Rewa8JR*;=v;GtAp{tTA(8iP-A$ zsb8=;#omMztB=5AQso!WlTvJ~%1-$KJW`)uLQYEg zrT+blE?3*d?jOua>RWqU)ACNAn5}nVelvKr=D_5UHm@EBsTZ#{YcQp zN?+_}&LuWg4^M?(P9F~wv!a7H6%Taj`=KR8O6ZNH=Qi@6VF!771^AVuFM@HOP9x*< z&^&-|NHKUqN|mdAhVl0WXwQU>JRwD2qO63RgghlRUXDFqrjC?=r_up!Dok>w7?<2v zUddXx4&Jq-cQg0igk0{cS29nX1n;NuA9?&P#-hq=kPQ~YlL{MT4!xWCgK`32dN4kb zEND|`)8o*mvzeYW&j_zvQ%RYzo=UV(Id$1*W?L3|bvEg14^zjC4BTw!mAEw{Fh5xmO zMMH$eXlX!}@iUd~!d9>0os+mmtoYjpe(|MRRHeGWOK%IE0=^7#E=XA%Qn z$EGhZ=YZFL-N%?gw-V))Kl+q%A59^jl#uF|`>xqJ+vny z_e-qlSFvV&nKp8tfLH$;J^azP`WNvPP^|e>QZgn}ruF0ZXsPAKb^>N22=*37UvJCMBdu<)3j+ zN=fl=;UTY_OZ&M`&q4Q>@y`?4k9?4FjQo$G7d-s{{{0?$Urqa#vW~n2AK}k*6*Quy z9K95oN*|?sJn?%TeE&u|4nFuB{L#Amy8c1_anp#yfHjg{$N=wy|08nfo3J+5x(f<+(Q@t0AA?o%hCH^!~rxZ z<&@`!gmyjn0>%@tC56!gf84<}ZzCq-|9yaf66)6sP)KKL4QA$CV<18qx4F?Pov zNB$MapzX=6*m?rv;2_5AYWxFj3U7qY3g=3()_n1m;7*iyn%N0&_>2r%o#{M#pZj6 zRq9g4SWJCGW#*4~BQg)e=lUa$&?VHRq)0g9H~l5^0V&Z~{sv?ASKN~t4Sbj9-%9Lk?{MO?9@9xdD66BFB~pp5zBT%**um50P^xGDs=+ zDKgUg(0M^GXMp63kga;;#NaW!sq7G~+V&>;L%M%~+&|Fw`lFrHCD>c19A8VEVN(oU zicK-R3Gyn?#b+U723fP@q?r2zEO{ekQpCQZ@lK>6qJEW{VO{{?a>*Pjm!Sb8xwKEQrqC$$wC z>J#cy(cJ|fDboEf!MRVBsIUH!@%Sm~m9FC1db}^H|DN;Xt;GCR+WK{5tL_#3_<(y- zEbRT9UA%|%t`7G1JTHBnbBg1L^%FXI-l9FLh(ndhD`1uDI(UAg?ceK&8lUC{^EIUm+L1`flKB;31{^QokQ^Hc-D2oaIt+*h6g4du!n@W7jV8#}wnN%17PWPJx4psRd?oYWx2Rd7-?gl_!8Hyu&qyXd)= zx~rj)pQ)=JMcs?xrLFNdss9uB2=~yXn`GN2Fyf|8o9k*HKC7amehm0Y(C$we z8!PlrvL4$=@t)+!iqM_F-yl^UhWC2(Ux|&_kz!AToe}m_w~~{p$Vwzs}PJ=d99tSUePO zE)#4@KSPe+E2NmQlwwCp+tVi?1HFxi`(3~}N36bx{Lk%CGJxFq+>=M-$#Y10_rP2f zp9ropdHhuBJIT8!lTuQ&mh>R=+`m#@3BH2zG29=={juElL$CZ%=7^_r{{-%rlb#LD z@0ep&(T*y#@HRGK(=drVrY?E}o`|}?L3af7F?_p`lM>#QCc9GJ3tE+T=Y9|F*OSnh z{0UxkMt`JzFDJ?p-nONC-A1oiexvoMJLd|qD6P|6zUFzj+Dxt zr;+}O?7vet2u4cOrYAx3FWm13h8+p^rqIRcj-SZAY}$t$yW@ws{|k2YL8qLQsLj39 z{ek=6a}Q0lfHEoVAyHSC-6QZEOj?T0gGl%^JrFweh5Abge#8C7Ma`}Y&nEP11 zQ9r<+kRtArV`vYtUnj-KgAwZqd8+%>+#d(Ng0k*OG4v_r7(CUuKvx6aNVYA8h7|8a z-4fFNU`hv&9#2|IJ$Xzy0gn$PKM1-fkUx(4W!#GfJf<8&lTa6NpNdCGafpnBSWQI( zPt1LcoJjriWRhZ;JSI;?M_o)g5e7{{AEoqL^eoDxRK8Ka9Ys=qa-Rs(IFde%uZQqA zDJFgr*~xuEoX5m@awxR;COw+G0uT15@I@=|>kCOk_=uEh95A-xeUTwLQo?;CjFjqr z4dY`N9;Hp(E5Tbm9a`p-REcqwC@B^e!K?X&6f;&6+LIiCtfRmcyW|Nel5M1fRDTio znw$0l-;;adE!rI(=8yy|-j&3CM4s$MqCTcRMsCDh5tCB+jy`U@0Q+cTEIYcvHK%C4 z&=?~ndy}iId72avSM}$?cN%=;75MAVr%bAls=5b{iKmn}iixLGam9TCmh3~Bl%PAt zS5ZVNLA#ePerGE@CIn!LH<_g-%C!4-_898sQ(~k@>uCjl-~$WT}q1n3ygB~ z7RnzY(a-fGS(BdE$@eMf_%XJAh5YHPUti?@4b-h+U3)y~N7!;aYu8t?r-S@@SJhA>`2fXOAj&o`Z1+Hs`x9S+!!EV zjNErXhn)C6_-;e@tdKXRXZkn&rhyM~;UstznBo@2!)v0i^SI`C(F zA^g}Ie~GrTAFDqJ+4pmg&l{u^{VBFr4np3ykbNL_j^i6_sH=amH~tRv8awoPN*qPv z|0B70KQBA+3H=tyZu&8PBQo%Loi;V_QzE}H78>7%mORE^jb}jjOmq;BiR9jkFKBB@ z+*awk`V;9h{N9i~iUHbN$2WD_6Dh|yJ^(oIV8o#3cjm9A35}Qw2~O%K0S`|Ds+;nPvQOq(lfb_$&V&qOA_tBz^n9h z?nx>2$+JnDhA2JMC~SqIH?k$*DSiO`WMPXaq0I#R-Yw3@n&By=a^{YriGG;-uONRP>-eZa{6zF!d=lk-!MC7GZ70Pq1|uaW zK!eW`_3L5e=xmVU4b;OIok-4oBt2WHBbHL+M>P`dittAR|5VAN$B~oj$Vt&vdANsX zcFtnR)6a9pqjUpv`s*1RrK|GYPg*JV`DG8da@Cg;pVxh!`h3gMPZ?jsm#<&s%Ju(n z`E6cK^gAan`ku=xK97BVnU_=bhsj|_5R-3(eUNle0}Wo#J9Tos?QUj*L|M)yy5fcHs3Cv$38#A z>#6#3;`7ryp7^}(@zm!HpGUVlxtDsniZ91LulhXk`H{Zg>%N@&ytl{s;MG^ZPvZdDZ8M&+9%rM`TzFDG7J-REgW=gVL4dJgGxa;rYS z(C4YoAMkml-_hOe2XHlIg-a`a1mzRu_8_`L4(>wVtvc1FK& zd=L5dJ>cti|Fgp@zCQMO)#r)N>po9?-tc*Jm*Y?TJX!JO*vn0PdoS~O?CYyOZ+Lvs zJm;6#=i7W<_j%&!>po92exFCb^zHC@?DH+&j;b#wKCk=yLSLWya>M7*ue>~;f5Fqm zzTC*<`f}>q-}|8BJH+RSudn<3X5XIEvU;Ci>hqg@{*ccr4>@_q`+S?vAM*2Z>g8VS z@rEx)cRRk+<9GXf(O(>Xq|d89j|QCo&-dku=Z}3}_4#GK{-tc+V*GKm_xfP$sKCgRu7kawX=T%>Sy{~^D)0^@6eD_D3+}P)- z#~VI>z{|Va*Dw03_m|Hr^L?D&>+q`2>pt)Oo5K(B`8rR3nlGoGuHp0O*N#5%beH*j z%W|hD@qCy1{AQm&hrsOzUWcMccjm&K0iMzd;ZIO`8J>P z0|2&eEcN+1pP%FN#PijC`Ffw%J)Zjf0gvzA=KbmOhOdwAbM{3QU+?oT__#`Z`2k

    L9_Q+-UVq~Ay3bReH+&x5@9eDjJob6j=ZVkj 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 z zEKUrH&e*-gqr-}FXqf`?hc+?^ydPKj>l2jsTn-qr1`05?@+}?sFvFtCW)9@;gzTLE zTZdx?B(%OiX)Eab#If6Hg9#2)A4{rU1&+Dk4;F9I>44}$iA_H^SzSfop7;p_e7 zd>yQN#;ped$2nV02*T@(LLdLhIF#<(ys1N<5w#I*C^422vo2U4C|ZS2u=4WrYveof zOs>4Ibcb*s6z~o3oXW;?853Ss8K{od=+#C|ygKN;TH<7Nyw>)7huMxLnS4=PR#d6N zTUA6hm@C5!e@lek7V<5TEeyme_HG$xjg5>;j{SjjT~J#W%9M&bUH5KR+~vCWy6BJ~ z`LI{5_`4Q0$1lR_LgeWcU7kkWs(pEB^ommb%2MNsQW$?PEDc^%s$X1cTvTeU^xFG~ zdlc>^qB+wkySERHoCk%JNg459#SM@%fsT6Pau6yCp8&#bqtBxLF>;EqtrwIoQI-aDsNkbj zBB@!vt<$kVe_hJ&@sQL&vg#9eboCVFG#S%W&w{lE}< z656J6xU%OULLz<2u#-HnLc)plQzEC&vR1hAL{~j4un=*|E@)ObSKn=4?kUE}vQM49 zill&l1XzmnFlw6*xiX_HkSD+4pw z?1+nq+@g)niil-lr3yAj0)+jg9G!%QHRd$r{o&7A(@4$vm-Lp`xL};T)=-H%#Y^%Y zX7dy#e28>pzd6~d!=2+VH-PmwR+R=sI1~Tohy5tidV=Sds(H6joFg}gMm6(&dnGZ+ ztf%W2j3te5vSlku8iI7vt>~?t6k$Ej_lCLoH%sk@Xd+0l*UiGZN?4Cs#-o;agj@-) ziAOB+eB17`t_;gd!sa>>rz%gF_{eqkFh-Oxzu}gwF@qzSr*;oF2@|gc2I%1L40hOel_ZalZPL1xU7-p9k2$^S#T#BtlK-_&V+hh}xkag5o@X3Y1# zZ)tbO6Ui_c49a&&0Y)Gsi2NAVS4QNiapQ9*u-*}uvYlIcF=6K4e50G+>0*R?KkJ7d zsokr`^T)len{Vo(Y@f}$^aTEVLA)NLYpSN5CTQ6Rt_!zuiFuA{y?iFv6`Q>vHr5qo z^r5(E;6AZERcHC*A#f8xSFBL#;RJh`m*R>Q{{|JLmYS*qyc_w;R<3PAmIYbKTv*I@ zdqEn19;dM*XcuamgW+o;^7@E;$T1#u#Dj4!k8C~;hU{ROsT?@d9n?iAsMjx9$v7=X z?qr#qz|8?~qqt*OKRK=sO8MG6f%`hZtb3H!cZT5ZCXwcDplqh^iR=|+--t%<{i4or zm+ifaWkb1)_ijRGs7v?WjrN|W^UWYfDAzWE\DRbjXUQq_7*6)LVTY{FD;4vGahlb)E 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

    o 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 IQ8C{8=l4d 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�jrUbRUsuc1O}P{7&?sFUIKHa|UH)@{ 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

    oT+2sp-{~~`G>V~<{ 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 z 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

    qz!I87bUN}Fa_bxBoq2PlL;beB-c<6#C7qPkANr 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

    2l>sDs)1zEWpHi1Ka{}QlSG@+{NG~i3o6h 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

    d|sD{8E5+vGnkV^2u^xHR8LJ)A@x({h{q?vC#h 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

    4cZny? zjb&tS)zx^puSTl(aYMlSzA&b~@y&02V=ofjsr{;jJw?QNQzO+V^?)$;u+5|J`ov|O zJ>)~0VwKl?*0YW}B=(_gziG$+VQ=-O?R;dbf7;HG;nt~`+YfqEAMv$q|I3blYzJR~ z+TLfDIy7fP=_4Ev>18My&Was+daV1jm^wXnjZorUA4Crh&U!|ULA3x_{D@!qL*x-W z@ZM(OmDqaJSNb7ejtOncuHzw3q)V-y+x@Z*oh5VJJu&~@nB?~(m^f6-neH#q$}*OJ zEuY&b@VmQeCi^bQcMkKR|0E&XSgP*`|8TB7Cc2TuAa=bN^0aF_<3h!vf9*CR3)WRL z{(Z|L)z%pDSO+i1dLH%tNBrRHnEEQ#7B08{P*e~2g{|$4gVE|c*Z3aNKj`jwnHj&1 zm#HlU%j_|6x?aw;Dc();GBeJ#&#~LvHh_ux`V{j(#p$g?EMO?vK!t<`>1>v_kKE z&_ATw$u{B?JlPgU;w|X{R<(`1&ZgI$CYEa3Mw3QF=j5NX_%u{Zr88~{6hWnkM4A4x)-;%N0be^Je zsuPFfbwZvY^G}G>QlXCLl(&VvQa0TniofNYFGO2Y=P9CNkx^;oVq>&hvYD70d9swt zr1oU8TmmD?r>#JAA2x+5YB0~2#`hz1aL_N!V|6yz_03p%{MPKkdalRrfH)~j%%XcZ z6DM`_Z6kiQh$Vt3C)<)Mb^f&)nI+AxOU@bBAWT zF^gU+3V#=PT6*)VWbsN-C+Y{%3eFQHRX>r)3t3uhL2zz^TD(i9dXj!B0D9lXygg7Y zBifC&yJhRe5CV6^T9tWBN1{?LcUIUN4MGagHy>x(?&p~Ycl4GL&EW8rFCj? zg^m)r+Zw$J_Ke;RI_ptPkIM4hx_c+ask|NYfcf(N4GD$-MuiSWgpeU%TE`fe@hhwa^2GPkEx{Bg28mqtkyxTcyWDt|TU3z3LgSdDN`wnyv47#>ZZL zqTs=#&Koj&>?z;EV^!_tW`1I-PfhiW8T;1UuDa~06D`(;c?r4qzfJXnsZO?H^Q^?l zuuSjHI27PkircM#`G1Tb`hC3PySVzEccr3Vk`OHYmFIm8O10lP6aAN`KJwHzp86KT zg0|D5_UH7R!53cq%l~>*agC=gjT(y)cL*Hz(}bICZ*GjZX}%U+uWt;ylFZ9d{~68X z@~jtqjw{xT9QSzymOSW%{r|I`_fXV)IBJ_m5_TG8nqprh?Wu?$9J0=)<=zynK{8jF zd}d<>IK}N*I8lGb%k^hGkWX-z@G~yS?@ffLW-Q#A@a}o79%)&307uQ_oT11fgp-D` zg}@}bAn72YkW3Ajo%S(WVW8iGPhFlQqxTvl14fl$QL=>VeCB9rx;yF@qXmDWm7Ez4hu$|ks;RGEUjV>+t^*-4bb|L0Y9jjSYRd);{fHkOe6OB=}l zA5%L!)5%RiHpShiSm01^?rhJKW>la z&Fj=N_+8B=!c#pgmc8h7?J66Ehuwxj+i3L$T@W0vwmm7RKQT}z1;9*cNYRAt8(&|-!&2IEJqDE?XQ?7c1&s<`WII-GmG#1L%l;6}d9m>$ggGVY2oA2Z0^FZ1)kzT$D_n70aF- z!}e_eSQP+G7sg_X;GIyP`R3aWdC?)y4{{4YyI!_*)5|#LCCu{^ImnAiyZAs% zJ{U`}OqBQ2G2LVkM zrkV-s%gT`?SMX(?q&mLbl#wrQ_%6zqh96(6iOGrX#>R4i(3~{&<|9=_b!GIGjaFzr z+PkAC%2m;^k>0CqXEylPzlll%(*6PiglEB-gT;XqKn3SGb)A5BNH6?eI`AKg@}t@! zx-q`WA4O&6&yRjpI6D$t2-x4rt92Tqak!d!wzEbCw9XRHi2~)I7ouTC`>FQt|v{A z%=7zKsFxaZ7C}a>h+p+A0mR3l8hzgPZTIhf;W2;CPjPjVoH5a#1lajipIlTg_=TtZ zL) zD>Dr%GWnGmEWr13uVJ-P4D}OtTESf)87q(D*wghj{CG7hf2f*+w`7+4YGA-FZRZYD z`!&Mq0Kw(?mRf?VxkXNWF|+eanc&4t<4c)_7c=>n^tJzB<@pY)Z-Q%IWd&Dr?ar&L zdNJ^(IAy&)K5%*bB(aPP!&0=ELvM*^R>mzeaaDZIU1=xfTxU(SNrR*Dmg{N*%UAFR zuG4UZHDMdISqw06>>8<_6l#RE3uN!+u2#6Am7N6= z%hJEE>AeJ1ZpB%3ngF+68)~M>!?@1zz#JUiFB)4L&JxWJXaaC?w=}US z?J99N-YdQRQHhYL+`=-^|36b7~ zUR|L)YGZ&hBc zO;EX6d3tFML(a?k z`cpaVHN7y7g{SnwSQcK;3lmtt3g$2@O=qMM4=?$ORo->jdop^XRR%~_PpKa=oMRL*l^P-iEbI7^jQ!sd{h0R!6v}3;RQ%hz_5ww%nRY{bZ=4JuTGxMq-7b zei`gWLb7pctZx<=d#)7T2sPY7NA>$qCjvrs`cwkwT%BJ^$JeBdMHwlZwBIlfCXqN# zZ*y}fuv4h6kczu)AF*VVoqCNw>eHuilcV>^PZ(7vsS`lW1tGg#Xt%YQTqN}*PXY_ZdH z|CxopJ@CeVXSHKzNdoRjkapE_g!;~^rd_QrhY5y0)yw~~5+7Sbh_sgn2CT*gU#D?A z$q(v`4@q20f=F2;L2mz3BUGddxx`t;upDjKMgd#9cxxOH&26`7v_xUC=t(31OK;d*;oi(;Vmq*Tx8U2jjhUJNEe zLXKVU9@VRLw5O}3H_G4C9rt~mfTyMDn>zJvUAk7HK|^vK1vvyt>(~Q1^FiWXmx((K zbr)Gtmx+4}b+0jAxliZJXTm*?8R~EBxmm0>)RTtJC`oGiR}FQEsctj)s*PHoz*jxk z@&oc|{v@DKTAt5dnXfnJ<45$>ZTZ-r^SdqAhp+1dN+9k(hK4fiEKao`4brY6bFT`kVukNXVooV-5aE% z^NX5SW*k!iky~3GG*YLZPnpxC!PY1lUg+8^1@|)cAvtV8-2oH50nvjCL)EZNWc_e8 z%!*s_cwK&&TG`)=(Hp*Fs1Xn{PEorhJ1|zn;g((@U?2$`Y;h3SYZkhi6*{!_r0+Eb zAySdsqGtckJYv*8Xs8E_6Ggl^7K>Z4By9K=;c1Y5)gGJBHkmWEN)SUOnEqz&n74De z8v-o{zMX5jDmYCn4K`7bxaMeMHNo@(qhTr0KOI*X`$=&&dvxqi*tx{xOANJ`eT5}P zc0Xf(ZAEboSHCn)m9ev=b(sO3F@jz6VgsRWvvH_-sp0;=lIEvLcUZd1`Yvhykn}4! z440?Ot5cYoP2V4k@pX*33k@f=W9`@-(p%Jy-Mk1cRw0j*Nwc8xfwGp7pk1hkq%{aib)kGFS%*T$XbLX4;*wOV7mgFami|!~6C8Q(G((@+}LK(uX#Z z-Xa4-))!hV93X(5>l9ggVYk<*rnf>A#VFk*R~m#y+-)K;9*vP}lGp*mhFNjG=y?N_Al3ClxQ5<7jP=p*oaz(nbeI$ZvqIir2}tT57U_}Ek3=g+E|KCs!+KMA{}N6cKl$ZG zQD^oo%l);~JKNEV2k4ld4}|liS1K1j6FxTjC!9@Qlv6(w6MrwPTM2CwzgR8hFMDnm zeY+ZW7q(OFu2?pHo`Aw4OE}K(m`L3tlHp2fWb!GI=}adxglFfo4rD$D z#K40?pTWL?f6-Q^D&D2Cie zHi|B1$i{=G7mmw|VZ(3%Tq=g-j*mCJ-%N+J|FH(n+-s)s}LA!EWZ<8zZx2F5o{I!#QRJbAU)q+#;NP4=Jqu)v$y zJ!RTdfP$MGwy8bM-kf;BY3WVD3>f~jw&~`UFG!N9+1s#rtMrU;^H!f$;V@6iJII17 z61zltZ*n8wmx^A-t#~QAuzFxOc@ZO<5?ZDk^Lm+DGYZC1)iKuba<1J*NZ0*PpJ3{$ zM)eJcA7Yg9+`9>v8V|TyE2Lj*b2XHQeSocUg#R~(AFH-py1=)4(ZZzpBt3`R-@>@F zP%wf=IaPD@;es_EHfqC zz$V&jvqDA7|Jn-@)Vv@;d1?QK1iHXu)s^Pj-sbWZ{TmWMc2Qew&b?o|=rsVS9|+Vx z*MJ}GqMs}AuXJ+s?&vH5XS{6IHneK=ej>cTsx+f5z3*rRK_8%hYUW#jcRfGHEZD>Pp$8numHLq&M!f`ku8=cJ+TkoHT;q z4_QL|h&>N5tCVHmR&qOAZoHbWQW2upnn>7zdR014$nC?q)@#&-LXqGj+OAIyAc~+{E47H7V z)*v~k+YMpC$sn%lpCeC5)eVhif{3I8CK@|uMKiWXlxzq6N{T_o6d8Ad6GwX)BpZu6 zY!BN+VOxtbZKJm4np+RrQE!=MD{&3N!lkeImPbNUzi*55W_AM$bmY8Su}Kr zuRpIj$CGmsrJ?BJ~Hk%KMZ zCV@B5y;l^D$Ug;9iq9D5M59sCSJAiWPW^7@@Ku`c=t<}A?X`uEu(GyXX_682B||X;&iY<`4rv34zAoEE!S1X zMjma{xt-l(5=U$2j0d-r`77rzn5hqmA0dAgKT;kQ|8;=AV&z6(+*mIyGP{h>IW>7D zI-76>?IUh?h>*Vsfq&Q~jlZx4g|Lq{MvMKBJ*F{@4^lE15Q7;|Tt!dRUBl4y-Kb4A z>N3+`Lf6~2$gE6`kIq}-FCIyJ@sKC1BfjaA1hK#%yyi~rM8H+r!fJo{!Zc9R#}=$$F-WBHbc@JdZN$9PRZ?YBiL*6q-By>B>O zSy*h_jFOyy7}`Z^F&{A2^KENP%)>@}H9n1iA^2}b@HiId8n_9j14}&ws~eoD4-&=Y zV5-WX^27gPq!ifP7*7a>obAhmc?478TTh8GPLp zxhva7X}73A8ZXcRG_hd^v8lYzWbYAZDW8DFp|KC*@NMWWb_8o2TAYEM5GTK{Sd2tY z?nvObhCMg@qIVV@=C*iF=4iOd-6GwY8=}LJo8`v>VMb1oQ+32WUDf`;VfK=f<#J*n z2Zpv~%+ITcLi?SRZ%VPyH1DZ;%zX$2r`sU1v;2AfOF`69D-Jq8q;6Ug5ciM#QcD7=(6CFSZ(1ee@U=or1urWZwX=F z=gIO4QF++_=uxOb@KyL7HDezIFiQA_QQ4*JR~89}oMmIn9hh{NYpJEJa+lDjrW~5Y zA=qy_%a`l#aU7FT8CQ;ml1&pI+#kVF3VSmN-L{J5&1Bne6_yN0I)2oa-&%; zXrbzV+8+gjm}K`g1~+UzPPNiw%_%>vEw!5=rU7Mfkc-mgbft$qF{V7O!#}6A0G9`Z z=#*P4zqiV_i%J{F%|vPy8D z+f;cBa@if#m7qM44Xu^cl9O!>wCumz{AhU!aF|>r=TI8w1KtsH>aEmoB;$uYLkVFpY%7Xi=6|paGRW=p~Be zOzhuEm4{Z^aC@rCrU;rlM*h*%vC9xZD4G?Qd_~Ngm0y=HLV-Y@zNB9;F`0q=ApQK3 zW^8zio1IIWt!tZm?QZ&lHdISR2m>Cf%LXP9CKVd{W=JMK02Ka95wP&y`t1=1M@Ov+Qp=Uiz z8S?F9OB=728tY&AamRSVab{WV(@%E%d5(3h;Vd_Fw-uFSh?YZ7ZkaFUwE%0G&+UVA zo#Z)=&R7{@{o-+<<~oTr05ys~*&9=9yIf$eS2Lk>lsVr{&2KqLoZGUyN-S}5GQF7Y zFi`PJ$wg8H4R$$sTyG1BoQF~TPmX%PHm-J^^&X#W)Ssv*$Fw_-JL+1}MG&rajb5U6 z1iHRgE4Ax;Kff?8{G9~mAF)K*L&^gJ+|ccPr^P&6&5IL*^C`2WF)MMpc%^MR^)bR z!zLUW=)yNtcaifSFYU+Tap$(Sp3|z%Z9Oh7mUEq|<;}*momk{LSGfR<<)HJGxC-P3 z(8X$l?BAEuR^gUQ6#3W6>{GdFlVFq`odO8Z!U5l>b+$@%Qxw3YfoMs9tSs zJXaE*_pS)u5e2YY^Q0P#oW?idnV$Vy#_F6LX=ssQ*dU1NTU4u>Xb)0N3J#$+1%lPE zVe4;>r7hzh+Q2bv)cTuyt}%>jjrqw6i z2=mHR)Goswq8UZB=7Zj`mJF!QNLyR;Oq*j-Eu`9HFQRMgN9mqq*lOHkiD;-NYG=Z% zS0Lzd@{riCPQ>3%sI;>>u`P2NIAVdp_6HKmo#F-Zs3-f6ye|=dK_7WvBDgzo2zTMA z&yQAL9qkqpoD={0=%nd7r9N^eNZ)yW0>Kue(_} zsK2>5>LWM)PZx9SGp>4%xhuP#bCoOJgo1P}q0$CNnMxl|(|f^HpH=Jj!;}w@+k)xYLG1IhMUqu82SV(WeKFHA|_1*HygpHUA6 zV_tpX$I|Rm>(!4XeUy_wxn9kyAM_QBqy?_vafOO={M!AN`l^)D=YL%?&#HINu2-kj zyQkI{)|7s8YJI{go>H$)tsi(+y>WIu`%~xZUwxDntSNDosi;#X?RKo$bf?ng$M3+` z7GqN3GI)vC?DQjcG#xvqXoxB6c_J`ag>0tU1X%S%=$PU4JQ0hUw=oBhQD{6;_HKMS zqs~}6x@v|UEt_W+Sn&%SR2WB!Qo2x6N;!^L5<@194&_ zqcPTCaY$O7Y3*25m=EVIU2S3z-%~)9>4|BG#b7H8q~1M|jWk~AO_P^E7Hr${i6}vHnZv!>uFU9uZg?g}p&*AjcIkLG+> zKnn=bdqc)u;GF%!80gb=DRho1NBo8m={`v|kl$j7M!(*hLY}Mb|9gmA1?h2`7{NI6 zVU0$=N^&^iLZjpzHqv}6HufKk{u6iN_D>3|hR1Q&SzPHlftGP3=K}ngq0#R%@Id5r zo}6%P>kz=Q4=aO^_jQcn1184%gTiOl6)_L8E3vKoP@DPpBn%X5k^;^wWNlvc2g?*{8 zkO2Nc=4t0*)5CT(RI{U^%>a`>&ma}Le})kaFZ7`RRm|LV!Fsxk=n->WJ z%-pelM>Od#7tw^@7QIWvSBO{&oiuR>@^YuTT-!3n5dvr=#}VeBL*jWG#P47OoQcRtD0ea(&qWxvNDsksFYWLf({Q z_ccZlCHA;dD{!4TjZcdPr*WcGO``d3(d0A+a!6B}7{8uY)e>XMw>P%^In_xXf_&$w z4hOyG_g44qqN}Yt-j(RywrfcDQ~fJJ*XaVj!U4U79?`o}BX`^$r?;i2($_se_LT-K zHU=338wWim2F3>k1J$501KlCF!hpysZiT@CzoQ4MVXZ?~%Rz;K_K3&D@cf8T!<|vB zBj-m)Y}nK4@{;ae209dERuJzj11#!p5^VQmsKtBRGyh ztsCJIsWcuxUT;aXrbwujZZRjh6BSco(r+eqan!(Z##nP)ipd>Y7fGQ;Sb1+ggma)FW299kNy`b&Bc0B9l0`)=mL zxUzM|qaW-Xo#x3Q>9OdCfZRe!hI2<7@`K9z|FQ5||CVL?#5|M5i6fcc zE>JMD`reB?HtiPqp`*h*DDVPYCf{w$s-q!IhV(2QFF7qb z4Vtvg*>X!4cOwkxDc+7L_5iVLl2iw7zS!Q(cM9BdVvMr4M_a%%^Pxv$eyqVb6q2mo zjBT6s!(*}ti&g<$I1jh4G<#D{EHm1AEUJDV&7Ua(GEru4@YNrp3Z&Oo{thx}%=e=U zd`K)*1}dd1qTaG7zdpYW#^gY@n1zwXs7ClI8;1sGibU-K*Zb-`p|25F*Z9G*XtKfB zCOmkGF;yR&iFyCW;WNX-w>7p44=?>+hc^eHL3uL57aIxq$~6C9CqQnSI1u_~v;GJ~ z4YQyv6S`nQcp`6MT}31=_SI5Jq&LJRrF)0fIAiqfBz=1WKVHgl-=pMjSrvIBL>N3?H$S8+p? zRdcBx^>5K~!VrdLZOzlnT0MvsSn?9u3tzzIh6K>TAyYBo7dWJc!F!cvF~34f5IU>% zje23;hCjFKRd_guYbKxyvO+y3zur(l`Ajg-15ZWOV^1X#`CP~DGK`;QFqjf8;=C=q zZRMu;0&q$mk=!{mU&zB{Io*=$fF}d(yQD|<6Pj)pt)Gze+K@lRy$he%510>!Y3jl|4E+5R0?Pw3OCL7I+Dae@CRRqt{G%{B ziTu7N21C(jI+kPtQ;Qw7Dmr)#s-jm!IF1I^`~R`)>PWSYavt8J~kk@=C<08HDHN0+^v#;9Eaj|!~Ebpxrh{#XnvP`0n zNp$f(S?_fdIY(CYlUtIu`%|-rzHW-vubTJ$ws|Cm6?ImNdv=R+N{f4Hi^n6IYnu0- z+cHkobznTzUXG)9r5_4HtnnFZ&b5*TQG6!MBXz3mg8=v9BY>vlE@CM_G!;pxv#;2X zkba%JV;G_Sl&H$X@qz#z!H6IUQWY>p3>oM8pb}!WuZ`ChelqkzHZo)^dBZPqU8uj^lDEvj0$IX_dyAO>eJQg0WF_WXMxQ;v7~@T{<``q}7NM3yf-xpWQqdjh-W}VbvkWZ9#Uj>i zE7=6qQrRN%+e@|ai^(V^55%0L-rtFXTY;mweF6vV|+MrKMRi z(_E3=)3`?5)G85SP*Q!mIE~=}D-=2=b4@6N7oCdh#+eak;tP z$w!mjT4S5&oeJ_P?N@wJ_fs^tL0atZA)kQw1ppZKo+`y5AZys$hc0q9Q3L&JSVwgp zZ#)8Hbh?5Lwi`2y5#Ihltb0sC(dG*IYq>WP_gJ*bu^g}snU$h*C4MI~iRbA_LXzI! z^iUdd6BtX2k;qt?5Er>76#Vo7%M3iLCFJN^aLG7-kWh?#X84IHjUa4?<+Gh7W!(!(oMr+-{hg$yGXU@8K>d(6h}D+-%5Bk-0{kH=&!5 z&*d!g5!kL1ewBBl>aF5yluv5bTnhUnm#Z!GZ|I-NtcFxKv~DR+PueMcrUEWI(v}Eor?EULpE`Y5dKE zbs2j*Hdg&drbqbTV2(4Wcm9a0GmqFieun|Qg*spV244%emk;(*(^zZg3Q^vv25Yb#YE=B3rt9loy2O*#uYQx>WyF23Sae|B%6(xEqqZUTZgJXBo|z zb}*RyiYk*v^vTH4Ud&J8l7R2#1)(mGMx!^*+26^PCa7om*zIRTpf?)TjkgJ>lRhV9 zr@*NQ<>S-!qNL4nd}WW6HpvPV>$wfrRW8kbHIW{;(?gCrQJ6>>Pl(`gBAVSyj9R7d zV&x59Y4~@VVVr3M()msrAIs>!^l$86QhhA5z8daycfBgq!@}tz#7Z@)aZG!}-^6iX zK)};CA-GhkPJf(peDYc0JSVL3)W3+tQmHPN0l(9X6~bMLI2;B0a+{8Du?n%I@@&<~ zw@Vh7r~mWdSe)ns4t7=wYl;dszv4d+>A#+Hf_2rpy|Hfu@vSQEoi3udJJI{5p0aN5 z&&%S>w9Z(!cfE7fTf)jtJ>b7T#3bwBwL8~8??h?sY5YT~H>K*Y0Ph=NP$Y~B1uMH* z&)U=eqcFA{xOV6I*L*;_FA3{0nwE&)CxF`&KQ*nvg~p_Lf;irc)(@9iPc4^D^|n`P zQ#mysej=99;dI7q*h-vl3E6S9Jzz43+wjdKLwt}L;PmBb26pq1`(#3&o#^4?YIPfU z&kY0blg`~R?Z+E7rDJmuz*nqyP~b+@IDeppMVMeZjpFX zCf)@aT`SZC_h9D`&kX)5ojas=m~%Mxiua`Rz6>rF&LzU*`##@bIk*I`nuah{yN)~( zfo*qRWF*cvnhsOPy7f&z9 z2-6S{Cz`YU*3*mxQG>DkVLb0-)p~@he$=6vDyC7%iQ3j;O97L-Ssy#F?cnGk>fn;> zIVgQVU_2pe2iHz7q*#AfM(2sxX~KGdi0sU#L|J$y=^bmYHGCyWyUsa8O^dqG(P%$) z_+lEO1FeY=#}t;J59{ak;6X^_qbH~%q6b;K=O?Kx8+~(9Fmd;=n=5oT$WD^kSzS3g zwSg5iz#6ifj3$|gwkT|AOt0Irar#zUs?6RT-v|^ar6nocU>5!`mZFa5y992eFpd4((A(x7E* zs-wVNkJHM^C@hiuV4@u*AA|gp-N)y*FM^K3NI6_iC!?jYvyI7cr2L(M4kx#em?oc= zq?VGW%c0wk*k|}%#;D8X$jikT?1#^bu>%br?sSRZu%-nc$D@G_6`^xw9?F0y5TdEz zPVbY*>=uFijEckD$SXFOP(b@L_S=eKd1gK`>{JnX&E_X^w3&=VV&?2{|6Fn8Z#iIr z;D|*c@((-40Mv>hIw}arMqLe$J&j>r2UGt#44wX`9A6i)?+~p{%im@7Wuy^Pt$c(coxhfD(g+7Xl~ zEbJ;mWzZ1p_eA9HB4t~sin7leP`fz1Kp?EqX2f>!EmE5EYAgcf0C-UlhFD6$i}xh8 zg^@Te0FpR7{=VS_Z^SQxttgd*cB`3OzVT#&2jvtKdE!tJ3b<*MidOxcM$}-B&Mifn zsRl~jhS8@hyc}3rktjv%;gLtVo&y^+lB~W)7LAI^56mcAw2rpG_}oXv)VW@lnYD$J zL~Y@^wF~{bPJ|#iJouabElzDiIG2|h8?1BH{`G4}ncNw%uXHfmdQ4rdXNs0zv9OxH zkuBS`n5`L%y0S&Jnk_$w)2DfYocZA){d4FjmXVLQ5II3SlXjNmLSjH)ShO(WJDJl-V~P2?#%9N-eq^$Wyx{L83a^Rf&mN| zI8VU?%L|yUEv9z z=ks_n=ahYE#=68BY1cS>S?3+TW$q3u{(#l0>%QcD#w~NgH!QoabGW;POtKC%QYq;2 z(pxS4H(US9)?Zrc5C|Q=lBNF%&eJ<4QF%)b%z8 zy7RarS^Fd7rqwKCtA$=`>$5CeD}g%&jmx``6jtaj%tmfcPJX0Ur>>O9tQ~FB7@)8vNPoAqkS!4MvcE zR7THI?BVlPo|Q2u*rSf^u9o>V5~E{ z63-da>Ks_c6+bBx7lfDP=B|Od-mdWvvz~%QAK_g3PvY%}BblZN&Qgzv1c3#Q2G`YGr&jKEi;ptl3Q@Po(l=Ua6A0j#6c>xs3gMk>TE>|+DowOM z(0%SXA!|tjEpx?kCDvKMW#ra^3jTDFJc}-y0IdMK7x4wEMMYyy0_TLPQg+NSA5Xli zybn|wHJ!wocI-uEk@7vA2sEC}v=l$8)W1~jXO%ij`6sFaycpJuX0P1Kdw-FIxp6$! zi4lpRfy_eI~GhJeMP(7BJMH?okxon!38Vr za_h~;NMtDu%K(TqaPqi##~AZWZrK6+2J<65p4AJ>TR-Atw1tty?T$%(vS>n#;w`eZ zlD$T#9{N%ghnCU#JuU&-%E*sX@8U)Q}0iG5ojp z9F`b5gnjUHs6?`KUrA7{9JusZjc0R)iC-Rwl=OWHgjH-t={Gnbk5Wj9U zq!@Qo^|{DfXjx{K>qdhGq42FxVCv$;p~#FbAp0`cJ?o?%veV(9QMgVjbok};e*a}B zzTJV^Ho-2BJMnkOZ(c5a0womEkm2o!niJN#eE|exQ-M8`8H;__xvBeHcptg}5i@-N z9H$$yZuCZTQw2kfsEE-8)DG3l%kF@j;NZ$%0hF0C~<+e-ai=8BX22M%LA z%$6PYHZCB>%eZ2TnTbDhB9WuGo4sh_X&O=iJ1w%gANSJHc<_{nr($i%cme?~g{>^* z=1TMCfu)HrUs|vBONF*om@1uD1>ERS+l9nBYi+O_;`O4zs^7b`p4@P3eTsRnf;z=3 z_Zl*6*Y%GGJ5!UZuZ}$DGl^+JrFf8d9yDL2>=v|P4E&Q&cZ=#HVeo4F!H#}!yFb|8 z_jdLtFjIGm3F;2W+^`cMgvJJ&f6jsdPS=_bCGPc7H)|78K{{C)jucOZ6-+1im14w9 zYS})|8f^XE>Om~gFy}<;2-RX&licw_6(=a~N~9L$wPOmbQGg+{z0}nLnZ}VRm|f&e z%-l~?T*(YO3T{lN&#?pH$u+&sPP9?<}{Ie$1Yio z-+&~-SdGU4heP%rOimDWhbxB{^E&0Ny^(!BM%;T9=RQh>i=v$sTO^`hFDIp#{o>&N zEO&1j061xHGJd;wOvML?`oNgjD~JFk-&NoxGYP@}j|iEG=3>=hR~j{HB+}8&N3m>) zIG>BimS~z(L?&)tVoM@oi`1by>$_sHA3x8Jr;ze$-4O)B+NnaKA=rsA%(zFL-@1d1q4{ahXDF%IQ!IJCTA|hAE()0*^*qZjlMCD>V z^h;O#MVKpz)CWC$$SR1>p zxj~ZMjXYOkfry+7;ne?n-0fYD8(usgac+{4KgC<{V0T?yp+Iuc7RHmV2gN>%Toj4i z2F+A>QMQ@ayFf;^{2$la^dApe6LEf$k?rx8xeQH}D|GnATdZszJr9u;bvS4#z3c91#Av|dxJdZE_q0!k4zy@Tf3~PLC5I(wICb6v!WOT_(h+vT*5y%OG4SP;M{$tU z<72n^)i?U3dFMH+*b+{Y@))_F70x-^4B5>#dNQyej~U01Dwi8+lssP^@=%=`suNb6 zoy~(KPfD2gwNtn}C0u&HE>V`rSn~}}Qm%QGDZ~@kf>A77XJrPNI0Xon045lG9mzH_ zclzXTFk&XEVBk#9LEJk&?({eYZ)@9WBBg?nft4?gL!V086YV%>5~xx439c39);7Z_ zXKroZ@J8Cg<-shuowe|urTD0ja9d5X9x*h-=gV15x}N_V(PUaIv#lqwc*H_kgt$_c zK`(C4^2{wdh%sik)P#8sR!&oP zMU>j`w<2<0x*BvKZ5SaoiiOOB%dXUJGrwuKBY)d$&mz@*vDu=do2NYdGkF+aV1bCA z%J}-2XgHLHr0d5pm6t_cNvE~4qBQ;(2{pSpDPwv-lwpWplZ;=RjK3eyOvcen7Dd(B zQTpdu=TKL9{Fq84GdbVks+J%Il4B0GS>^#d47OfYTx-GC5T^ zaaC5lv9n4ywxYCtN^qknQZ=V$BhL7Slj{o&Ehx-BLfmoOv#g)m5Jk-BUVo_w3$68T zLrr})vNFSLBi)`}J6yn*MG@jmyS_oVc&Dy_mJjpDKafWPA%F6nfB60nzEhKZIGPXl zt9~V_UXIGgNWbpWF?~|7`5S`hje*z{n4DkIPHYSu|KG1DYqZB(Qpt~0^qD|B9bj5F zJ3SS+=f`W-$9VZ>3cT0|Y&5-*_6sIA#sVn@+1&1XdDsmyvxWhAfb4k*?h(;nd1*o(F=C%%A{FxI%NWb=ljWbp zasDE7BtDM^Kg7MaW01v>Q0^L7cam3U-8ETtL$(lfld5O3Hs-X;9dL2QzG*N2vOSmA zsiC-fuf-c8c8~VnBJyX`b_Ki{=>8ZU7%qqP)s3$qy%!Pa@Y1|0Vt*DPD@|B3oHYBw z)AgiCJcafA5cDgHU(z0CAM=J)BX@kyO4C+o2Tl!s=aK$B81Hz%q#Ppyx6)Fpte*dr z02a%3vvv)3tJ^i$tJj98dsSQy#!pglKE4am6*zHN6B3DSiK$M@b`kv$g|ZHhuLNkG zO8+^bw-JM_XnuR#l}`UDttx`eSQlmARYq_IrY0Voc`3r(Dm9I`TN z;*Qh-rAcs zHw{ZOiZN)>%Z*jRK3!Pbg;R@3Sk9Nbnk2HLyuoulGC z5r$8O`f2xcB6SqRc2^+&qz)`kmnHQ((j66QM>ktbV>cN?;X_u1S&xZ0l?V$p;D00! z+oK_xAp{|b0D~k;hrt&hI>FRp0esu^mpe`AY@-l~hMx5|T9MDnD=$}dFgRbS%2AH( ztCc)ow_LttklsDnZ8Yr&G|sN}v%(nl z_oL6ul84E^2szpy7%-q9Xq+tyoVt<(HZP;|R^rI6!S0UfOZ31@E=f-%J>OXk0DR9(rp z&voH{UOZ^;TO7ncHa-vx=@aEiB$}p@iP-w3sJpCouj;nSgdg9GXSGzgQ{LoOMVwt3 zJ1;RP_#+#7VkKK7C=R5K1hz^};74{`6W?AFt$xLn{>2l?8*LUK<6Q}Am!A0R0KKL- zKtEQT|5L;~NPPTZH)P8&w8(y+`3 z)f^7WS=!7{E@eRt*})jw>olbnDt(XCr%4ASO`l|%eCXnqWGbBe(&q;1PfDLr+H3_0 zqY)0)0G@tZuQMriVJ7iiT1av~D8}5bLtx4wnFICF264%r=(dgeROea|Jy9)_3j8NoO8zXYS4Hi8 z+32P+W&?V|5c3gfsZp3!n+T)x{3DoS&T;Hl%b)Q;wo2E1i1 zkmLg0e!alD|8)U>nJil_%?)27ERx-3yfAI$DPtDV>?C$X9vIQZA8X@Gt7O*(O>7I!e}kK4cJORjI6UXtKt zC&_Cyv(sQ^r`-M8%u2CvR%+A!tFFFVtG%#k#Nu>yGfa5gTq54n$$WsHsnITc%wUkg zHl?p~;J#|s&k6G|HZxJY zG0C!Ki9=yBViK7{HiCCeFWZUV0}^H96o!wf{FsL-nKMFirIa>4542;6QO8`q0cm7tQ(C9|8arz7ur_;J!26X zX=bd)BlK zzUN&g7iO5f;K}hH<_dOrakUGF5irC0G1`BN%@pR~NeZdt#BDc&%`* z=R6vxL!b4+zf6p6)r|W1kRF3YP*YxFOiR@G*_b)D5ub9_kH(l$ z{d7t!E*yJpA+w2Qo8Ksc4Zs9ToCgm{-4UG0O&SnefwoT=iZoow<$QterLASM`?XAm zS+Z){UGpqoENwDO!RvdwAiY8s+~cpu*k>}J*PX#Qs)ZRl4$mSCaFa}rmMCDN4cC75 z-NJE?6}oOW{qNh|TsZNgLgq_uCHaL2KL200`;G{{W}nPgBKY!u?XyjYZ~y-v=@U_J z^H4t)j{PdUhmrt6YF{4BC+&$LL+<_WhvGHCU6)ZnA(vvMY5uQm#aCE;D=+jYnfSTF z{udf#EgHoE#`>Os`x=6KBgjnPBdan~+NmkVkXNL#INE|pKJldp#{Y&vri)SV2@%`| z%b;PFF{~W{Uezg4?||ZfwZvwyT4Dy2g@U1|2T0??8C1TJNHVQrNBN~qyFB0U=yxaf zs}(u=9G8Du`R6f%7)QkJWB?X zi6TSxenZH5Sd9@%PBeUPuKN!LHx1e@(G-x7m(ux|EBX`kO=1@_azIwBHz0fU%$Q`*N`8KN-)2YheF z=>rSQoq{mI5$?4D(k>0;3gB}e?{gVFE;v4ZVl0!aCIMQV$ya9>S)NlhZgsz!mqc}2O;z>ZWn_JIb#^K~GKiU1mB+6wk6%-+)|Uq{HyIb; z_oUh@9A+jtQ^G-Jl0UpvrWWUFR^&1X!ijT1C84g4#`uF9P3jb6cdCx;!}eREDxW%D zCf+D`TMG`N$RIh3Gz=!=;WSy1Oj`ARS7&db10x0$`-EXU3q|=Z6R~T`a~b8RWKuK{&aZDTZ@aA=IMlV}cZvA4n5vyu>^qMeVfGQz zcaEjYw9xoZrm@fG|Iw7Y(-HbJNq5JR4@*n2H?*+sEB2J1NxB^(a~-jPVv2zkO+#d8 z4Z~2Ub5;f(6FgdFoUv0W^kz$UVok|X6^XoSp*>)FT23kyqf8$~u;O8)JE1f2>giuQ z)0qt{={pG#jO%u@?pLn563L%G({P%aT9p0xz*D&3r;y>d*1+RnftoQWPAJO>_zex8f^LI3D6 zq=W)?ENF_Md2X#Jn&;B2#z&m~gDVF;EFxFbR$&l{=9Z?d)#QYTf(Jv{2!*qlm4x?Z zTyZv^F9tE708ENRCID@)sII~|@i!5P^tZ{`CpcG_KV!FA`c&_p5sXpF1m)1;%CU*s zl@I0AgE{M=Tp)qwJe<>8a)AgQ%we0{-zK)@KX(sLH77h(zphh_WJ;rdbEh7F% zPj2MhIp>~S#oakzJBQjGT_@?<(VT=#W8zfqXt@{>kqsE8tiJOA5EuG1M(l=d4n5!6 z=2SB)HofoY_mE+OcO5+AWH=fei8O?dFpozlh{o{oc0PG0PPWgWu5-=mm7u#4iVQ=$_r*6-`X(}Auhl8Uz)%Xnn_RW%bY5Xy=(+8FN8+z-b*BEBat1s*Km_>9TtB0 z-lwpEN7{=vny~nOX_5wY+HJ*Fv8>c8Vzi2~h}}lWO@>CNh`%{Ja-E5K!OWZ?U`3^g zL&5G*r~3va+v5!-pV4%Cf-D$&V}-qm_RxlqKn8UBkQRqypee19>?Yb!rmFh`)HSKO~}s|Sgg6FBe}gK9~OX{;QXds_ckPGLlS}7Qo}Z(cHuL=r`m-RgVN&kU zb>*r|H-R{1IG7|y_Zw*T2O{D*{qWslWH@pFXEILQ_)&pSr|d6VPfl=0@O`Eh&^C+* zZVtn7fZ+MCVWUMb$$)aH2`zi&lxK_6%@_y>@FFt;C#f33<;|vHtgkj<`4tsA$W-j_U9DBwjGD3U9Z!XLKLnow$u%#rH1X|x~_H+H|?P+5^d+v(wN*4T?lfI%x;nPF4pw)F8*}2 z4>%uGmdT2KYZRb|jCT{wXBP}WgG^QwxNnOeW-o#4*o)bQ57Ufom2Xu}vtB2}a5*CUOx*zUek<%=m`M0Y zOD#SUB?QltL`R168n5pn-qlJn!|-O&?-XulUT(pvN*DYp6(gH&>E%8p3TOC zr`Y^EhGyN^6aB14T5r`WSF3&hy7 z$!@hayF|O<!wg9&S2{QrYYWsN-wQRxD@XYXITXIgNs&cZ?~ ze5vP{%Nq#t{Ng-o)5nga12NNNBr#5GWJvwP?3m^EPW%}m z?iJn0P&S4c!{E^>6mqKk(UAyu3h%M>+-yUD14(2RLWz0jSI~@P(g2P=7IL<%cd0iY zZ5{KnS*PuSP24u~EfcuIh~=IdHJ`L1P@IliF(dLm=NBzdoqN*&4(}H(op7lS8yWFO zhPMxVWS4e3i#3FsY$8pCHq$ZIUVd#Pf7Chcjzm&2E>lgyzQ{-rw%sfa3kBunC6TBM zkqCG8!NrwkH9X=!Dj4dCV?41Zks0N<9B0@$?f)PM(NS_&+pnepo2Mo8AZ+2|p{nd7 zc4Ks`wb=Bi;B}V5AYZWWv!1uP#y0ylQ7YWfRZ~@}xY92bz7p@+doi5J&W0ghlW?76 zaKgPy>OI}t&Eig}f6tazpko%h+Ift!`8?sw6|%?iXJ8s4dhES;!<+HsB%N2i^bjvu zuxs?dg5QAYG;NZyd_uU=km{Os?7ZV=K6%`3p0dbW5SFJy+~r7vog zm-JPWgz7;tl7=`-^yd;DvIp;?RiAG$$WZ=w~(JV0o5> zO|=HA8v=kS94x;m77mqXN_ca6MIui~`)VN%MV~S>MT~%(C4({RKjXEtKs&!kjE8k5 z36rIX4|P2*Gyp2hMYedtlAnU#e@Wtm{94*~Nb5`C+$GhX`gZB=>E9{6-$xq)UREex zsnh*Z0>@XKQlTrg<5j9uaZgxijYOAA_jLn&Ylqgw@W&4VD(EgU;MhU>db_K1y5)i} zH+7%NuDZ8GAhl5F!5SN8uw2U_&D!q}xR6nR<870|F^=SU19Zp&J9|xW8 z?;~ZOC{Vh5Fj&T$f{G4Vy>E7Z&i;{C$=Tm7o&95PAB5N;GCnOUyit01wQOn(njJa$ zy8k%e_5M6|8zJNUT8dwJb@98NEboxvcRf-LVjACtG5_=8mSb?wHDh_NliR!YFcrq{ z`}bnSF?1MHVHgL=^w4g zKdk|z<7L*L$S8K5cmQHR(+VEd`Z3*kjn)N-y&7~`N|Bo>?Z}xM!yQ)24SGI3bZ-ln zIHFyhn&dZaPsieUaugw9eV>+}(DBowY{--xk&DMHG6;d5WGnMb6n+z!;qZu^Fj7`0 zn{-x9iNS8ECggiOX!qM@YcfK^{CcBAmy62mt?AS)Y5&%=z9qe{jbqktCnfB&0$v_P z?0;X~t)p3Ylbo`>LFWudaZ@V>qy&DBpdNuSjaX2RNr_$%ealvsd85t<&}WQA;d@R0{)+FSLEJa5~F%&;fu@h1G}4KDz9H+yq@` z9pGIft?Ot-#@v#$E8~SftJv#IUBI=`NiP*rZ1?-V?~_#15MU|YJ}?-ddfCnu!srNl zSwJ&7at*qE4>?vI^iD4IT261xsW);l=9Fp9Iu1!3s8n6A!}Vcmt(?#$TGmQpu*_h2 zyvf~R3WuBK-Haa_X#kNti%>1*gV4{yzJ;}F3JTQCLL4F!_+f~vE0?W!ck@$SaeRf(glRbDJXd=YMdbDClMX-T^{&qz)O^82f~a4kE< zs5RyV`x?_i`%C(rwNyB!tD0;g8>HM%zCltdz920Pr`E3WIf-`@$NWbYpENuIu?Ycp z4@1&LJi^hLf#p-nb|LabUgx08VLJnZT8Yu43IpFj; zbP5g!m7?DjZ57|>l8s`sdXVRgR!&HcPfnP@FFk$}Nb>Pw!u;`MU!)>4zB>H>fbsr> zDF2^WTF2Nv|2JiG%pTM=j}IpNVf>NdF}3`Ep%`Bo{xgbyI>whxXdEABr^%5=+{(o+ zM6d}d&UeHS{?R+E!~&u(bYh87N zE7m#UWED>c|LDmacd6r)&XQU0s33o(t5$=?bF9)nt!n(I@^(>gy3O}M z=bmVc#%QF*MzkeP>qTlm&VJFwV1AFZ`Z^ngI>;X3vIogLtfx>!%^G+DW5EvC3DRPd zK*|+}r8Q!52nR_z8C4BD6!1HB<2*lZxFeFRjJ82d%!g<=Ny8$wr7*{hOZn+&DoI!Y z+01gdB&Zu&rpjY>2D2uX@ydh%l~w$6kHr5Vs@SJmRb40wl?|$1)CoW?HADt<)RxsX z*2W<+%2ZE|M7_uY&kNh@3)rpc$jFp3_pTfki9RnQ3q2Mk^H`az1_0)wOc<<7QK4EO z{%%a9%$yD@ET!ImtV)&txh=O$aPqzAkZm&r%U(17EFx!lbzoSH;SW-!wJy?k+XvuB zOrh5&T31Ff;AKgCAZx82vfgS%KSW{h9I}rGfr1TM1?}JvRY`` z?|72E_$+Of`4+u^WrS1l0_3(|j2n5m92}vBm;z zk8P7yk4jp=ieUbE&0%BXj9_N6AgY>YT&6HH6tLW2^3QSmTKtZ$YRqM1Um={7tv^_i zbN!=;)kwl+lyrJqLl`$bKMBcAjcP>%fZJ1f%Td_;XnGSU5fJOLCY>ClI~!#~zRB)! zba0e<0vlFcn(g+Da(5Q&**(UuSmc-&OhVdB7 z?gi28(r95x6!YV<=&3|l6c$CRPLCEAQqy=^w6MTzIWzi83#)wd21X!&!m$G_E+5K+5Uudh1l~3YB!b$Mb8HzCw{rPDW$KBa*Ny zNRp}Ci&WBVOR~+;YgBjkc2Jl)?L3j!%0hq1oMp%M57voZB1z~?A7d!hQSFt1l{S~D zQ=a9u^eDFN!A$adFn#A~F^AF2iO9;}y`|KF5f4hCjQp34nsT0*|6MUbeq)7VVV;@4 zV8CO?)3p|w7{huq%}zx$N3mINddw9rA^v~h+`Yv_q}n{mOGp?MiD3LYnEe+DY~Z`2 zg)@C0X|1rL&GK4OlL#@_-a-Coo8ZSj$P4Ii`$NSv9jr{_{>^t-@&hS*Gu7{JfSZXv zw}}25Wk1j2aXRcrdqyG`1dIty)*6%Wp+LmwDnS^2K?87tlB&^r4Z>&_Qt4QbPBIiX zr!G?jA{MY=J*UWkI~{h0-;t@S6*kH^*}7I+<(V?Nj}ZV~u6I9Mkm+hU!5(rfbbs7lGG_?w^m40LcxUITZR5%(7nG&1*F-(Q%l$5Xc`mN`qA z!jf2ep=zYCJeIV@54NdW8S7!x2~37>hliet_%!$H*ubA0iHYXtSj%~Fk}FdtB2CWx z98oW0pGmTaxq9aAM97;d@<}5q)`)%OMJ6`M6kaU~p8H}-7M*fvB=U{0=OVlfNB?$i zmq?1TSs7(KdaJaKa|XxG6>!*OIA14i`8pxDz+!;iC&%;HH%n_S>;m-yUlTxk%S$I4 zg%wL>DW{$h<(p*L+{%IMEGsR$sX8FA?a;a?)7~0c%ex9kTJ;&BbY`Sg-&>_Zompcf z|Hg9Bw1_HuD86sBnY;!VdFaE(F$+v4AkRcg+CCcP3Weu^CQ5$(VW3ojTrRt-L zhU@Qz{Q$NGT!`GW%bvq&rKdT9=_T@wCAUbyRYDU&@PJ-rve4fg{A`s9Uvw3g$x_WK z@1|fSGt+ferx>DUVmg|cneh=a>aYL&3=f(X?h}$^*^Bf~aDYvM2yw)RI;$&GzvORf^i^s;@sw8?3*gJrepQM;hZoXs$)q{vP3cg26Yu?hRqXbb zGy$D#Vpqc&OKHR_vY*C9)sJrwI--ENbO#1gZ^oZ;`b>^bU5CdygY%w$uzMF<1K+t= zxY8&_n+&(>9j3X=V<#gEq7mo}6%kZA2$!U?uGp>#5Gf!Ss(u0;;-fJ>?u|>8f z@=9jRJ&d<^u)mQubeHRG>uSsX*dbbqEQQS85`PsDUACQ3cM4tR64m{iI+85?NY3Ac zNIoGGt3>*7nR?RF2fCBk^N*Mf=3|%2WbKT|4$Snb&580BVBHeDD4ekTLk@{k*bG?#p2!Yu|5>~Fjgzh?*|1=S7OQ4G^ zc6y?*CsF7%Efv0)uT($Y(sQ2vM$P|PS>M3E8N?mA^M>%!ABpvrUT5CuT3O$f{j6lW zJzfGdZwmX(p|pE6Q`1Y1rxP{GGrJ5G(?kQ4I-6ltEp9d;93OUdEl3M8z}+%PxW&GN zIDvdBPA2>|gP|AEcE`{U7TOZ7kp@F{p^aq$W8exSBw%6qMMA7f5o6y+Qau9L5_~RJ zTdcR*>s6UNwKECfl+0va4r1uoNiBD+EnK^+&Z4vvcB z7f4hlwOtPBek=p26HE`Y(A=ixbUw({VM`lV1;c*MuS$_UGgg43q9PU6>{YWw0uJk} zwyJ0-x%IMcsU$mNXYI3gL$uy%_(|03hR*uyt)?xq@jy8hV@~Mh*j99Z=od1R1Sm?fLs=`!74^pb@?&vgU68rZ{l$<3F3|j?K=0`Nmiv^{mq>RjE!rKapOa?(KTnzobn~yZr;AR2d<;GnGvHBsRO&Cp%rs+E znlY+oMh_-ok1|yTH=GKPkXG#u&PJ??~R2;}2w!=Ao0D~*RW7^%9 zUz=v=45b2VW_-rUzm^j-E_EUoqz0sWrv@YgS@Wv&RxvGmK>vnfq)^+9_vW0?{(H4t zq&JA2vY-WaeA+dG%}3_!omxNSiU-}1TijvM$*MnW*3FE3J8lklSt%cKH;Ddl8OW(W zhc&C@Pws8vGRwp9@^Lt%be-lM;>zri+w5UVACA)4qEpdyW~uM|=y>O*^f{@DAChK6 za)_5sk${ac@5k`?E9DP%69(ymb)JZ4u1}?ZaO91?GsGVzZvv6y)GSQt!5q~V@bAsO zw=N~ur}Vm%zdn`fZuKDQ*{SIh?MbdX@rbw->WhqhwY)@a5q9;UpwkSDTf{YC^(uKa z)g!HOTziu;L*+`jQFUEAS-yL)S8*JDw6yyZYNlm2CvhpnkJB~B1t*#vmWuaFJ8b`T zhx5c~!aom&A~9!bpZEoItnIMK7+HFyT<9b(OZUBqz!-gHAg>C{az#+~e3E&lbx9iX zS+v|IgmVzt18%^Mk+ipC*E0{YQZ9G45OLG|3G_RoE3FD`rCZB1GWlGZPY_*u!r)^YNrz14jGVOn2>0P74} z?F=s0j4(sq7HC+9yAS4D5D7vWXp&ehG`y<~5%L*fVVs;z;%$3KVnxlOEa zFh6!a;NVH@?Pb&;tB#EimNq`%==;saFT|6|eFk;5Ntu)N@ygT6zF+jQMmcXg_BKbn z3pr1@tv_(|`_9=ST6tm_<2Y zs}u1Smosaz{f~&3@QxQ}P9n03g=5)*r9UfQGMk#2bNf(p0y_9~)}IJL00D)eJmT{P z*UA)nw#0DNzc?8_DPi>O3>J&{b`kqU_#>2=G5yU_O{KJ0L>WOR`t!qiQ@~4=GLE$D z*D`Tz8WcG8c_visizCw0bq`4-Cq&`0b`po4Cz`*O_07@U^Wnt2)kIg`BHGUt>26ii zi+dX1Ep>wq?m0VpX9%EWik=2%-{^Bi&*|lz@+5Qi*X87e*3>8DlyAk3dmvCuu@93y z=ES3egEPfGTgBeng#VP74W2d>3+^w8*k9pyk^Am-;P0_13|%MM7h2G%7@t6^ea{Jz z$o-alN{UM)j%`NcPP9Vdj8xAt#7p-)=|3*L%@X%+aT@_KBV$lYL9vQIpdz(KWFM88 zFGQZmv$Aw02Ejs)8d2?G%*44=+tyH1pGM7iL^M4m8@E`^kIQarBnd&SR-ibmthUEx z_fPE}kIVMEWzVS{KZxFNUiQ9I_Dc5e+b`J{-x9wvbl%oM@7bMOWp6DIF~xX3MU`g zm@2$xkAB^DUbBPO?R+TDED%2$qchg#1B$ENimPOCRlN*kQnWvlX&v^?*o@|xYDN|R zbqh;9XQm3)5VtcoL9QS&jg^;M z&@fP&Bj@d97G6XwA^kBu)rI<+cAK%qRrv^wL32_idXhTWin-}rirX}1g5~x<#WI8V zAh)VnABNEv>v?ISPtW*3M3$Eg_s86%|7+Asqk)snjdu>wq#KX@p{T&_K_{P$PpmIs zy+M)4KZV_4v1vGpawKxJh99qwTbxx$KUEF17kc8~MQdY>Pc7sNHo^Uxvi&5Me~ zW!9219WE>7zLGSd@xif*%gQX0V28`@GIn{HcSV`LysYAeGNb%=kLfGpa${U?h+C^U z&prfSk(@Q2&h#lgIQ`h{i6;p_zSz1&3&$3-h|6~@(l zY|5NufL&+j?b+57+TMXJNMh$e=nA10=qm_VwlCea2wlf2SDK#)Z zC6~;{azyIpU`Q(aU8t8u1HM4f>iCPki7vvdVjtm;Ga+H#9N+ia{VY`Qemz+tTfN)t z$OSxP(|1|bg|#@RO#YD7-)BeLRbOTOPqT2ALt&G=s4RO<*(eO&&xy0j>VM4Ue_$wM zH<-9;?G7>@RLcG^bbGzJ3|2Rq>3$#a2bwl*|0Jwe<%G8cMT67Z(q2o#aN|ec)3p5{ zW)7>iFNYoE2sw^%TaypVhYT=lJtzq#%7+B~#U`HE)bL=!G;uOsKA$)!VqeP#7WWq5 zZqVc;(Q*s!1cOzzhh>K1#@B+FuQCC^$``l6zGPK9IXD!$$>b^i$s|fRsp@1P8{m)_ z9K)XzJwu$B|D!5zuzT*W_oXpG8fKz@s<2tc$&zXE(wbb%)*ituHM^l7u}CH!iL@Ce zpAXzxL?S3qdX0KF48tu}r4MAq%gR7(aBJ~(&Y-(J7EY-98m2es;I?O1ipGrhC(T;&JQ{I}7-;46CALWt_dCS3DtVY3C1;Su3RY~E_C)&gq5QT878eN1#v6a5 z(Qp1l`XU16Jntn!+X6hy0nIaDm-bI3b(6L;q9)PtGWu`=+dSK z#D5n~E>&!(HH94`_T8ejz2#FqSHm+Jo0A+Ps)o)9=K6EoxmDC)5gnbOu5wP4IFR(5 zE0bfYN0(JqVmQ);^9pktIYN$J;Lo+@oWS9AbK`R+jj=|X)BTicZEKkpc}KOxd&h>6 zcr1OPYF~*5tze%atiz(gd<}_CdmJCSka#X}ux@c|W~7Huu<~~~`aUPv;OLDgS@)WM ztni;HEHO9fC!8_&ItT8NJhASC5vK`jp(xz%=uaF?ME(Pii^T_`l@EQy2_AO*2ORf) zrz+g0(c6dWC@IswcPd|S0tZ{*_fDE4(vF`h$QtJX5XCuL-=d7ARNtzWh+m7-?@;f^RKJB$FY%&N`I4g_cJwpY`v$?X?M8<;rk=Cyr)}{} zc-RL}wCd;V&S&j2=A0jj#Y!(xor_fimme>tMN|K@?Qd=IU3lzv z@ef=7)9(BSlzmaU(hi4^$O8}TBnE^wQ^K`(()Q4%x=sAmfJ8H22$2X zNhgJKvtSkpvq+s4o3VII_JnWYp@Ia zMJ3;Z<0D*650_N2`yjKsKG8WLKT#)wrK;^c8;^@o>-WWhbF0NbhL@(CfsByk1W^xb zjURI$%7*;Bh%!Dt9Pw%y?3!@t3}#)&U_Q+_wex88FLr6#L)mgqm;P-`(r0vS8O=r7 zY4T5*sn{5-M`QM`MQB-G)csE;vXhIZ`TZUxzK$E)k98G?bgc(*zA7$HoD9i~`Nsr1 z?LkE+aUp30+yAcnsO#pxH@CD0dwttw!PwAsU!aGJ`M?N2k&J8tC2(0~5$QK1nY|+1q;0_U=hhi@GNR7$P%N!n`r{80&N!%#P zF&q3vxbyOVHB`^u?o}XF28$)azEW0i5_N6h5#_+lxyJj%f>VA=m~8hIqV+;y&uBka z_B>AlA2gmZd|{BN77Yz@|6WT)-+veYK&aKo-SWE}Yk!0OgHa))x98|Iq|D66T&w6Ckz z2q^kQ-T6hs{`I24t``j#$a-Vge^E5qjiTv7Nm|R!#!KwxMaG^#vfGWKRkgh2^k{5P zw#n{yIXxEm9=5{>miuh* zUPcSmKL*RRnF;kbR;jSwFBRU8mI{{(QeG1C+?QgSYX`{)$Y zS(b9moDQb0B|iTSnDaAJT<8p0C3c*Ryb_!CirR7RwAhZ5NGxIT8$2zE5F>WHM37~| z6kZe4R9HBKwZ$PlrhRDdIA>bWI-unsU}Y`IQHg4qji>L|?T_fgnf1;T){$*`u(gv; z+572P8Hk6y>=G|_zO+_I=X|g6Dv;XxdQYF_C(ra1Qx#DX1&>I~@15*LUh+b(Cfvi* z^OFauYsd>BQT#9$Ix?oSb+KA0>jsh|yDB-+=@A?4eI;!iCto0AmVYXBXp3cOL4f}i zt^G@x?D}W&moneAc^LJwJ)Rxzt+eb*Ew#ep@QW?Il1#T|xdgj9D=Y~tCtqgeS6bsP zvnpi!xL6ICs;q9;ladpsU}6D0i843fPOsbq#wMGyU{I+^Y4{I`#^& z9sQkNX12*g_4=h2MPSyHlk6eZ zU^R#|kQ$hb-vD$xIL#*k05~)iC%wxhqWd--dsk1|rmc6i6)p#VrjyHjeUUG|*5Q6> zv)>;Ud8AiNfT!!Jx)EHV&-KN}#qDHcy+mvjf7fcMudnb)<8C0M9Ch@#^`2ViS;f1Z zSG&+pIWYohpAa*fohE%C;BLq6=bMoBsXyY<+Hs{9e5ePUt4reTbvEPi`rKK^`ZMl)smQQ%gnm9g+AGsCtNE+?|p}91pF+1 zXA9i;rZ72^4=aadW|!N*M>`Dqj32|7F1PqiX80Oc_L|6(>ZIZ~ov{YaEHRORD^~r- zhI5Of)Kb~3vE20_{co&kQlr&m@f+NjY}4IED?!2H4=pvMIu$*Ty7+GGicv}QHXFua zzhso^9kXlueQ5Vjh_WJZwOat1{Gf24S?zyVw#q;YZuarzv_<#n|h{PG26|CC<;QD(6x%Fa*Kbhd~f{-4? zSpTK~(qDj*h4Np7%J%t?DY5qg40S<`BLCWca(5WP9eLn-CRQVltP%QZ(YZ>*63RJI z?gn|;QZcl6{Pn`QL5y8%=%k=%`BLB}HbTX7lK2DC>;2m{f4xb#_niU79mTBAlv}jR z523a{{ui{xiC94(m}LV2EVl~#Kq7EyE<+6-eXFpJ6*o$aeGKl7{bECt=Y^K=!E&_; zUQtKbw7F-A%BbfCNUmy~0f3IY+NT>89vd)o-!SWPj4EN6eg)#}K*avu-uv)35Cr~{ zAYi^TxZYxeLr&Z{sLHm;BERso6V3yVKuu7Dwyo%bws|E$+k+vpjVyv)70$cXff4&h zg+7v=tLAufQ$~^Dr{*X#15`y>j|gXk*jzbBGYhoMb>kynk-2i!-GSN?cuxkYErGr}Ftzsv>Yl*V1H|~! z(XRar#IWMgV8lHE)A;6aADG?)$q|nd)B}2o)QWb(37!p{^}&HfJlp+6k?cUZQHp*> zX+74y!vxXt+R-_WmxMYc*maD3CpN+jmi$E^3-=dg4xQ3V0}S?n(He+=HXvbAni5F> zy_WJv0QlB~-xC*vn9&B+%Yns~@4e}+GK{G=dncFHS+hn*Y^my9_^X*A^Jsk^IFU1= zEwA~#U&s5Ijh-psIIuqSD?fp2DEXSN-}Cdb^D32#zKZ4 z8_}^2k5Icn3!g<(Hv(sufH~|}0WgcKH`%n$lgu0F2G9xVGgT6>&IEka0&o-Atdhp7 zamYnhLihLC9%V25ZM9B`nQurQOTSMgGFA^CU1N&bDR1zj&vah|O%L=%X>JQrR)553!NEBbx0@;e?HqHFjZZ)0FrlkF5anrD?q?Kv^_r~*oyRnmvlDEVY zvVKEAFoo{;qTsHr(mS-mcep?R4$swptVBiMvmAhS{Ab5imXFyD+1l|Y!V|)=`{ORxExE{wgY@miLg=j>Ab;wrZlv=p zRpMsT_N$rxOAcYi{#@vi#rbLq$IHdV!Q^;suf1W$BoAV-$uh8?Swb7(tlJ-SgF|d< z4?GVzG%u0H05;R~)m`j;jmz{>=}~iw^n1$FELi{8X#tn8=fUcS*r9TEJBKa;$YdFz zqm1NkU&|pp71>$jGd&}b&<74GW2yPsUYWi5M`Hbc9xj2hvqgS+QQx^!R4y>O&ajI6MAZVqajH5CD+JO* z-`drN5LP7m zv++r<#ItX>Nc{Ov;?0%G3i+N95saaD>dRrX{!n}%_4~5(1DStFCLY9O4iyCX#@_@m z51OKm|F0K5DYS18c7VG?-WJc@9(PWP{SmB{i-i{xtuvc;x%;xvva?d2XYHGAkX4%# z)|P~1d4`F2>T_Qrc+fxx`#%8gP&{mkjZ2crUETQXDh-dR?iZ8e2!sKT^?-nBHmvI| zt-Z@lDUtJ&nuK=tg9vak$UP>Q5z;}zX)tMa7&&TOnJSzmAso3d;a!q&U(R4eR7|cX54u~`DJ{QgyCR2GM>b!BOO$4hN_M5}8 zZPd!2jmTp#24+JUMfb zr^2Y;hXrI3?u*ht65O!JhqOnV=RUcED|=oT5QGVVe=g?M*s?Q|wcGb7unTof>1WA4IKrB`vQF3$bPOskB$ z@Mh;NVG4hY*snT~?~%;e^|jg@Hk(v0qb zMIRnAQh|BgS-vM-4jf>c#EPYv^-kN&tPol~F2*#B{z)K`kS=ghs*SfX0ZA{}*)Sx> z*hvza(Tk&c2~_p{oZc-B#VPk;n+xIHo-YR&foOlYknFh2#x{bXuM}a()#E}o2&m^E z|DdlE7V(9(*8d#0_@s!v)Pe!}Yd5kW-PdnX-Qkv>==3pas-EsUpb~SAeHXI3b!XB8 zY2rEOh@VyBpNi~{kgwQ_X5kPbTylL+Q*%O8}_19Q~%#`Is}`nPQc~ukEzcXwUQhKhE9*PKqM^|DUR^?&uz~dS;^s#I8+< zdO`GygY>Xa=sFVg>65XP5DJfbnsZsj>E%nU*C>53^kc^&mm7`Ya|GhS+i}3;jM!|% z#dTpNy1mQ##tz%GeU(my$5E>Qk-Z&fsOcV?(F+-g~CRl?@hS>uSu zt~F0t>n-maD}K5uoMPO0i0D%@)t#|oEmFoVBG?)mrP^%YD%vI=hqLe`3<*mg%oLNp zHAmmfOJjRmA{gJdi9+-SiBkSREKMWSSUnEx3~k=GIQwg* z*JvVRbS%c1G7{d1g+dodxF63g8m`5eo2^9|8G@M=UZwC^eWj4Cte5m0vdUCy{+_NB z7OUGc1LybFsBxz=i&bgA} zYdD@IHnh_m7Pp_M8vOUF!n+CmUcyC+^>ePC0K8BuLv1Hu4nYiw7h<(6TF;L5)pg%N z2k;p|3w6SqB+C&l=MCR|-R~lNvePAjAW*WM?iNXU@{WLZIaqt)5C#+@`{ndf^^hlg z<-6*yp8JT`^{|)Qb}Pq2gH&zmCMG8cKzKAWEIEgCQV0?k1P8Abi5s8L(>*oc8+)d= zoi8ZP4`}@3uvQYuKEd?QUO{S$wpJbtRLc31ZO)GOB?EV@R<)C-`7Ro@pGr zaiaRWHaqcbOx}xx(C;V{+i-o5>Z6WP697-hCfd~Y+5IpGW8Dz_JzpPqfv&Rk6oj1U z0`2V`MTam0dcgGfccsV}f33yzDA<=1i_fTrDUJPGdW{@4W*=hEUR2|6QWLvz<7e*y zCbLz)sjn-Z=C4YRk)K^ufAhQT7g*`Ny1!BS2Zb=S{R?WRjwzW${qD!>`n_rDT65-B zWTFq7!Bzo7|GSPuJ}YNqAVS$+l5s;K?YqJY4d5AkT)ggx@EsdjQ5y#uH9o)0mR=hU zy^<^b;*Ou|Ils7(xgI`Z!6b82moyCV+N?YOSFU2ZeehakJ6w{PsqV<_0X#`e`mRnaf-yoq%TYEI%?yo~H! zWyx`M)O{h^wJ}mJ=VaUi-DAAuOz2J&^}r@94Huwk*jz|3DkM-~HD0(t1b~cz=1GjI zjvhtenAR<&WG01EOe24|SwMK&+FXqDFW_%hyIUG3>6kfF{Us{*{z#SYeOFY(uE9D{ zBS${UktgjRIk0@>Bf*htD@U%3f?AsB4-z)vYt_5nCbFij_eSpt)TpkF761l6QP0vx zHFX%e8K2bjaok@S* zM@eHnxl94jnU^KL^K2ks#PXNNSEedhR#{A~Vzq0gVmeBpk9uZaslXsda5{xJ%Rk37UXoRHt&G*&4Hx@&eF4n%-k>Z&ziAV!dvKR z+us+L&hwATZ1bnM`eS_T@_1jj_9bOrq{aFqQt1Q}$`bWVygcu{6L;T^cfAvDND1<& zObdM-K85s$W_6l!_i{V}7?-G0zkRCxba)?k3nGN~@pm)Hb4!u4N-YaYBhD%%7nI;b zm3wt5c2UVD0(N1}`KX|7wY-;VQg1Qrr(Tql2V0~sOzwY2354OxOW;J(3G;Xv?DL$$ zJMlw_K?sz(<bXiorrRsNFHDRO^;W%ub)>VaJriY&-m}cq{;U$WD`yY;n0lUItQl%PErmiq zp)jt{Q?$Wjt&Mtfx_g@MM+hdyH{Z8SG8Xe~;IW8-)?RGiR)BxX#r$lRpZ+->YhE++7nN@?rcSbTaU}Uk23+^cO@x zm{hK@OiTY(9!sbxdGh7fU|FAyW8Ugm=$(=T z#&@7~b8!N4tr|$p&IAFw$nX!SJNe{E1mxS2?ybpTe@fcqLws1>9MqnwmnGMz_|RH( z8o|7<6Q2|?$KLwXvi|2ldUQY85M#hBgwozTV+p1p4~d_oCjna~85G;`nwp~`&TyN| zqDY;`^P*^X8L4xiS2?-51V*0+<2v8yf6A*4!w6z-($=+Qedl`TIp<3eBj<+4SJwMi z*2h)WA1f&!UVa-1&8>x9w>u0lQQdT3*S$tLleFWH!KUC34Nr)8mStwdPU!el4ctud zY=(S6+nN#n!3+!o2SzxN19XZ zSRj{n>I))4uUe~jUL!~(>yb~SFfwG$u|oIO4q{&QqM1mTnMrtE3DU@;w~oP|q0G_^ z;jVJiGupF)RamP*@cl)Z9W8bYGMvq$U4>VdpfL^}z%9o4{I-XlClhl_*O_Rzt*nj~ z3Jv1mV7#^40(!UHS#8}ejk?l#MoD1~TBVN8cCSOXw|1EJFiEWD+M!QshrU?qe5vHU zSkf<*nzeqpWL_(UUoAOrl~Q&;H(~1Ceer9QHa*07PSqb=o^b>n;d_}Mq|wT%5K?i& z(_?4+L>b!ZO=Q(DN27euPl4Sy6m`1?-_#2GLjHNh&C4eGb?*6P6a8OxrSMu%(2Lzu z0?Rzs`;zS84aV{YDc)cbZ&1Y>JQfcvtQ-4Xsq_0%>bsKuzBK8(lG#wok>|SP%&i4} zM&2OpMhiLDZ-_RM%wX!rDWQWORtWUpQ|fQ2v1?NUOh4Qlz!=rXgN25!Wv+5x7R8XW zM2)Vz^s(q`J`uf;Os7H=nG*~8U@DH~JN06jg<|L=`j~_!Nx1dl4 zS359Sn42##9#EmT;hdpt1G^q8vjPhc|8?* zBL!g)pY8Mm{t5|WT%A6rs#3V$R0r}p!wdLJuaU?V!bKU$T- zMl1A6-L5>vVBHOnNdgf`tU?xGMQv^eR-xn$t}0CP2)eJIZcRIS90Yv1_KNOb;Byz^Lw25(C0ON8eDaW{v^Zns~W!yHm}p` zGkw9RV_@V+o}jTZ%nU8gSw zoD+ZRcC2Qwz-iH-bi$Gjdd|c8BWi*ty>Za&Hu5_5RRbUKiYvY1BgERcE4@!tv?JgG z20rB#pY)1PN%fQ78kN3Y-JvU_Z92UVkEp!9Y;&QGaN@$hyJ`mnO++*i#R%+ghFxpG zKHCb_BiSa~(q*OmF&Y~>_fbNoW$Hf)Nw}!zm#6+C=+$_INuF2P(*e5!#u|>u>IjV` zI>#(=1jjei=>s+1B5ht4%?%a+#4|jZMwe&#JGA|VcK6diSXgBO<>ot#4N+!2ZQ)HG z)ZC_RSm?eSFiJSZzv{$2D$QX#u)B}`Eh=Kz2kEz5HC_J| zUFYqfgwZ88iUT*ISim~mXPooO?BV&I`;-pv;yG2f#Iw|WY3W9r*hFBr(qosWhYSk$x>Ug|c&K|ZvYik1AHs`JU%Js4 z^kn!uyVt4_TbIc&05vuG$sP-ikfhy_;BjpR(?R%knd_Fy7P>W|QXBC;II(WhOF1!VN;b_rY9gZ-XRhf1zXCYyirSbr?CXv3|{s{VNjMSXaC$J$_l* zxhWl4R%x2m(NAk$h|)A`qZ^Rlg2MMfL9dOTqAE2dSwoBdD9%-bX7<9|-Z?8Bcod82 z9eM#KcC3gi7W-$gPtO$7`^$-0(V5@*q01XVOAScoXqt4c`dhZlPnW6BOIh_|cI+$J z0o?>+YzNh;%hg83TRm?P@?bryl1cX=;fsF^M(X?OwXFMUw(IBYv9LGII@K%Em*A2G zIr&U$D?4AyT7z<9TJ#RYm$<1|n&F#C1?BFm8gN@0^j4#<>)&p4-)Zdpv@!izqx)%N zY(t~_RinGHk%NC~1ZKhd$^j(Knp<@KRfBnC#@CJ5+clDW@8mU2`r4*g`L_=VmH}lW zL{|@uStx*zj#&VNLyorl`=qp5%Htn*N>$l589e?dp71u++Iif7PMikwCae2Cq1+ib+G-+eznx^Onjj;)1Mz`&hoZ=2j z8+WLMR&DAfLBsrGvxZ4VZNIkX8kehW-9bqt4Db<`sNYnG)m#xB(cqVbRq3u5_E4=n z{c>T?#*TE>Rg$wsB1A!D*Q-R{s8c61!A`*GM$8A9AQJS{GC4X4<&o@YW=Bbnr{|Yv z-+&N(s?5H^heL(l6P6r;G9N^10)qnfocJkF<8NZdCy|vX@SfJ-o*^2IDO08O%DPr5 zn4KGyKdnrjKtM)GeY1`|q*{5ku?!BuW`f*B6)AByr#YbUo?WInOLUJ&dM%+OdQhYn zqI_qP43Zco#rr9lC2=r*$X3k33hPJ!WCYn@UvAZ zw8)y_I6usA%g+4Ffb|P64^|Cmpwq_PR=`xYjfFGc6vZ#`*=Bd97lg`h|9a3DuhefhCchf04LNvw|)zlt#Nt&jXe5%z;aD|4&`D@|5tw4^X>j%Sinhg!ql6<;=lxTJ%g zg#49Aj-b7omivI-3Z~k-qT`%7Dt>b`bxX8(tH72mi|&myDgH$ojpbo3RM*MndPb6z|E8zc=sPlaJg>(jH;5*T&wBt`WH7^|4Ep6cmui zx>7hb*hS6Xol4CuJ-hDgDU@qC{T)*|=32i}c)X|P9!qLCW_8b5=k?sHMfLy;ZyqT7 zq`5Oc(1CNBJM(=s@TL6BZ!H3-Z*L@JhVb)CKspQxk0wHIv|v*TrpfV4lc%d|3Y&kK z3k&Lk!q|%o1HMYTb2AO|Gw#>v_*ZFvZbtu*#(C!Pocl6(hDm+Y5I0=-SBrakt2@8d z{iMYm>@{S?tLhrn@?U#eY&v7&ay%u6NUoHGuYagz+~@z<;t}Otg@0ef%@(J)yC)BG zk8zK6FH)qzOj*fD!lUEw^9b!plmM& zf3)s)wRP+cQYOc@HVr5`5Xp$r@(9UdH}?bX99Ndx6$1ndRODVRw#%!*-52Rsss*nO zRE_TnW!P!RLYWqMfjL3GWF;?c$N;*vOIW^o*DYPM>=EFQf)Uc5r8E=P}) zyha^oZSAZpn12-1M?_*02=ZZ}u&%H`1*_eH-yt6sybHCyKwqgoga-XhMG+%X0AnRH zIIEP#>J#AAKv{X8iLJ~PqPVTrt2ZAkD;3nJ595PzG?;m^BOp(|W%LklnjuFXL#Uxb zfp7_I)XU1cKU!cz`HZ|6c$xzeHHU*CVx&rdyCgg{h)pgVdLEKvf**06=zy^OmffNs z=)>|;`H@6QXp>x^LQs#89Hmonxyb4DDkx;xjjBd=50j{t4BYA+VnCXLEYitkc4YaB z!dxYa8zHemNa1-W34Zi<%IsGe@Rw+Fg|Nr9v$$x&uXl7m+HteD~=2FTe zOLX>SMfgV5ttxjy;SQCbQ4{b8kLcQ2@x9W_=KBH2Jq_qIJ=`AaPQ&xL-;BvCDHn7A=^(3)Iw$-Aer1M{{ zbQ=E~aw4BmQyzR9tD`?w_up9U|5)wbUE}_xrt9vSWFJS&s9hvIMfWo?>?RpZqUqR@ zz^3dUmEO)7JHB_hhyGc5O+73dA78{tDD*J4h)FFmvPyANd6Rdc_kXh_C^U)! z&ZoV_Vc=Omw6>*qc47QE1?TKSuTp0QR*$UE=^VngDdNf^Q}We=4CZ2 zIrDuptA1u~R+0!2o0yTEsk%YxJ7<}h9f&D4l*bV?l0&YsXSHxxH#)~dhQtQ%Jj5Qn zNb%FjVXZ7S>Alqs}3P=#D08rQ-1i+Up-~Cz7Jm zUD763C3fVk2K&th>#q%j9bR9om5bh8w7&}Oxj5?FRm3ZP9hd$eDr*--&EjasqGKnhqZSvV@glm8;=G68l zjh*kD-x^!k>NG}La7B2iNG2xZzTnw+x7z)jdy3XSiuOmvbJTy<@IcYU(N=!X?6B`? zwO4!ghsEFw|JkC|&%LJDcU4ip-yZ#}y;ncCJ6W$A`E9pK&h@R)rLB(0IljNHX#QSQ ze=9dI=i`XZvZiv^v($f8jpK1tY+cb_TjbDnMW6MWV&ApJde^7F&UA*xVwu<(ZSnhC z4=rnd_o7R$5OOzJoktuO68*WtUrtucLf08O|1fo>xN=d~rA|?S27WSQW2hP~>ejna zw`$2Pw5J|zFVOBCI{c;f|Dab{GCN%%!Y4v2mm{x}yUazM6?Ln`HSNx`;hqn04G4l5e232H`>b;dX~ zvEXFnR@>Obuoab7-N{_y5X8_@c7(Qb5kfrdEF5l6u{IKownj)pQ3b3x8DxEyzJN?d z!}~$rssqY4l$2gp-Y%RaxxJ(?judWo-Y@u+`{vO+#~GSJ?bcUa=Y3hl_???SJ5njU z(o@(lRBH6x{QQ<*s({KPt{Nt4!pxP?j!3&gul%Tk*{?S~F`2;Zmz-r7xnlN<9dMx! zYd?SYoGo7g!a!i0sKR_^xK}9!<^Ge!+WQ3c`{-(NlQL>TVi;v*p(X)ob() z(e0n^IsX*xXM*aN!a9vi>zTr)^wy~y0w)soXg?{dl#;$WK$Gn|5u=arKES{a0 zdc0$Dn{MsXR{vZhtk;AmJAMNpcXAIZd%xt!)H-E94pTVg$6BH2|4*LKEk6?{VefbCk&W%@$9CuE_Ow;y7iTAr zOr~2Mdr)%gAV~29@eSW`uy~72eymi+3tLq>wkc+kr}T>a+|m1|j=?{7WPa)h?3N3A zCC}((uv^Y+a^7ymZW&wF%iT3;$RYt%(999`c5IC(9g{g8KJ3omu|HG~*18YWcKx|F z;wEtq;h<9NWVJMs9I>g<>n&E!g+x@zC@?iI7<=)ZTy{orHd(21< zaL-Z6%anUxGtJ~K>kV-Ch5gu9y#dVY>PhRzHIScppsCxpo)K*O?{RvelBR=acOFs-{1eh?rKM zxxd?hqO3F7)+{Qrh7O=g!j2(+#oa1OS}kj}Te)q#*fwh5L%HIEx#B}PF7#mT zHbrn(*A_`9KHQ!esdtFiabDK;Yy$dm32fH8o92sD{8Ge_r1?y}K(CTmfYo*G3w5Jz zt5069!Xu!xsXZ*XAHFcBj>;otbn27#jm&oRdumZ|%9_e4XV%$E={msK*?0ExboQKH zE?&N3hp)xTC{7`BRb6sxkkMzjF+ID=So_-exA%%%+0g?_ItH!??D9$alOEM?BQ?Sr zi8t1nJ(Wx&`G51-jqp~44VJA}n|z%`!T*sc(H)@P|c<@O~n4j3}sY6-#yu6@j4Ht`}sT7EY z7^Y9=opuO??$YK{g*zA;z&~mGX%z$`m`k-a!{OTF(BOi!|-?0eG|h$I-92N7O7znNBm9E5~4HTmWn>y zgIMsAIP!MUsfYKO(tr5i0mG)r9LNrege< zrXSPQ98x2P?5wvKEQg$-_BsfkwQ`iXTxbS3FoA_6c+B?%M|J@0LNAtaa^t{?^10aP zN9dg%#WUe?ddGf_*sogjVzAp7}jTZo*wUZj~d@msLfwz@p`n4z}I$OO=1Gl6Px_3M44#-03|%D zb*7Db?e3v@{qk%2Cg8OH(dvBE%8ZkKuW$I>zO5hhwLfmvpR|%i8ay~$)VGvXp2UW= zW@jlRXm*DtNr%J4E%|OLNEWzzaL<+M85?^~q8J)?jWyzN)m0cVtE(Zj2N?~~iV-x0 z`)X@tsb^iU2by81mIq=W7)WSZGuB7PDjdPDlnA2#)fydsYmN9BVBAzYqiZWw7V;eg zqpS*bdx_3fV#t;lUC?#hJ+KuqrVD14)ex{`3ln!b6&#rbZI!}vsYRke9Jf{voIYrA za%6JU!7R6XBQvA2BmGgW1N}jZ^=2CzZFV0tGBN6ns?bVR+mdYVY-((@n)VS@FNxt> zd0R`jEQ7K`+sR9j8|PGOph++$M!h8CXrFv!*mfl2+_S}PCa0kmsoaLdm;wGk?MVn5 zDj@9w)VKiBD0te{g{x&uaQk4Rw~V($;v9^mUX+9H2T2Hh4(*Y5XL z4f%=QtijV6<|&2I@SDHKLGd{Kru|@6~F&VX2|R z@SuSC;V;hGXa0#sBH6T)!WpZ&3X!)C|N2Zp*XJF(PFjPAQ2Sh!#}0ahng%i4dl2uG z?t|ImO7~_E1_{8X#JR+5=8w#gb!sZkS)9(=HQn!hS`gVpALrM;S=Q5QF-Xg z$A&^{HEy4alPEwA#>R2G=VroL*AKVCA}!Wlddvn)rgdAsOYR+4qCQt)McP-xtt&Oi)emi@97y3yHM zH#zDFHSlR=J*6z>Zt}up<5jU*xIc+u11ve3CoDuVwNK{ecFEkvMC7`8UXX7$9Vh3SMz7=8!e=itF{@%DPxtkFTu1 zwxn=iXxt^%zzG3H>fKi8GiL{EQyu{4M88>)Y@U(g`vRcq35cpr4JMRY$NMCQ6v0KM zG}MLh#Mk7dL=s*)C4*~SLcf-9Uri94q`JZ46E73caUwe(P;RNWEOnUV2o3SbhL7bd96K@uC|KgW8d>l~>LDDBTVp%mA~ruf7H`Q7}sd_kEIq~@-8JTQHTv9g=?gvD9dm&meRg^Cay|N-a_P^TN)4mU7&Uq*Cpu&7(dQ@% z7KNQyyJKRb2akC|{puQTJEIqrukni+y|7&RK#zV@k9pOMeoT*9rb5f~P=AtFkI%qP zX9c-SuhZxHXR9+wfi6A_7x?ale%E}zl?kUI5}`d$SRaJOtW%$R?iXIy=iWL{uKHvL z(c>PrQV&`FN^3Ik*ROl!&HPGhs}%^%Zv1N0qMQ1{hVc{ z0zQHbd~4X)DR>W;ax(`EzTTU1XzEnvP4_dM`c(U0XnExMUU@VBh2H9O-GJ0LNj08X zdG2yU{Nl#yKTu8tyd|q9jJwfi%HPe+7H&`$P7)>olV0uCspWd|tvYs#uD)3Vs<8d7 zc*m@&1T5X)x;MIA{GyUfm`>*^rQ!D@e+S`YfX{~Wxr%&G4?SO97y#A(qw)#Pch6L( z=;%DYLky7c(}T-hsZVobRwsj&Ko49)y?n={dbVIeY%jN|v|~qRT)zll&AV&}-sT$p zqu00o#PUpc1XCIgyJZKhO*mPb@=+}7$y>1r=j)Xoj|+Sw3Mj=P*r)VF=#j#(Z1Dz4 zsE!1d!DUav=#qd7jO%NAY~VR2z=OE42!&f!mK0K603#v>9vA7&V}2R~Ff{~4q^}PV zk0f>GTgu)QS1@V_@_S!opsiT8V0IiHK2Q0lXzyAT4N_qItRM#1!I7LU(CRpIinfkG znAysy94-N!OTf#}n16^qQR6wbS@-h9#lwGF>mMrypqG_8*-XVPMU3mO*xZd1|DpDz z1tm=OZQPpi8^F>GL60KhY{U(V$b#251Yy7Y^2Xo6f6omu@+yV!KvBVRL0M8VYKI|e7>+% z{&H1yws?MY1Iempb9l>!(R#(^IUsGW&O6U6lPS`Ex#aTbmQ9ITpCi}G(friJ0RQjX$W?6{T2W0fmH$Sp*HurG@S z!f%sSCJona$Yj~XoYEiNqn${{5sDLAWbxcdY1Gj%KA{b+E@L})s;XI`tM7ul*M-{C zRb5l<_DEYP95 zZIUJ1MRPO(5h$lf+hg4AQrr5|NqOpi*w!5X9Kp-|IBU&|DIcF>~VsnA?!D0W72hU$I%LKV_Wd^=j@3a2^}jc*^T zVg8t`nwM3Y;3j8CZcn=sC9|n3q5ch`U``97Jcc8Jh__B}ejzr`>I}yVh55TnxHA2h zxneuWdo_`4+uN5YvqD=uM=)N!XChw;q|RLbFNI&c<3rt7s=?ET+@(k7$J}9=dfvNd z={q>y`Biju)tCztq2*4$_|Qn!X<3`B2)~~ud&yLy$Ju*Dduw%VKBLVw`FPZ|dh0y! zRz8_QvmL#4<}>AfN&`?(DmUw^%?miqNee07~)Pq^P=zwZl)_+1!; zx~&1XDC;VeoUOd*5Rq^;Yg>Dw@J%Z0y$HLX!$ClX^83L_0c7S*OOs^s`X5wSPzm246` zj!8AReM(VL0@tGvsCV~FMcOMKVIRwEd4^KEiLBU$cCnYfM8dZ{mZMpsENC#>^aGBX zD)?(t_2cq$rKm#RlM*v<8!UO?>UEI0#R9QF&nAfOAPb*V$k-%}H`@^?@gAj~HX4RD z@J7W5I#bE|5%EtUZV2VFK3xBvPr%H5nzCoPv&5-kik=j6B>1JD8LIDT5kO32KuC4o zy2EnnZ87dCzur?sV#i}&MNy8^fi{aW=|qLq6Km3alL~#|76^6b^LnJ~)OFEls!f=0 zP1cT#BuCgkh&u@t%=vU-YmhISJ~!C=Hzlv&GOQo$itNe zc}%;H>#jxGt*1fSXqNx0L6!w4eFz&SC*2e@OR>@{BUTX9pug9>lKpdfmxaNRSHjFS zZ1I1z)k)G;WL%TUq#CC3C^i}xeB#R_?vk6B%!dDmhWrPL zMb9gTmCh4?t&pXf0O5X1^dJ{aRgGqx-DYXgG%f#cla7D=@jMyzN6~*w3!_ zlWYA<7|~Cz_p@8|le>Lc=oToY1~m?i(?}GSSxIQIRGTUb*#BYB5R32z8o5ewcqbf5 zLS))FSoYf)I=G}T86V)1)$z;NE)d9uwgt;f&yjKPSz9^W&GXe*$k9nA-v z5g*Z=>}O@IRxuwD%GW`7Oe%AUslVEc2Q3QU1MzvsfxtzLHkR<27V7L23FH z6Ay+}%s^NbdbV1OY4a^U1K=!;5*Jy}zi0Gbs*r^QOXzORciL995^xbD!DP@+KyaA} z>B`czx6yBD$To2*zZC)F2`$j^+v>e&sS7P@3umV8Y?nK?nocvt46#nlg+f1qx1-(+ zV_CUdh%{eDJ~oM_kslh;7_aJ{RFNlCb(!)u)35+8Hqs*1!M9!=ekcAySo&o6fy|n4 znz#zS7kT>J>IG2>u~MS=R-D4&HBHqyYEPvR!?L>xHL*>WRH=MPaid1GVkJHZur>UK zd3Q+wK-?B&-ZkwU7Ml!YE8$t!DuS~RXC2d*sV3>Pn?`H6X>=i1J8%M4f4PYBDd5!g z(aQm8lLMx4!0BQ+lLLffh&peQtKd=Xu3~n9cqE?G@r-@49cg6NCdE98wLP8Pu*i+{ zMzykp9j)_CeNiqBP`l&JG{uQQWSZ$-nAuT(hwW+UEHPfLHB=&61Sg>c;#U?=DiD$( zw8J{&ZfBBeJxR0xUQ>Kc>lsxQk3I~$;dZ;DkFsO?m_4QBGCP_*^bDibD3slfyA4M? zrvwcz*-RWy$b=k=#zJl2z~4#+vwXR z*meqcUo6>K8`KVRz&M=6MPENaAA=4v%ytXfRMFp~EgOVvvbUUfM8IN1IsYcj&{--P z>yzoM#1lVinYR=S0U|c*FQr>PrvSc45KA=Mhj&;nEsy5ExR5zv*O0$gFTf^XwYf!k9Ci&LyFs)BDTd_8A#uLMu7F9fwHx+m*Wu87+pG z1M=)_jn#odGoTbfSQ8cR3o;Np)Y1ATi>YBeBXSB2!GIVdDgyE}?+g!h2z~Jt66(lF z+|(+WFT=ret=AjvFNJ>3MVVYFO!`HG@$@G?usz-Bjc&Wko`(|FZisvCIGypDQF|Ic z!S1M2O-jCm?&Y+C?1<&Stwz^C$FueWneQ_*{ZrHX3!~pRT_2d{5#FdYjIoRZAI@e= zmRi2K?R&ApfQV|!ZCQRHAX+Bt_ay-DWJnKmeT{-v<7kT&njQmj-Xg}KHHOkZ4d42G zrH%p{&+sXx0~V+uOFXY|U*nD+%d1T{!EfWV?$F~-K5Dyl;WVAUPS=ol-fl{Fu<}BFIP{qchkT1!!U`RNM@KNggwCqaJmm!UJK~tb zr76|DR(aiV@}Ll%5J$NLHk=NYs><@5Mkk*qA&N0^;sN7y1J4Xh`RPcPJs{C(UQ($J z(;SZ|U!AS_c#JW&jchN_X4vN2qp~@LJ-`YcLhD1z&rpl5s!ndt zAq?}7R?P8d8K!sD*&Q;MXkO$XTJQxG`WgjoTqjoZ2H_W!^@<9=tgP2m_*G@yrD~+@ zP+Fy`XfxLCf2_@;iYZ>J2bD1U$@n%MnDxihYehA)AOBecMH ze=Xmwb8H|ly(E@@HLfqegF~j30rv-v6^Bu@GnbpZbI6X>ypntBe+n|zOrE5PU8ekf~uXzXL z3DqvWEpM0)azZd#kwEH5LWStWU&;i7D`tV!t)eOgrdmS9m2_qVa8*rusfNsF}EZ$0>ubYl8P&r;hM(nTQAW`5!=n#qS)KJ$Zd zmBIsuR|;o`r4R|3t6elnF@nEhe4d}oA*nfguv}>!(l{r4h&|^?RVjQMCj&yd?)SCt zAwhTf3smwfRlPtpoTd6MPp6!X^17aL3oM282oDmOPuH?Omdz~7&7!0$I?eVu@u(NM z&OPKKJ?Cq4mWtQDs^?r|AF@`@nH&5*W*_pgo^v5c-dIFs$$-c*1UiD>fynG$>TXr#5G5;}G&wLisNEUk zB=mqAb@B$xl~tE3a+t-gR?%Bk463`e`?0bIMwm*Q0eHvB;$U1cCWN={=eP%02Nvl7 zjiwKlho-(}^e-kg*DlS*BrdtH29ZU}by{~U=+^7)lulk}hnLv) zgEk75ek-KnVLMC;o>kU73oVsv<|$p=x(J_%;^lF?7)XH~gM_&R3+bvku0H+Whn+1j z2twlSveLI=4@SYvpO|aHS6k1E16gcH@|_6!ZvPXL{Mb}~;k!TB=o6BkhxG>v7kkmy zl=a}JTevIghG$ItY3%f2W$%rQqtE~M&4M=k8OmIF#(%25sCLXQrtgEvP3hKNNa~eI zcSRDe(e>{)?tPG%2`FI@H3k{4u$6APxJMayMRJ^}xyXtTW|ub3pY1rXO;MceBjo4G zhx^36SR&c-R!sDTe7!ZXafa4FCNul%qws!~Z(VO67Hz}KO}?<*t>p8u;$yK1I`@YJ zncIfIM&fc}>F%6vueEfxI@z>~`i-AVx$$upE}I=ShmXU2o}BZS9Uq^s#qq?%mKU z*_(g>xHGpOiAD&j1*=a_h4)YPcgT>Qo$q(8l?1$G;=;A0xh8qKZkf@| z<$m$#7e9O9pFBO+|INt4Bc7$kGdyI7U|2+_=wVD|OCE%E#Hj-Y9es!kzBD<3hJEXS z?H-QZ0e`^!XLDq{7MFu|C+Q})be^)Er)|eCB0>{`VUUfqo_t7hjt#$yXvO!Bm>koI zle-^2K#!asw$BU$R@UtH?#;(&)?ssm+fW;Ch!UY6yVY@SV?Nnlo%ob;8SWOL+R0ew zm`gMO+aM#i7E$Iu@5Iy28pm1dI3P8)seyXJmGRUS@gnhO+Pxyar*(z;MY(geooXb) zdLIMPa`llvl&^S}wn0Ilr7_0q$#{-vYckMgN#F==eU$Io5kh`_dYBmFZh>r85DAYEa|-ypJ6M^pqgHp#c(OKw%e2^Noo ztFVKwbK4Zq7iindN5e(CVc@fwO+;%=Mz7AeFJ#8y(^{tX!-d)p$Tx|*o7*^Dch$J$ zBO-JjzxsLTAJQtuFP4Bsx+)B4e`^mhwF6>WdN1z&El$1vcry7|GRt04x+(t?#V;hc za+Kq}6HmS!PomAW{am7d!ViVSLmI#yes%phC}94#tGwm#0)O^7`$bWfk{qr^zbojn@+yN_Y7jt|h!gb`nDu4i?NflX zitpxV6bnb=PDkiLFLCtF>-R1E-AW^ zcVaW#m+h6}xxHFE-wwdev0AQnv6wwBGu+`+aV3xjIs#pWAab2)shON^;k&~f|7xi| zv}OiS&c>h(CsVnzBHzI#LMRpP5l0R zsC)mXdz`A&EEFxCzRjqy`g2q120dMYSn~#uA*lVrQpoP1&YJ9&6j+TK=NG{DTR zYxUQvG#x;ux?=5`a6_d26u+rUEBt;mnvG^F*|o`%Vwrzh9obF_E{En*#?j0rlc?;M_AhIW@ypypzbzc`a7f`9QFS;WCF**z3qm+?H@!%i z{nZu#UQGz%(!H6{gE;b5iG*g@?||dM{?-WI7+7>IPQr&Wawe1kIrXs`>1!!!vZ36p zmYe|h;M~7X2Ft;29|^s{x0VT%PSLEiwbI8|W&g6C?>U8n57kEc#Nr9+#91e_Oz$&o zc<6&@`iy8+h0lqq1vq7dg-@cdY;ji92B^mQ(DYenoLEIULG*Q?oR|oAIYv(utydb; z*5`=&0w|zB_-QeHtl>ewS?MgbR|tsVYUjM3WaB^g6gKn}Zj$t`a?JHkrEpzO^74Cn zj=3`^92qieV}~UVwGOM^B#{%u*NtRvFHi`@bqmzF$tIhyd}3=s$x4zVahc59eYH%SCFhTtKSv4 z-ghjz#VQ|KI6M?WUv(tm?~~xBMsqkqmK5kw7aE$kkF{kqp3vK zwp^`Jx1($8AG#1^3lBNHm+`{3KgV%WH~@*Zbtp7qA3C#m#-o|Kkq5HaRWjRE=jhRb)aZ=1FwU zlDn=d*~@)WZV{Of?{j4NbG;-C-S1eg7kmF=tq#UbgH{MIH}H=du15e^p^?3qRmqrP zj>O%=9zul0O0m%#oZ&kC3~^~LO_mk_a<1gWHj#uT*Rn{e{Wu!H#P3K0V1jLJ>A8w6N zpp4fjy;h-fAcoVvQpJbgs`ARcR3!mek@MV>`Ki80jnj0_IotDV@2Uz@D!MJGi^jbyFnklj(uc81_A64hJ8G1iC@ zLm#LcX&s5gAeW8Zwe5gIvE&D?fW!D80yXxQFnz)(_70d@32TLU5Kq^edkWz0=7>_@ zrwOKVsgHmlpwC6MA9lG(T%{d8UP3>EXphGn^LqmNc>SY@)F=nz9j9N>kUi+{ONz)u zy>~#IXVWtMA=0z)2-^l9k3RBjL%ALiRFnDUor;eWc(%k&^S>1Ip}Fykbfs{Qsub?F zDur49u|Bis&>jC{$M-!KyC%5CaUru0(H10H7KP?;`&c%PWzfByVq#tDqN3cO@De;% zhptZTR^`26Td(ujvXHxamF#_-ZBH}XRbvrxy+@TkW#ClZ}k}5 zB~C=bDM$nnj94i2tZlYH=7PkQGrrG;lOAo&*1(zL4{(6}vL?4Z}1_KEokuc?U_>k00}?g`x!uhJ6|6uz-1S`(5i*Q<%{ zgaU=*SzoCqzN05ZXJbQxr7CuAEOcSEeN866HuEalgRe3qIK!zJ|s{6Bv`?B5hvRU9Xa#f-?B46C$CL14ysswu_lcAmJ zq=Se~d-8o*>%naDfvoj#wlCYRuFbSQN#?QGFFAL0)~!$8p0$>fTX*JN%Dq#$cPYEP z!*Xs@$y;#=aPbHT>lw3STHTW)8Ewy#5HQzrt3TmFBC+TMcNHMq@5 zBF=J{qOY|2^*F#BMDH!C+2Zg*S_FF9XHw{=PA0fBD@uiC{Regn^2n~Rqb+I#@o3P( z7Ih>v3lY4Cv@NhafHh?(RBx*2*|GV$h)Q6&Ql~0LX9mI!F~=^cw+oVYBfOr(Kv0(} z^RBYs13CiM1`8#F5#i!JORp8UE^%+z83~*T^mRucFKbER+bXZr4y`Bh`eKpgx>Yx` z$T=EoZZ~;>7(+=GxM`Pnwg?h;)s<-4&5PQO;@#f}oJLnP8wq+7-XHX)fclnhx4$fj z_2|@GKkNd8o66L(jW^tBCQFX%Br=T!&^yYMqM0c|6gG9RJ~FL{E}?|%Y{+12k@37%OF=feW&F8Q}g_8+85!x)64tj=l#?3?)-es=GQ!neK_g>FKPM+UQM|;zv|5YbfSjg1}Ic}P)0ZbM6Y_yN)$hOWx!E#Xh1xmYt~-(}4Wgvb4K)cT*Vv4WDjJ?%sBMh+s750G_lloC z>JBr|`y+XV%Omb7F8hW#BD0H(nC*fh$Zho@#dk%hO zBJq5q_0>)!ZOer&;*-#AQOr(+*FlB@y{H`Tk|$u+^{a`3#Nme}Pt2?vuNLf6pj^mS znDzUbPWKA`UM!s0*6T4GgYcLAun*2t$sT$j+ zMDghQpH)joGu=x_&dRo%?Gb=Rrx(t~h~=gm3CE!cWyyiaB7W5 z+^Oxnh}Q}Rf5-NUWG0Zoje55UzbkxDLZL&+6<=D}|>mDHMcla3`doQ0~MPdcy5?OI@>Wi8WuEfHk<*ZCR+AlP&WI0wv_%ZP}`_ z?%kXZ&8u#IvEaT`fE#?d;Js3CpDXn637@G~3L{O6TSb;Z{II6Srq%30j`+?W)dVpM zjnaMH19b1pF$dW-slR~5YQ-L~1R|ywPC^po8#EAg(HFzvEhN~K0JNMx#~aCbXSTrV z=O%WqOXyvr?eK_X#nMgq0*fdz98K>&F_U;Sn_88%{WkhfRje*r=Ap{5G7nj}MayLKN|~Pwg8php1f`K;ifGWsDZ+qi)o6W@#SAG?@&|Be zEj+|+%nt%yk3}yO+Me+WUpzpdO@`x4%Y?O&KupC^dLnbzyOLU_6?m|EM5lcvd(e#f z-!u)=lO=85Z{=r-9;$cI`xbu}-#^Lj2UIHFk2h+^l(!b|#&()qm}yrq*lxE0|HUK8 zBDZMDzScDhA=hSJ*;&FhTLs2H7filZlmZUOjkJOB2 zjuFLaJqZD{dZ9Y?Qng19VcwO2v<0m;OpT|ZfDDxgiW5{;_A$Dx4@xiw<% z0&yPI>Uk_JEwQ8+iMDoJLkqVAneg7=$5o7tS~hGjHXA0cnvnYs>#QfH>M7FAPk zM=wJmxTHF}wAzb!+ruzOm-tZ9$vyAzeQy-|jqoyE_$d(I*GNn#j?kgdeagHpm^&jd zQvQXrh5`S)7>-ElV=!^%#aaq227xWt7{evm{xb! zEDDkp#Du6Qh(r@cR1m}j=IolYm~&kI`&2iG@ArP!|6OxcO?8D+b*fHy!u{NjCz9x4 zm$9LH`DT>TaHVhu*QlD#u-+NC&|49f5X%X%5W& z=qom$#S)2q3kTd1=?}veVzXgE9p)k3Uk^ZZCOQHS>t;P5%c}fEBG4RYi=eGoVWT)YE zn+2z19QNgd5I>dHb|L`qs~tWREhHw&T~MpU!EI8E0QsbYC60#y-5e__FAn^Zr_mG3 z;UMV_2_k~W1!P88JTxY-k3W=*A}nl7;9Nc3px<>{5yI&%pmhdnXZpqWyM{{GX+tmy zg^e|-+6_@uoNQ=3uf$&Xl=>#) zRJxjY6|9FY9SGee6aEk*<#pwW8_MmJZlmpG@n_5IiaaIWpU5XeiFc%MrrF?p6 zV0Nidm=ln-5*V-@goj}$42cP_#w;Li*N)7$tSgL92#MXR*lotTY)0HW8C>r}(H_QN z5;l2W041M62HW-btRfs&<`K=Cy$ybYpUmvF zJPxd3RK?{NkVY)70~X%?in6BnOYILz<(s8@YLD-gLMQZicVF|oj^N#$y=!9{pT`IK z#Bu?%)*syWWU5pl6(-EYl2<_M0!ttKyRPVfW4Fky5cQxl1;rT1=tGd08j%`Hxc<)2f`?8<&B#;jGP?&?yl5f0-(Pu1ZD2%XO4LoOzS z;*7YMIC9-yK;00X&h_!Y;^|_4D25EYO)#;-R62--!+sV6cgO&+mIvr1r~9i;5DgVl zgXl2|Fu2M3c*JFmu09l70evW3BBPHSrOT&+kLa++D%iG)csq_9hBM=SgspdaOj|X; zmpS)Th`Yd$Xc9^eg*E1S+DDJ+sL+%7VW3!ukPvjorGL7Z1i0?v#`HP5nAe^<|SgO0+ZWO^+2q2WZ6X^=F_gzK(IumKYuW*U9MBOt&z`1>?EBJ5+aNKOag#%E zD1lTF^U#-w44RoPp1xcAKN6j844OnPKjNj3P`wL~5^81B81xR~hWpus0BQ)Uus{LY z@&v*BR*j!+bRdj{r3hw@!?Jcbl#v)HLC}*A#SmGFQDHE4GyoxF?0I-p_MHjghBaZ6 ziLPqGICu_pkuC7Bm-L9@q-USJ%YhdRYfP0_Rr8}wXs zopJAkf8&Jg$OtmLB=$~quHq1Ycvyz)spC)nozEo4L&B$l8^4<-`;WiRtfu+FSP$@c z@KQ>2IU^mIPe6A85c)0T{ret%W3TMoNO$kG)S2okD?C}h&f~lT``|%pJCl=>WvUaS zMOnDhnp}OnGr7m{i>d2C92|p3KORrk*6H^yI0M_wowDn&k>mFs(E0DKN2v2(fYRTI z2pv8JOP{WPceZxfoyo2yoMkG0T4xT-7|E`lod!cvCj7@Fk52GYC+Ci@pWJZ#9M-iz zZZm%O8|wrVADWNkC0*xrR(d6MFO+m9e&1DkIvddf4&9>#jKJ>sW_O_M2<#q&pSM$I|E|^4IS6_OtN`%zl^{Mv%UD-G z$hrx$JS`kHg!-r|9a{c{a`k#hT0(;tTG~f7Ac6z5jeBG$-?l%kXgy?*xDH z@s;?73dM!-!p)HcikgJq@y?j{`z7jBlgrD@p?&vw?3by$+^fgaG;*Ar>RXwq{VARN zISm!+m$dzBT7Q@RbAH25fK{~Bu1Mof@C-GO9pt_ljuYlj*@#+-D&RWU8nKWIhKAiGF?AqVEFMo3plz6 z`LxpROX;qc)BL40_tpd70{kn%vN!F5&o2p$6n@Kko`;{{Y#UcE)asXOX?+bQHyMtZ zLPjjj=^Jw`_tvz)G^v6%k`Nv6VJ+^1Q}{cz?77f2fqrqIGFkkc+1Pa`{op|T7zm^5>` zHdpKd0Rf#&_F?p4H~v94{(d+4K{pNgHJ1vR|$gJXX#eL}X5U zSL!dN4s--CraZdDbb1umB0NFY`$~}42FNMb9 zUB8H`U#)RpsTq1B>1jE7KmR1frlAe+nnl~voPTqjo{^)EcR%GK>hz8^e_kX1s6FgQ zZovW-f^Y|*^$tGZ=S&%bDMGj#@Q^>H5w?udZl|BqwKAA(Wr;^K^5=}g1PJeksDHnT ze^iz5yZ_Yxg3PAe5{|9N+g1FXs;mf|18B6GUY&2=g(n{KYX)F?L?wgqm)!3%_D5+w z*C4ll$uxbIk+Z7x{A&6t<8>LYft$)LuGSoA^Y1c|KhJKyk*r14iL0yK#noj$W&N3C zHt}=z)N8AAORDRyt8TceI*Uq}zecNSfq4iMVrP2#BC7f}<9?GF|80hUli}WaAPV+t zAhMQ`UQWq`lT;66)P~Fu@f5&E&!y$dRgreKmwGV!m)eY7Yia`nw7%7=$uL-6*JQfi zkdd3RdTW-Jt_9v%60>Rmq=jYO*aGc_tfqK3lfNt4Z}k(sb5Cc>@->i| zCwAW$zCjanXVNXeoKaX>waDh7^LuFu$PRne#*qa>r`_`wJP=_#Pb+n+HN5} zmET7%QNF4tnKY~m(OVMzB+^2(AlG_STt^rI*VCr|}Sj=7Zi(fw#e*&x*Nh84rN*t-JTT-u^Tz>gKZck0S*99&)Yg%NTN==n{@x${8Ibk7%ieYMdkDx)5a#vMX$4g0rf}qu zaM@-Py0bA{g^UWEY=&Li~^YqdzU6609anrmmq6;&Pw`9%qDF2t~ap1{% zd6q8D{5d-wdr78oRTi)vZ#qRIII0QLY44Nu>MYILqc@*>F$ET9(Mw#+KL|q8ZFY^k zEb9cWBRmj*7Mhjam(m+j`hk?aA;s3GkTU!3lw6R)C06_%KpHU+uO z?)r3iMjA@%)#{(kSo&>CCyI3~%FjPw+1|{4 zFrznSXj9q@|B=NR|Fs#!e4pO6A?-ev(H~^oi2Gay=1aBG)Z~G5c(r-vTQhn~h8|6u z4~L6%{-V)a)9$0`_||mn(TsjPL$~Zv*EO^jf)c%wDG%yx8G19lTf+Ibdv;gh`39W) zml5&UHH5Qw%R)^!v-kcE)JZcx><+}aEu~Z4OJH69i?!1*q--!;6dxMM?FVESAwv3kd>7Mazv5 zgQ34R)2ZIJv3pISvrVG#N$h0{Xa19>us7pS0;^HzHdE-9Fvcf%CXGcDF$Dc#-!yC> zP`j>R>|BIMf}u^Gr#tyR$TSGN+qwQuq=4j)Q*fH${xjhQZLAlV>tOS&W?c~QCeb*M z0rv+#U?ZDkr-Nqz7(1O~ZZoX@_c2&TO_;)b1Mxf81Z12=L&Zpp+a^B**uuxmV?EaL z(t&WLuy%vMo@ofk56%zl7}-!xr-8IAAo(CUCf2~rSvUY}SSLGk=sX(HyQnjH9mUFv zKcSLasJM60e#r&q=jT-N#$SJ4V}5q#kK*Lny!>cHXI#qJeI^;e!>s5Yo;(cpsaWr# z1=QFGisa`gHKJoX9q}k3zu79*-q|vjj+xHDuz|ZTB|cIC&vpf2Z^wLoDxULB4hWB_ zF{qTlqVOFDyUls5Q{G5ogg}j(rqi`-I2wtu6fb`en(kjr#V?o;dQF5FqdLfWT~L9I z8r)BU4Fp0X_5uRX1)~DTGSEIFJT7z+Fr|n#gOWc2KK2%81r?hDIBfW7szV0VE)cSC zEd63}u+&h}6uv)V$+99+7AZ&0v5Hk3CO-~tOFNx{kBL}1(_E9TUdCF$C` zsoCFjAGP{hrui$IQ@TD_Cu>60vYP{reO+Er%!_!LRel{I2hsPe%m!^8?S)&Fxut8V zXR2>mAKsT^>DT8t(D_n-iKnOpaeZySyb2qU~m`!TIaUmewf2(w5dqvC_TD)l-wtV8pb64%Elv&VT>mt|Ly|+HH5Ry zf9)sty^{{$`%f9q5A1VD{_T#L(0Y(PA$d^K1Q5g>N|Q`kLrEW;gOf5jshO;U6NkHp zl^x-SX(RFXQ;*6WS$|B!(R0{jjn7d_RmZx=jYkAF$1?EP&J)y>6%3O>$*K9$$DUj{ z)jl~nwfo8PANmYB-8?x;Kc({Y$Z5&bQTi#7vm$4f{mYbI{LjE&D3}ejC=+Z^4E4cP-&Rgp%`NSvDZ`M zdqf zq_-!w7FW7dk6AFWhFX!Lbq%>|scsEf9+VJ>P*d`t+bIXU?(L-S0DRn8PiK22xvNb~ zeReg)f+E0I5zvM!!C(^lFGHfb!V7qSR?s7)HxX?_)rvQf{}BxDT@RD{kjZ^gi8WLB zwUNRPQ*tY5fc>`Mrp1qv-ik9vZzgvO#Wz#zNzyQ-J?=fw8c?*WZB&i~ZA5Tw{f~Dx z00>*tq>hc1C(%7iYfHR$CGlp`aq~jF&mS)uw~D6v)@GVMP1~QP<@@P9Jq4en^XRdS zfoJLAfH8;#eo8(QK*kODxEVx8tZK2CU@Y(rGr%uk*E|Kb762l6H7sB+8kSiTMevC^ za;;f`Wqh1mL#i12bMj-es|{CdW$JLbn){a2R{(aCLWCXU(zk2ado_@*VKi~0r3aJ^_iNZkHOk))$VG4jL^NV&iNjmyna+?NZ>oE&t*k$4*tFVM zEp&kyznEPeSt}bV#SvR9a*bUxP%Wtk#MJCQjUtFt~*OJKYK;9=W zYX76yAoz{XgNWGz8$b9x-iU=>kCnXFn`jj zqet^+6n@vzV}JQwO;7CcyCU#PUGQ~WZ42v<2KirrA0tXlfzQOCxe%1w9X@N&1!6fG z;^2u`j>Ga9NM8)t1@Xu1DM242YmtXZl%OhMfua-vn92%KSW-q< z4iE_De~gev0RLgK$Nxm2JXjX(CM%jeGx_<6&#j#%@8A5y=c&TRYR7CGlQ)-77&b2t zF5effv>9sHXKZN4utoV@3&X>{U_&PiivVlBl?~k%m_gy`gtaxD&bNHCn`&QcOupVY zp3xhPwo(N|`5pA1M*T+PkarrMfiWJaeuDS`rlAo&w!_`w&JMD7CM+!p;y-# zr42NyE+Xfp?yl&vrpPYTHyrFRUkHI3Zql=whFsEA2G$B9^p&I{jkq_)(MlcGI7C-9cYAS6)CG`OPk%@P*`_YpNt$LL?H7Pd)o3UN<$fy%isEo6C>_{Q zf%yW2qc?MGRl$Q;gCOr+S1d9`XK5;AX84S*Ffl{7NyMwS!w_!Z9bR1K^@Ir7M;M(B z)E=N}?-}IUIl${t%1~1vJpVro_Dx*S04LGDh6(!>4!>pS2srJS@guEa0H@;AX`CHd zJBQ^yBDTo`Nf~zlgbg4H;aWP1J#ONM`WzNOy&+xm?Y;8C^#nFA4|v}fZDEE2rrkrm z50f2W<(XxGt3#}XVHVc2ndRtVHW(QED&PjUvcR@LI1F2g6+%ll7>q&n@G;rrBEAor z%qRtD3GyQqxF+9`D|CUZJouID3$m+WEkmcXVa`xCEH-qN1ma>WuB)Ea)H1ti1+l~C zG&%E|*qo-=+@^p!9&`i6P53sNzz|i$=%vQ^tBtl5Oo1%SD3nMg*nq~{g|BcfR5$PA zR2Wt6A||F{5dX#?S+;#lh$vqg4{%pRwM6d>i5m zOqe3%ov8T_*Luq(l)9MWmymlg{p}KpW83$2Q?s9*Lv|++f<4|8f3(ScvB{5NO9J!} zU_~!A#kV#U#yR9o@rJV##XhXT(1n$Vo_v5f(dTQyGZ-+@-wF$d;1<~DIJs>FbJZGt*)fzh)ToXT%waBf$1>7hRZqhc%UW!DINueh_zeTUn;(DAb0_r~aZwHVulG z6yZM_7^V^dFcAo7kBJRu)|^H*w~-0!vPO1!BVg*Y8rkedW+5Xe4^MAoGa4B%GKRwo zz+v;8h$=I=m$DERJT}b3Q5fQ_h5&lSdfLhmTb5#mSq45j01y!dfd_)L2gf9)e;2cV z3P|q80*d*p0*LuKQP>Eqqy9dzi7<2AD10}!LZ1xA5f2`7LN3BbA8kYwI>>+6#zvSf zf$a{0C#4M7bzwy?g*o757%dM)s0aDua`dE$fg%KonF$k7{ClIV_Xbsi`PRrXii`uW zIRHg-E-VD~><~z-I5zrnB@;i^4e_wMOozQ@%G7e+2n26(3)%v z=HRSdVS_H*`^3}D7=9|;^-!)327FAKA->$eh#^4ve5V;u`bv;`nZb3Xhci8is{k%G z0{kDET71515z!2C3JeYB0mHivGqQCtss1tzfJF#8K<_*#M?aq^uoi5i>-9vRsOV~i z;}Q3IA;r?b?%Yz1`&yEani zvA(5k6`!`Ye%=bB==PSpn`X?5E$%O^_HwdcZqYUFZ!P^_YynS=0-G~p`0SmndRiO3 z-}0wbbl8h6$znaP&7R+;KW&K=uF8GZB4@Sf8Ey3O9_QA-)gs?)Da9>7pn<^WJz+&ta1HalpFU)V<9<pjfAP4SG`Cf*YtwhN(Sp`LD>7hatGu+eZDy+oRzJ{|dZ=y0 zeSf{I?yA<%m91m0YUNk9a&O%a?wAd2?zOFIw_B+0n%2^sSf?K=tfi}IRjc#iF z(`_{MVhXQp3*OomN2=jZT7#j9`HAbp09xY85HuFVLaih8GPXznTL)v=K$8aIKQLXf z2RPy%dh>s)(Fm2oeyo&+4Fq=So9%fa- z8Lttkmee_fWNSm+i2d~e2{w}^WTi<4bJ9jAn{8}m5$V=rfSN;2D=rIz#sq#o7-?>& z*c@J(H{zU>kll0z_(4$2fHGO$R#pcJ>JjPu(K;l48RPYE4ltRncC!lS)n!82b26p% zx{h*2sh=uT0|&=Ru+dZHjUC4`#+m;y``A2+CAY@^a1KMyvpJ{me>O84tv>OB6$Q69 zEPQuJ-;(aN&~OicH`xd)HPO9T*nc8xHnBBmz}lJ5;}Ov<9A@QDwaIO5`oT8+NSg*f zp#t&UCK8Pu5x@dmSp$CV1mc)&DC@QwG8UcR2pCP6B@CEn1Qg6i2tILx^f5aIVq7t{ z=3V^qTMakVI0Seb;(3D$g59Omz}jyou?Z|1#xy!wo-XcSqJj;V(7X^sXQ=IrM2vcf zvS>Wg&G&2fvIkp0T%zRNE#2~Zigh*LY3L5-TS4=GZ)hg~;a4FiP!u`R!G9dNg!}I9 zUVCYqJF^YIhgofWc3X5-TWEHh{KNELBk7pzihdxEL|p(AvZ>h%1{RmYgIWMJwWC&m zcp|P4W8wA0O3bufiUc6$0eI!Vm}Orx2tEt6Y8`=rm+uUyHXdG?TzDxoh7Y zrRcsv*=|4wHMihtaGK0;w6U=%@Q98v>3$T8bGJe1#wsiS6a~l+ZqU z>oyodwb}&_VV+4$cviT zq9%Ps6T7ep+6{Y_)K7Jc%gt6wm@cX~2o)i826(-efPet#gqMUsHowCYxOQc$ z_GG8leh98XSZxv`bHD`1cfsRaNV(91?@FYwG4`f@82J$T`NS6E1fe&TZw6I|lcBx* z`~I$FX>*l}(Hr2G(!h0gUp5Fraw{8T4MK*MC{oPSc)wePUmq_<)D_g6{!l4SL03Hu z;Ny)ZCd!OFhUo1{BjOkrmkAiQu|W0NLSltr7cfv~S-5`pQy6UE*J6qKDxcx2e5WY) ziG@@iDeDJtaI8Fh94D=2ljLC!)=t&<;+-`+nq$mV!UW{4StVFTgd<#5K8!rO)c8hl$M{!45yY6)n+ zJqih_SlGPP3dr9-B3UC;v1*@hp+SXvj|EH#9t%@U;jug{KR8|rO6BdWuwfPczuK#? zu{!pZ1iF6*7^wJj-4P|##3FZbeJ3}3AAY65G^FD}QGxLu(XhO)&Kgx2;+jm=TXmw* zQebc=D=tRaxa~U+b=wNdu!mLoP~9U*Ue;uT4+%A>9m0NcyOFe*a+H?Y9D(wQY`wwy9u z)=W0{oeRA!#=?uGbG4*v{(`i6c+1itX}ghJ>MF8r6sSjoCOvwv~u2_u6b4m zViDaYyV(#)7>0rXVincz%K1gnuPXP0(m$$EKd6!)mHtXqxICo3RL%}XpR2}?mHtGH z{#ccKqV&6}gxT*X=S@X#soZNyzph5TrjoBK{TkFim3TqXi)u=~8Xr-~kzCHLl2*zo zYb-d0wTjN504lr<0F~q|Jc#T~NaoDm5(yA?{YMmDAxo^boLekfVKv@p>7~|wH(If! zR^ob#Zm|c&lg)#jJbG+1kv~8i%AKY7Y$ax?9E;9W|C+8OU|@)b`rL2r z@T)KVVuznT^BY`vkty*z;e03Qdx@9sUm~1q1uYgwT`BB^AajqwVkXhOBr3?kBlk$s3ddC%|IW`oEl;!Q0z?ZoWp} z2sM|{4V_G+l2do;2VT^OrQ&I{eL_6VIemPXS1L!qT&BicG*)x z?k@WQk=P(A9}uAp;sEb%+*==g4_Ju(cL)ap#%*SNaaN0=t3(l$0gzZa>jm8{3cX-r zK{Ny}Lo;R%4BQQvUOFsMA&t4p^Oo1=*cS z*klxSJY?7R4a+LnSc^>rQ!(5I#h3vFLKqRwfsm(icu6r!f@7rBM1B~mRbjF~m9x9d zT~-;+(pODIVWlmGkcgGWdc= zxsVec8XDy~4!Jp?9Y#B2k(`^NIp|13BQ^0vjN(Vd4lZ`!bDmN(1p$ndJSj1zv=@vk zV@o7LEvP&Pv_e%gNmNtKl3(go9*K79aa4QRUQSQitFfoE*U+AB??f-^J*8J;U#AcCJ*kiC ze|A4M&_NFKlLm|!WOd9Wtn?5$I6OoQrXg*E>tR@?VY#6i`-_IPf{4T&%7+QiRsL&u zf9z9(L5GYN>m=sRHPW&cSp@?qKJTp$DfXITLBp6j;%X<@K=NX&-Ya-fJ;iDz1^-%=(>b6 zM8YfC3&xCQyBspP6e|#Khu{Jj579aLA?+pwX9BRVkO;hw_X;-BT@vF63p`tHYVn|^4cg3=NWtLEY>#r<%8%I0%|W~hle)*uW`jS}!}71e8zte{Dn>LJ zR_0xtMtxZt^cZXrGp^{Dn8dkJa2M@B{rdvbX3_zLV1$r`aUlrNJS18SQo-`_gb>KJ z9gFl4VAjGb7*^25uU7>X{C=q5!+qj@zi%}x_4{Ci)WW}-yKrW$ zqDLED%zh=j!nFi9AN&mulbEZ_lyNDc!qACR>=zpeRE=@W*s#)Iv3Bt$CqfZ4Bdo*= zEJi9lS6~oEQ))wk3gi&7(z@7kb&CZCyM18hEkh_vFFCy6ySTjDGkNlc#b9r!_KA1n z;mXj{cDOk7qi}mWlYFltOs!ETyIIvxuYYIyH>Q7Q&M%C9Wy9WN*gK7P|As}uS>S%n zoG(lwt^U~m7VG(OUMhpj;W#WsB8l+A2dMll22?V9f&BsaUP?V*0G)owe~<?+#Gob`1m zDS}(zg4MP@|s4%#};2 z?IIQ}!@UlOvZD{h|3d&Pa**F_1J$o%<^KR&Ie%W&I>v8fuD2HVkz8a~USXemKZWn3 z(ESv;&m?2N3dGfPFHKyJi67DQP^dXe-bQ_4w_Qr3KrOYFdU)GI5uL2-mQn%@<_0?M zN_a!uMa)^iXd%nt5y1%)%EI+oc*I#O8nZPR=53iM^51J0ziC&h@Us+phUBx9*lrL^ z>8A)hp#7hs$Tq5cibC5c`V{ePz*9YDFi%r(kH!|5RAZM|Iql8@SOLuVtZJ1}ca1}8 zhmnF7nZ`Zete!BdWu}FHXb1t88UFdJOzPM#&4H~9(#!qk=V<(T*O>B*GzN1+K^g-m z8qPAwFb{*U17R#`{Db2eOpc#3_9_Rsl`dd#zVYXn8o*D)5D1|M5qP3r47F|}(W!>m z7m+vvW;^m5O0H7junPG!sW&iUoeWt?!#F@}7%VMtqj}>~e{R9A`3Ipn87GOQddg*H z038Ggrd*q0Du=#RjCh#}kZZdL^pCIu0a9kCsMvwe0jfwA2VgkT~F z9Owx;jiGw*^jP7x(4FK-JM~W1jX0KD<#5-2^)uFfoz*Ll6Dqzj^{Bv zTP!p5HndD|TvU!Zb}?Myqu@FKLl7T8rQWv+TYgZa!X=BH!ib+u-qrw6Ghwep_7!{| zi8_=pgV;8b=ptBIy$^E*IYYenG9Rp6xV1^IReL=hg4lda#@bkt5!Q?6k)rx2csjFo z26;~o>e0vUJM=&<5m$AH#I}*Da%SIf#cGCOkBPDGaY`Fpg1t}a33DRGQN?4Kc;b+J z<$p1vJvvc2V92QX(OC8d%?x}jXNmFj3lku`?{4AbD5!g;TRz`8nBprSc-w3!RRWS` z7baR;4CRfO*o)OEAY48L&D5*T;h%`Z$T`$^uZ^@H&=y$M2*=fMU3LIjY+91p9#|A* z#ql^q@FN|NedEPU1eG8Jh18_{V_t0@?kIFx=pG5ARVaqq*~H)xIN5L(!B8BKI5R5z ze1r7)I=qfnjc?n5)@&4nYJ@otgdIGNes-iR2Ym+ViPl;9M_h_7@6gn+x3;ma^L=1P z{r!8u_FESU!>b&Y6)qE??*!Uf2Cxn%1UShc5Q5zpS+qg|Qwn0@f(q<&erzG+IK}EQ zV`EYdsK9Vos7+IQ%=pmZNj)407Q()$2=mui-qAd$!?qnlgOK8=9GVS=D_EC| zY*z*wD)yOdwV(rq1K|etx!+Ls&~2#*&Enz5j0PC*gb1pN4U* z9;%QPx7lQ@TwTcgcQ|fuAM&PKLji>?@i0 zTKad$@aK|!EZt9JC1#9XY+_5Whtm5u8P*hup^dZgpxh6YyOD4T(wP~mZ!(|nCDW@Q zkyNv#CXL#D*tN;*>VakfdE`nGZyIvS-f}cj3%$TB1bI)=nGlLd!=Uf5i#XdNIjs9G z?FWbrs40$9RW5~z>)?-D9&-p)q$MijJDkZRdFdWLoQ#3#U&$)Ehbo557mg7%}? zNMn+WML_2d#@Zr)q%h%{;g@s2jg;&0;348rx0v_iXCcNL&9OM>hd&;vcTvaRNP%WY zz?+0NudC&Ld}!q`IkeQ4!TfJIv?K(Bz10pl5aJshL|Ag9w(hS7Yt8*3aLc^)qKNfAert21D36a>U}Zfo&i86+R^JQHO;x z1@zbbd8Zx^mKo$6nMHmu|3LUDokc;kj#=4B9S#LVm>@_=M(g`)da5M&q|ad?T9XbM*lU2n_GQ zlHkH;1uONZq=SKv;1JO;ZRfR?L6@>%ygc8_pEj+1tf#Fc@NzvXK0q?J!s=@b{ZVlQ z9pKqe-hZ+ft6yh`d=g4Nk}r5|A@lFY78r-B~T# zJtO3oJ=tD}q3sR6>5*!0K2nZ|UTX&z+w4j^c$Li-*v>+m&9h79+iaHY%(mHd+nHg< zns_rSEXX5?&xsTo%vl70V)Qz)^jbKf#`e#@-PIbd*TTF!ip^JMwr&?=B@QFq0p2WN z@|R(vdQgZK1hfo3x5n&5UD>{}a-UM)%%i|Dn2FBaTe2d)*#B|=;$vP}WfWT~u_YCcH!m-erfN!N!4eAl3n1loi^8|bWpi)E_I2>Ra z!458W8ey*%7}}AhR04z@2t7^W0bnw~8#I6q9nuTuUZUGE{pHL4tVQ7F5tZg2h1qI{VH)IdE+jYp1dd#_+m z0m%-6L2tkEv&v)naT>uxwHjOxw}#biVHUM+L47S1ULugq7yNT7Z0!rwBa2|DeHhsa zWNTs)HvC7yobtYMK2r3dYQQt(?=?wX4V^(DX5~RE{HsLGdw-(RN0=-BCfg7^fi0_1 za&dwh?0-W!Zz*_I|GfMFb=m*C{2f&~*<3z8*o2FOzR_}*T3APxTA>@Q`{`zjZn6$r zZmG1alD9JfuB`R=Yz1G%%NW91-}ZN3C>+ohZdaS>C7oU2SgP0i{+=KB%b z3hFXs=dBD`%J2Ww>Oj+Z%o_DMvha$q`eE1apTTbB|83W=|5{+r_-fa$Z!IJ-(3bxp z3OwaKoe{uF5w*X8=~+*S6I$MixyZ7i>w&NLa&MVP5x7ve6AarRGIzlR03-$a z5qhjKYNl^6;Z_2b=z^U^Zee;8E4hKt`_4(>u*rOa4-Do%k{#_BZ#XEMBaSO{aClDl za=#?;DQPGF@SCw^I9g*;7YCXk`x#gHdj>uJjM3`vWl+?9HR}69vzpF;A@9P*heq3< zWrU5(%!CXJK)GR~EN8D6b?3Z2mJ|k9q-kq_?NAs8O_|a4it|z{t`LZA#hmj1@Z$`@ zEi<@S0Nf@!gWt{6-t06Bk@&;qKlo-D1RMMr;TbYCo!m*ztrT5Dksq1+FXw3%{&xfq zUJW3_ZEXNmfF%TPz?cIXP-ux~XcM9r=1jOrJ!?P%a-k!S4R~r?k4DCoP+{Z`P&h2x zUv1AL&!f>0Xb6UZMCl#)ho|s2gc<-f*Wuow;n43vt_O75-RLjStPYE~aRJ9hpIF~w zh|_RsfL1A6GO)a7S#PNH8lH?0I0-AVl?hK_e~{8{6{TCN!s(JKKNgPPU~a6kv;8v% z*EsND#H%HI8LFnGnuD^0*NEz4a~-uJH>%dD@2C^-WjKu;4FY})r@5m^G>>XZWyfS< z;1Kp_t6>~)GgcO6GZ~=GNz z1_pmN@@+Q4Cq^UU<76!TvD`yg0ZOF#ekdCFYRx}qzF}!q9pzUs{R@R#>{i)Q(i*Ce zk#Hr+HDnk|i=J>DRErgmKj@n4eiWVC`J(fR17ReG>306DS9Sl+<<}!UN zbIXHqh<5-5*34yc7AD?zX{L7oH<7JHE#W9HRpMOaq6q|&R>(?}jK~YpuiI#lP@0yK zc#&Y&Ma(8bvPR11Ngu`rJ2)#1RrLqhb4SDQWQ+omFntdiv$2YZeL`ad@cW{h zN(4m>%U+T%MJF|!YQXmb91V>~)LmHEU#{Uy0|TVlUtH|qI+i`vyD^;f?Yf8E;vK4i zu+Fk4+5NoT-J@}wKQ4cuOCPAm+xvP4_Kpk| z`{2;9{Gmhi-}Mppq28ebqMhO(H34p$P{Qa0*+QKyy@KqUOl)6RUjrqzR_3p@OoZz# z`Ta{M04;h2>QIlKz3cc!vLVr!>+ZmH7}0%vXR-5duA}SdI6srZZL!J;rG|K%|r*z++23faiYj+7@MKq-Jk)@7jveQ-9q>vb(8Ohn#eUqXQjehMUU zQ@4L0=K$OZ!btRh2C_2?`xg?_5SC5ux_mC#m*y`Ahmq1{dW60nbG@DsfMRX*@^u00 zjsOfCu)W;N^ixdU90=YQfVavsDm7vXzeZqa!a(>3v1__v2<$XiiT(IM^#URHyf9lx zPd?JRpCKmJ#+7Mt9Q&>r>a))W0!F-eKP}7;bueD8hdm2wzDYe6q~ZCIkv#+se{$Mj zU-SEZ<@GG*PuL;|PWj2HW9hhC=uF652v&h@;E2-0=Gjog-iuJ%>cQx8{pkFRei|t zwtIk&w+#T}4)fEb$%RY!A|SGX0J)WmcK!mXPBz3k(H{=s!g>*5Gi_AEcNZaOih!#i zBr1oE;Y`%@lIBBfN!CU zJ|!w(ASuBFpM^`K3I<$AIouEwnWWMtIKi-82UN;9$&vXEf&j9D_t*kjG{xKV3iS#O zTT-dd*P9)VB#!r!2uK`>iVBXr3(%)`GCIJsu}AFYf6L9! zQr`wR;-lIQTk!uDbeF@T2hjc}jklNzs4>f z3rL`D_&C6(n*4yqvW63)aMvS}Oz}Z4(c=c-Dc2~y}`fE(bAv2Ke+{A$6k5mi^iik=Ndfvu}y;e{f4y?`0myjx@sNgD*f zq2g#5aeG?WT?LT=HlQe?KtT4-;^@;=2uO_r$zVR|`QYM0n}w(7*!;ivJnHg^$%Xsh zM%d``%~e(4*(3>x2o>W$lbELihG-fPvAq<282QHhUNb!iGX5V|bQR7!U_$_D8srd5>-i2pW zKXaoOaU&!jsAVUxI*yHjs11V)BO*rdX0O!NBUF(WnK0RvOd`^?^SCwGV=`1=I^tCK90~}O{J4V7}>low^YRrEUD1kY) z54w~Y=kRGJ1Co6%8!U0yjCB2A()}-PRp<4k2)f%sBBWh{cx|1}9@0B;Bbv`T<}p}@oN+;AXfg&c(F*my~1F8RZ#z#kah7+}5}J0kze zK+1$!qJ_qZ2Z^5tGKXFk&QCyzxEe~tWe5v5F*o^kJUfPV+~5=6>v0kmm4K9^?(_Se zw4(5ZBJ!^$2PjDym7b=5} z^}xP|M<3y|iPvr6YBL|~t*tFwZsv)toF3(;;|kmV1W#<^^b|kwX^uP!EO9VuYY@d{XuG$+aP&uJ z{lKC>gXxi-g8RL|qrgG_!OnV-Tj!uhnBI;dIc>UMH&DdG+aQ?N|Nms&wMbOtug z!t$`efu3*R4QIpVaWeKyg)Q0GY!Ns0G6J^)=(OO@gdvkqv>Abc=K);wKYlS=aR>!B zAn!AV`Wyu?>ls94R)G7bUY!o`K@k=U4y_Y_H7LSjVZM!G%$SIL-bGj}TVY71;E4e! zzUYNuS%@Wzqd*JP6{+IESgazMOu({mdcrA9fQ076lJVtH4=gFmN0f!S4Mb#1_X^Ri zsDgL1DpX|@mWHO3tZYXFToD#4Wu>E4ls=_O0zE+4voft-n>&0J9fsaBRbk!Rhj<9z zi#ov)2v!aO8xpj@?Fs!9IeP*K);BNoLGvy#%S{qfICh!-`5yXaGeo-(Djx(t0bmG- z@3=w!D6cnW?AzpfN3D~<|J^dh_mOU59T4c^EumK4(ycrC*t=Y<<=Om}c!$R!H2{w$ z;w3>Oq^d?gZDgfR5@|75{1yrUb9W1MTZzu0UlZoS!lrl?&fUV5a4;gSg0^!AgWoHA z73VAX0k?1o;OlEbzb=v(!w@O5iaS)n7v^FMF_Pj{z=%MDgLp_ zHIy#0=nCtf-*cGfs^26174dK9ZYGfMJ)0qthdc|lOb8feycUg3&m4B4~vlLukC}niWlX;BGt%Rf}@%;Z^ zG~Rk0qX~UWp=DNdg+;ggKip`842rlve7%e;mDcq#x0V-uPu6#I!1rW-M zoo8R;@EC~gGWx8fXJo_EQf`;~JdIa~%DqMQ?UuO95_ekF-hojs%g8KgYLS4~BwvHV zCF89NrR;tPESf>lawn^}8~!1dx}Q19vHbV2EOZrY!8{U#fsu`Y@e?QlSYsF_ca!;L zkf;QP4P;$KyQ+C9-GD$nb=Fb^z_Y!~5?;p!QqBq`|B&`HWnG|h(^Ta;<=h6d zOI35IDGW}c#4HtAtE^Qjw^o(ErkvN6tOBXAs{4>7KSHOnK4z%CvqkwoW#$cRQ5vB; zpD?*e`5ys0^svp!?1S!0f7|`q=Of61o=_LkHbsZ*exB2wR(0DIyaO^?{iWH+@6?$;Dr((b^yHsa_9s=g zP_oa_`>7R9g?vlvKpVZt8i+M3c>n=S=5y?7P-l*}?obk(54iol3oX6C8i9w1g%()5 zgz6#))D2kn{*Q#s0=^!4o{DxAeb#%30xV&4t@o8phR^(0{^xjWAsqg+2^j?pikmf* zel6)M`Oj}9!QQd!>r95sYihQ7&(HX~q~GM3|CL}6+kN7R=d0{a=}c4dB4r)pdeVNp z@L*$)Dcb!zfp+(?kVhX1jUWb%z?@TxKEK9D3+S#TySi)I>!|sTCco!=IhV@{>tN}S zcDDzHo1WDpFxUXR{~nLFH;&NXnJu@S^#z~xUV)(a#td5x`UW&hcmkqJKx-|U7Yl4h zu2neFMm{7RhYr=4i zuX0TU@4b?9&N)g_1QirSRH6c+Vk8gw*Q>Z()c zJm)zt3BFJStWk)vh;4tx9&zglL^hTSMf-h1`(B`EZI6)F zG3fo-&3MlB7pvoHoH#C;BUPPsAzTyx;~RKUxX%j+y0sli_4u2rJCO^=6R4gy@Z|#p zEyC*sDl~CPg;w{V`AWJ_hMAE%T$3QD6|!Aw{rMmymN_aML?0#N98uEDGL@|7IQb83 zTUD;Z8j>fG^=w+|5f3IUw>Q~FuWHPXTVA;xKZ1L@kTjf#;9-dFMRaa#;u4h|s| zdV6Sl9)~jJ3NWmNT*Xd+nRLTd51ws8_rbMUgXTva6S5I}$lM+SsJu!y_;F!gYU!@) zv%@A=3XUK$x`PoiXuz~o344bGRj40Z6k*T;z?15M7QpZtd0tEIti&QlhJ5)Tc+QVv zWfQ=r1KFcw(n{DtWPuOvwZ2FcHj)4~o%FCRhLCCMJOo9=eUAIFMIkH(EP=5y;V;q? zr7Rb=qzI&6RsAe!Pq|CH0Ui`(hDy z-J_l?_rC01uD)MB(ER?Qzu%C36Ve~FJ?dt+JSHE%mgFPuCv-~}ND%xrnZb75|1{{5 zExX%4QqSCIUDciRr~Ta;s~Tozck0o-JN@&L`~9naPk30Xrb0#aA&4Sfk@knSv!=4{ z9Y9uXAskw+&ssSIbG5t-w(FRFSMJ@$U37QwF758n5Yj5OyE`)dY1cD>r|FsC)7mrU zFwzhm$~TJD&wi!IO+qKyaD+4M5>%X+C&0} zsc$0rtu$&;st2r8pFk}qlXnssld;NB^>En~(!fPNg?v-VZ>5C*L{FuFmDYCr8Kl89 zK7)KS$#11mM5>rc0V~BP09xYN)g@NWA?-yK8_oA3`K>fMhxm&Wuu^>vHJV5Mxunm- z3&{E8TR;ZXz6+=UOhgOFZ>87Hr*6~+z2LSKztE{6zl4q$_)Ur4*)7qMjDus+|U`QSAGIi z(An;;iNBGqmJ2i28G(a!xJV{vJ zp47!~NyDUeN_U*pJB>wvTksXA$2_ARQ&Dw7r~3r~?||cm08TDNcPI*#>@(oWJ5e%w zuMKJm9m;vhZLrL8sjZNq<s( z>Uii|*#~aSUhv-$?|O39yAv`DFq8zq-3^4X(*r2kJAmj^WaKG?+Xgd8*tSg?M={qSKo|5?|Wj2@7W?s%bKS|?^q@S&PrdFbI{((l5CuO5^68!%Dxw>Yp zZi-RRe`NSgCX#w8`MYej9p~I9Wv8BSoN^llkj3bGDyUg54WOZR8e;#)a663PwbIoC zBkd&_cDZeW-I#2rN%m)_+wJYa9i)_Iph}H^UOk|~UPYCrCX$6S!%sx1{9?R_ z1FToBaOoeA3QK%mhe7IZItodMyV0n98NK902v!0}QX;yc>M$7q43$?^L!J-7$L&yu zlPv?#M;^9DP_rnXIyKd3!UUor4_hO9m8+H0aCLGvLfit?F3-Y4ij05w3E1wM&iB{c zihKjQm}f%|SRJ6tab-}*%^B}8ekJ(_bVzjJ;?m=(1$Lk+_3Dpcsd~#g*?!+d1tNq6 zPW3MdUlrBeC8&F{BmGmnS+$w$d*28JtC-0~h#9PDjyOYb$5k5s&4w)ibmps`gst>_ zvb%X0(BPoM0r<~y%3DFeMNFeYhjz2?8tvN1?;_Mw;}=9xU(I#i&L`Tn6(ljxOb6CZ zxL|}?=g`(Ww6>bfeY@V#-N*5NW@)C`Qo|hb|0>}!ZPfpHQr2-jw4Kd*hvUIGhY z6p!W{r=Xq%>LEMZZ&yEHrPJPX*jXkf&*3xs^TR6|H?N)11Ozx&Hl12e|9b)$qcXq1 z8f(3zW;^82PB^sV4*y!adyPHvqk|uE1guo=sNWtq=%61Q|G)WBo)_2YKLVfT5Jwzz z*in4RJ!~jH@4w4G;V=|{P28wi_m+R>(7tta_`?BR1l&SvKB`jd z@J)T48U|#0uAD_YSBoU_@}UiO6$30$(}FI{zOUJ}t#&OC5D0>f=tUr#sVf_3BOLnQ z`B;Y>Kf_e&<3j-$v$!7k{Z!wYJsT&0ATg0&agv(pR0&ON2_%PWNBE5 z71z`d_4hS~I>!Q`7=|&+wdbTouX0?np9P_1jfk4ocbPw%c$6pu6;_gxL}nR=12`A_!nZtBU~Csu`eB z;h+oeEw>|L=Z=8g2^FiO)=S8ACR}+KP$MwF2C(VQLeCJ)Gte8keK575_;LVxJNW&< zth7-IIqIg|wS=d7G+&1W4YVws?;_Dl3=NEW;m7D00I`FYqg4;@lHRZbxv4|Gv+BL zope5b+G+pES)(5cLXgN{>rickRjcJfY#qltFpB}`Qxp;4 zOJIC0v;9gSuVMGA(OSie-2)Xkf=r>Oz-R#9f{Wsv27gp26 z50vJ@4nbO)%A@Kt)G`(IvTHsRQrEb=J~P2!@cb3_D{EFEK{(T9uvJ-tqfsq57D9OJ zh;XH<$BxuKDH)*@_cNgutKR8vuikk{uilwbv-69lj@Ev}uqc*JJ^!=7`*2UaCm-aWper7peKiWq3YY$d%Dc}+-vg*RPshle)e}E@z@_=Mg)aXhm%dPC+3uokt`{!Nu~X%k=JJES zX`0Hh#YG>wUijEW^Q-R%UHktWaW#0uZF|$r-*8JS^}XqaCxNopZgBZGy7Ud|($g;b z3HLwaf({+e`osbR^V0&KxE!Ck^iPnX=nohD?&?eZ-S(H={B?wmOD%QtWo}^Bj{6-a z{G~qmv&(+YrT^@LvOcoeu5YqGwApUoWOrNp&{q3*@)GE*Uv!H(ZeyOC=DIU4x?OYJ zx4-CyNfd@S4a!0&>upfh7K|Y1m5##ZG39WE@qjX12+upy@lNR=OJba`_8{yHcln?i41+Ke& zOrG`dbDnTFZ&x##cqn>UjJhVx#eY+=4d5VR-iR@s+gCg>+J+#-( z_t?YV+2yx(x!2y=CJEpLSU1qe@wN`uOeEDi9@0ZK?>Lx7duf!n+gL9hy;$&*h#^Y?jY9+s9}5WKF6g z;H=$d-{Up*dFgv^mjhmUPhM<*gWmKSDK~;lo;Jza*6K^AymZpr<+PVRx+L=%Z(2A$ z@%q1V>YqEyGiGlW^>V$?*Og-S{kHgMxY=7)h(5MjD@4~7Zfp8F>H4!`7c=IM=(IEe zFH&uVc;8JM++8=TH$(jz<2<(U9zM<^trYuCklouqaf`3q^ridJ?QVLlx@)re`agEM zi?k!2GKluM>3esN18#cnVn2T3pc@Tx*!`c=ob^zp0ur&fpnO;hw12!(f zepj008a3@HrDT2xxz+OQ2OE+a9rJ)}wivX-MeH|q3uto-6;#Z`h?T1f%w7f5N36C8 z%(M};h>NIu#j*IpUSMS&sU$n)pwK%bacQ@(KNnF5E!1b{QJ z=D$!#iHqXHy~zeCTL}m0k#Z17m-^FsDe{5ps3+ASP)L@jUVNXsI@QG`E&mz<31QJ4o$hq}t<{}Q1bTuq7sRM% zm~ju?+vOg*&rw@%9q+H#j$f~})3EXD>-?QRSoW}dNIYzRNPjr_57`lXz8{qhR3V*Q1IZXbup4(_Ad%HA!r0VMf=e$Ar5-J9*K5PcF^u%# zR62~(c+ug6B!I09L43eB1jnSB^pSQ-Y2D>|Xi%$P77?^Mj-fO-FUL{tcxa|nl|01^ zNWhb+3(~1IIngj3r%`=N*$IbMSV(3O&88P-QQdC7sPB#jFIFojyUwN5f@;+wB*ppU zUj!C+OZyBxm8G<71pM9-;uh5+QtUtUI*Hc^0c}(VfErWTTv0D@XvO~r-k@S@N$y)w zt;B??8qPkes0UK;QPtL9=l7^$EvyeN(*Teq2nvi0wi}rK0)!Xi1=M!%1=*8A>)=0t z8KmPnd~8amck@sJ$dTP^Lki~MK?Hx5J9AD24PV-J^IJaWN}roce>GBchVm-{RI(mG zrJXnqg35@mhKdEK9j8L5Sop=g;swaLBNf&fdX*R?%85XZ<%XC(#n7f2@Ts`j*|LBE zDC*S#9RL$&eb7zdIMjNWn>9ZW%{C{(nP?(zi?!8m)(-n(Q+?hkKJA!KJL)Su=5rkN z1+28$F`xISFLc63$9+$p^4Uu4^{f4EU**tl^}yKX%`TjeFwqSvFDQ+WAtd@TgzvqX zc8~%b$Dp(No$xMRJgg=Pu}ThLYlfI6ilXgF?S|@A=e~6Hs`E>K_0HF}>YY{Y>YZ_1 z?Ev;Ol*4nO1gqGSgk+W-s{Jhtd-GKCvyNLSX&Z11zCc6Hx9vE*hTB~5Rm9#|#qIkX z{^eo=l1a;hWPeaYA%{HGM{{wcm(2Mww;5|BLcjWqKYaAN&vnix&-w~?axv2@&l?hd zeR6=`^O>Q4YBcPLkhP*e7bCdKr!6%2O9k|17w+88-HrCTjXmzly}&kspWE&E++7#2i&cIc zRQQWk{_Jt_ir;wEPfPrjIP$hXtd481_?s^FTX>XSj;x4_Rd@Q&8Q%2!5BsvRg2g|T z#n${OPcvA&eOeR!WI&t>pw@o%n}7J}cmGD}X#nVGi+vi@K7(ru-foCt4mW6+(QTx0 z+1;Wo-tc5lI~BCeH?CV@$mNFLO4}`lM{|>fhFoFzmK!ZDIdjc1Lu;&Et^MRT&-m$Q z{{UKHB0BkCHuWqC6ucgw*8;(TL2W=VvMPXZ;9-d+P9Xd- zu#B+deiXQJS)f6_Y^vSh?3bqv%!8*rYqTa{t`E?g$ACB#xMF93mbz+%`(o=cL8%@p0)@#sQ-Py zJP@G$fi6D=u2`Dqcr(v-IM8Jib8Tk1R;nKhu;tc`Fl9?MqT0>}jNbzEYoN;?xTh;C zNMkwsT+bj~2n?jYLFyCiGBEfO+}WI1lzBf7iZ4KAV2>agdQ|V{lnb0_!G-V}sm1_x z{l>5>?85}(KilkI9rck$48{s%z|!=HL5GcQ$Bc)M8a1M;3+AEAuw7p(x@r$bs$2R~ zzxH5FpJ=+uZ)Y(tFtCh9I4(-(>v0&j{vBcJ{;XVj0iDB#ThH+;`P`vULZA8RQ~zC; zR?c=TU=W!Bra{{dzu4`kUH-?u@zZigZN2xQ@BH*FA~o*w)A#-!2mPrZ{QuXpt9MD^ zL;uo;=dKYBEFb3m7$Avm%PQ zT#WWWB>&vNI^rp@m|=yXozTS|U0H*72?2M=X{7D5iC;B#kM;_)<=IgaSHeek@XgdA zCkMgrlnkR5ON9(n0~lON4p!d?}=H1N#BP06HO%SB;ebzB}L!HVxSGE{fSEfZkzfXq$%okTulZE5S1wE^tSh zDOm&qgEOwg?2S}-cS0*_Rcu-)*;`VW7fY`Lm8c(EyL3}Tj_{SW0G+5G+cj{*H9;vl zfHI|(_3KC;sVqjC0f~PxcrDt(+0@=Zs}IxHWp)Gr5DgcoHb*{Dscthz%g()utIlia8xbcei zbn``-EOd)@Yu+v5)`qv3w`m<3byOILF1KHCo1=s6FI_;omy1pB#86V+U*#P(IA777 zU4V&D5^8pZ(}@|K>AvTfaX&rK<^Hef@8ZD*kjM3hs}-S-Bp=Vd+P_GDtgs6dla?6% z@G~`vNf(s)mtkwg^v13x21r(ejkP9`XN{&>lkl_d=bAoyMYn1ZzI*bYH(O2k0_o2e z_JrgLhYDt5W!anV>h9{1i%m!9x4tC%kgY!(5h9#pzRvkt( zoO%qS)JUjeT~<$W0d;d3Hat>SS2qJhXRfYVw-gW!rq(TNK^>ZmLVs4mB;;@y0in!~ z1+=AsyOss2eH`#`%KQs>Xim=E;wGNT$w`9sUqcj+@|>yp*JKOnsa%wt zIU)&p33NJrLoi&U7Hy*pW2`}AjEBY>bo}BN_0&WIV{iAV22C*@nr_(K&|Rw)8s0L> z+GG8FH*Tsnbz?0j=K=95Z2RiY5?%z#M*0u}7uHmVCOR^ON`HtcEc!!EU(T7lYjRHK zCNKCBJ^k7R-(5ZZ*)UUGE>t52dSk#)K!W)ef*=Nw?^SnB&#=Ktu^cu~ z)g|RD2-5sumzOYexob!62NwmMF9(gOL7EcmK0QchFXrz&Gbm>SFCE4s7`ks7T7yxr zjL;oWVG3N=3BMnxX6u1J>Y&nhsDsZ}{|6^OJiscH#o%uCoeS6lEHgCzHnb5jbg^s= z52Qa;F}@R2@e_9N30C()pc&kLUlu9#G=b8}>U&)gG4f&#T!pn#moP;x9{U?cECuuL zeu-j06P=PWrRTaV2#^bAtB5jPm1I#7T^4C*E?6wyVG8h}n(Ks~vp_Z18+if}1amJB z8Y_eJR`98JgEYilJJEMp9rXWP+cY(T**`k!M*`ZKps_JX9|XH>3F;pPjrBoV7woPl6VUB zm>o>I=zfq{t17V{?34Ir8{^Rbx=DRP{Q~zoP@C5?9aacNP3eiucTDY zdc1Q8q71D1rJ2xILHaV-b#GAff=rmvYeD#rWkTNs>FZ$ky+ND5B>Poa&uZZk5R)y- zVR;&)Yl=dyJ|aWF`xC3MCIFX^?5<}l<2{(Vt0-+M^ zP#?wM)~T%faqU}JJN0JR;A5oQ!BOdvPwJ~eWoflYV#P*qyQlfFVFvyn3fm z^>3#7cc7@=$*=xBQIpfF4giiFyr8~RKr9riB-RXz%!<68bh86FKx0vg z0no7B0t(Hj!_9pk$^2mk-)%CN3&@;0h#qbZweIux0J>cxTRqflGv;rOSQMyd4KXP+ z3;~#u@*0K_;^Uw8%Z;Th*c**#b)()0s>_O?0#n2;?{{y~i0ruVcvXkD*@hv$U$>z3RjNR|F)%3P6(49g0 zs9yA8aQnyulPWuOHefGkDvmIbAE~7k*p4jPHTf|VoD@8bsO^9b-nE_e;k zj)E@)6>EdBnp+#sSsw*+7}mVd@Lb$%WcB2&Fpz(udh&Nnul}9x`4-~87^&Zydy5;P z6aRgyc1sMT@?mWI=+?4Z5d5~VHv@)vF3&j_Ma(hVo#3!zkeNk$FAFG119x^{6HU;M z@zt>kduw}c@OE3rDAT^qhpOckg-Up)qy9y{wkcoXc>ET}JNqI(BFfLN|;+|=b2$T?|0AD|G7Zd4*ER>SUf2t4V)qi6%&#* z-67ZzSmza4ZY4S^rosEL0i0iHEy4om)reJe4Zdlh5qmKNKNeu60YyM#_Al)ZCa(d( zlD(75=118knC`X{ELcxlWL7O`px#B z3xxDM7oxr!#8UywAF&J|8O;gSKnXMvLeUEz79iWybZ0(dy>W!T!+G0GFf{{o2V<-S zi+hy)8<8BM1@>45p|o1VA(3P23=D%C&XovhWR1t)(fb5bj|%M7S33@=S^Q$lSr#+c zT^PyLs4m7}^l(VzknGo1BIH2Io)AvV^x1fM{qBZ2S$h{Xo#rj^ruEJ?KlgD z95t{vvu7zOU!`f<5>-d55&WZi=PmXgU5}~2mGeamf#(L~wH%ly_k=_H!t{Oki34F; zYSaqUoezfn)4-MbXLVW^cu|EJ)QyGcTBzzkF$|AJtyb=l6Ja28=Kt4aj{+QLoDS1Z z;m6N}Z9j)=glHw)g|W4+*5fE$h!U#XeHXqyTXX2%S^0UL>fO*|M^xW0w488lsLawsv@Gg@QQ&sOoV8 zb>B1a(hb!+-|*_4F*Q5Cu<9cpFQe+c1BvRL0X0W<4zl*z=7?`>aKj((!T>l(!RPnh z1FZFV6Q9<+AiPL)gcfUVGckFT0I(;o*MEvwqF@oYaeUf%L?`Eid_aD$yaInGL{ZAH zE0KL?I%i^Gqr5OY*iDe2s3;9;gAeRC4hb5;m%)f50cwqj%9s!8&EQefJYmvt^Z6~N z_J`XiLbd|o$AUAot<>0AN;^t3drRe>(g*gIhW3=X_LkZ9lp6a=>HE^mfl|4@wCX@< za(}6Lu#|o%?eb%(-4>nW(SAfEt!_5kI~8r-uaFxmm~Kjg8= zA1V?DDrkSj20B;~L;x)9cztoAz70cDSb1?e3Ka7WvEM7?9~E9!jMiosDrC<}LGt$s zqjx3ss?7AS^!Ka0t#2iLox=E>h3nL@4z}!H8R}QrWkp5q@`_w5)dyCBy1hdXPdc=c zb--~xw$e7HvNw&dWSauocpXuES@|Ty5A%VKcz?M#P;T=j!93uWp+1?^xiWdSEYvq+ zciPXEH8@ws&z9v{sop<>cyB=qCpRKvj?U1i%w!syaeHLco(BeHgm;dxtKl^21&7O1 zXd}1738{oZ4%8hm2{<9Vevs*~A|sb)+HKBgn=YH)($>dt8zB8lk$cS$;^mV4~rN{SWY~N@4(}9d_l3$zZQzT5T!)4}? zGJd$sb)?L9xNIFAE2E=j51%O0e)Z<6u65Qle=+I2)wPBKB+(rHQrd+?ZqFpYkSOe( zM8uDN$uxd@C0YL@77)y}D`kF@LMuG~UCOJupiU2ho)?bOt-#5muKqlk`$dv}o-F(- z3FykUWE#I;CfW9+BsWAO3?RZa4m1yFfX{8(Y27D`;@lq+ZB8eo)BZ!E!NG*>heW=W zI*x#BO*)12Bg zQQ)o&K!20~Kh+gy6XIM#Kbz3bCFI#esAp1MNL2lnV8140&!po*qS?r#9Fe@ScT($> zH2Np0UovAIsT!OF2N;MS;-ivsbP`eC$0gfLPs(Y@8z&~&grqq&NmG&;>qr$+mY9(= zXD4Y^vfGJ-tD$Xfav&{8vRzW!3)gr<76K|%{T3UN^8KXTkTf4Ri1+MJ|K$ysbm z5|1AA)^|7XIwRYX=FTMTNM`mWCAWW@ymfc7p>zNvU&4(2$u`H5@@VqLgGn|lF2}~3 zm#U$n5<)&mG$$3y$;ElhF{Rj;UQE-9FPmK~XBB&1ES7VMBgc~bXfiOnn9nNKXBXQc z)i-G5ZV|%Ow*lM-{%1R=nU)q`x3XBiRUBSbod0%l!#9h;e*)+J%J1Xyx43*LACv%% zn9;Ae&Cp^wq_}EeF$d>MlvTWuJ+ElO94C{;=_LJ>%>06;muHg=vUfh0Jicu3eBrbM&$J`PBmbvn;F-E?a)Bxh0L#utd`GJ4T4vAY;!08W8p zWPh>wV=)~n?s6b0C)t6+$J|yb%I6dq^9pEg!6;f(5V=R|k3plJNNg)Jc9zkOvZr^K zxptL_-DP4|nYO#kx2tR(`v$}-K5aX?`4t~VulP7B^Bw!6bq_@4{wTx0k5uaVDC+w- z%0G%G@Mi0aBu5tYlBmAChDD11Cr4%)n<4~4oh_!m|_D`=Fk)k zNoA}fcMMOthNZ;F6pcvL8K08lQY}ZP=y0rdMk%%qR*g?7V!o>^S|QNtV9<$+4s{(3 zY;#hBXZOu%{2KZxcE2~x119aqN)|KdRtHQM!Zxd<&GZsEt)%M35|D!0 zoLc_;662*3T3E7Ou`(WpmB+NkokB~ zu9bQxCM1YrF80A9>#~+p6Yx0Gp&UGKW?K}7%<5AwCgPVlE@zjyn&5`#FX^0%6V{jc zTEcuYL2o2Fo-1;lEy}f0eMN#TPdvObA&%huA-sxzF(Z%ioWqe-DT7!GIkXJD+tg~yFRw}uH$R`L5g6O*iEPwz3h>$QXo*EmM zW8&tUaT&7P?PKEp_v3Oyyku;gkBKuY4UCPmF>!rn9G*omnYvhTVcc94rm($}o)pm8`DOvVQP6EgL5O+A1m)NuV_xZ=jgQnRY=_IQKUgk*C~tqP9G=-M_;a~=uAI)6 z_oH9R>GP7>ufNN0<%I!fzU@N!aOz!Qd&AIXs}GskP8OS|i|ME0%!y)oytwL2F_gl9 zzcfVOjn;mdgXxcA`n|Yo&ys>2QMogUF1jlUIWo(Q(zSm{oY9_(*$2_!5*k#}b!bV! z{;0&TjUIhT_R%G&B4@E}OvwluUt-(j&^G&hB7Hs;`YpwOO%?S_2Q-hv-zV+spKg|i z&kp=S(#_|V+vk%jvE1s#WE_x67NZDlcNukYjGSe79VC zr`%jyPHW2Bt}pkkD{s0U=Mo#r&5h;sL3yWn<*vEqxmK!gDYt!CZhTx$AC-66V%qu} zSBge(t-l;N;6$^~mwp|(! zcfc}MKA1+9vvq#00cMm7rrEoIdKL7cz6C{%w5CdY3JxhShZoSWf)?$G zD)OVwK^1aA1&g|iZLd@eqE{=}_lC9rO;B!&{aPx|lxmx>lmwv*%X_U(6yi%H5 z+5`LFxpQAGH5QlBE7o6}dcBlhEA5U`$Kb@^f4kItx0K!~ea^bhTw6+OO1o__^?hF7 zlJelnavMGyyRJK&F1NG3LIJ&9CRdd)@Nvqw%Zzu+=$*36#xnUqS=IXpFy#86%-mSU zKPU@sEc1O(wuC+|v#%D#Yl8gUVCQ#&-rip6aS1O}uy)uCBqGT}SpK1oaik6%u9G=Y zM;@=!@mL-DAW_@%>R1O`ov0H!US|}Ys-q#aUcpaw%yV_U*CxyO*$r_}2={>p9@4Z#t;wy)n9NYlQisdb#N?V1j#9zBFdM8KXC1l{iv~7?bq@ z^!g|kUKW!kej~5P_-nC%mFg>F@Hq;|N^dq7qQA(19ggHSLBm3|_R;?+==GRX1^%g^ z^)XZ%Ua__)JK_&1P}8gszR(tbev*p?h}tIsgVMP?KuHA6y?Eoy?wH&atJ)1)5Y`;u z#^k$nB#bC2%U41;+LQ+E!3o#?As5?z1Z^$bv<xTUR-4yR5=b6m`4ieaKUru3beBY#)$$tUR(T4rwWQs7MQ0C=%<3NIIn2A zFm2joXh6gq8KDu8aWpzYht*qWr$VS*A~Ys4jK)Vw$3@JE5t&y+%m~ehbe|p3!fM9M9}=k?8u1N@xQ9mgkjNV}G{Qi*oKU_lFX!ieoUebB zU$})kKIG{wT=vhke;N^=p(oXI_}+>bt0MGvWDva@DVmTgC+7wnS8j?JTO#yfq{Y^V z{3LSA#}SN5pG3^95&lWUwKd}VB(jn|i)d%_^&Q;U8KE7K%uXKN!8>7H+dGV|^>Qw1 zSX-tutX-`$w|o~-(sucfuw%H&uspZ6Qo9{dr;bKO)2WCG6r&@M4Sl2v$nt$<21ez8 zX#3t#d#|V*7>&X%L;G_t_L`AVIU?GAWYj()YL1T5sAx|b8`Z`{jfqj35UrRVmD8f_ zr$?{A#A&paZDRr<#gq{i95yyhy6g+1#^xw(ie?}l4Kelg;n=ijhn-wObaBM5UlCsy zR?FEhqWTrFbzwHtL^gIRjPGGu-bEMcY+hV@+h;I%>FTT4W{F&FajY56s^1Q~qgpec zhdvEg7oQ0gR2RQ88Y-wQUe)X3D7_M`#Dy7eL1swhWJ=iMrp0U05nG8j@FA>s?o?Q){B5$a=I=tq8<$%r!r1 zE{O8^QP+Z~Z+`UM>`8~#94mSAU=+e*w;!XSLs9cclnzIq-D2h~w)sM#J#h({yP-^D zi2FWn9Ej8YcqNXcfQLx?^5yw>cwZdR$w|Br$ou&V-5kXBpJi8zKhFox6?Wk;wr1^WFctcJKhKgq=cL~Q{W;uc}T$zD<0 z@p>1@UPV>Cp`1Wt_A8Qui!j6uDKbYE(TJkErpH~=;<;9;k1b+jin@$10;4Sqdd)!r zn+N1X2oMFX7Qom5*%6}&kqe=jWhrYphUL}((_EB`g+v+X_N3ONBv;}~gR}x|A^d32 zJ%e7`4ob>mZvl6JwzwWJ2zCyTED$TQH8Yn6wPiuMGlViH>Z7@(&m;leVFd?aoX#4`GnU6+yVSu>w%zR zP^me*l!lddUYmBUN#|OrKC+aJD1CBtso3DwUUXj;3T;cvo~80?d;Sf~z9VhyPSdV* zW%h_~TiU-pEw`mhwx`9mbYOd$Z%ganrNg?kt^nKHD{;9PvnuR_z`n#UHu!%RfJ>_j zIFLpx%22il!vku_b#c|i|6i9Z&^;65ydiF~;o?m)zog~)bk#3ut8sr%%Ymg(-m9T! zmnyIs{thUug7tK8{Q7N4V|x-fmmSIUH%WBk0%KdUF7`Cvwj?{9ls_fe&ZJXlhh6e3 zS1!}$q|F6snx9s7j_EG{mAtLphcDxB$~cyyqp8Z?X#^auYxnsMrNT#2D6m&L@?(l0 zN(HP`Kb69Fkr&G5LHEH|5rRbzZtH~?E9ufg2B)R|pM{(QgDOG}petIp@>G8jUl!Jm zoPTXj&VRwhvBggVItRbH=s0TxmPLzxZUCiD@|@ zT{SUVvr|+?x2ApKiXSnw!$zGnBAF;?GWgj5G*)B66Sbmp+o0eVdjza`z)waPoPw?e_P8M|&kfn*FqocG*yfvX#zHHf zQTN#-aOhpN2dDkI@N7YtRP_%)Oa-ljJE7WvTfOy2G4^ll0M`*^1Jr}4>;OzBU<$|H z=jusUs#iFm{vzCTg1sz|fG<3e#Y9`r3g~n!OF#rOYCZ7HMA&A5LvO0P^jFDNl>pq; z5SH5*0~R`}Ea~+Wq&lKp?Bf>tPw@t$KrF@JNYzK38mvl&?cPFI*JCTyg`M#a&Wc6g z5YAE*tW^)!M|nvuP&x4;mI<_lMZc%WhS#biW3qS0qp5%U?O@ihET%2+Zvg}Fr7PZP zgtDBXG81gOdRe%3M%0T%6|PF%Im)K1hXuCVV(`l%xp6L%Wj;{2ZtLG%^?bbrN(EOR ztg@;wymdmc_BFDg<9h|#*D7a9%}cFSz;!^9tR{$LPwrEfqus41P|=@atgpg~TUX*4 zql#l8W?>m{;}noP0hPhx1B}7;Tix)Ah#9EB2p|F|Slwc$YVJM?De(Xb0nW!_8;L1= zdn5~6M@!Vp!s=gE$JVF|toK^Oa1|nG7qWK+?IqP|kzR>A|DZYtkoXBjM_B#tD5fFn zjsnmC0X9cfAMTM*T`I}CfnX7bs$aI3+N&WxiLkGgbL=yCsej^krg}|9iHJ5XMAM_! zf-jY=P`H5$s9$QPtEI19eRGt0>#7ZvLA}zE_!-a$JUH zPi9?Xt>+k~iU*OD)juQbEA>`*wc`JLHRYm<%D7Q==(4PjK^?l2ffqEPY9_9j78~N5 zhystCi>42#9+G5mGDxt4sv^+-5w=<-<@k40HO@SBa=A)os>JeHuyUY4D}K@!2wj8V zqbEr{`Z5wbiM`74scH8s?|{vuz0GMQ$Kvt>kf?FcQTWJ2$cHNdCgx|k4ouVl&Yt#N z=Y1Y5;S5~BsFi`jxYpkt@tfKAf*w&33np-ORqz`Y=mruh&?Du6`|&ZB3_VXxBLf*L zDR_z{Bm0O&3+EHMOgviDkv_N4TJ(j~qZndJ+R}b1Yg4BOz$olRJG}*akita&rj-|F zI?@J05Q1X9h=F2L!0GdSonB+?sGGjBVx(UqmJ&~iI@pdNiYb_?3H-8S8T-(#y4zf; z1Vn5QtAB5U1yp|q2i~UhIm=MPP1-c>O?clXV{Jp%biS1V%XWuo$NtHhB3fo&&Ji)8 z2fLG92d+D|oAFh=(>sj5BQ}fv(qFQdH5$b8?qqFp$I%_=dvDTTaf5-@4c=wXl%TI* zA@m`2Z!Z>8xArPmi>v8Z9`UybCP1pWfdc6~k=qHpnb%@-S?Hxq$e({(h|G(g zBas4sq-8-U)+L$?di7k;t7jlBg@Avv#d}lXzY?P8FU2VchoPiV+#tz|bFt~k`YE%7 zQj@7<7cWI{O8AawWy(LhG5kiZW6En}B4u3VCD`Pi!wna?+Rut_eoAcgQDNh1&!Yh2LO zyo#DWf7LK*o{I>dg>WTFHGbs@gL6D?8dXyI!`t@p`SwfOARa23b{gL)#l= z`|!!@OkWC{;=^7!4KT`aD#{V!vSpiLo?}K z_dWdHLWg|Bac>$bGj@->m)&E3)cpv56qbg^9FL~4Kmc^;apN(1yb=taer&BDvp=DF zL)OnF|4G>;4_nhGTRm0nj`DQ7=gep6xh~I6AF%z7is!{YwdZ|3 ztXl2zud1HF`pI5o^u)x1U-;!Q<($V}aP=l%FXFv1oXS3A^j7ElC?)|+5;ydvEbnJ! z9}4#+KaTgM7JVq%pG=In{ox4Sk0O_PwuC@-Fqm!_MD2&x_2t|i)M`PSEiaL!YeGHl7NsJ>oo-`}Xx6=0GRF}=tb#6kC6(CjGOd^Cg>NE*s z6PcJLrcwsM%cjyDQ^+-)#56)gCgpS#nWkvwTH^mqXiEjYY~_p-nniLpRm}o_{fji1 z<^Z2Jk4#L4^WZf&UsD3e`WydMd*^V1kzGiIHOsdDfD54LR3Rp^zKMv6kv!Aqny0_V>xyK$uG^H<0;0 z`8SY!pPFx==teRz&27YMeL#WDm|$zG;6t)+p&LG=HXoDu5z)tV&qw6?m~ySu`w`g@ zbIrm z{MLTSe&PoRzKci$`-vSOeLrOmlKBJCL7GHA&{+DB6U z^ZKB23LYnULWMLy7}~bS$vlNCPg3GE$)6~2nv9*dsL$jqdC!q?mgpR1&XVsO-FlXu`i0E%M88nC^HlO1$zSQ}Kj?adi~EDx z|4zxC%!E+Z6H_RDdPCV<(jYLXnaN4aKDj2>6xL`uWcg{V z)l3$e!T3y8G=nvm$$T@|-Lsi}7R#RvZ9NOmW(L+Svsonq)LBQ6`e(7c+3YIN<>@&0 zB1|te&u$_(-8?3()IXQy&0~$`g63rbGv_m;Rr8r|0c$#+UH6iTg{duK=F6bTXKi0* zzD2C*%j}xP%zTB>V%F&u=32~htyG8q=1a_22!>78Wg*+lUuE!Ek*~7Q5|(_GHCV!M zB-cvyB`owhGeHITI-tz2vG6kJMi?!F@P;2m$E$tP`?721fx}~{B7o2#cq8Y_~>_;c!$Y%nP#QwcbNTMW_ySE-enEnVGpea1ou6b zS<6fa{%diwHSF&7%v{I7);@^VvGVuX4I7wzpS9n>k{g-%0i%s*_zzfgGZUK_WNkG_ zno;x z$>dio-%8tm$*$hc%x#Re!!uzU3+!Y9>#LpCT_QV}+{s$*U?U)14W?aKJAT8AuMy{h z{qt+4eaDP%A#SlA-!gMAGxjjr%X;i#+CFA{&uAa({yi%=0H6V*1MIo|OgqTT9~d2E z-F{%9A6f7a>vDw2!z_4&8CbF(VVT2B9${67S^hC*9%cL(;GfKQj4h#~5EegU#;1t9 zz%rjQ`5Eho{S!591cOWDB$KCDtCK8rnvJ5LSn(NV{>;5wc6A%{$R%M3~APGoQH>T-*6ro#>H?R7{>W9NP=^Vb?(n@VJxiNzysBC5i&!5R}#r|xRRWlF-=WzKVmvgx9 zMP4;^?nr-^|4( ze(e@+e8_1FAB31vMb?;p!^hnCh||Zs#Yc!C!*BVB=WpfaC!BBPu1~mcD_=>Ua79Jw zFh1q<8CTSxo$L%Z_yVt>Dc>4MBKhv9=aw(|l^eMOXSP>AXSW^PwVRKoT|DtkO*?%H zl|FC(Ew}IGau2V&ujcrESSfh>{oH<#n?G-zwIPX9OKB7 zI>wt>X@{dc?=;8tKl7_ktLuN}SDfbTCoWHef7AGx(-~g*Gp{_u!?L?_;p!!Py~VrK zOI+4hn0*BG72W!XP=8_e6VzWk+fOtbDC7WfCsytQ1lI4B14P|{B0NC&28sycFbos{ zE7b>xX9kPvk93HrJ5+>+2;Wc<86vcyA}~bop+X-b?jDXjEk=mCBSm&Jsnlg@2Zivqi})A!dufEWu|BeU@nb zqL6chftVpydsogCMe~Gzu8{L!p%;9f2w15;S2SOsYGI)$dI>(3@JJFR3k82k1gumi z&wSxnR8tGDAT+J0dPPL13pq`MU&ZleuL=3Os3L8NxPF;1mWt3akzOhi%Mdb2N+&wHZYY7u@<_*RR^dxEbP0V~zt6YbWDsx`v5RT%~fkNUX1Us|`ZFFRC_(=$k^mA?8ue*3#szWMX$x+m*a)cQWgweu6fNnUhul)jn9DauKux*14NJiL+9>>?{Z~&8M*jvEK@=Koc{}_7@I4O$k4}7b- ztE(pNq)oFK7Fb+hSztEJ%+Bu2?g9#eiBs4fz`1duYYRhIYiO7cmPZFNeRJZC> z5lq@tm}Pk6fT;(hhB{fI?Pbv2K!K8Q_kU1pXe~t;^C5&kU>-w3mF7a4VoNeVWWkfb zl2(RT6A~s%hr}BEV~ZGTk(bFbs%vTT(ISYks8%QqVP0hy3fzOuJld4f2X`mADLzM! zWGARIO$k?g04zXuMCtsxX?!;%e{>NWRb&}l#0C{r3@(z<=S;(jyu*vsVMW&AMdo2e zlgRWUk;34&Y#LMK9b2T1DYA|&GLI=5Pu?hU!W|?HJxXsi6}Owh&hERWab(D5(~H=& zqW06_Dbhl1swFNe@-8hRONw4vS)>J{Ei*&5$3_CjQY_e-BCZU6?v)44XrkBD6%u0p zCFK#V4VK)>DMJ2Z?rgM8Q|MnYBrTSB`UGVt~SqO#}U4 zcql2Xaq36KEjAQ4wK{2Igl5i%%Qbt@(OO$njK@reN*lKkN)5D{3Os&0!1qN+<-CHQ z3bjB1NX=>U+KBmWQs=cfO!h;3D}{@$YKp*Ze;T#Sq#9N)T-FBmqg0tnm1%f^?Omcw zCT&!fiKx@~out|H$fVf=sR?Vn!Bh;Qj=_khEmG`*}ITcaW zr%^LAyKPw8*(?W3tu%dhsTp>2O(BQ5X~9}>3slCg0c-MiYz8*lm5WyATb4mY98*~uu8BsbY4>7n(3t*;Wi~2#+Lv$E& zDkSkFQI3(?=$DxAB}r$9`80uNs_8UIJp&WU>0K%`5ZEtUvYwTmbWya>pcd6JB zX@zEYBqY3!y)n8)p?|eF;BIQEgss-lNb?mKV_0jz6x&En*k`nN1z*&%I$|0hel`v{yTFE(=39ZyC&OA6`RAU zj>Cxa>a6ux+!}&3DG1i2cz*9Td$Qdo7>x;!!(EQE!^8AoPDvic4XDFhx7*&tHiRS> zCfSm+l2VgRNm;{lTGa!I9vumcw!Zk^diQ=ULZM6Mu_#fQ5zqWK0 z%|;oQTeBBqr3AON>10e&)4=2zIQw5gi9pGi|~fF^0G+3_-Q?c!Ok3@idHL zMCe=Qz=wENeG?FUlJkyHq-QKxX>L3}4sTKGLT}-TUVH8f#jUM-2ycY*jYZp?yyfsH1ntJv}IIbK(J6 zn&EcSgoFWdF8q%qwAmVUnDB76nhR^_V$u(oIN7u{ni{*ZF?{^rvrGs;711pmn~?Y{ zRlKD>2^vyw0UXYqm4mavmcOKDux6=J!VS)TM!p)(#EuiH-vRL zzy*ETt9|M!pMABDt@8O-`!ZmE)go>$_Q%~mdm2o91R2*NZq(si?lUj*rF`Zyed=?3 z=3}4winsYV^lWwuL>{}A9_?Ys2^ogn1AM}PCXexo{)TzcU+FDEUqmEvt4Z(pEII_} zOKqc)ffaI6Ho`O8arP^jh{G+1NMaRr6$gCjGkx;0N z06c}d*pjfVJbR8WeZG&(^GO^VaomSUF7RPySADJnKC<6eAXD%wS-*4D7dYf2v*dS1 z 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

    +5QRnU9Y?(Mn~Co~|B-KM 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

    xE= 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�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 literal 0 HcmV?d00001 diff --git a/node_modules/@esbuild/linux-x64/package.json b/node_modules/@esbuild/linux-x64/package.json new file mode 100644 index 0000000..86bb436 --- /dev/null +++ b/node_modules/@esbuild/linux-x64/package.json @@ -0,0 +1,20 @@ +{ + "name": "@esbuild/linux-x64", + "version": "0.25.5", + "description": "The Linux 64-bit binary for esbuild, a JavaScript bundler.", + "repository": { + "type": "git", + "url": "git+https://github.com/evanw/esbuild.git" + }, + "license": "MIT", + "preferUnplugged": true, + "engines": { + "node": ">=18" + }, + "os": [ + "linux" + ], + "cpu": [ + "x64" + ] +} diff --git a/node_modules/@jridgewell/sourcemap-codec/LICENSE b/node_modules/@jridgewell/sourcemap-codec/LICENSE new file mode 100644 index 0000000..a331065 --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2015 Rich Harris + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@jridgewell/sourcemap-codec/README.md b/node_modules/@jridgewell/sourcemap-codec/README.md new file mode 100644 index 0000000..b3e0708 --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/README.md @@ -0,0 +1,264 @@ +# @jridgewell/sourcemap-codec + +Encode/decode the `mappings` property of a [sourcemap](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit). + + +## Why? + +Sourcemaps are difficult to generate and manipulate, because the `mappings` property – the part that actually links the generated code back to the original source – is encoded using an obscure method called [Variable-length quantity](https://en.wikipedia.org/wiki/Variable-length_quantity). On top of that, each segment in the mapping contains offsets rather than absolute indices, which means that you can't look at a segment in isolation – you have to understand the whole sourcemap. + +This package makes the process slightly easier. + + +## Installation + +```bash +npm install @jridgewell/sourcemap-codec +``` + + +## Usage + +```js +import { encode, decode } from '@jridgewell/sourcemap-codec'; + +var decoded = decode( ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' ); + +assert.deepEqual( decoded, [ + // the first line (of the generated code) has no mappings, + // as shown by the starting semi-colon (which separates lines) + [], + + // the second line contains four (comma-separated) segments + [ + // segments are encoded as you'd expect: + // [ generatedCodeColumn, sourceIndex, sourceCodeLine, sourceCodeColumn, nameIndex ] + + // i.e. the first segment begins at column 2, and maps back to the second column + // of the second line (both zero-based) of the 0th source, and uses the 0th + // name in the `map.names` array + [ 2, 0, 2, 2, 0 ], + + // the remaining segments are 4-length rather than 5-length, + // because they don't map a name + [ 4, 0, 2, 4 ], + [ 6, 0, 2, 5 ], + [ 7, 0, 2, 7 ] + ], + + // the final line contains two segments + [ + [ 2, 1, 10, 19 ], + [ 12, 1, 11, 20 ] + ] +]); + +var encoded = encode( decoded ); +assert.equal( encoded, ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' ); +``` + +## Benchmarks + +``` +node v20.10.0 + +amp.js.map - 45120 segments + +Decode Memory Usage: +local code 5815135 bytes +@jridgewell/sourcemap-codec 1.4.15 5868160 bytes +sourcemap-codec 5492584 bytes +source-map-0.6.1 13569984 bytes +source-map-0.8.0 6390584 bytes +chrome dev tools 8011136 bytes +Smallest memory usage is sourcemap-codec + +Decode speed: +decode: local code x 492 ops/sec ±1.22% (90 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 499 ops/sec ±1.16% (89 runs sampled) +decode: sourcemap-codec x 376 ops/sec ±1.66% (89 runs sampled) +decode: source-map-0.6.1 x 34.99 ops/sec ±0.94% (48 runs sampled) +decode: source-map-0.8.0 x 351 ops/sec ±0.07% (95 runs sampled) +chrome dev tools x 165 ops/sec ±0.91% (86 runs sampled) +Fastest is decode: @jridgewell/sourcemap-codec 1.4.15 + +Encode Memory Usage: +local code 444248 bytes +@jridgewell/sourcemap-codec 1.4.15 623024 bytes +sourcemap-codec 8696280 bytes +source-map-0.6.1 8745176 bytes +source-map-0.8.0 8736624 bytes +Smallest memory usage is local code + +Encode speed: +encode: local code x 796 ops/sec ±0.11% (97 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 795 ops/sec ±0.25% (98 runs sampled) +encode: sourcemap-codec x 231 ops/sec ±0.83% (86 runs sampled) +encode: source-map-0.6.1 x 166 ops/sec ±0.57% (86 runs sampled) +encode: source-map-0.8.0 x 203 ops/sec ±0.45% (88 runs sampled) +Fastest is encode: local code,encode: @jridgewell/sourcemap-codec 1.4.15 + + +*** + + +babel.min.js.map - 347793 segments + +Decode Memory Usage: +local code 35424960 bytes +@jridgewell/sourcemap-codec 1.4.15 35424696 bytes +sourcemap-codec 36033464 bytes +source-map-0.6.1 62253704 bytes +source-map-0.8.0 43843920 bytes +chrome dev tools 45111400 bytes +Smallest memory usage is @jridgewell/sourcemap-codec 1.4.15 + +Decode speed: +decode: local code x 38.18 ops/sec ±5.44% (52 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 38.36 ops/sec ±5.02% (52 runs sampled) +decode: sourcemap-codec x 34.05 ops/sec ±4.45% (47 runs sampled) +decode: source-map-0.6.1 x 4.31 ops/sec ±2.76% (15 runs sampled) +decode: source-map-0.8.0 x 55.60 ops/sec ±0.13% (73 runs sampled) +chrome dev tools x 16.94 ops/sec ±3.78% (46 runs sampled) +Fastest is decode: source-map-0.8.0 + +Encode Memory Usage: +local code 2606016 bytes +@jridgewell/sourcemap-codec 1.4.15 2626440 bytes +sourcemap-codec 21152576 bytes +source-map-0.6.1 25023928 bytes +source-map-0.8.0 25256448 bytes +Smallest memory usage is local code + +Encode speed: +encode: local code x 127 ops/sec ±0.18% (83 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 128 ops/sec ±0.26% (83 runs sampled) +encode: sourcemap-codec x 29.31 ops/sec ±2.55% (53 runs sampled) +encode: source-map-0.6.1 x 18.85 ops/sec ±3.19% (36 runs sampled) +encode: source-map-0.8.0 x 19.34 ops/sec ±1.97% (36 runs sampled) +Fastest is encode: @jridgewell/sourcemap-codec 1.4.15 + + +*** + + +preact.js.map - 1992 segments + +Decode Memory Usage: +local code 261696 bytes +@jridgewell/sourcemap-codec 1.4.15 244296 bytes +sourcemap-codec 302816 bytes +source-map-0.6.1 939176 bytes +source-map-0.8.0 336 bytes +chrome dev tools 587368 bytes +Smallest memory usage is source-map-0.8.0 + +Decode speed: +decode: local code x 17,782 ops/sec ±0.32% (97 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 17,863 ops/sec ±0.40% (100 runs sampled) +decode: sourcemap-codec x 12,453 ops/sec ±0.27% (101 runs sampled) +decode: source-map-0.6.1 x 1,288 ops/sec ±1.05% (96 runs sampled) +decode: source-map-0.8.0 x 9,289 ops/sec ±0.27% (101 runs sampled) +chrome dev tools x 4,769 ops/sec ±0.18% (100 runs sampled) +Fastest is decode: @jridgewell/sourcemap-codec 1.4.15 + +Encode Memory Usage: +local code 262944 bytes +@jridgewell/sourcemap-codec 1.4.15 25544 bytes +sourcemap-codec 323048 bytes +source-map-0.6.1 507808 bytes +source-map-0.8.0 507480 bytes +Smallest memory usage is @jridgewell/sourcemap-codec 1.4.15 + +Encode speed: +encode: local code x 24,207 ops/sec ±0.79% (95 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 24,288 ops/sec ±0.48% (96 runs sampled) +encode: sourcemap-codec x 6,761 ops/sec ±0.21% (100 runs sampled) +encode: source-map-0.6.1 x 5,374 ops/sec ±0.17% (99 runs sampled) +encode: source-map-0.8.0 x 5,633 ops/sec ±0.32% (99 runs sampled) +Fastest is encode: @jridgewell/sourcemap-codec 1.4.15,encode: local code + + +*** + + +react.js.map - 5726 segments + +Decode Memory Usage: +local code 678816 bytes +@jridgewell/sourcemap-codec 1.4.15 678816 bytes +sourcemap-codec 816400 bytes +source-map-0.6.1 2288864 bytes +source-map-0.8.0 721360 bytes +chrome dev tools 1012512 bytes +Smallest memory usage is local code + +Decode speed: +decode: local code x 6,178 ops/sec ±0.19% (98 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 6,261 ops/sec ±0.22% (100 runs sampled) +decode: sourcemap-codec x 4,472 ops/sec ±0.90% (99 runs sampled) +decode: source-map-0.6.1 x 449 ops/sec ±0.31% (95 runs sampled) +decode: source-map-0.8.0 x 3,219 ops/sec ±0.13% (100 runs sampled) +chrome dev tools x 1,743 ops/sec ±0.20% (99 runs sampled) +Fastest is decode: @jridgewell/sourcemap-codec 1.4.15 + +Encode Memory Usage: +local code 140960 bytes +@jridgewell/sourcemap-codec 1.4.15 159808 bytes +sourcemap-codec 969304 bytes +source-map-0.6.1 930520 bytes +source-map-0.8.0 930248 bytes +Smallest memory usage is local code + +Encode speed: +encode: local code x 8,013 ops/sec ±0.19% (100 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 7,989 ops/sec ±0.20% (101 runs sampled) +encode: sourcemap-codec x 2,472 ops/sec ±0.21% (99 runs sampled) +encode: source-map-0.6.1 x 2,200 ops/sec ±0.17% (99 runs sampled) +encode: source-map-0.8.0 x 2,220 ops/sec ±0.37% (99 runs sampled) +Fastest is encode: local code + + +*** + + +vscode.map - 2141001 segments + +Decode Memory Usage: +local code 198955264 bytes +@jridgewell/sourcemap-codec 1.4.15 199175352 bytes +sourcemap-codec 199102688 bytes +source-map-0.6.1 386323432 bytes +source-map-0.8.0 244116432 bytes +chrome dev tools 293734280 bytes +Smallest memory usage is local code + +Decode speed: +decode: local code x 3.90 ops/sec ±22.21% (15 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 3.95 ops/sec ±23.53% (15 runs sampled) +decode: sourcemap-codec x 3.82 ops/sec ±17.94% (14 runs sampled) +decode: source-map-0.6.1 x 0.61 ops/sec ±7.81% (6 runs sampled) +decode: source-map-0.8.0 x 9.54 ops/sec ±0.28% (28 runs sampled) +chrome dev tools x 2.18 ops/sec ±10.58% (10 runs sampled) +Fastest is decode: source-map-0.8.0 + +Encode Memory Usage: +local code 13509880 bytes +@jridgewell/sourcemap-codec 1.4.15 13537648 bytes +sourcemap-codec 32540104 bytes +source-map-0.6.1 127531040 bytes +source-map-0.8.0 127535312 bytes +Smallest memory usage is local code + +Encode speed: +encode: local code x 20.10 ops/sec ±0.19% (38 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 20.26 ops/sec ±0.32% (38 runs sampled) +encode: sourcemap-codec x 5.44 ops/sec ±1.64% (18 runs sampled) +encode: source-map-0.6.1 x 2.30 ops/sec ±4.79% (10 runs sampled) +encode: source-map-0.8.0 x 2.46 ops/sec ±6.53% (10 runs sampled) +Fastest is encode: @jridgewell/sourcemap-codec 1.4.15 +``` + +# License + +MIT diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs new file mode 100644 index 0000000..60e17b3 --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs @@ -0,0 +1,424 @@ +const comma = ','.charCodeAt(0); +const semicolon = ';'.charCodeAt(0); +const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; +const intToChar = new Uint8Array(64); // 64 possible chars. +const charToInt = new Uint8Array(128); // z is 122 in ASCII +for (let i = 0; i < chars.length; i++) { + const c = chars.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; +} +function decodeInteger(reader, relative) { + let value = 0; + let shift = 0; + let integer = 0; + do { + const c = reader.next(); + integer = charToInt[c]; + value |= (integer & 31) << shift; + shift += 5; + } while (integer & 32); + const shouldNegate = value & 1; + value >>>= 1; + if (shouldNegate) { + value = -0x80000000 | -value; + } + return relative + value; +} +function encodeInteger(builder, num, relative) { + let delta = num - relative; + delta = delta < 0 ? (-delta << 1) | 1 : delta << 1; + do { + let clamped = delta & 0b011111; + delta >>>= 5; + if (delta > 0) + clamped |= 0b100000; + builder.write(intToChar[clamped]); + } while (delta > 0); + return num; +} +function hasMoreVlq(reader, max) { + if (reader.pos >= max) + return false; + return reader.peek() !== comma; +} + +const bufLength = 1024 * 16; +// Provide a fallback for older environments. +const td = typeof TextDecoder !== 'undefined' + ? /* #__PURE__ */ new TextDecoder() + : typeof Buffer !== 'undefined' + ? { + decode(buf) { + const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength); + return out.toString(); + }, + } + : { + decode(buf) { + let out = ''; + for (let i = 0; i < buf.length; i++) { + out += String.fromCharCode(buf[i]); + } + return out; + }, + }; +class StringWriter { + constructor() { + this.pos = 0; + this.out = ''; + this.buffer = new Uint8Array(bufLength); + } + write(v) { + const { buffer } = this; + buffer[this.pos++] = v; + if (this.pos === bufLength) { + this.out += td.decode(buffer); + this.pos = 0; + } + } + flush() { + const { buffer, out, pos } = this; + return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out; + } +} +class StringReader { + constructor(buffer) { + this.pos = 0; + this.buffer = buffer; + } + next() { + return this.buffer.charCodeAt(this.pos++); + } + peek() { + return this.buffer.charCodeAt(this.pos); + } + indexOf(char) { + const { buffer, pos } = this; + const idx = buffer.indexOf(char, pos); + return idx === -1 ? buffer.length : idx; + } +} + +const EMPTY = []; +function decodeOriginalScopes(input) { + const { length } = input; + const reader = new StringReader(input); + const scopes = []; + const stack = []; + let line = 0; + for (; reader.pos < length; reader.pos++) { + line = decodeInteger(reader, line); + const column = decodeInteger(reader, 0); + if (!hasMoreVlq(reader, length)) { + const last = stack.pop(); + last[2] = line; + last[3] = column; + continue; + } + const kind = decodeInteger(reader, 0); + const fields = decodeInteger(reader, 0); + const hasName = fields & 0b0001; + const scope = (hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]); + let vars = EMPTY; + if (hasMoreVlq(reader, length)) { + vars = []; + do { + const varsIndex = decodeInteger(reader, 0); + vars.push(varsIndex); + } while (hasMoreVlq(reader, length)); + } + scope.vars = vars; + scopes.push(scope); + stack.push(scope); + } + return scopes; +} +function encodeOriginalScopes(scopes) { + const writer = new StringWriter(); + for (let i = 0; i < scopes.length;) { + i = _encodeOriginalScopes(scopes, i, writer, [0]); + } + return writer.flush(); +} +function _encodeOriginalScopes(scopes, index, writer, state) { + const scope = scopes[index]; + const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope; + if (index > 0) + writer.write(comma); + state[0] = encodeInteger(writer, startLine, state[0]); + encodeInteger(writer, startColumn, 0); + encodeInteger(writer, kind, 0); + const fields = scope.length === 6 ? 0b0001 : 0; + encodeInteger(writer, fields, 0); + if (scope.length === 6) + encodeInteger(writer, scope[5], 0); + for (const v of vars) { + encodeInteger(writer, v, 0); + } + for (index++; index < scopes.length;) { + const next = scopes[index]; + const { 0: l, 1: c } = next; + if (l > endLine || (l === endLine && c >= endColumn)) { + break; + } + index = _encodeOriginalScopes(scopes, index, writer, state); + } + writer.write(comma); + state[0] = encodeInteger(writer, endLine, state[0]); + encodeInteger(writer, endColumn, 0); + return index; +} +function decodeGeneratedRanges(input) { + const { length } = input; + const reader = new StringReader(input); + const ranges = []; + const stack = []; + let genLine = 0; + let definitionSourcesIndex = 0; + let definitionScopeIndex = 0; + let callsiteSourcesIndex = 0; + let callsiteLine = 0; + let callsiteColumn = 0; + let bindingLine = 0; + let bindingColumn = 0; + do { + const semi = reader.indexOf(';'); + let genColumn = 0; + for (; reader.pos < semi; reader.pos++) { + genColumn = decodeInteger(reader, genColumn); + if (!hasMoreVlq(reader, semi)) { + const last = stack.pop(); + last[2] = genLine; + last[3] = genColumn; + continue; + } + const fields = decodeInteger(reader, 0); + const hasDefinition = fields & 0b0001; + const hasCallsite = fields & 0b0010; + const hasScope = fields & 0b0100; + let callsite = null; + let bindings = EMPTY; + let range; + if (hasDefinition) { + const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex); + definitionScopeIndex = decodeInteger(reader, definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0); + definitionSourcesIndex = defSourcesIndex; + range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex]; + } + else { + range = [genLine, genColumn, 0, 0]; + } + range.isScope = !!hasScope; + if (hasCallsite) { + const prevCsi = callsiteSourcesIndex; + const prevLine = callsiteLine; + callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex); + const sameSource = prevCsi === callsiteSourcesIndex; + callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0); + callsiteColumn = decodeInteger(reader, sameSource && prevLine === callsiteLine ? callsiteColumn : 0); + callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn]; + } + range.callsite = callsite; + if (hasMoreVlq(reader, semi)) { + bindings = []; + do { + bindingLine = genLine; + bindingColumn = genColumn; + const expressionsCount = decodeInteger(reader, 0); + let expressionRanges; + if (expressionsCount < -1) { + expressionRanges = [[decodeInteger(reader, 0)]]; + for (let i = -1; i > expressionsCount; i--) { + const prevBl = bindingLine; + bindingLine = decodeInteger(reader, bindingLine); + bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0); + const expression = decodeInteger(reader, 0); + expressionRanges.push([expression, bindingLine, bindingColumn]); + } + } + else { + expressionRanges = [[expressionsCount]]; + } + bindings.push(expressionRanges); + } while (hasMoreVlq(reader, semi)); + } + range.bindings = bindings; + ranges.push(range); + stack.push(range); + } + genLine++; + reader.pos = semi + 1; + } while (reader.pos < length); + return ranges; +} +function encodeGeneratedRanges(ranges) { + if (ranges.length === 0) + return ''; + const writer = new StringWriter(); + for (let i = 0; i < ranges.length;) { + i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]); + } + return writer.flush(); +} +function _encodeGeneratedRanges(ranges, index, writer, state) { + const range = ranges[index]; + const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, isScope, callsite, bindings, } = range; + if (state[0] < startLine) { + catchupLine(writer, state[0], startLine); + state[0] = startLine; + state[1] = 0; + } + else if (index > 0) { + writer.write(comma); + } + state[1] = encodeInteger(writer, range[1], state[1]); + const fields = (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0); + encodeInteger(writer, fields, 0); + if (range.length === 6) { + const { 4: sourcesIndex, 5: scopesIndex } = range; + if (sourcesIndex !== state[2]) { + state[3] = 0; + } + state[2] = encodeInteger(writer, sourcesIndex, state[2]); + state[3] = encodeInteger(writer, scopesIndex, state[3]); + } + if (callsite) { + const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite; + if (sourcesIndex !== state[4]) { + state[5] = 0; + state[6] = 0; + } + else if (callLine !== state[5]) { + state[6] = 0; + } + state[4] = encodeInteger(writer, sourcesIndex, state[4]); + state[5] = encodeInteger(writer, callLine, state[5]); + state[6] = encodeInteger(writer, callColumn, state[6]); + } + if (bindings) { + for (const binding of bindings) { + if (binding.length > 1) + encodeInteger(writer, -binding.length, 0); + const expression = binding[0][0]; + encodeInteger(writer, expression, 0); + let bindingStartLine = startLine; + let bindingStartColumn = startColumn; + for (let i = 1; i < binding.length; i++) { + const expRange = binding[i]; + bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine); + bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn); + encodeInteger(writer, expRange[0], 0); + } + } + } + for (index++; index < ranges.length;) { + const next = ranges[index]; + const { 0: l, 1: c } = next; + if (l > endLine || (l === endLine && c >= endColumn)) { + break; + } + index = _encodeGeneratedRanges(ranges, index, writer, state); + } + if (state[0] < endLine) { + catchupLine(writer, state[0], endLine); + state[0] = endLine; + state[1] = 0; + } + else { + writer.write(comma); + } + state[1] = encodeInteger(writer, endColumn, state[1]); + return index; +} +function catchupLine(writer, lastLine, line) { + do { + writer.write(semicolon); + } while (++lastLine < line); +} + +function decode(mappings) { + const { length } = mappings; + const reader = new StringReader(mappings); + const decoded = []; + let genColumn = 0; + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + do { + const semi = reader.indexOf(';'); + const line = []; + let sorted = true; + let lastCol = 0; + genColumn = 0; + while (reader.pos < semi) { + let seg; + genColumn = decodeInteger(reader, genColumn); + if (genColumn < lastCol) + sorted = false; + lastCol = genColumn; + if (hasMoreVlq(reader, semi)) { + sourcesIndex = decodeInteger(reader, sourcesIndex); + sourceLine = decodeInteger(reader, sourceLine); + sourceColumn = decodeInteger(reader, sourceColumn); + if (hasMoreVlq(reader, semi)) { + namesIndex = decodeInteger(reader, namesIndex); + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]; + } + else { + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn]; + } + } + else { + seg = [genColumn]; + } + line.push(seg); + reader.pos++; + } + if (!sorted) + sort(line); + decoded.push(line); + reader.pos = semi + 1; + } while (reader.pos <= length); + return decoded; +} +function sort(line) { + line.sort(sortComparator); +} +function sortComparator(a, b) { + return a[0] - b[0]; +} +function encode(decoded) { + const writer = new StringWriter(); + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + if (i > 0) + writer.write(semicolon); + if (line.length === 0) + continue; + let genColumn = 0; + for (let j = 0; j < line.length; j++) { + const segment = line[j]; + if (j > 0) + writer.write(comma); + genColumn = encodeInteger(writer, segment[0], genColumn); + if (segment.length === 1) + continue; + sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex); + sourceLine = encodeInteger(writer, segment[2], sourceLine); + sourceColumn = encodeInteger(writer, segment[3], sourceColumn); + if (segment.length === 4) + continue; + namesIndex = encodeInteger(writer, segment[4], namesIndex); + } + } + return writer.flush(); +} + +export { decode, decodeGeneratedRanges, decodeOriginalScopes, encode, encodeGeneratedRanges, encodeOriginalScopes }; +//# sourceMappingURL=sourcemap-codec.mjs.map diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map new file mode 100644 index 0000000..7388228 --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"sourcemap-codec.mjs","sources":["../src/vlq.ts","../src/strings.ts","../src/scopes.ts","../src/sourcemap-codec.ts"],"sourcesContent":["import type { StringReader, StringWriter } from './strings';\n\nexport const comma = ','.charCodeAt(0);\nexport const semicolon = ';'.charCodeAt(0);\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\nexport function decodeInteger(reader: StringReader, relative: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n return relative + value;\n}\n\nexport function encodeInteger(builder: StringWriter, num: number, relative: number): number {\n let delta = num - relative;\n\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0) clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n\n return num;\n}\n\nexport function hasMoreVlq(reader: StringReader, max: number) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n","const bufLength = 1024 * 16;\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array): string {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array): string {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport class StringWriter {\n pos = 0;\n private out = '';\n private buffer = new Uint8Array(bufLength);\n\n write(v: number): void {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n\n flush(): string {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n}\n\nexport class StringReader {\n pos = 0;\n private declare buffer: string;\n\n constructor(buffer: string) {\n this.buffer = buffer;\n }\n\n next(): number {\n return this.buffer.charCodeAt(this.pos++);\n }\n\n peek(): number {\n return this.buffer.charCodeAt(this.pos);\n }\n\n indexOf(char: string): number {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n","import { StringReader, StringWriter } from './strings';\nimport { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\n\nconst EMPTY: any[] = [];\n\ntype Line = number;\ntype Column = number;\ntype Kind = number;\ntype Name = number;\ntype Var = number;\ntype SourcesIndex = number;\ntype ScopesIndex = number;\n\ntype Mix = (A & O) | (B & O);\n\nexport type OriginalScope = Mix<\n [Line, Column, Line, Column, Kind],\n [Line, Column, Line, Column, Kind, Name],\n { vars: Var[] }\n>;\n\nexport type GeneratedRange = Mix<\n [Line, Column, Line, Column],\n [Line, Column, Line, Column, SourcesIndex, ScopesIndex],\n {\n callsite: CallSite | null;\n bindings: Binding[];\n isScope: boolean;\n }\n>;\nexport type CallSite = [SourcesIndex, Line, Column];\ntype Binding = BindingExpressionRange[];\nexport type BindingExpressionRange = [Name] | [Name, Line, Column];\n\nexport function decodeOriginalScopes(input: string): OriginalScope[] {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes: OriginalScope[] = [];\n const stack: OriginalScope[] = [];\n let line = 0;\n\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop()!;\n last[2] = line;\n last[3] = column;\n continue;\n }\n\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 0b0001;\n\n const scope: OriginalScope = (\n hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]\n ) as OriginalScope;\n\n let vars: Var[] = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n\n scopes.push(scope);\n stack.push(scope);\n }\n\n return scopes;\n}\n\nexport function encodeOriginalScopes(scopes: OriginalScope[]): string {\n const writer = new StringWriter();\n\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n\n return writer.flush();\n}\n\nfunction _encodeOriginalScopes(\n scopes: OriginalScope[],\n index: number,\n writer: StringWriter,\n state: [\n number, // GenColumn\n ],\n): number {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n\n if (index > 0) writer.write(comma);\n\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n\n const fields = scope.length === 6 ? 0b0001 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n\n return index;\n}\n\nexport function decodeGeneratedRanges(input: string): GeneratedRange[] {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges: GeneratedRange[] = [];\n const stack: GeneratedRange[] = [];\n\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n\n do {\n const semi = reader.indexOf(';');\n let genColumn = 0;\n\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop()!;\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 0b0001;\n const hasCallsite = fields & 0b0010;\n const hasScope = fields & 0b0100;\n\n let callsite: CallSite | null = null;\n let bindings: Binding[] = EMPTY;\n let range: GeneratedRange;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0,\n );\n\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex] as GeneratedRange;\n } else {\n range = [genLine, genColumn, 0, 0] as GeneratedRange;\n }\n\n range.isScope = !!hasScope;\n\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0,\n );\n\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges: BindingExpressionRange[];\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n\n ranges.push(range);\n stack.push(range);\n }\n\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n\n return ranges;\n}\n\nexport function encodeGeneratedRanges(ranges: GeneratedRange[]): string {\n if (ranges.length === 0) return '';\n\n const writer = new StringWriter();\n\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n\n return writer.flush();\n}\n\nfunction _encodeGeneratedRanges(\n ranges: GeneratedRange[],\n index: number,\n writer: StringWriter,\n state: [\n number, // GenLine\n number, // GenColumn\n number, // DefSourcesIndex\n number, // DefScopesIndex\n number, // CallSourcesIndex\n number, // CallLine\n number, // CallColumn\n ],\n): number {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings,\n } = range;\n\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n\n state[1] = encodeInteger(writer, range[1], state[1]);\n\n const fields =\n (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0);\n encodeInteger(writer, fields, 0);\n\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite!;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1]!, bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2]!, bindingStartColumn);\n encodeInteger(writer, expRange[0]!, 0);\n }\n }\n }\n\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n\n return index;\n}\n\nfunction catchupLine(writer: StringWriter, lastLine: number, line: number) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n","import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\nimport { StringWriter, StringReader } from './strings';\n\nexport {\n decodeOriginalScopes,\n encodeOriginalScopes,\n decodeGeneratedRanges,\n encodeGeneratedRanges,\n} from './scopes';\nexport type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';\n\nexport type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nexport function decode(mappings: string): SourceMapMappings {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded: SourceMapMappings = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n do {\n const semi = reader.indexOf(';');\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n\n while (reader.pos < semi) {\n let seg: SourceMapSegment;\n\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n\n line.push(seg);\n reader.pos++;\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n\n return decoded;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly): string;\nexport function encode(decoded: Readonly): string {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n\n let genColumn = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n\n genColumn = encodeInteger(writer, segment[0], genColumn);\n\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n\n return writer.flush();\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js new file mode 100644 index 0000000..93caf17 --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js @@ -0,0 +1,439 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sourcemapCodec = {})); +})(this, (function (exports) { 'use strict'; + + const comma = ','.charCodeAt(0); + const semicolon = ';'.charCodeAt(0); + const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + const intToChar = new Uint8Array(64); // 64 possible chars. + const charToInt = new Uint8Array(128); // z is 122 in ASCII + for (let i = 0; i < chars.length; i++) { + const c = chars.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; + } + function decodeInteger(reader, relative) { + let value = 0; + let shift = 0; + let integer = 0; + do { + const c = reader.next(); + integer = charToInt[c]; + value |= (integer & 31) << shift; + shift += 5; + } while (integer & 32); + const shouldNegate = value & 1; + value >>>= 1; + if (shouldNegate) { + value = -0x80000000 | -value; + } + return relative + value; + } + function encodeInteger(builder, num, relative) { + let delta = num - relative; + delta = delta < 0 ? (-delta << 1) | 1 : delta << 1; + do { + let clamped = delta & 0b011111; + delta >>>= 5; + if (delta > 0) + clamped |= 0b100000; + builder.write(intToChar[clamped]); + } while (delta > 0); + return num; + } + function hasMoreVlq(reader, max) { + if (reader.pos >= max) + return false; + return reader.peek() !== comma; + } + + const bufLength = 1024 * 16; + // Provide a fallback for older environments. + const td = typeof TextDecoder !== 'undefined' + ? /* #__PURE__ */ new TextDecoder() + : typeof Buffer !== 'undefined' + ? { + decode(buf) { + const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength); + return out.toString(); + }, + } + : { + decode(buf) { + let out = ''; + for (let i = 0; i < buf.length; i++) { + out += String.fromCharCode(buf[i]); + } + return out; + }, + }; + class StringWriter { + constructor() { + this.pos = 0; + this.out = ''; + this.buffer = new Uint8Array(bufLength); + } + write(v) { + const { buffer } = this; + buffer[this.pos++] = v; + if (this.pos === bufLength) { + this.out += td.decode(buffer); + this.pos = 0; + } + } + flush() { + const { buffer, out, pos } = this; + return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out; + } + } + class StringReader { + constructor(buffer) { + this.pos = 0; + this.buffer = buffer; + } + next() { + return this.buffer.charCodeAt(this.pos++); + } + peek() { + return this.buffer.charCodeAt(this.pos); + } + indexOf(char) { + const { buffer, pos } = this; + const idx = buffer.indexOf(char, pos); + return idx === -1 ? buffer.length : idx; + } + } + + const EMPTY = []; + function decodeOriginalScopes(input) { + const { length } = input; + const reader = new StringReader(input); + const scopes = []; + const stack = []; + let line = 0; + for (; reader.pos < length; reader.pos++) { + line = decodeInteger(reader, line); + const column = decodeInteger(reader, 0); + if (!hasMoreVlq(reader, length)) { + const last = stack.pop(); + last[2] = line; + last[3] = column; + continue; + } + const kind = decodeInteger(reader, 0); + const fields = decodeInteger(reader, 0); + const hasName = fields & 0b0001; + const scope = (hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]); + let vars = EMPTY; + if (hasMoreVlq(reader, length)) { + vars = []; + do { + const varsIndex = decodeInteger(reader, 0); + vars.push(varsIndex); + } while (hasMoreVlq(reader, length)); + } + scope.vars = vars; + scopes.push(scope); + stack.push(scope); + } + return scopes; + } + function encodeOriginalScopes(scopes) { + const writer = new StringWriter(); + for (let i = 0; i < scopes.length;) { + i = _encodeOriginalScopes(scopes, i, writer, [0]); + } + return writer.flush(); + } + function _encodeOriginalScopes(scopes, index, writer, state) { + const scope = scopes[index]; + const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope; + if (index > 0) + writer.write(comma); + state[0] = encodeInteger(writer, startLine, state[0]); + encodeInteger(writer, startColumn, 0); + encodeInteger(writer, kind, 0); + const fields = scope.length === 6 ? 0b0001 : 0; + encodeInteger(writer, fields, 0); + if (scope.length === 6) + encodeInteger(writer, scope[5], 0); + for (const v of vars) { + encodeInteger(writer, v, 0); + } + for (index++; index < scopes.length;) { + const next = scopes[index]; + const { 0: l, 1: c } = next; + if (l > endLine || (l === endLine && c >= endColumn)) { + break; + } + index = _encodeOriginalScopes(scopes, index, writer, state); + } + writer.write(comma); + state[0] = encodeInteger(writer, endLine, state[0]); + encodeInteger(writer, endColumn, 0); + return index; + } + function decodeGeneratedRanges(input) { + const { length } = input; + const reader = new StringReader(input); + const ranges = []; + const stack = []; + let genLine = 0; + let definitionSourcesIndex = 0; + let definitionScopeIndex = 0; + let callsiteSourcesIndex = 0; + let callsiteLine = 0; + let callsiteColumn = 0; + let bindingLine = 0; + let bindingColumn = 0; + do { + const semi = reader.indexOf(';'); + let genColumn = 0; + for (; reader.pos < semi; reader.pos++) { + genColumn = decodeInteger(reader, genColumn); + if (!hasMoreVlq(reader, semi)) { + const last = stack.pop(); + last[2] = genLine; + last[3] = genColumn; + continue; + } + const fields = decodeInteger(reader, 0); + const hasDefinition = fields & 0b0001; + const hasCallsite = fields & 0b0010; + const hasScope = fields & 0b0100; + let callsite = null; + let bindings = EMPTY; + let range; + if (hasDefinition) { + const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex); + definitionScopeIndex = decodeInteger(reader, definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0); + definitionSourcesIndex = defSourcesIndex; + range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex]; + } + else { + range = [genLine, genColumn, 0, 0]; + } + range.isScope = !!hasScope; + if (hasCallsite) { + const prevCsi = callsiteSourcesIndex; + const prevLine = callsiteLine; + callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex); + const sameSource = prevCsi === callsiteSourcesIndex; + callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0); + callsiteColumn = decodeInteger(reader, sameSource && prevLine === callsiteLine ? callsiteColumn : 0); + callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn]; + } + range.callsite = callsite; + if (hasMoreVlq(reader, semi)) { + bindings = []; + do { + bindingLine = genLine; + bindingColumn = genColumn; + const expressionsCount = decodeInteger(reader, 0); + let expressionRanges; + if (expressionsCount < -1) { + expressionRanges = [[decodeInteger(reader, 0)]]; + for (let i = -1; i > expressionsCount; i--) { + const prevBl = bindingLine; + bindingLine = decodeInteger(reader, bindingLine); + bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0); + const expression = decodeInteger(reader, 0); + expressionRanges.push([expression, bindingLine, bindingColumn]); + } + } + else { + expressionRanges = [[expressionsCount]]; + } + bindings.push(expressionRanges); + } while (hasMoreVlq(reader, semi)); + } + range.bindings = bindings; + ranges.push(range); + stack.push(range); + } + genLine++; + reader.pos = semi + 1; + } while (reader.pos < length); + return ranges; + } + function encodeGeneratedRanges(ranges) { + if (ranges.length === 0) + return ''; + const writer = new StringWriter(); + for (let i = 0; i < ranges.length;) { + i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]); + } + return writer.flush(); + } + function _encodeGeneratedRanges(ranges, index, writer, state) { + const range = ranges[index]; + const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, isScope, callsite, bindings, } = range; + if (state[0] < startLine) { + catchupLine(writer, state[0], startLine); + state[0] = startLine; + state[1] = 0; + } + else if (index > 0) { + writer.write(comma); + } + state[1] = encodeInteger(writer, range[1], state[1]); + const fields = (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0); + encodeInteger(writer, fields, 0); + if (range.length === 6) { + const { 4: sourcesIndex, 5: scopesIndex } = range; + if (sourcesIndex !== state[2]) { + state[3] = 0; + } + state[2] = encodeInteger(writer, sourcesIndex, state[2]); + state[3] = encodeInteger(writer, scopesIndex, state[3]); + } + if (callsite) { + const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite; + if (sourcesIndex !== state[4]) { + state[5] = 0; + state[6] = 0; + } + else if (callLine !== state[5]) { + state[6] = 0; + } + state[4] = encodeInteger(writer, sourcesIndex, state[4]); + state[5] = encodeInteger(writer, callLine, state[5]); + state[6] = encodeInteger(writer, callColumn, state[6]); + } + if (bindings) { + for (const binding of bindings) { + if (binding.length > 1) + encodeInteger(writer, -binding.length, 0); + const expression = binding[0][0]; + encodeInteger(writer, expression, 0); + let bindingStartLine = startLine; + let bindingStartColumn = startColumn; + for (let i = 1; i < binding.length; i++) { + const expRange = binding[i]; + bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine); + bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn); + encodeInteger(writer, expRange[0], 0); + } + } + } + for (index++; index < ranges.length;) { + const next = ranges[index]; + const { 0: l, 1: c } = next; + if (l > endLine || (l === endLine && c >= endColumn)) { + break; + } + index = _encodeGeneratedRanges(ranges, index, writer, state); + } + if (state[0] < endLine) { + catchupLine(writer, state[0], endLine); + state[0] = endLine; + state[1] = 0; + } + else { + writer.write(comma); + } + state[1] = encodeInteger(writer, endColumn, state[1]); + return index; + } + function catchupLine(writer, lastLine, line) { + do { + writer.write(semicolon); + } while (++lastLine < line); + } + + function decode(mappings) { + const { length } = mappings; + const reader = new StringReader(mappings); + const decoded = []; + let genColumn = 0; + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + do { + const semi = reader.indexOf(';'); + const line = []; + let sorted = true; + let lastCol = 0; + genColumn = 0; + while (reader.pos < semi) { + let seg; + genColumn = decodeInteger(reader, genColumn); + if (genColumn < lastCol) + sorted = false; + lastCol = genColumn; + if (hasMoreVlq(reader, semi)) { + sourcesIndex = decodeInteger(reader, sourcesIndex); + sourceLine = decodeInteger(reader, sourceLine); + sourceColumn = decodeInteger(reader, sourceColumn); + if (hasMoreVlq(reader, semi)) { + namesIndex = decodeInteger(reader, namesIndex); + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]; + } + else { + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn]; + } + } + else { + seg = [genColumn]; + } + line.push(seg); + reader.pos++; + } + if (!sorted) + sort(line); + decoded.push(line); + reader.pos = semi + 1; + } while (reader.pos <= length); + return decoded; + } + function sort(line) { + line.sort(sortComparator); + } + function sortComparator(a, b) { + return a[0] - b[0]; + } + function encode(decoded) { + const writer = new StringWriter(); + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + if (i > 0) + writer.write(semicolon); + if (line.length === 0) + continue; + let genColumn = 0; + for (let j = 0; j < line.length; j++) { + const segment = line[j]; + if (j > 0) + writer.write(comma); + genColumn = encodeInteger(writer, segment[0], genColumn); + if (segment.length === 1) + continue; + sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex); + sourceLine = encodeInteger(writer, segment[2], sourceLine); + sourceColumn = encodeInteger(writer, segment[3], sourceColumn); + if (segment.length === 4) + continue; + namesIndex = encodeInteger(writer, segment[4], namesIndex); + } + } + return writer.flush(); + } + + exports.decode = decode; + exports.decodeGeneratedRanges = decodeGeneratedRanges; + exports.decodeOriginalScopes = decodeOriginalScopes; + exports.encode = encode; + exports.encodeGeneratedRanges = encodeGeneratedRanges; + exports.encodeOriginalScopes = encodeOriginalScopes; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); +//# sourceMappingURL=sourcemap-codec.umd.js.map diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map new file mode 100644 index 0000000..65b3674 --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sourcemap-codec.umd.js","sources":["../src/vlq.ts","../src/strings.ts","../src/scopes.ts","../src/sourcemap-codec.ts"],"sourcesContent":["import type { StringReader, StringWriter } from './strings';\n\nexport const comma = ','.charCodeAt(0);\nexport const semicolon = ';'.charCodeAt(0);\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\nexport function decodeInteger(reader: StringReader, relative: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n return relative + value;\n}\n\nexport function encodeInteger(builder: StringWriter, num: number, relative: number): number {\n let delta = num - relative;\n\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0) clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n\n return num;\n}\n\nexport function hasMoreVlq(reader: StringReader, max: number) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n","const bufLength = 1024 * 16;\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array): string {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array): string {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport class StringWriter {\n pos = 0;\n private out = '';\n private buffer = new Uint8Array(bufLength);\n\n write(v: number): void {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n\n flush(): string {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n}\n\nexport class StringReader {\n pos = 0;\n private declare buffer: string;\n\n constructor(buffer: string) {\n this.buffer = buffer;\n }\n\n next(): number {\n return this.buffer.charCodeAt(this.pos++);\n }\n\n peek(): number {\n return this.buffer.charCodeAt(this.pos);\n }\n\n indexOf(char: string): number {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n","import { StringReader, StringWriter } from './strings';\nimport { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\n\nconst EMPTY: any[] = [];\n\ntype Line = number;\ntype Column = number;\ntype Kind = number;\ntype Name = number;\ntype Var = number;\ntype SourcesIndex = number;\ntype ScopesIndex = number;\n\ntype Mix = (A & O) | (B & O);\n\nexport type OriginalScope = Mix<\n [Line, Column, Line, Column, Kind],\n [Line, Column, Line, Column, Kind, Name],\n { vars: Var[] }\n>;\n\nexport type GeneratedRange = Mix<\n [Line, Column, Line, Column],\n [Line, Column, Line, Column, SourcesIndex, ScopesIndex],\n {\n callsite: CallSite | null;\n bindings: Binding[];\n isScope: boolean;\n }\n>;\nexport type CallSite = [SourcesIndex, Line, Column];\ntype Binding = BindingExpressionRange[];\nexport type BindingExpressionRange = [Name] | [Name, Line, Column];\n\nexport function decodeOriginalScopes(input: string): OriginalScope[] {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes: OriginalScope[] = [];\n const stack: OriginalScope[] = [];\n let line = 0;\n\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop()!;\n last[2] = line;\n last[3] = column;\n continue;\n }\n\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 0b0001;\n\n const scope: OriginalScope = (\n hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]\n ) as OriginalScope;\n\n let vars: Var[] = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n\n scopes.push(scope);\n stack.push(scope);\n }\n\n return scopes;\n}\n\nexport function encodeOriginalScopes(scopes: OriginalScope[]): string {\n const writer = new StringWriter();\n\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n\n return writer.flush();\n}\n\nfunction _encodeOriginalScopes(\n scopes: OriginalScope[],\n index: number,\n writer: StringWriter,\n state: [\n number, // GenColumn\n ],\n): number {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n\n if (index > 0) writer.write(comma);\n\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n\n const fields = scope.length === 6 ? 0b0001 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n\n return index;\n}\n\nexport function decodeGeneratedRanges(input: string): GeneratedRange[] {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges: GeneratedRange[] = [];\n const stack: GeneratedRange[] = [];\n\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n\n do {\n const semi = reader.indexOf(';');\n let genColumn = 0;\n\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop()!;\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 0b0001;\n const hasCallsite = fields & 0b0010;\n const hasScope = fields & 0b0100;\n\n let callsite: CallSite | null = null;\n let bindings: Binding[] = EMPTY;\n let range: GeneratedRange;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0,\n );\n\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex] as GeneratedRange;\n } else {\n range = [genLine, genColumn, 0, 0] as GeneratedRange;\n }\n\n range.isScope = !!hasScope;\n\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0,\n );\n\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges: BindingExpressionRange[];\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n\n ranges.push(range);\n stack.push(range);\n }\n\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n\n return ranges;\n}\n\nexport function encodeGeneratedRanges(ranges: GeneratedRange[]): string {\n if (ranges.length === 0) return '';\n\n const writer = new StringWriter();\n\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n\n return writer.flush();\n}\n\nfunction _encodeGeneratedRanges(\n ranges: GeneratedRange[],\n index: number,\n writer: StringWriter,\n state: [\n number, // GenLine\n number, // GenColumn\n number, // DefSourcesIndex\n number, // DefScopesIndex\n number, // CallSourcesIndex\n number, // CallLine\n number, // CallColumn\n ],\n): number {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings,\n } = range;\n\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n\n state[1] = encodeInteger(writer, range[1], state[1]);\n\n const fields =\n (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0);\n encodeInteger(writer, fields, 0);\n\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite!;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1]!, bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2]!, bindingStartColumn);\n encodeInteger(writer, expRange[0]!, 0);\n }\n }\n }\n\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n\n return index;\n}\n\nfunction catchupLine(writer: StringWriter, lastLine: number, line: number) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n","import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\nimport { StringWriter, StringReader } from './strings';\n\nexport {\n decodeOriginalScopes,\n encodeOriginalScopes,\n decodeGeneratedRanges,\n encodeGeneratedRanges,\n} from './scopes';\nexport type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';\n\nexport type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nexport function decode(mappings: string): SourceMapMappings {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded: SourceMapMappings = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n do {\n const semi = reader.indexOf(';');\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n\n while (reader.pos < semi) {\n let seg: SourceMapSegment;\n\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n\n line.push(seg);\n reader.pos++;\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n\n return decoded;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly): string;\nexport function encode(decoded: Readonly): string {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n\n let genColumn = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n\n genColumn = encodeInteger(writer, segment[0], genColumn);\n\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n\n return writer.flush();\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts b/node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts new file mode 100644 index 0000000..d156fab --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts @@ -0,0 +1,49 @@ +declare type Line = number; +declare type Column = number; +declare type Kind = number; +declare type Name = number; +declare type Var = number; +declare type SourcesIndex = number; +declare type ScopesIndex = number; +declare type Mix = (A & O) | (B & O); +export declare type OriginalScope = Mix<[ + Line, + Column, + Line, + Column, + Kind +], [ + Line, + Column, + Line, + Column, + Kind, + Name +], { + vars: Var[]; +}>; +export declare type GeneratedRange = Mix<[ + Line, + Column, + Line, + Column +], [ + Line, + Column, + Line, + Column, + SourcesIndex, + ScopesIndex +], { + callsite: CallSite | null; + bindings: Binding[]; + isScope: boolean; +}>; +export declare type CallSite = [SourcesIndex, Line, Column]; +declare type Binding = BindingExpressionRange[]; +export declare type BindingExpressionRange = [Name] | [Name, Line, Column]; +export declare function decodeOriginalScopes(input: string): OriginalScope[]; +export declare function encodeOriginalScopes(scopes: OriginalScope[]): string; +export declare function decodeGeneratedRanges(input: string): GeneratedRange[]; +export declare function encodeGeneratedRanges(ranges: GeneratedRange[]): string; +export {}; diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts b/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts new file mode 100644 index 0000000..336e658 --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts @@ -0,0 +1,8 @@ +export { decodeOriginalScopes, encodeOriginalScopes, decodeGeneratedRanges, encodeGeneratedRanges, } from './scopes'; +export type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes'; +export declare type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number]; +export declare type SourceMapLine = SourceMapSegment[]; +export declare type SourceMapMappings = SourceMapLine[]; +export declare function decode(mappings: string): SourceMapMappings; +export declare function encode(decoded: SourceMapMappings): string; +export declare function encode(decoded: Readonly): string; diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts b/node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts new file mode 100644 index 0000000..78bd88e --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts @@ -0,0 +1,15 @@ +export declare class StringWriter { + pos: number; + private out; + private buffer; + write(v: number): void; + flush(): string; +} +export declare class StringReader { + pos: number; + private buffer; + constructor(buffer: string); + next(): number; + peek(): number; + indexOf(char: string): number; +} diff --git a/node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts b/node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts new file mode 100644 index 0000000..450ee57 --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts @@ -0,0 +1,6 @@ +import type { StringReader, StringWriter } from './strings'; +export declare const comma: number; +export declare const semicolon: number; +export declare function decodeInteger(reader: StringReader, relative: number): number; +export declare function encodeInteger(builder: StringWriter, num: number, relative: number): number; +export declare function hasMoreVlq(reader: StringReader, max: number): boolean; diff --git a/node_modules/@jridgewell/sourcemap-codec/package.json b/node_modules/@jridgewell/sourcemap-codec/package.json new file mode 100644 index 0000000..7168efc --- /dev/null +++ b/node_modules/@jridgewell/sourcemap-codec/package.json @@ -0,0 +1,75 @@ +{ + "name": "@jridgewell/sourcemap-codec", + "version": "1.5.0", + "description": "Encode/decode sourcemap mappings", + "keywords": [ + "sourcemap", + "vlq" + ], + "main": "dist/sourcemap-codec.umd.js", + "module": "dist/sourcemap-codec.mjs", + "types": "dist/types/sourcemap-codec.d.ts", + "files": [ + "dist" + ], + "exports": { + ".": [ + { + "types": "./dist/types/sourcemap-codec.d.ts", + "browser": "./dist/sourcemap-codec.umd.js", + "require": "./dist/sourcemap-codec.umd.js", + "import": "./dist/sourcemap-codec.mjs" + }, + "./dist/sourcemap-codec.umd.js" + ], + "./package.json": "./package.json" + }, + "scripts": { + "benchmark": "run-s build:rollup benchmark:*", + "benchmark:install": "cd benchmark && npm install", + "benchmark:only": "node --expose-gc benchmark/index.js", + "build": "run-s -n build:*", + "build:rollup": "rollup -c rollup.config.js", + "build:ts": "tsc --project tsconfig.build.json", + "lint": "run-s -n lint:*", + "lint:prettier": "npm run test:lint:prettier -- --write", + "lint:ts": "npm run test:lint:ts -- --fix", + "prebuild": "rm -rf dist", + "prepublishOnly": "npm run preversion", + "preversion": "run-s test build", + "test": "run-s -n test:lint test:only", + "test:debug": "mocha --inspect-brk", + "test:lint": "run-s -n test:lint:*", + "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'", + "test:lint:ts": "eslint '{src,test}/**/*.ts'", + "test:only": "mocha", + "test:coverage": "c8 mocha", + "test:watch": "mocha --watch" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/jridgewell/sourcemap-codec.git" + }, + "author": "Rich Harris", + "license": "MIT", + "devDependencies": { + "@rollup/plugin-typescript": "8.3.0", + "@types/mocha": "10.0.6", + "@types/node": "17.0.15", + "@typescript-eslint/eslint-plugin": "5.10.0", + "@typescript-eslint/parser": "5.10.0", + "benchmark": "2.1.4", + "c8": "7.11.2", + "eslint": "8.7.0", + "eslint-config-prettier": "8.3.0", + "mocha": "9.2.0", + "npm-run-all": "4.1.5", + "prettier": "2.5.1", + "rollup": "2.64.0", + "source-map": "0.6.1", + "source-map-js": "1.0.2", + "sourcemap-codec": "1.4.8", + "tsx": "4.7.1", + "typescript": "4.5.4" + } +} diff --git a/node_modules/@noble/hashes/LICENSE b/node_modules/@noble/hashes/LICENSE new file mode 100644 index 0000000..9297a04 --- /dev/null +++ b/node_modules/@noble/hashes/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2022 Paul Miller (https://paulmillr.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the “Software”), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@noble/hashes/README.md b/node_modules/@noble/hashes/README.md new file mode 100644 index 0000000..759d34b --- /dev/null +++ b/node_modules/@noble/hashes/README.md @@ -0,0 +1,521 @@ +# noble-hashes + +Audited & minimal JS implementation of hash functions, MACs and KDFs. + +- 🔒 [**Audited**](#security) by an independent security firm +- 🔻 Tree-shakeable: unused code is excluded from your builds +- 🏎 Fast: hand-optimized for caveats of JS engines +- 🔍 Reliable: chained / sliding window / DoS tests and fuzzing ensure correctness +- 🔁 No unrolled loops: makes it easier to verify and reduces source code size up to 5x +- 🦘 Includes SHA, RIPEMD, BLAKE, HMAC, HKDF, PBKDF, Scrypt, Argon2 & KangarooTwelve +- 🪶 48KB for everything, 4.8KB (2.36KB gzipped) for single-hash build + +Take a glance at [GitHub Discussions](https://github.com/paulmillr/noble-hashes/discussions) for questions and support. +The library's initial development was funded by [Ethereum Foundation](https://ethereum.org/). + +### This library belongs to _noble_ cryptography + +> **noble cryptography** — high-security, easily auditable set of contained cryptographic libraries and tools. + +- Zero or minimal dependencies +- Highly readable TypeScript / JS code +- PGP-signed releases and transparent NPM builds +- All libraries: + [ciphers](https://github.com/paulmillr/noble-ciphers), + [curves](https://github.com/paulmillr/noble-curves), + [hashes](https://github.com/paulmillr/noble-hashes), + [post-quantum](https://github.com/paulmillr/noble-post-quantum), + 4kb [secp256k1](https://github.com/paulmillr/noble-secp256k1) / + [ed25519](https://github.com/paulmillr/noble-ed25519) +- [Check out homepage](https://paulmillr.com/noble/) + for reading resources, documentation and apps built with noble + +## Usage + +> `npm install @noble/hashes` + +> `deno add jsr:@noble/hashes` + +> `deno doc jsr:@noble/hashes` # command-line documentation + +We support all major platforms and runtimes. +For React Native, you may need a [polyfill for getRandomValues](https://github.com/LinusU/react-native-get-random-values). +A standalone file [noble-hashes.js](https://github.com/paulmillr/noble-hashes/releases) is also available. + +```js +// import * from '@noble/hashes'; // Error: use sub-imports, to ensure small app size +import { sha256 } from '@noble/hashes/sha2.js'; // ESM & Common.js +sha256(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])); // returns Uint8Array + +// Available modules +import { sha256, sha384, sha512, sha224, sha512_224, sha512_256 } from '@noble/hashes/sha2.js'; +import { sha3_256, sha3_512, keccak_256, keccak_512, shake128, shake256 } from '@noble/hashes/sha3.js'; +import { cshake256, turboshake256, kmac256, tuplehash256, k12, m14, keccakprg } from '@noble/hashes/sha3-addons.js'; +import { blake3 } from '@noble/hashes/blake3.js'; +import { blake2b, blake2s } from '@noble/hashes/blake2.js'; +import { blake256, blake512 } from '@noble/hashes/blake1.js'; +import { sha1, md5, ripemd160 } from '@noble/hashes/legacy.js'; +import { hmac } from '@noble/hashes/hmac.js'; +import { hkdf } from '@noble/hashes/hkdf.js'; +import { pbkdf2, pbkdf2Async } from '@noble/hashes/pbkdf2.js'; +import { scrypt, scryptAsync } from '@noble/hashes/scrypt.js'; +import { argon2d, argon2i, argon2id } from '@noble/hashes/argon2.js'; +import * as utils from '@noble/hashes/utils'; // bytesToHex, bytesToUtf8, concatBytes... +``` + +- [sha2: sha256, sha384, sha512](#sha2-sha256-sha384-sha512-and-others) +- [sha3: FIPS, SHAKE, Keccak](#sha3-fips-shake-keccak) +- [sha3-addons: cSHAKE, KMAC, K12, M14, TurboSHAKE](#sha3-addons-cshake-kmac-k12-m14-turboshake) +- [blake, blake2, blake3](#blake-blake2-blake3) | [legacy: sha1, md5, ripemd160](#legacy-sha1-md5-ripemd160) +- MACs: [hmac](#hmac) | [sha3-addons kmac](#sha3-addons-cshake-kmac-k12-m14-turboshake) | [blake3 key mode](#blake2b-blake2s-blake3) +- KDFs: [hkdf](#hkdf) | [pbkdf2](#pbkdf2) | [scrypt](#scrypt) | [argon2](#argon2) +- [utils](#utils) +- [Security](#security) | [Speed](#speed) | [Contributing & testing](#contributing--testing) | [License](#license) + +### Implementations + +Hash functions: + +- `sha256()`: receive & return `Uint8Array` +- `sha256.create().update(a).update(b).digest()`: support partial updates +- `blake3.create({ context: 'e', dkLen: 32 })`: sometimes have options +- support little-endian architecture; also experimentally big-endian +- can hash up to 4GB per chunk, with any amount of chunks + +#### sha2: sha256, sha384, sha512 and others + +```typescript +import { sha224, sha256, sha384, sha512, sha512_224, sha512_256 } from '@noble/hashes/sha2.js'; +const res = sha256(Uint8Array.from([0xbc])); // basic +for (let hash of [sha256, sha384, sha512, sha224, sha512_224, sha512_256]) { + const arr = Uint8Array.from([0x10, 0x20, 0x30]); + const a = hash(arr); + const b = hash.create().update(arr).digest(); +} +``` + +See [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and +[the paper on truncated SHA512/256](https://eprint.iacr.org/2010/548.pdf). + +#### sha3: FIPS, SHAKE, Keccak + +```typescript +import { + keccak_224, keccak_256, keccak_384, keccak_512, + sha3_224, sha3_256, sha3_384, sha3_512, + shake128, shake256, +} from '@noble/hashes/sha3.js'; +for (let hash of [ + sha3_224, sha3_256, sha3_384, sha3_512, + keccak_224, keccak_256, keccak_384, keccak_512, +]) { + const arr = Uint8Array.from([0x10, 0x20, 0x30]); + const a = hash(arr); + const b = hash.create().update(arr).digest(); +} +const shka = shake128(Uint8Array.from([0x10]), { dkLen: 512 }); +const shkb = shake256(Uint8Array.from([0x30]), { dkLen: 512 }); +``` + +See [FIPS-202](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf), +[Website](https://keccak.team/keccak.html). + +Check out [the differences between SHA-3 and Keccak](https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub) + +#### sha3-addons: cSHAKE, KMAC, K12, M14, TurboSHAKE + +```typescript +import { + cshake128, cshake256, + k12, + keccakprg, + kmac128, kmac256, + m14, + parallelhash256, + tuplehash256, + turboshake128, turboshake256 +} from '@noble/hashes/sha3-addons.js'; +const data = Uint8Array.from([0x10, 0x20, 0x30]); +const ec1 = cshake128(data, { personalization: 'def' }); +const ec2 = cshake256(data, { personalization: 'def' }); +const et1 = turboshake128(data); +const et2 = turboshake256(data, { D: 0x05 }); + // tuplehash(['ab', 'c']) !== tuplehash(['a', 'bc']) !== tuplehash([data]) +const et3 = tuplehash256([utf8ToBytes('ab'), utf8ToBytes('c')]); +// Not parallel in JS (similar to blake3 / k12), added for compat +const ep1 = parallelhash256(data, { blockLen: 8 }); +const kk = Uint8Array.from([0xca]); +const ek10 = kmac128(kk, data); +const ek11 = kmac256(kk, data); +const ek12 = k12(data); +const ek13 = m14(data); +// pseudo-random generator, first argument is capacity. XKCP recommends 254 bits capacity for 128-bit security strength. +// * with a capacity of 254 bits. +const p = keccakprg(254); +p.feed('test'); +const rand1b = p.fetch(1); +``` + +- Full [NIST SP 800-185](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf): + cSHAKE, KMAC, TupleHash, ParallelHash + XOF variants +- [Reduced-round Keccak](https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/): + - 🦘 K12 aka KangarooTwelve + - M14 aka MarsupilamiFourteen + - TurboSHAKE +- [KeccakPRG](https://keccak.team/files/CSF-0.1.pdf): Pseudo-random generator based on Keccak + +#### blake, blake2, blake3 + +```typescript +import { blake224, blake256, blake384, blake512 } from '@noble/hashes/blake1.js'; +import { blake2b, blake2s } from '@noble/hashes/blake2.js'; +import { blake3 } from '@noble/hashes/blake3.js'; + +for (let hash of [ + blake224, blake256, blake384, blake512, + blake2b, blake2s, blake3 +]) { + const arr = Uint8Array.from([0x10, 0x20, 0x30]); + const a = hash(arr); + const b = hash.create().update(arr).digest(); +} + +// blake2 advanced usage +const ab = Uint8Array.from([0x01]); +blake2s(ab); +blake2s(ab, { key: new Uint8Array(32) }); +blake2s(ab, { personalization: 'pers1234' }); +blake2s(ab, { salt: 'salt1234' }); +blake2b(ab); +blake2b(ab, { key: new Uint8Array(64) }); +blake2b(ab, { personalization: 'pers1234pers1234' }); +blake2b(ab, { salt: 'salt1234salt1234' }); + +// blake3 advanced usage +blake3(ab); +blake3(ab, { dkLen: 256 }); +blake3(ab, { key: new Uint8Array(32) }); +blake3(ab, { context: 'application-name' }); +``` + +- Blake1 is legacy hash, one of SHA3 proposals. It is rarely used anywhere. See [pdf](https://www.aumasson.jp/blake/blake.pdf). +- Blake2 is popular fast hash. blake2b focuses on 64-bit platforms while blake2s is for 8-bit to 32-bit ones. See [RFC 7693](https://datatracker.ietf.org/doc/html/rfc7693), [Website](https://www.blake2.net) +- Blake3 is faster, reduced-round blake2. See [Website & specs](https://blake3.io) + +#### legacy: sha1, md5, ripemd160 + +SHA1 (RFC 3174), MD5 (RFC 1321) and RIPEMD160 (RFC 2286) legacy, weak hash functions. +Don't use them in a new protocol. What "weak" means: + +- Collisions can be made with 2^18 effort in MD5, 2^60 in SHA1, 2^80 in RIPEMD160. +- No practical pre-image attacks (only theoretical, 2^123.4) +- HMAC seems kinda ok: https://datatracker.ietf.org/doc/html/rfc6151 + +```typescript +import { md5, ripemd160, sha1 } from '@noble/hashes/legacy.js'; +for (let hash of [md5, ripemd160, sha1]) { + const arr = Uint8Array.from([0x10, 0x20, 0x30]); + const a = hash(arr); + const b = hash.create().update(arr).digest(); +} +``` + +#### hmac + +```typescript +import { hmac } from '@noble/hashes/hmac.js'; +import { sha256 } from '@noble/hashes/sha2.js'; +const key = new Uint8Array(32).fill(1); +const msg = new Uint8Array(32).fill(2); +const mac1 = hmac(sha256, key, msg); +const mac2 = hmac.create(sha256, key).update(msg).digest(); +``` + +Matches [RFC 2104](https://datatracker.ietf.org/doc/html/rfc2104). + +#### hkdf + +```typescript +import { hkdf } from '@noble/hashes/hkdf.js'; +import { randomBytes } from '@noble/hashes/utils.js'; +import { sha256 } from '@noble/hashes/sha2.js'; +const inputKey = randomBytes(32); +const salt = randomBytes(32); +const info = 'application-key'; +const hk1 = hkdf(sha256, inputKey, salt, info, 32); + +// == same as +import { extract, expand } from '@noble/hashes/hkdf.js'; +import { sha256 } from '@noble/hashes/sha2.js'; +const prk = extract(sha256, inputKey, salt); +const hk2 = expand(sha256, prk, info, 32); +``` + +Matches [RFC 5869](https://datatracker.ietf.org/doc/html/rfc5869). + +#### pbkdf2 + +```typescript +import { pbkdf2, pbkdf2Async } from '@noble/hashes/pbkdf2.js'; +import { sha256 } from '@noble/hashes/sha2.js'; +const pbkey1 = pbkdf2(sha256, 'password', 'salt', { c: 32, dkLen: 32 }); +const pbkey2 = await pbkdf2Async(sha256, 'password', 'salt', { c: 32, dkLen: 32 }); +const pbkey3 = await pbkdf2Async(sha256, Uint8Array.from([1, 2, 3]), Uint8Array.from([4, 5, 6]), { + c: 32, + dkLen: 32, +}); +``` + +Matches [RFC 2898](https://datatracker.ietf.org/doc/html/rfc2898). + +#### scrypt + +```typescript +import { scrypt, scryptAsync } from '@noble/hashes/scrypt.js'; +const scr1 = scrypt('password', 'salt', { N: 2 ** 16, r: 8, p: 1, dkLen: 32 }); +const scr2 = await scryptAsync('password', 'salt', { N: 2 ** 16, r: 8, p: 1, dkLen: 32 }); +const scr3 = await scryptAsync(Uint8Array.from([1, 2, 3]), Uint8Array.from([4, 5, 6]), { + N: 2 ** 17, + r: 8, + p: 1, + dkLen: 32, + onProgress(percentage) { + console.log('progress', percentage); + }, + maxmem: 2 ** 32 + 128 * 8 * 1, // N * r * p * 128 + (128*r*p) +}); +``` + +Conforms to [RFC 7914](https://datatracker.ietf.org/doc/html/rfc7914), +[Website](https://www.tarsnap.com/scrypt.html) + +- `N, r, p` are work factors. To understand them, see [the blog post](https://blog.filippo.io/the-scrypt-parameters/). + `r: 8, p: 1` are common. JS doesn't support parallelization, making increasing p meaningless. +- `dkLen` is the length of output bytes e.g. `32` or `64` +- `onProgress` can be used with async version of the function to report progress to a user. +- `maxmem` prevents DoS and is limited to `1GB + 1KB` (`2**30 + 2**10`), but can be adjusted using formula: `N * r * p * 128 + (128 * r * p)` + +Time it takes to derive Scrypt key under different values of N (2\*\*N) on Apple M4 (mobile phones can be 1x-4x slower): + +| N pow | Time | RAM | +| ----- | ---- | ----- | +| 16 | 0.1s | 64MB | +| 17 | 0.2s | 128MB | +| 18 | 0.4s | 256MB | +| 19 | 0.8s | 512MB | +| 20 | 1.5s | 1GB | +| 21 | 3.1s | 2GB | +| 22 | 6.2s | 4GB | +| 23 | 13s | 8GB | +| 24 | 27s | 16GB | + +> [!NOTE] +> We support N larger than `2**20` where available, however, +> not all JS engines support >= 2GB ArrayBuffer-s. +> When using such N, you'll need to manually adjust `maxmem`, using formula above. +> Other JS implementations don't support large N-s. + +#### argon2 + +```ts +import { argon2d, argon2i, argon2id } from '@noble/hashes/argon2.js'; +const arg1 = argon2id('password', 'saltsalt', { t: 2, m: 65536, p: 1, maxmem: 2 ** 32 - 1 }); +``` + +Argon2 [RFC 9106](https://datatracker.ietf.org/doc/html/rfc9106) implementation. + +> [!WARNING] +> Argon2 can't be fast in JS, because there is no fast Uint64Array. +> It is suggested to use [Scrypt](#scrypt) instead. +> Being 5x slower than native code means brute-forcing attackers have bigger advantage. + +#### utils + +```typescript +import { bytesToHex as toHex, randomBytes } from '@noble/hashes/utils'; +console.log(toHex(randomBytes(32))); +``` + +- `bytesToHex` will convert `Uint8Array` to a hex string +- `randomBytes(bytes)` will produce cryptographically secure random `Uint8Array` of length `bytes` + +## Security + +The library has been independently audited: + +- at version 1.0.0, in Jan 2022, by [Cure53](https://cure53.de) + - PDFs: [website](https://cure53.de/pentest-report_hashing-libs.pdf), [in-repo](./audit/2022-01-05-cure53-audit-nbl2.pdf) + - [Changes since audit](https://github.com/paulmillr/noble-hashes/compare/1.0.0..main). + - Scope: everything, besides `blake3`, `sha3-addons`, `sha1` and `argon2`, which have not been audited + - The audit has been funded by [Ethereum Foundation](https://ethereum.org/en/) with help of [Nomic Labs](https://nomiclabs.io) + +It is tested against property-based, cross-library and Wycheproof vectors, +and is being fuzzed in [the separate repo](https://github.com/paulmillr/fuzzing). + +If you see anything unusual: investigate and report. + +### Constant-timeness + +We're targetting algorithmic constant time. _JIT-compiler_ and _Garbage Collector_ make "constant time" +extremely hard to achieve [timing attack](https://en.wikipedia.org/wiki/Timing_attack) resistance +in a scripting language. Which means _any other JS library can't have +constant-timeness_. Even statically typed Rust, a language without GC, +[makes it harder to achieve constant-time](https://www.chosenplaintext.ca/open-source/rust-timing-shield/security) +for some cases. If your goal is absolute security, don't use any JS lib — including bindings to native ones. +Use low-level libraries & languages. + +### Memory dumping + +The library shares state buffers between hash +function calls. The buffers are zeroed-out after each call. However, if an attacker +can read application memory, you are doomed in any case: + +- At some point, input will be a string and strings are immutable in JS: + there is no way to overwrite them with zeros. For example: deriving + key from `scrypt(password, salt)` where password and salt are strings +- Input from a file will stay in file buffers +- Input / output will be re-used multiple times in application which means it could stay in memory +- `await anything()` will always write all internal variables (including numbers) + to memory. With async functions / Promises there are no guarantees when the code + chunk would be executed. Which means attacker can have plenty of time to read data from memory +- There is no way to guarantee anything about zeroing sensitive data without + complex tests-suite which will dump process memory and verify that there is + no sensitive data left. For JS it means testing all browsers (incl. mobile), + which is complex. And of course it will be useless without using the same + test-suite in the actual application that consumes the library + +### Supply chain security + +- **Commits** are signed with PGP keys, to prevent forgery. Make sure to verify commit signatures +- **Releases** are transparent and built on GitHub CI. Make sure to verify [provenance](https://docs.npmjs.com/generating-provenance-statements) logs + - Use GitHub CLI to verify single-file builds: + `gh attestation verify --owner paulmillr noble-hashes.js` +- **Rare releasing** is followed to ensure less re-audit need for end-users +- **Dependencies** are minimized and locked-down: any dependency could get hacked and users will be downloading malware with every install. + - We make sure to use as few dependencies as possible + - Automatic dep updates are prevented by locking-down version ranges; diffs are checked with `npm-diff` +- **Dev Dependencies** are disabled for end-users; they are only used to develop / build the source code + +For this package, there are 0 dependencies; and a few dev dependencies: + +- micro-bmark, micro-should and jsbt are used for benchmarking / testing / build tooling and developed by the same author +- prettier, fast-check and typescript are used for code quality / test generation / ts compilation. It's hard to audit their source code thoroughly and fully because of their size + +### Randomness + +We're deferring to built-in +[crypto.getRandomValues](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) +which is considered cryptographically secure (CSPRNG). + +In the past, browsers had bugs that made it weak: it may happen again. +Implementing a userspace CSPRNG to get resilient to the weakness +is even worse: there is no reliable userspace source of quality entropy. + +### Quantum computers + +Cryptographically relevant quantum computer, if built, will allow to +utilize Grover's algorithm to break hashes in 2^n/2 operations, instead of 2^n. + +This means SHA256 should be replaced with SHA512, SHA3-256 with SHA3-512, SHAKE128 with SHAKE256 etc. + +Australian ASD prohibits SHA256 and similar hashes [after 2030](https://www.cyber.gov.au/resources-business-and-government/essential-cyber-security/ism/cyber-security-guidelines/guidelines-cryptography). + +## Speed + +```sh +npm run bench:install && npm run bench +``` + +Benchmarks measured on Apple M4. + +``` +# 32B +sha256 x 1,968,503 ops/sec @ 508ns/op +sha512 x 740,740 ops/sec @ 1μs/op +sha3_256 x 287,686 ops/sec @ 3μs/op +sha3_512 x 288,267 ops/sec @ 3μs/op +k12 x 476,190 ops/sec @ 2μs/op +m14 x 423,190 ops/sec @ 2μs/op +blake2b x 464,252 ops/sec @ 2μs/op +blake2s x 766,871 ops/sec @ 1μs/op +blake3 x 879,507 ops/sec @ 1μs/op + +# 1MB +sha256 x 331 ops/sec @ 3ms/op +sha512 x 129 ops/sec @ 7ms/op +sha3_256 x 38 ops/sec @ 25ms/op +sha3_512 x 20 ops/sec @ 47ms/op +k12 x 88 ops/sec @ 11ms/op +m14 x 62 ops/sec @ 15ms/op +blake2b x 69 ops/sec @ 14ms/op +blake2s x 57 ops/sec @ 17ms/op +blake3 x 72 ops/sec @ 13ms/op + +# MAC +hmac(sha256) x 599,880 ops/sec @ 1μs/op +hmac(sha512) x 197,122 ops/sec @ 5μs/op +kmac256 x 87,981 ops/sec @ 11μs/op +blake3(key) x 796,812 ops/sec @ 1μs/op + +# KDF +hkdf(sha256) x 259,942 ops/sec @ 3μs/op +blake3(context) x 424,808 ops/sec @ 2μs/op +pbkdf2(sha256, c: 2 ** 18) x 5 ops/sec @ 197ms/op +pbkdf2(sha512, c: 2 ** 18) x 1 ops/sec @ 630ms/op +scrypt(n: 2 ** 18, r: 8, p: 1) x 2 ops/sec @ 400ms/op +argon2id(t: 1, m: 256MB) 2881ms +``` + +Compare to native node.js implementation that uses C bindings instead of pure-js code: + +``` +# native (node) 32B +sha256 x 2,267,573 ops/sec +sha512 x 983,284 ops/sec +sha3_256 x 1,522,070 ops/sec +blake2b x 1,512,859 ops/sec +blake2s x 1,821,493 ops/sec +hmac(sha256) x 1,085,776 ops/sec +hkdf(sha256) x 312,109 ops/sec +# native (node) KDF +pbkdf2(sha256, c: 2 ** 18) x 5 ops/sec @ 197ms/op +pbkdf2(sha512, c: 2 ** 18) x 1 ops/sec @ 630ms/op +scrypt(n: 2 ** 18, r: 8, p: 1) x 2 ops/sec @ 378ms/op +``` + +It is possible to [make this library 4x+ faster](./benchmark/README.md) by +_doing code generation of full loop unrolls_. We've decided against it. Reasons: + +- the library must be auditable, with minimum amount of code, and zero dependencies +- most method invocations with the lib are going to be something like hashing 32b to 64kb of data +- hashing big inputs is 10x faster with low-level languages, which means you should probably pick 'em instead + +The current performance is good enough when compared to other projects; SHA256 takes only 900 nanoseconds to run. + +## Contributing & testing + +`test/misc` directory contains implementations of loop unrolling and md5. + +- `npm install && npm run build && npm test` will build the code and run tests. +- `npm run lint` / `npm run format` will run linter / fix linter issues. +- `npm run bench` will run benchmarks, which may need their deps first (`npm run bench:install`) +- `npm run build:release` will build single file +- There is **additional** 20-min DoS test `npm run test:dos` and 2-hour "big" multicore test `npm run test:big`. + See [our approach to testing](./test/README.md) + +Additional resources: + +- NTT hashes are outside of scope of the library. You can view some of them in different repos: + - [Pedersen in micro-zk-proofs](https://github.com/paulmillr/micro-zk-proofs/blob/1ed5ce1253583b2e540eef7f3477fb52bf5344ff/src/pedersen.ts) + - [Poseidon in noble-curves](https://github.com/paulmillr/noble-curves/blob/3d124dd3ecec8b6634cc0b2ba1c183aded5304f9/src/abstract/poseidon.ts) +- Check out [guidelines](https://github.com/paulmillr/guidelines) for coding practices +- See [paulmillr.com/noble](https://paulmillr.com/noble/) for useful resources, articles, documentation and demos +related to the library. + +## License + +The MIT License (MIT) + +Copyright (c) 2022 Paul Miller [(https://paulmillr.com)](https://paulmillr.com) + +See LICENSE file. diff --git a/node_modules/@noble/hashes/_assert.d.ts b/node_modules/@noble/hashes/_assert.d.ts new file mode 100644 index 0000000..5d62f87 --- /dev/null +++ b/node_modules/@noble/hashes/_assert.d.ts @@ -0,0 +1,17 @@ +/** + * Internal assertion helpers. + * @module + * @deprecated + */ +import { abytes as ab, aexists as ae, anumber as an, aoutput as ao, type IHash as H } from './utils.ts'; +/** @deprecated Use import from `noble/hashes/utils` module */ +export declare const abytes: typeof ab; +/** @deprecated Use import from `noble/hashes/utils` module */ +export declare const aexists: typeof ae; +/** @deprecated Use import from `noble/hashes/utils` module */ +export declare const anumber: typeof an; +/** @deprecated Use import from `noble/hashes/utils` module */ +export declare const aoutput: typeof ao; +/** @deprecated Use import from `noble/hashes/utils` module */ +export type Hash = H; +//# sourceMappingURL=_assert.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/_assert.d.ts.map b/node_modules/@noble/hashes/_assert.d.ts.map new file mode 100644 index 0000000..0ba0e4c --- /dev/null +++ b/node_modules/@noble/hashes/_assert.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"_assert.d.ts","sourceRoot":"","sources":["src/_assert.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,MAAM,IAAI,EAAE,EACZ,OAAO,IAAI,EAAE,EACb,OAAO,IAAI,EAAE,EACb,OAAO,IAAI,EAAE,EACb,KAAK,KAAK,IAAI,CAAC,EAChB,MAAM,YAAY,CAAC;AACpB,8DAA8D;AAC9D,eAAO,MAAM,MAAM,EAAE,OAAO,EAAO,CAAC;AACpC,8DAA8D;AAC9D,eAAO,MAAM,OAAO,EAAE,OAAO,EAAO,CAAC;AACrC,8DAA8D;AAC9D,eAAO,MAAM,OAAO,EAAE,OAAO,EAAO,CAAC;AACrC,8DAA8D;AAC9D,eAAO,MAAM,OAAO,EAAE,OAAO,EAAO,CAAC;AACrC,8DAA8D;AAC9D,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/_assert.js b/node_modules/@noble/hashes/_assert.js new file mode 100644 index 0000000..b54da64 --- /dev/null +++ b/node_modules/@noble/hashes/_assert.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.aoutput = exports.anumber = exports.aexists = exports.abytes = void 0; +/** + * Internal assertion helpers. + * @module + * @deprecated + */ +const utils_ts_1 = require("./utils.js"); +/** @deprecated Use import from `noble/hashes/utils` module */ +exports.abytes = utils_ts_1.abytes; +/** @deprecated Use import from `noble/hashes/utils` module */ +exports.aexists = utils_ts_1.aexists; +/** @deprecated Use import from `noble/hashes/utils` module */ +exports.anumber = utils_ts_1.anumber; +/** @deprecated Use import from `noble/hashes/utils` module */ +exports.aoutput = utils_ts_1.aoutput; +//# sourceMappingURL=_assert.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/_assert.js.map b/node_modules/@noble/hashes/_assert.js.map new file mode 100644 index 0000000..caf8b65 --- /dev/null +++ b/node_modules/@noble/hashes/_assert.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_assert.js","sourceRoot":"","sources":["src/_assert.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,yCAMoB;AACpB,8DAA8D;AACjD,QAAA,MAAM,GAAc,iBAAE,CAAC;AACpC,8DAA8D;AACjD,QAAA,OAAO,GAAc,kBAAE,CAAC;AACrC,8DAA8D;AACjD,QAAA,OAAO,GAAc,kBAAE,CAAC;AACrC,8DAA8D;AACjD,QAAA,OAAO,GAAc,kBAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/_blake.d.ts b/node_modules/@noble/hashes/_blake.d.ts new file mode 100644 index 0000000..71ed85f --- /dev/null +++ b/node_modules/@noble/hashes/_blake.d.ts @@ -0,0 +1,14 @@ +/** + * Internal blake variable. + * For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1]. + */ +export declare const BSIGMA: Uint8Array; +export type Num4 = { + a: number; + b: number; + c: number; + d: number; +}; +export declare function G1s(a: number, b: number, c: number, d: number, x: number): Num4; +export declare function G2s(a: number, b: number, c: number, d: number, x: number): Num4; +//# sourceMappingURL=_blake.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/_blake.d.ts.map b/node_modules/@noble/hashes/_blake.d.ts.map new file mode 100644 index 0000000..7b11ac1 --- /dev/null +++ b/node_modules/@noble/hashes/_blake.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"_blake.d.ts","sourceRoot":"","sources":["src/_blake.ts"],"names":[],"mappings":"AAMA;;;GAGG;AAEH,eAAO,MAAM,MAAM,EAAE,UAkBnB,CAAC;AAGH,MAAM,MAAM,IAAI,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;CAAE,CAAC;AAGnE,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAM/E;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAM/E"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/_blake.js b/node_modules/@noble/hashes/_blake.js new file mode 100644 index 0000000..a0b2cb1 --- /dev/null +++ b/node_modules/@noble/hashes/_blake.js @@ -0,0 +1,50 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BSIGMA = void 0; +exports.G1s = G1s; +exports.G2s = G2s; +/** + * Internal helpers for blake hash. + * @module + */ +const utils_ts_1 = require("./utils.js"); +/** + * Internal blake variable. + * For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1]. + */ +// prettier-ignore +exports.BSIGMA = Uint8Array.from([ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3, + 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4, + 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, + 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13, + 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9, + 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11, + 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10, + 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5, + 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3, + // Blake1, unused in others + 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4, + 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, + 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13, + 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9, +]); +// Mixing function G splitted in two halfs +function G1s(a, b, c, d, x) { + a = (a + b + x) | 0; + d = (0, utils_ts_1.rotr)(d ^ a, 16); + c = (c + d) | 0; + b = (0, utils_ts_1.rotr)(b ^ c, 12); + return { a, b, c, d }; +} +function G2s(a, b, c, d, x) { + a = (a + b + x) | 0; + d = (0, utils_ts_1.rotr)(d ^ a, 8); + c = (c + d) | 0; + b = (0, utils_ts_1.rotr)(b ^ c, 7); + return { a, b, c, d }; +} +//# sourceMappingURL=_blake.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/_blake.js.map b/node_modules/@noble/hashes/_blake.js.map new file mode 100644 index 0000000..b081eb6 --- /dev/null +++ b/node_modules/@noble/hashes/_blake.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_blake.js","sourceRoot":"","sources":["src/_blake.ts"],"names":[],"mappings":";;;AAmCA,kBAMC;AAED,kBAMC;AAjDD;;;GAGG;AACH,yCAAkC;AAElC;;;GAGG;AACH,kBAAkB;AACL,QAAA,MAAM,GAA+B,UAAU,CAAC,IAAI,CAAC;IAChE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACpD,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACpD,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACpD,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACpD,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,2BAA2B;IAC3B,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAKH,0CAA0C;AAC1C,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IACvE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,GAAG,IAAA,eAAI,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACpB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,GAAG,IAAA,eAAI,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxB,CAAC;AAED,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IACvE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,GAAG,IAAA,eAAI,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,GAAG,IAAA,eAAI,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/_md.d.ts b/node_modules/@noble/hashes/_md.d.ts new file mode 100644 index 0000000..ae184df --- /dev/null +++ b/node_modules/@noble/hashes/_md.d.ts @@ -0,0 +1,51 @@ +/** + * Internal Merkle-Damgard hash utils. + * @module + */ +import { type Input, Hash } from './utils.ts'; +/** Polyfill for Safari 14. https://caniuse.com/mdn-javascript_builtins_dataview_setbiguint64 */ +export declare function setBigUint64(view: DataView, byteOffset: number, value: bigint, isLE: boolean): void; +/** Choice: a ? b : c */ +export declare function Chi(a: number, b: number, c: number): number; +/** Majority function, true if any two inputs is true. */ +export declare function Maj(a: number, b: number, c: number): number; +/** + * Merkle-Damgard hash construction base class. + * Could be used to create MD5, RIPEMD, SHA1, SHA2. + */ +export declare abstract class HashMD> extends Hash { + protected abstract process(buf: DataView, offset: number): void; + protected abstract get(): number[]; + protected abstract set(...args: number[]): void; + abstract destroy(): void; + protected abstract roundClean(): void; + readonly blockLen: number; + readonly outputLen: number; + readonly padOffset: number; + readonly isLE: boolean; + protected buffer: Uint8Array; + protected view: DataView; + protected finished: boolean; + protected length: number; + protected pos: number; + protected destroyed: boolean; + constructor(blockLen: number, outputLen: number, padOffset: number, isLE: boolean); + update(data: Input): this; + digestInto(out: Uint8Array): void; + digest(): Uint8Array; + _cloneInto(to?: T): T; + clone(): T; +} +/** + * Initial SHA-2 state: fractional parts of square roots of first 16 primes 2..53. + * Check out `test/misc/sha2-gen-iv.js` for recomputation guide. + */ +/** Initial SHA256 state. Bits 0..32 of frac part of sqrt of primes 2..19 */ +export declare const SHA256_IV: Uint32Array; +/** Initial SHA224 state. Bits 32..64 of frac part of sqrt of primes 23..53 */ +export declare const SHA224_IV: Uint32Array; +/** Initial SHA384 state. Bits 0..64 of frac part of sqrt of primes 23..53 */ +export declare const SHA384_IV: Uint32Array; +/** Initial SHA512 state. Bits 0..64 of frac part of sqrt of primes 2..19 */ +export declare const SHA512_IV: Uint32Array; +//# sourceMappingURL=_md.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/_md.d.ts.map b/node_modules/@noble/hashes/_md.d.ts.map new file mode 100644 index 0000000..0f653d1 --- /dev/null +++ b/node_modules/@noble/hashes/_md.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"_md.d.ts","sourceRoot":"","sources":["src/_md.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,KAAK,EAAE,IAAI,EAAwD,MAAM,YAAY,CAAC;AAEpG,gGAAgG;AAChG,wBAAgB,YAAY,CAC1B,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,GACZ,IAAI,CAUN;AAED,wBAAwB;AACxB,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,yDAAyD;AACzD,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,8BAAsB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAC/D,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,EAAE;IAClC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAC/C,QAAQ,CAAC,OAAO,IAAI,IAAI;IACxB,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAErC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAGvB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;IACzB,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,GAAG,SAAK;IAClB,SAAS,CAAC,SAAS,UAAS;gBAEhB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IASjF,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IA0BzB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAkCjC,MAAM,IAAI,UAAU;IAOpB,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAWrB,KAAK,IAAI,CAAC;CAGX;AAED;;;GAGG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,SAAS,EAAE,WAEtB,CAAC;AAEH,8EAA8E;AAC9E,eAAO,MAAM,SAAS,EAAE,WAEtB,CAAC;AAEH,6EAA6E;AAC7E,eAAO,MAAM,SAAS,EAAE,WAGtB,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,SAAS,EAAE,WAGtB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/_md.js b/node_modules/@noble/hashes/_md.js new file mode 100644 index 0000000..53047f3 --- /dev/null +++ b/node_modules/@noble/hashes/_md.js @@ -0,0 +1,162 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SHA512_IV = exports.SHA384_IV = exports.SHA224_IV = exports.SHA256_IV = exports.HashMD = void 0; +exports.setBigUint64 = setBigUint64; +exports.Chi = Chi; +exports.Maj = Maj; +/** + * Internal Merkle-Damgard hash utils. + * @module + */ +const utils_ts_1 = require("./utils.js"); +/** Polyfill for Safari 14. https://caniuse.com/mdn-javascript_builtins_dataview_setbiguint64 */ +function setBigUint64(view, byteOffset, value, isLE) { + if (typeof view.setBigUint64 === 'function') + return view.setBigUint64(byteOffset, value, isLE); + const _32n = BigInt(32); + const _u32_max = BigInt(0xffffffff); + const wh = Number((value >> _32n) & _u32_max); + const wl = Number(value & _u32_max); + const h = isLE ? 4 : 0; + const l = isLE ? 0 : 4; + view.setUint32(byteOffset + h, wh, isLE); + view.setUint32(byteOffset + l, wl, isLE); +} +/** Choice: a ? b : c */ +function Chi(a, b, c) { + return (a & b) ^ (~a & c); +} +/** Majority function, true if any two inputs is true. */ +function Maj(a, b, c) { + return (a & b) ^ (a & c) ^ (b & c); +} +/** + * Merkle-Damgard hash construction base class. + * Could be used to create MD5, RIPEMD, SHA1, SHA2. + */ +class HashMD extends utils_ts_1.Hash { + constructor(blockLen, outputLen, padOffset, isLE) { + super(); + this.finished = false; + this.length = 0; + this.pos = 0; + this.destroyed = false; + this.blockLen = blockLen; + this.outputLen = outputLen; + this.padOffset = padOffset; + this.isLE = isLE; + this.buffer = new Uint8Array(blockLen); + this.view = (0, utils_ts_1.createView)(this.buffer); + } + update(data) { + (0, utils_ts_1.aexists)(this); + data = (0, utils_ts_1.toBytes)(data); + (0, utils_ts_1.abytes)(data); + const { view, buffer, blockLen } = this; + const len = data.length; + for (let pos = 0; pos < len;) { + const take = Math.min(blockLen - this.pos, len - pos); + // Fast path: we have at least one block in input, cast it to view and process + if (take === blockLen) { + const dataView = (0, utils_ts_1.createView)(data); + for (; blockLen <= len - pos; pos += blockLen) + this.process(dataView, pos); + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + pos += take; + if (this.pos === blockLen) { + this.process(view, 0); + this.pos = 0; + } + } + this.length += data.length; + this.roundClean(); + return this; + } + digestInto(out) { + (0, utils_ts_1.aexists)(this); + (0, utils_ts_1.aoutput)(out, this); + this.finished = true; + // Padding + // We can avoid allocation of buffer for padding completely if it + // was previously not allocated here. But it won't change performance. + const { buffer, view, blockLen, isLE } = this; + let { pos } = this; + // append the bit '1' to the message + buffer[pos++] = 0b10000000; + (0, utils_ts_1.clean)(this.buffer.subarray(pos)); + // we have less than padOffset left in buffer, so we cannot put length in + // current block, need process it and pad again + if (this.padOffset > blockLen - pos) { + this.process(view, 0); + pos = 0; + } + // Pad until full block byte with zeros + for (let i = pos; i < blockLen; i++) + buffer[i] = 0; + // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that + // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen. + // So we just write lowest 64 bits of that value. + setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE); + this.process(view, 0); + const oview = (0, utils_ts_1.createView)(out); + const len = this.outputLen; + // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT + if (len % 4) + throw new Error('_sha2: outputLen should be aligned to 32bit'); + const outLen = len / 4; + const state = this.get(); + if (outLen > state.length) + throw new Error('_sha2: outputLen bigger than state'); + for (let i = 0; i < outLen; i++) + oview.setUint32(4 * i, state[i], isLE); + } + digest() { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } + _cloneInto(to) { + to || (to = new this.constructor()); + to.set(...this.get()); + const { blockLen, buffer, length, finished, destroyed, pos } = this; + to.destroyed = destroyed; + to.finished = finished; + to.length = length; + to.pos = pos; + if (length % blockLen) + to.buffer.set(buffer); + return to; + } + clone() { + return this._cloneInto(); + } +} +exports.HashMD = HashMD; +/** + * Initial SHA-2 state: fractional parts of square roots of first 16 primes 2..53. + * Check out `test/misc/sha2-gen-iv.js` for recomputation guide. + */ +/** Initial SHA256 state. Bits 0..32 of frac part of sqrt of primes 2..19 */ +exports.SHA256_IV = Uint32Array.from([ + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19, +]); +/** Initial SHA224 state. Bits 32..64 of frac part of sqrt of primes 23..53 */ +exports.SHA224_IV = Uint32Array.from([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4, +]); +/** Initial SHA384 state. Bits 0..64 of frac part of sqrt of primes 23..53 */ +exports.SHA384_IV = Uint32Array.from([ + 0xcbbb9d5d, 0xc1059ed8, 0x629a292a, 0x367cd507, 0x9159015a, 0x3070dd17, 0x152fecd8, 0xf70e5939, + 0x67332667, 0xffc00b31, 0x8eb44a87, 0x68581511, 0xdb0c2e0d, 0x64f98fa7, 0x47b5481d, 0xbefa4fa4, +]); +/** Initial SHA512 state. Bits 0..64 of frac part of sqrt of primes 2..19 */ +exports.SHA512_IV = Uint32Array.from([ + 0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1, + 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179, +]); +//# sourceMappingURL=_md.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/_md.js.map b/node_modules/@noble/hashes/_md.js.map new file mode 100644 index 0000000..07270e0 --- /dev/null +++ b/node_modules/@noble/hashes/_md.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_md.js","sourceRoot":"","sources":["src/_md.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/_u64.d.ts b/node_modules/@noble/hashes/_u64.d.ts new file mode 100644 index 0000000..ac5523a --- /dev/null +++ b/node_modules/@noble/hashes/_u64.d.ts @@ -0,0 +1,55 @@ +declare function fromBig(n: bigint, le?: boolean): { + h: number; + l: number; +}; +declare function split(lst: bigint[], le?: boolean): Uint32Array[]; +declare const toBig: (h: number, l: number) => bigint; +declare const shrSH: (h: number, _l: number, s: number) => number; +declare const shrSL: (h: number, l: number, s: number) => number; +declare const rotrSH: (h: number, l: number, s: number) => number; +declare const rotrSL: (h: number, l: number, s: number) => number; +declare const rotrBH: (h: number, l: number, s: number) => number; +declare const rotrBL: (h: number, l: number, s: number) => number; +declare const rotr32H: (_h: number, l: number) => number; +declare const rotr32L: (h: number, _l: number) => number; +declare const rotlSH: (h: number, l: number, s: number) => number; +declare const rotlSL: (h: number, l: number, s: number) => number; +declare const rotlBH: (h: number, l: number, s: number) => number; +declare const rotlBL: (h: number, l: number, s: number) => number; +declare function add(Ah: number, Al: number, Bh: number, Bl: number): { + h: number; + l: number; +}; +declare const add3L: (Al: number, Bl: number, Cl: number) => number; +declare const add3H: (low: number, Ah: number, Bh: number, Ch: number) => number; +declare const add4L: (Al: number, Bl: number, Cl: number, Dl: number) => number; +declare const add4H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number) => number; +declare const add5L: (Al: number, Bl: number, Cl: number, Dl: number, El: number) => number; +declare const add5H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) => number; +export { add, add3H, add3L, add4H, add4L, add5H, add5L, fromBig, rotlBH, rotlBL, rotlSH, rotlSL, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL, shrSH, shrSL, split, toBig }; +declare const u64: { + fromBig: typeof fromBig; + split: typeof split; + toBig: (h: number, l: number) => bigint; + shrSH: (h: number, _l: number, s: number) => number; + shrSL: (h: number, l: number, s: number) => number; + rotrSH: (h: number, l: number, s: number) => number; + rotrSL: (h: number, l: number, s: number) => number; + rotrBH: (h: number, l: number, s: number) => number; + rotrBL: (h: number, l: number, s: number) => number; + rotr32H: (_h: number, l: number) => number; + rotr32L: (h: number, _l: number) => number; + rotlSH: (h: number, l: number, s: number) => number; + rotlSL: (h: number, l: number, s: number) => number; + rotlBH: (h: number, l: number, s: number) => number; + rotlBL: (h: number, l: number, s: number) => number; + add: typeof add; + add3L: (Al: number, Bl: number, Cl: number) => number; + add3H: (low: number, Ah: number, Bh: number, Ch: number) => number; + add4L: (Al: number, Bl: number, Cl: number, Dl: number) => number; + add4H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number) => number; + add5H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) => number; + add5L: (Al: number, Bl: number, Cl: number, Dl: number, El: number) => number; +}; +export default u64; +//# sourceMappingURL=_u64.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/_u64.d.ts.map b/node_modules/@noble/hashes/_u64.d.ts.map new file mode 100644 index 0000000..211a4c6 --- /dev/null +++ b/node_modules/@noble/hashes/_u64.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"_u64.d.ts","sourceRoot":"","sources":["src/_u64.ts"],"names":[],"mappings":"AAQA,iBAAS,OAAO,CACd,CAAC,EAAE,MAAM,EACT,EAAE,UAAQ,GACT;IACD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAGA;AAED,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,UAAQ,GAAG,WAAW,EAAE,CASvD;AAED,QAAA,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAAqD,CAAC;AAE5F,QAAA,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,GAAG,MAAM,KAAG,MAAiB,CAAC;AACpE,QAAA,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAAqC,CAAC;AAEvF,QAAA,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAAqC,CAAC;AACxF,QAAA,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAAqC,CAAC;AAExF,QAAA,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAA4C,CAAC;AAC/F,QAAA,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAA4C,CAAC;AAE/F,QAAA,MAAM,OAAO,GAAI,IAAI,MAAM,EAAE,GAAG,MAAM,KAAG,MAAW,CAAC;AACrD,QAAA,MAAM,OAAO,GAAI,GAAG,MAAM,EAAE,IAAI,MAAM,KAAG,MAAW,CAAC;AAErD,QAAA,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAAqC,CAAC;AACxF,QAAA,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAAqC,CAAC;AAExF,QAAA,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAA4C,CAAC;AAC/F,QAAA,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MAA4C,CAAC;AAI/F,iBAAS,GAAG,CACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT;IACD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAGA;AAED,QAAA,MAAM,KAAK,GAAI,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,KAAG,MAA8C,CAAC;AACnG,QAAA,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,KAAG,MACrB,CAAC;AAC7C,QAAA,MAAM,KAAK,GAAI,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,KAAG,MACb,CAAC;AACpD,QAAA,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,KAAG,MAC5B,CAAC;AAClD,QAAA,MAAM,KAAK,GAAI,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,KAAG,MACZ,CAAC;AACjE,QAAA,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,KAAG,MACnC,CAAC;AAGvD,OAAO,EACL,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EACrK,CAAC;AAEF,QAAA,MAAM,GAAG,EAAE;IAAE,OAAO,EAAE,OAAO,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,GAAG,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;CAOrpC,CAAC;AACF,eAAe,GAAG,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/_u64.js b/node_modules/@noble/hashes/_u64.js new file mode 100644 index 0000000..3232f4d --- /dev/null +++ b/node_modules/@noble/hashes/_u64.js @@ -0,0 +1,90 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toBig = exports.shrSL = exports.shrSH = exports.rotrSL = exports.rotrSH = exports.rotrBL = exports.rotrBH = exports.rotr32L = exports.rotr32H = exports.rotlSL = exports.rotlSH = exports.rotlBL = exports.rotlBH = exports.add5L = exports.add5H = exports.add4L = exports.add4H = exports.add3L = exports.add3H = void 0; +exports.add = add; +exports.fromBig = fromBig; +exports.split = split; +/** + * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array. + * @todo re-check https://issues.chromium.org/issues/42212588 + * @module + */ +const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1); +const _32n = /* @__PURE__ */ BigInt(32); +function fromBig(n, le = false) { + if (le) + return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) }; + return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 }; +} +function split(lst, le = false) { + const len = lst.length; + let Ah = new Uint32Array(len); + let Al = new Uint32Array(len); + for (let i = 0; i < len; i++) { + const { h, l } = fromBig(lst[i], le); + [Ah[i], Al[i]] = [h, l]; + } + return [Ah, Al]; +} +const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0); +exports.toBig = toBig; +// for Shift in [0, 32) +const shrSH = (h, _l, s) => h >>> s; +exports.shrSH = shrSH; +const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); +exports.shrSL = shrSL; +// Right rotate for Shift in [1, 32) +const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s)); +exports.rotrSH = rotrSH; +const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); +exports.rotrSL = rotrSL; +// Right rotate for Shift in (32, 64), NOTE: 32 is special case. +const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32)); +exports.rotrBH = rotrBH; +const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s)); +exports.rotrBL = rotrBL; +// Right rotate for shift===32 (just swaps l&h) +const rotr32H = (_h, l) => l; +exports.rotr32H = rotr32H; +const rotr32L = (h, _l) => h; +exports.rotr32L = rotr32L; +// Left rotate for Shift in [1, 32) +const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s)); +exports.rotlSH = rotlSH; +const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s)); +exports.rotlSL = rotlSL; +// Left rotate for Shift in (32, 64), NOTE: 32 is special case. +const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s)); +exports.rotlBH = rotlBH; +const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s)); +exports.rotlBL = rotlBL; +// JS uses 32-bit signed integers for bitwise operations which means we cannot +// simple take carry out of low bit sum by shift, we need to use division. +function add(Ah, Al, Bh, Bl) { + const l = (Al >>> 0) + (Bl >>> 0); + return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 }; +} +// Addition with more than 2 elements +const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0); +exports.add3L = add3L; +const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0; +exports.add3H = add3H; +const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); +exports.add4L = add4L; +const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0; +exports.add4H = add4H; +const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); +exports.add5L = add5L; +const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0; +exports.add5H = add5H; +// prettier-ignore +const u64 = { + fromBig, split, toBig, + shrSH, shrSL, + rotrSH, rotrSL, rotrBH, rotrBL, + rotr32H, rotr32L, + rotlSH, rotlSL, rotlBH, rotlBL, + add, add3L, add3H, add4L, add4H, add5H, add5L, +}; +exports.default = u64; +//# sourceMappingURL=_u64.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/_u64.js.map b/node_modules/@noble/hashes/_u64.js.map new file mode 100644 index 0000000..49ffb25 --- /dev/null +++ b/node_modules/@noble/hashes/_u64.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_u64.js","sourceRoot":"","sources":["src/_u64.ts"],"names":[],"mappings":";;;AA+EE,kBAAG;AAA4C,0BAAO;AAAkG,sBAAK;AA/E/J;;;;GAIG;AACH,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AACvD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAExC,SAAS,OAAO,CACd,CAAS,EACT,EAAE,GAAG,KAAK;IAKV,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;IAClF,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,KAAK,CAAC,GAAa,EAAE,EAAE,GAAG,KAAK;IACtC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IACvB,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAiDqE,sBAAK;AAhDtK,uBAAuB;AACvB,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAU,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AA+CwE,sBAAK;AA9CjJ,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AA8C4D,sBAAK;AA7CxJ,oCAAoC;AACpC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AA4CoC,wBAAM;AA3ClI,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AA2C4C,wBAAM;AA1C1I,gEAAgE;AAChE,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAyCa,wBAAM;AAxClH,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAwCqB,wBAAM;AAvC1H,+CAA+C;AAC/C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC;AAsCqC,0BAAO;AArCjG,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAU,EAAU,EAAE,CAAC,CAAC,CAAC;AAqC8C,0BAAO;AApC1G,mCAAmC;AACnC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAmCd,wBAAM;AAlChF,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAkCN,wBAAM;AAjCxF,+DAA+D;AAC/D,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAgCrC,wBAAM;AA/BhE,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AA+B7B,wBAAM;AA7BxE,8EAA8E;AAC9E,0EAA0E;AAC1E,SAAS,GAAG,CACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU;IAKV,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9D,CAAC;AACD,qCAAqC;AACrC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAcrF,sBAAK;AAbnB,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAU,EAAE,CACxE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAYtC,sBAAK;AAXZ,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAU,EAAE,CACvE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAUxB,sBAAK;AATjC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAU,EAAE,CACpF,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAQ7B,sBAAK;AAP1B,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAU,EAAE,CACnF,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAMvB,sBAAK;AAL/C,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAU,EAAE,CAChG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAIpB,sBAAK;AAExC,kBAAkB;AAClB,MAAM,GAAG,GAAkpC;IACzpC,OAAO,EAAE,KAAK,EAAE,KAAK;IACrB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9B,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9B,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;CAC9C,CAAC;AACF,kBAAe,GAAG,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/argon2.d.ts b/node_modules/@noble/hashes/argon2.d.ts new file mode 100644 index 0000000..67cb8f6 --- /dev/null +++ b/node_modules/@noble/hashes/argon2.d.ts @@ -0,0 +1,32 @@ +import { type KDFInput } from './utils.ts'; +/** + * Argon2 options. + * * t: time cost, m: mem cost in kb, p: parallelization. + * * key: optional key. personalization: arbitrary extra data. + * * dkLen: desired number of output bytes. + */ +export type ArgonOpts = { + t: number; + m: number; + p: number; + version?: number; + key?: KDFInput; + personalization?: KDFInput; + dkLen?: number; + asyncTick?: number; + maxmem?: number; + onProgress?: (progress: number) => void; +}; +/** argon2d GPU-resistant version. */ +export declare const argon2d: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Uint8Array; +/** argon2i side-channel-resistant version. */ +export declare const argon2i: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Uint8Array; +/** argon2id, combining i+d, the most popular version from RFC 9106 */ +export declare const argon2id: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Uint8Array; +/** argon2d async GPU-resistant version. */ +export declare const argon2dAsync: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Promise; +/** argon2i async side-channel-resistant version. */ +export declare const argon2iAsync: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Promise; +/** argon2id async, combining i+d, the most popular version from RFC 9106 */ +export declare const argon2idAsync: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Promise; +//# sourceMappingURL=argon2.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/argon2.d.ts.map b/node_modules/@noble/hashes/argon2.d.ts.map new file mode 100644 index 0000000..0928c34 --- /dev/null +++ b/node_modules/@noble/hashes/argon2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"argon2.d.ts","sourceRoot":"","sources":["src/argon2.ts"],"names":[],"mappings":"AAYA,OAAO,EAAqD,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkK9F;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAuNF,qCAAqC;AACrC,eAAO,MAAM,OAAO,GAAI,UAAU,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,SAAS,KAAG,UACnC,CAAC;AAC5C,8CAA8C;AAC9C,eAAO,MAAM,OAAO,GAAI,UAAU,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,SAAS,KAAG,UACpC,CAAC;AAC3C,sEAAsE;AACtE,eAAO,MAAM,QAAQ,GAAI,UAAU,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,SAAS,KAAG,UACpC,CAAC;AAiE5C,2CAA2C;AAC3C,eAAO,MAAM,YAAY,GACvB,UAAU,QAAQ,EAClB,MAAM,QAAQ,EACd,MAAM,SAAS,KACd,OAAO,CAAC,UAAU,CAAmD,CAAC;AACzE,oDAAoD;AACpD,eAAO,MAAM,YAAY,GACvB,UAAU,QAAQ,EAClB,MAAM,QAAQ,EACd,MAAM,SAAS,KACd,OAAO,CAAC,UAAU,CAAkD,CAAC;AACxE,4EAA4E;AAC5E,eAAO,MAAM,aAAa,GACxB,UAAU,QAAQ,EAClB,MAAM,QAAQ,EACd,MAAM,SAAS,KACd,OAAO,CAAC,UAAU,CAAmD,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/argon2.js b/node_modules/@noble/hashes/argon2.js new file mode 100644 index 0000000..44488ac --- /dev/null +++ b/node_modules/@noble/hashes/argon2.js @@ -0,0 +1,401 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.argon2idAsync = exports.argon2iAsync = exports.argon2dAsync = exports.argon2id = exports.argon2i = exports.argon2d = void 0; +/** + * Argon2 KDF from RFC 9106. Can be used to create a key from password and salt. + * We suggest to use Scrypt. JS Argon is 2-10x slower than native code because of 64-bitness: + * * argon uses uint64, but JS doesn't have fast uint64array + * * uint64 multiplication is 1/3 of time + * * `P` function would be very nice with u64, because most of value will be in registers, + * hovewer with u32 it will require 32 registers, which is too much. + * * JS arrays do slow bound checks, so reading from `A2_BUF` slows it down + * @module + */ +const _u64_ts_1 = require("./_u64.js"); +const blake2_ts_1 = require("./blake2.js"); +const utils_ts_1 = require("./utils.js"); +const AT = { Argond2d: 0, Argon2i: 1, Argon2id: 2 }; +const ARGON2_SYNC_POINTS = 4; +const abytesOrZero = (buf) => { + if (buf === undefined) + return Uint8Array.of(); + return (0, utils_ts_1.kdfInputToBytes)(buf); +}; +// u32 * u32 = u64 +function mul(a, b) { + const aL = a & 0xffff; + const aH = a >>> 16; + const bL = b & 0xffff; + const bH = b >>> 16; + const ll = Math.imul(aL, bL); + const hl = Math.imul(aH, bL); + const lh = Math.imul(aL, bH); + const hh = Math.imul(aH, bH); + const carry = (ll >>> 16) + (hl & 0xffff) + lh; + const high = (hh + (hl >>> 16) + (carry >>> 16)) | 0; + const low = (carry << 16) | (ll & 0xffff); + return { h: high, l: low }; +} +function mul2(a, b) { + // 2 * a * b (via shifts) + const { h, l } = mul(a, b); + return { h: ((h << 1) | (l >>> 31)) & 4294967295, l: (l << 1) & 4294967295 }; +} +// BlaMka permutation for Argon2 +// A + B + (2 * u32(A) * u32(B)) +function blamka(Ah, Al, Bh, Bl) { + const { h: Ch, l: Cl } = mul2(Al, Bl); + // A + B + (2 * A * B) + const Rll = (0, _u64_ts_1.add3L)(Al, Bl, Cl); + return { h: (0, _u64_ts_1.add3H)(Rll, Ah, Bh, Ch), l: Rll | 0 }; +} +// Temporary block buffer +const A2_BUF = new Uint32Array(256); // 1024 bytes (matrix 16x16) +function G(a, b, c, d) { + let Al = A2_BUF[2 * a], Ah = A2_BUF[2 * a + 1]; // prettier-ignore + let Bl = A2_BUF[2 * b], Bh = A2_BUF[2 * b + 1]; // prettier-ignore + let Cl = A2_BUF[2 * c], Ch = A2_BUF[2 * c + 1]; // prettier-ignore + let Dl = A2_BUF[2 * d], Dh = A2_BUF[2 * d + 1]; // prettier-ignore + ({ h: Ah, l: Al } = blamka(Ah, Al, Bh, Bl)); + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: (0, _u64_ts_1.rotr32H)(Dh, Dl), Dl: (0, _u64_ts_1.rotr32L)(Dh, Dl) }); + ({ h: Ch, l: Cl } = blamka(Ch, Cl, Dh, Dl)); + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: (0, _u64_ts_1.rotrSH)(Bh, Bl, 24), Bl: (0, _u64_ts_1.rotrSL)(Bh, Bl, 24) }); + ({ h: Ah, l: Al } = blamka(Ah, Al, Bh, Bl)); + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: (0, _u64_ts_1.rotrSH)(Dh, Dl, 16), Dl: (0, _u64_ts_1.rotrSL)(Dh, Dl, 16) }); + ({ h: Ch, l: Cl } = blamka(Ch, Cl, Dh, Dl)); + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: (0, _u64_ts_1.rotrBH)(Bh, Bl, 63), Bl: (0, _u64_ts_1.rotrBL)(Bh, Bl, 63) }); + (A2_BUF[2 * a] = Al), (A2_BUF[2 * a + 1] = Ah); + (A2_BUF[2 * b] = Bl), (A2_BUF[2 * b + 1] = Bh); + (A2_BUF[2 * c] = Cl), (A2_BUF[2 * c + 1] = Ch); + (A2_BUF[2 * d] = Dl), (A2_BUF[2 * d + 1] = Dh); +} +// prettier-ignore +function P(v00, v01, v02, v03, v04, v05, v06, v07, v08, v09, v10, v11, v12, v13, v14, v15) { + G(v00, v04, v08, v12); + G(v01, v05, v09, v13); + G(v02, v06, v10, v14); + G(v03, v07, v11, v15); + G(v00, v05, v10, v15); + G(v01, v06, v11, v12); + G(v02, v07, v08, v13); + G(v03, v04, v09, v14); +} +function block(x, xPos, yPos, outPos, needXor) { + for (let i = 0; i < 256; i++) + A2_BUF[i] = x[xPos + i] ^ x[yPos + i]; + // columns (8) + for (let i = 0; i < 128; i += 16) { + // prettier-ignore + P(i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6, i + 7, i + 8, i + 9, i + 10, i + 11, i + 12, i + 13, i + 14, i + 15); + } + // rows (8) + for (let i = 0; i < 16; i += 2) { + // prettier-ignore + P(i, i + 1, i + 16, i + 17, i + 32, i + 33, i + 48, i + 49, i + 64, i + 65, i + 80, i + 81, i + 96, i + 97, i + 112, i + 113); + } + if (needXor) + for (let i = 0; i < 256; i++) + x[outPos + i] ^= A2_BUF[i] ^ x[xPos + i] ^ x[yPos + i]; + else + for (let i = 0; i < 256; i++) + x[outPos + i] = A2_BUF[i] ^ x[xPos + i] ^ x[yPos + i]; + (0, utils_ts_1.clean)(A2_BUF); +} +// Variable-Length Hash Function H' +function Hp(A, dkLen) { + const A8 = (0, utils_ts_1.u8)(A); + const T = new Uint32Array(1); + const T8 = (0, utils_ts_1.u8)(T); + T[0] = dkLen; + // Fast path + if (dkLen <= 64) + return blake2_ts_1.blake2b.create({ dkLen }).update(T8).update(A8).digest(); + const out = new Uint8Array(dkLen); + let V = blake2_ts_1.blake2b.create({}).update(T8).update(A8).digest(); + let pos = 0; + // First block + out.set(V.subarray(0, 32)); + pos += 32; + // Rest blocks + for (; dkLen - pos > 64; pos += 32) { + const Vh = blake2_ts_1.blake2b.create({}).update(V); + Vh.digestInto(V); + Vh.destroy(); + out.set(V.subarray(0, 32), pos); + } + // Last block + out.set((0, blake2_ts_1.blake2b)(V, { dkLen: dkLen - pos }), pos); + (0, utils_ts_1.clean)(V, T); + return (0, utils_ts_1.u32)(out); +} +// Used only inside process block! +function indexAlpha(r, s, laneLen, segmentLen, index, randL, sameLane = false) { + // This is ugly, but close enough to reference implementation. + let area; + if (r === 0) { + if (s === 0) + area = index - 1; + else if (sameLane) + area = s * segmentLen + index - 1; + else + area = s * segmentLen + (index == 0 ? -1 : 0); + } + else if (sameLane) + area = laneLen - segmentLen + index - 1; + else + area = laneLen - segmentLen + (index == 0 ? -1 : 0); + const startPos = r !== 0 && s !== ARGON2_SYNC_POINTS - 1 ? (s + 1) * segmentLen : 0; + const rel = area - 1 - mul(area, mul(randL, randL).h).h; + return (startPos + rel) % laneLen; +} +const maxUint32 = Math.pow(2, 32); +function isU32(num) { + return Number.isSafeInteger(num) && num >= 0 && num < maxUint32; +} +function argon2Opts(opts) { + const merged = { + version: 0x13, + dkLen: 32, + maxmem: maxUint32 - 1, + asyncTick: 10, + }; + for (let [k, v] of Object.entries(opts)) + if (v != null) + merged[k] = v; + const { dkLen, p, m, t, version, onProgress } = merged; + if (!isU32(dkLen) || dkLen < 4) + throw new Error('dkLen should be at least 4 bytes'); + if (!isU32(p) || p < 1 || p >= Math.pow(2, 24)) + throw new Error('p should be 1 <= p < 2^24'); + if (!isU32(m)) + throw new Error('m should be 0 <= m < 2^32'); + if (!isU32(t) || t < 1) + throw new Error('t (iterations) should be 1 <= t < 2^32'); + if (onProgress !== undefined && typeof onProgress !== 'function') + throw new Error('progressCb should be function'); + /* + Memory size m MUST be an integer number of kibibytes from 8*p to 2^(32)-1. The actual number of blocks is m', which is m rounded down to the nearest multiple of 4*p. + */ + if (!isU32(m) || m < 8 * p) + throw new Error('memory should be at least 8*p bytes'); + if (version !== 0x10 && version !== 0x13) + throw new Error('unknown version=' + version); + return merged; +} +function argon2Init(password, salt, type, opts) { + password = (0, utils_ts_1.kdfInputToBytes)(password); + salt = (0, utils_ts_1.kdfInputToBytes)(salt); + (0, utils_ts_1.abytes)(password); + (0, utils_ts_1.abytes)(salt); + if (!isU32(password.length)) + throw new Error('password should be less than 4 GB'); + if (!isU32(salt.length) || salt.length < 8) + throw new Error('salt should be at least 8 bytes and less than 4 GB'); + if (!Object.values(AT).includes(type)) + throw new Error('invalid type'); + let { p, dkLen, m, t, version, key, personalization, maxmem, onProgress, asyncTick } = argon2Opts(opts); + // Validation + key = abytesOrZero(key); + personalization = abytesOrZero(personalization); + // H_0 = H^(64)(LE32(p) || LE32(T) || LE32(m) || LE32(t) || + // LE32(v) || LE32(y) || LE32(length(P)) || P || + // LE32(length(S)) || S || LE32(length(K)) || K || + // LE32(length(X)) || X) + const h = blake2_ts_1.blake2b.create({}); + const BUF = new Uint32Array(1); + const BUF8 = (0, utils_ts_1.u8)(BUF); + for (let item of [p, dkLen, m, t, version, type]) { + BUF[0] = item; + h.update(BUF8); + } + for (let i of [password, salt, key, personalization]) { + BUF[0] = i.length; // BUF is u32 array, this is valid + h.update(BUF8).update(i); + } + const H0 = new Uint32Array(18); + const H0_8 = (0, utils_ts_1.u8)(H0); + h.digestInto(H0_8); + // 256 u32 = 1024 (BLOCK_SIZE), fills A2_BUF on processing + // Params + const lanes = p; + // m' = 4 * p * floor (m / 4p) + const mP = 4 * p * Math.floor(m / (ARGON2_SYNC_POINTS * p)); + //q = m' / p columns + const laneLen = Math.floor(mP / p); + const segmentLen = Math.floor(laneLen / ARGON2_SYNC_POINTS); + const memUsed = mP * 256; + if (!isU32(maxmem) || memUsed > maxmem) + throw new Error('mem should be less than 2**32, got: maxmem=' + maxmem + ', memused=' + memUsed); + const B = new Uint32Array(memUsed); + // Fill first blocks + for (let l = 0; l < p; l++) { + const i = 256 * laneLen * l; + // B[i][0] = H'^(1024)(H_0 || LE32(0) || LE32(i)) + H0[17] = l; + H0[16] = 0; + B.set(Hp(H0, 1024), i); + // B[i][1] = H'^(1024)(H_0 || LE32(1) || LE32(i)) + H0[16] = 1; + B.set(Hp(H0, 1024), i + 256); + } + let perBlock = () => { }; + if (onProgress) { + const totalBlock = t * ARGON2_SYNC_POINTS * p * segmentLen; + // Invoke callback if progress changes from 10.01 to 10.02 + // Allows to draw smooth progress bar on up to 8K screen + const callbackPer = Math.max(Math.floor(totalBlock / 10000), 1); + let blockCnt = 0; + perBlock = () => { + blockCnt++; + if (onProgress && (!(blockCnt % callbackPer) || blockCnt === totalBlock)) + onProgress(blockCnt / totalBlock); + }; + } + (0, utils_ts_1.clean)(BUF, H0); + return { type, mP, p, t, version, B, laneLen, lanes, segmentLen, dkLen, perBlock, asyncTick }; +} +function argon2Output(B, p, laneLen, dkLen) { + const B_final = new Uint32Array(256); + for (let l = 0; l < p; l++) + for (let j = 0; j < 256; j++) + B_final[j] ^= B[256 * (laneLen * l + laneLen - 1) + j]; + const res = (0, utils_ts_1.u8)(Hp(B_final, dkLen)); + (0, utils_ts_1.clean)(B_final); + return res; +} +function processBlock(B, address, l, r, s, index, laneLen, segmentLen, lanes, offset, prev, dataIndependent, needXor) { + if (offset % laneLen) + prev = offset - 1; + let randL, randH; + if (dataIndependent) { + let i128 = index % 128; + if (i128 === 0) { + address[256 + 12]++; + block(address, 256, 2 * 256, 0, false); + block(address, 0, 2 * 256, 0, false); + } + randL = address[2 * i128]; + randH = address[2 * i128 + 1]; + } + else { + const T = 256 * prev; + randL = B[T]; + randH = B[T + 1]; + } + // address block + const refLane = r === 0 && s === 0 ? l : randH % lanes; + const refPos = indexAlpha(r, s, laneLen, segmentLen, index, randL, refLane == l); + const refBlock = laneLen * refLane + refPos; + // B[i][j] = G(B[i][j-1], B[l][z]) + block(B, 256 * prev, 256 * refBlock, offset * 256, needXor); +} +function argon2(type, password, salt, opts) { + const { mP, p, t, version, B, laneLen, lanes, segmentLen, dkLen, perBlock } = argon2Init(password, salt, type, opts); + // Pre-loop setup + // [address, input, zero_block] format so we can pass single U32 to block function + const address = new Uint32Array(3 * 256); + address[256 + 6] = mP; + address[256 + 8] = t; + address[256 + 10] = type; + for (let r = 0; r < t; r++) { + const needXor = r !== 0 && version === 0x13; + address[256 + 0] = r; + for (let s = 0; s < ARGON2_SYNC_POINTS; s++) { + address[256 + 4] = s; + const dataIndependent = type == AT.Argon2i || (type == AT.Argon2id && r === 0 && s < 2); + for (let l = 0; l < p; l++) { + address[256 + 2] = l; + address[256 + 12] = 0; + let startPos = 0; + if (r === 0 && s === 0) { + startPos = 2; + if (dataIndependent) { + address[256 + 12]++; + block(address, 256, 2 * 256, 0, false); + block(address, 0, 2 * 256, 0, false); + } + } + // current block postion + let offset = l * laneLen + s * segmentLen + startPos; + // previous block position + let prev = offset % laneLen ? offset - 1 : offset + laneLen - 1; + for (let index = startPos; index < segmentLen; index++, offset++, prev++) { + perBlock(); + processBlock(B, address, l, r, s, index, laneLen, segmentLen, lanes, offset, prev, dataIndependent, needXor); + } + } + } + } + (0, utils_ts_1.clean)(address); + return argon2Output(B, p, laneLen, dkLen); +} +/** argon2d GPU-resistant version. */ +const argon2d = (password, salt, opts) => argon2(AT.Argond2d, password, salt, opts); +exports.argon2d = argon2d; +/** argon2i side-channel-resistant version. */ +const argon2i = (password, salt, opts) => argon2(AT.Argon2i, password, salt, opts); +exports.argon2i = argon2i; +/** argon2id, combining i+d, the most popular version from RFC 9106 */ +const argon2id = (password, salt, opts) => argon2(AT.Argon2id, password, salt, opts); +exports.argon2id = argon2id; +async function argon2Async(type, password, salt, opts) { + const { mP, p, t, version, B, laneLen, lanes, segmentLen, dkLen, perBlock, asyncTick } = argon2Init(password, salt, type, opts); + // Pre-loop setup + // [address, input, zero_block] format so we can pass single U32 to block function + const address = new Uint32Array(3 * 256); + address[256 + 6] = mP; + address[256 + 8] = t; + address[256 + 10] = type; + let ts = Date.now(); + for (let r = 0; r < t; r++) { + const needXor = r !== 0 && version === 0x13; + address[256 + 0] = r; + for (let s = 0; s < ARGON2_SYNC_POINTS; s++) { + address[256 + 4] = s; + const dataIndependent = type == AT.Argon2i || (type == AT.Argon2id && r === 0 && s < 2); + for (let l = 0; l < p; l++) { + address[256 + 2] = l; + address[256 + 12] = 0; + let startPos = 0; + if (r === 0 && s === 0) { + startPos = 2; + if (dataIndependent) { + address[256 + 12]++; + block(address, 256, 2 * 256, 0, false); + block(address, 0, 2 * 256, 0, false); + } + } + // current block postion + let offset = l * laneLen + s * segmentLen + startPos; + // previous block position + let prev = offset % laneLen ? offset - 1 : offset + laneLen - 1; + for (let index = startPos; index < segmentLen; index++, offset++, prev++) { + perBlock(); + processBlock(B, address, l, r, s, index, laneLen, segmentLen, lanes, offset, prev, dataIndependent, needXor); + // Date.now() is not monotonic, so in case if clock goes backwards we return return control too + const diff = Date.now() - ts; + if (!(diff >= 0 && diff < asyncTick)) { + await (0, utils_ts_1.nextTick)(); + ts += diff; + } + } + } + } + } + (0, utils_ts_1.clean)(address); + return argon2Output(B, p, laneLen, dkLen); +} +/** argon2d async GPU-resistant version. */ +const argon2dAsync = (password, salt, opts) => argon2Async(AT.Argond2d, password, salt, opts); +exports.argon2dAsync = argon2dAsync; +/** argon2i async side-channel-resistant version. */ +const argon2iAsync = (password, salt, opts) => argon2Async(AT.Argon2i, password, salt, opts); +exports.argon2iAsync = argon2iAsync; +/** argon2id async, combining i+d, the most popular version from RFC 9106 */ +const argon2idAsync = (password, salt, opts) => argon2Async(AT.Argon2id, password, salt, opts); +exports.argon2idAsync = argon2idAsync; +//# sourceMappingURL=argon2.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/argon2.js.map b/node_modules/@noble/hashes/argon2.js.map new file mode 100644 index 0000000..74bde80 --- /dev/null +++ b/node_modules/@noble/hashes/argon2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"argon2.js","sourceRoot":"","sources":["src/argon2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake1.d.ts b/node_modules/@noble/hashes/blake1.d.ts new file mode 100644 index 0000000..62d576f --- /dev/null +++ b/node_modules/@noble/hashes/blake1.d.ts @@ -0,0 +1,106 @@ +import { Hash, type CHashO, type Input } from './utils.ts'; +/** Blake1 options. Basically just "salt" */ +export type BlakeOpts = { + salt?: Uint8Array; +}; +declare abstract class BLAKE1> extends Hash { + protected finished: boolean; + protected length: number; + protected pos: number; + protected destroyed: boolean; + protected buffer: Uint8Array; + protected view: DataView; + protected salt: Uint32Array; + abstract compress(view: DataView, offset: number, withLength?: boolean): void; + protected abstract get(): number[]; + protected abstract set(...args: number[]): void; + readonly blockLen: number; + readonly outputLen: number; + private lengthFlag; + private counterLen; + protected constants: Uint32Array; + constructor(blockLen: number, outputLen: number, lengthFlag: number, counterLen: number, saltLen: number, constants: Uint32Array, opts?: BlakeOpts); + update(data: Input): this; + destroy(): void; + _cloneInto(to?: T): T; + clone(): T; + digestInto(out: Uint8Array): void; + digest(): Uint8Array; +} +declare class Blake1_32 extends BLAKE1 { + private v0; + private v1; + private v2; + private v3; + private v4; + private v5; + private v6; + private v7; + constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts?: BlakeOpts); + protected get(): [number, number, number, number, number, number, number, number]; + protected set(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number): void; + destroy(): void; + compress(view: DataView, offset: number, withLength?: boolean): void; +} +declare class Blake1_64 extends BLAKE1 { + private v0l; + private v0h; + private v1l; + private v1h; + private v2l; + private v2h; + private v3l; + private v3h; + private v4l; + private v4h; + private v5l; + private v5h; + private v6l; + private v6h; + private v7l; + private v7h; + constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts?: BlakeOpts); + protected get(): [ + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; + protected set(v0l: number, v0h: number, v1l: number, v1h: number, v2l: number, v2h: number, v3l: number, v3h: number, v4l: number, v4h: number, v5l: number, v5h: number, v6l: number, v6h: number, v7l: number, v7h: number): void; + destroy(): void; + compress(view: DataView, offset: number, withLength?: boolean): void; +} +export declare class BLAKE224 extends Blake1_32 { + constructor(opts?: BlakeOpts); +} +export declare class BLAKE256 extends Blake1_32 { + constructor(opts?: BlakeOpts); +} +export declare class BLAKE384 extends Blake1_64 { + constructor(opts?: BlakeOpts); +} +export declare class BLAKE512 extends Blake1_64 { + constructor(opts?: BlakeOpts); +} +/** blake1-224 hash function */ +export declare const blake224: CHashO; +/** blake1-256 hash function */ +export declare const blake256: CHashO; +/** blake1-384 hash function */ +export declare const blake384: CHashO; +/** blake1-512 hash function */ +export declare const blake512: CHashO; +export {}; +//# sourceMappingURL=blake1.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake1.d.ts.map b/node_modules/@noble/hashes/blake1.d.ts.map new file mode 100644 index 0000000..cecd4df --- /dev/null +++ b/node_modules/@noble/hashes/blake1.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake1.d.ts","sourceRoot":"","sources":["src/blake1.ts"],"names":[],"mappings":"AA4BA,OAAO,EAGO,IAAI,EAChB,KAAK,MAAM,EAAE,KAAK,KAAK,EACxB,MAAM,YAAY,CAAC;AAEpB,4CAA4C;AAC5C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAKF,uBAAe,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,GAAG,SAAK;IAClB,SAAS,CAAC,SAAS,UAAS;IAE5B,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;IACzB,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI;IAC7E,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,EAAE;IAClC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAE/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC;gBAG/B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,WAAW,EACtB,IAAI,GAAE,SAAc;IA2BtB,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IA8BzB,OAAO,IAAI,IAAI;IAMf,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAarB,KAAK,IAAI,CAAC;IAGV,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IA4BjC,MAAM,IAAI,UAAU;CAOrB;AAgCD,cAAM,SAAU,SAAQ,MAAM,CAAC,SAAS,CAAC;IACvC,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;gBACP,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,SAAc;IAWxF,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAKjF,SAAS,CAAC,GAAG,CACX,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAC7F,IAAI;IAUP,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,IAAI;CAiDlE;AAsED,cAAM,SAAU,SAAQ,MAAM,CAAC,SAAS,CAAC;IACvC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;gBACR,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,SAAc;IAoBxF,SAAS,CAAC,GAAG,IAAI;QACf,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAC9D,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAC/D;IAKD,SAAS,CAAC,GAAG,CACX,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAClD,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAClD,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAClD,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GACjD,IAAI;IAkBP,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,IAAI;CAiDlE;AAED,qBAAa,QAAS,SAAQ,SAAS;gBACzB,IAAI,GAAE,SAAc;CAGjC;AACD,qBAAa,QAAS,SAAQ,SAAS;gBACzB,IAAI,GAAE,SAAc;CAGjC;AACD,qBAAa,QAAS,SAAQ,SAAS;gBACzB,IAAI,GAAE,SAAc;CAGjC;AACD,qBAAa,QAAS,SAAQ,SAAS;gBACzB,IAAI,GAAE,SAAc;CAGjC;AACD,+BAA+B;AAC/B,eAAO,MAAM,QAAQ,EAAE,MAEtB,CAAC;AACF,+BAA+B;AAC/B,eAAO,MAAM,QAAQ,EAAE,MAEtB,CAAC;AACF,+BAA+B;AAC/B,eAAO,MAAM,QAAQ,EAAE,MAEtB,CAAC;AACF,+BAA+B;AAC/B,eAAO,MAAM,QAAQ,EAAE,MAEtB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake1.js b/node_modules/@noble/hashes/blake1.js new file mode 100644 index 0000000..a877fcb --- /dev/null +++ b/node_modules/@noble/hashes/blake1.js @@ -0,0 +1,459 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.blake512 = exports.blake384 = exports.blake256 = exports.blake224 = exports.BLAKE512 = exports.BLAKE384 = exports.BLAKE256 = exports.BLAKE224 = void 0; +/** + * Blake1 legacy hash function, one of SHA3 proposals. + * Rarely used. Check out blake2 or blake3 instead. + * https://www.aumasson.jp/blake/blake.pdf + * + * In the best case, there are 0 allocations. + * + * Differences from blake2: + * + * - BE instead of LE + * - Paddings, similar to MD5, RIPEMD, SHA1, SHA2, but: + * - length flag is located before actual length + * - padding block is compressed differently (no lengths) + * Instead of msg[sigma[k]], we have `msg[sigma[k]] ^ constants[sigma[k-1]]` + * (-1 for g1, g2 without -1) + * - Salt is XOR-ed into constants instead of state + * - Salt is XOR-ed with output in `compress` + * - Additional rows (+64 bytes) in SIGMA for new rounds + * - Different round count: + * - 14 / 10 rounds in blake256 / blake2s + * - 16 / 12 rounds in blake512 / blake2b + * - blake512: G1b: rotr 24 -> 25, G2b: rotr 63 -> 11 + * @module + */ +const _blake_ts_1 = require("./_blake.js"); +const _md_ts_1 = require("./_md.js"); +const u64 = require("./_u64.js"); +// prettier-ignore +const utils_ts_1 = require("./utils.js"); +// Empty zero-filled salt +const EMPTY_SALT = /* @__PURE__ */ new Uint32Array(8); +class BLAKE1 extends utils_ts_1.Hash { + constructor(blockLen, outputLen, lengthFlag, counterLen, saltLen, constants, opts = {}) { + super(); + this.finished = false; + this.length = 0; + this.pos = 0; + this.destroyed = false; + const { salt } = opts; + this.blockLen = blockLen; + this.outputLen = outputLen; + this.lengthFlag = lengthFlag; + this.counterLen = counterLen; + this.buffer = new Uint8Array(blockLen); + this.view = (0, utils_ts_1.createView)(this.buffer); + if (salt) { + let slt = salt; + slt = (0, utils_ts_1.toBytes)(slt); + (0, utils_ts_1.abytes)(slt); + if (slt.length !== 4 * saltLen) + throw new Error('wrong salt length'); + const salt32 = (this.salt = new Uint32Array(saltLen)); + const sv = (0, utils_ts_1.createView)(slt); + this.constants = constants.slice(); + for (let i = 0, offset = 0; i < salt32.length; i++, offset += 4) { + salt32[i] = sv.getUint32(offset, false); + this.constants[i] ^= salt32[i]; + } + } + else { + this.salt = EMPTY_SALT; + this.constants = constants; + } + } + update(data) { + (0, utils_ts_1.aexists)(this); + data = (0, utils_ts_1.toBytes)(data); + (0, utils_ts_1.abytes)(data); + // From _md, but update length before each compress + const { view, buffer, blockLen } = this; + const len = data.length; + let dataView; + for (let pos = 0; pos < len;) { + const take = Math.min(blockLen - this.pos, len - pos); + // Fast path: we have at least one block in input, cast it to view and process + if (take === blockLen) { + if (!dataView) + dataView = (0, utils_ts_1.createView)(data); + for (; blockLen <= len - pos; pos += blockLen) { + this.length += blockLen; + this.compress(dataView, pos); + } + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + pos += take; + if (this.pos === blockLen) { + this.length += blockLen; + this.compress(view, 0, true); + this.pos = 0; + } + } + return this; + } + destroy() { + this.destroyed = true; + if (this.salt !== EMPTY_SALT) { + (0, utils_ts_1.clean)(this.salt, this.constants); + } + } + _cloneInto(to) { + to || (to = new this.constructor()); + to.set(...this.get()); + const { buffer, length, finished, destroyed, constants, salt, pos } = this; + to.buffer.set(buffer); + to.constants = constants.slice(); + to.destroyed = destroyed; + to.finished = finished; + to.length = length; + to.pos = pos; + to.salt = salt.slice(); + return to; + } + clone() { + return this._cloneInto(); + } + digestInto(out) { + (0, utils_ts_1.aexists)(this); + (0, utils_ts_1.aoutput)(out, this); + this.finished = true; + // Padding + const { buffer, blockLen, counterLen, lengthFlag, view } = this; + (0, utils_ts_1.clean)(buffer.subarray(this.pos)); // clean buf + const counter = BigInt((this.length + this.pos) * 8); + const counterPos = blockLen - counterLen - 1; + buffer[this.pos] |= 128; // End block flag + this.length += this.pos; // add unwritten length + // Not enough in buffer for length: write what we have. + if (this.pos > counterPos) { + this.compress(view, 0); + (0, utils_ts_1.clean)(buffer); + this.pos = 0; + } + // Difference with md: here we have lengthFlag! + buffer[counterPos] |= lengthFlag; // Length flag + // We always set 8 byte length flag. Because length will overflow significantly sooner. + (0, _md_ts_1.setBigUint64)(view, blockLen - 8, counter, false); + this.compress(view, 0, this.pos !== 0); // don't add length if length is not empty block? + // Write output + (0, utils_ts_1.clean)(buffer); + const v = (0, utils_ts_1.createView)(out); + const state = this.get(); + for (let i = 0; i < this.outputLen / 4; ++i) + v.setUint32(i * 4, state[i]); + } + digest() { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } +} +// Constants +const B64C = /* @__PURE__ */ Uint32Array.from([ + 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, + 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, + 0x9216d5d9, 0x8979fb1b, 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, + 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, +]); +// first half of C512 +const B32C = B64C.slice(0, 16); +const B256_IV = _md_ts_1.SHA256_IV.slice(); +const B224_IV = _md_ts_1.SHA224_IV.slice(); +const B384_IV = _md_ts_1.SHA384_IV.slice(); +const B512_IV = _md_ts_1.SHA512_IV.slice(); +function generateTBL256() { + const TBL = []; + for (let i = 0, j = 0; i < 14; i++, j += 16) { + for (let offset = 1; offset < 16; offset += 2) { + TBL.push(B32C[_blake_ts_1.BSIGMA[j + offset]]); + TBL.push(B32C[_blake_ts_1.BSIGMA[j + offset - 1]]); + } + } + return new Uint32Array(TBL); +} +const TBL256 = /* @__PURE__ */ generateTBL256(); // C256[SIGMA[X]] precompute +// Reusable temporary buffer +const BLAKE256_W = /* @__PURE__ */ new Uint32Array(16); +class Blake1_32 extends BLAKE1 { + constructor(outputLen, IV, lengthFlag, opts = {}) { + super(64, outputLen, lengthFlag, 8, 4, B32C, opts); + this.v0 = IV[0] | 0; + this.v1 = IV[1] | 0; + this.v2 = IV[2] | 0; + this.v3 = IV[3] | 0; + this.v4 = IV[4] | 0; + this.v5 = IV[5] | 0; + this.v6 = IV[6] | 0; + this.v7 = IV[7] | 0; + } + get() { + const { v0, v1, v2, v3, v4, v5, v6, v7 } = this; + return [v0, v1, v2, v3, v4, v5, v6, v7]; + } + // prettier-ignore + set(v0, v1, v2, v3, v4, v5, v6, v7) { + this.v0 = v0 | 0; + this.v1 = v1 | 0; + this.v2 = v2 | 0; + this.v3 = v3 | 0; + this.v4 = v4 | 0; + this.v5 = v5 | 0; + this.v6 = v6 | 0; + this.v7 = v7 | 0; + } + destroy() { + super.destroy(); + this.set(0, 0, 0, 0, 0, 0, 0, 0); + } + compress(view, offset, withLength = true) { + for (let i = 0; i < 16; i++, offset += 4) + BLAKE256_W[i] = view.getUint32(offset, false); + // NOTE: we cannot re-use compress from blake2s, since there is additional xor over u256[SIGMA[e]] + let v00 = this.v0 | 0; + let v01 = this.v1 | 0; + let v02 = this.v2 | 0; + let v03 = this.v3 | 0; + let v04 = this.v4 | 0; + let v05 = this.v5 | 0; + let v06 = this.v6 | 0; + let v07 = this.v7 | 0; + let v08 = this.constants[0] | 0; + let v09 = this.constants[1] | 0; + let v10 = this.constants[2] | 0; + let v11 = this.constants[3] | 0; + const { h, l } = u64.fromBig(BigInt(withLength ? this.length * 8 : 0)); + let v12 = (this.constants[4] ^ l) >>> 0; + let v13 = (this.constants[5] ^ l) >>> 0; + let v14 = (this.constants[6] ^ h) >>> 0; + let v15 = (this.constants[7] ^ h) >>> 0; + // prettier-ignore + for (let i = 0, k = 0, j = 0; i < 14; i++) { + ({ a: v00, b: v04, c: v08, d: v12 } = (0, _blake_ts_1.G1s)(v00, v04, v08, v12, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v00, b: v04, c: v08, d: v12 } = (0, _blake_ts_1.G2s)(v00, v04, v08, v12, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v05, c: v09, d: v13 } = (0, _blake_ts_1.G1s)(v01, v05, v09, v13, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v05, c: v09, d: v13 } = (0, _blake_ts_1.G2s)(v01, v05, v09, v13, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v06, c: v10, d: v14 } = (0, _blake_ts_1.G1s)(v02, v06, v10, v14, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v06, c: v10, d: v14 } = (0, _blake_ts_1.G2s)(v02, v06, v10, v14, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v07, c: v11, d: v15 } = (0, _blake_ts_1.G1s)(v03, v07, v11, v15, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v07, c: v11, d: v15 } = (0, _blake_ts_1.G2s)(v03, v07, v11, v15, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v00, b: v05, c: v10, d: v15 } = (0, _blake_ts_1.G1s)(v00, v05, v10, v15, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v00, b: v05, c: v10, d: v15 } = (0, _blake_ts_1.G2s)(v00, v05, v10, v15, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v06, c: v11, d: v12 } = (0, _blake_ts_1.G1s)(v01, v06, v11, v12, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v06, c: v11, d: v12 } = (0, _blake_ts_1.G2s)(v01, v06, v11, v12, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v07, c: v08, d: v13 } = (0, _blake_ts_1.G1s)(v02, v07, v08, v13, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v07, c: v08, d: v13 } = (0, _blake_ts_1.G2s)(v02, v07, v08, v13, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v04, c: v09, d: v14 } = (0, _blake_ts_1.G1s)(v03, v04, v09, v14, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v04, c: v09, d: v14 } = (0, _blake_ts_1.G2s)(v03, v04, v09, v14, BLAKE256_W[_blake_ts_1.BSIGMA[k++]] ^ TBL256[j++])); + } + this.v0 = (this.v0 ^ v00 ^ v08 ^ this.salt[0]) >>> 0; + this.v1 = (this.v1 ^ v01 ^ v09 ^ this.salt[1]) >>> 0; + this.v2 = (this.v2 ^ v02 ^ v10 ^ this.salt[2]) >>> 0; + this.v3 = (this.v3 ^ v03 ^ v11 ^ this.salt[3]) >>> 0; + this.v4 = (this.v4 ^ v04 ^ v12 ^ this.salt[0]) >>> 0; + this.v5 = (this.v5 ^ v05 ^ v13 ^ this.salt[1]) >>> 0; + this.v6 = (this.v6 ^ v06 ^ v14 ^ this.salt[2]) >>> 0; + this.v7 = (this.v7 ^ v07 ^ v15 ^ this.salt[3]) >>> 0; + (0, utils_ts_1.clean)(BLAKE256_W); + } +} +const BBUF = /* @__PURE__ */ new Uint32Array(32); +const BLAKE512_W = /* @__PURE__ */ new Uint32Array(32); +function generateTBL512() { + const TBL = []; + for (let r = 0, k = 0; r < 16; r++, k += 16) { + for (let offset = 1; offset < 16; offset += 2) { + TBL.push(B64C[_blake_ts_1.BSIGMA[k + offset] * 2 + 0]); + TBL.push(B64C[_blake_ts_1.BSIGMA[k + offset] * 2 + 1]); + TBL.push(B64C[_blake_ts_1.BSIGMA[k + offset - 1] * 2 + 0]); + TBL.push(B64C[_blake_ts_1.BSIGMA[k + offset - 1] * 2 + 1]); + } + } + return new Uint32Array(TBL); +} +const TBL512 = /* @__PURE__ */ generateTBL512(); // C512[SIGMA[X]] precompute +// Mixing function G splitted in two halfs +function G1b(a, b, c, d, msg, k) { + const Xpos = 2 * _blake_ts_1.BSIGMA[k]; + const Xl = msg[Xpos + 1] ^ TBL512[k * 2 + 1], Xh = msg[Xpos] ^ TBL512[k * 2]; // prettier-ignore + let Al = BBUF[2 * a + 1], Ah = BBUF[2 * a]; // prettier-ignore + let Bl = BBUF[2 * b + 1], Bh = BBUF[2 * b]; // prettier-ignore + let Cl = BBUF[2 * c + 1], Ch = BBUF[2 * c]; // prettier-ignore + let Dl = BBUF[2 * d + 1], Dh = BBUF[2 * d]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh) >>> 0; + Al = (ll | 0) >>> 0; + // v[d] = rotr(v[d] ^ v[a], 32) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotr32H(Dh, Dl), Dl: u64.rotr32L(Dh, Dl) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 25) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 25), Bl: u64.rotrSL(Bh, Bl, 25) }); + (BBUF[2 * a + 1] = Al), (BBUF[2 * a] = Ah); + (BBUF[2 * b + 1] = Bl), (BBUF[2 * b] = Bh); + (BBUF[2 * c + 1] = Cl), (BBUF[2 * c] = Ch); + (BBUF[2 * d + 1] = Dl), (BBUF[2 * d] = Dh); +} +function G2b(a, b, c, d, msg, k) { + const Xpos = 2 * _blake_ts_1.BSIGMA[k]; + const Xl = msg[Xpos + 1] ^ TBL512[k * 2 + 1], Xh = msg[Xpos] ^ TBL512[k * 2]; // prettier-ignore + let Al = BBUF[2 * a + 1], Ah = BBUF[2 * a]; // prettier-ignore + let Bl = BBUF[2 * b + 1], Bh = BBUF[2 * b]; // prettier-ignore + let Cl = BBUF[2 * c + 1], Ch = BBUF[2 * c]; // prettier-ignore + let Dl = BBUF[2 * d + 1], Dh = BBUF[2 * d]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh); + Al = ll | 0; + // v[d] = rotr(v[d] ^ v[a], 16) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotrSH(Dh, Dl, 16), Dl: u64.rotrSL(Dh, Dl, 16) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 11) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 11), Bl: u64.rotrSL(Bh, Bl, 11) }); + (BBUF[2 * a + 1] = Al), (BBUF[2 * a] = Ah); + (BBUF[2 * b + 1] = Bl), (BBUF[2 * b] = Bh); + (BBUF[2 * c + 1] = Cl), (BBUF[2 * c] = Ch); + (BBUF[2 * d + 1] = Dl), (BBUF[2 * d] = Dh); +} +class Blake1_64 extends BLAKE1 { + constructor(outputLen, IV, lengthFlag, opts = {}) { + super(128, outputLen, lengthFlag, 16, 8, B64C, opts); + this.v0l = IV[0] | 0; + this.v0h = IV[1] | 0; + this.v1l = IV[2] | 0; + this.v1h = IV[3] | 0; + this.v2l = IV[4] | 0; + this.v2h = IV[5] | 0; + this.v3l = IV[6] | 0; + this.v3h = IV[7] | 0; + this.v4l = IV[8] | 0; + this.v4h = IV[9] | 0; + this.v5l = IV[10] | 0; + this.v5h = IV[11] | 0; + this.v6l = IV[12] | 0; + this.v6h = IV[13] | 0; + this.v7l = IV[14] | 0; + this.v7h = IV[15] | 0; + } + // prettier-ignore + get() { + let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this; + return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h]; + } + // prettier-ignore + set(v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h) { + this.v0l = v0l | 0; + this.v0h = v0h | 0; + this.v1l = v1l | 0; + this.v1h = v1h | 0; + this.v2l = v2l | 0; + this.v2h = v2h | 0; + this.v3l = v3l | 0; + this.v3h = v3h | 0; + this.v4l = v4l | 0; + this.v4h = v4h | 0; + this.v5l = v5l | 0; + this.v5h = v5h | 0; + this.v6l = v6l | 0; + this.v6h = v6h | 0; + this.v7l = v7l | 0; + this.v7h = v7h | 0; + } + destroy() { + super.destroy(); + this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + } + compress(view, offset, withLength = true) { + for (let i = 0; i < 32; i++, offset += 4) + BLAKE512_W[i] = view.getUint32(offset, false); + this.get().forEach((v, i) => (BBUF[i] = v)); // First half from state. + BBUF.set(this.constants.subarray(0, 16), 16); + if (withLength) { + const { h, l } = u64.fromBig(BigInt(this.length * 8)); + BBUF[24] = (BBUF[24] ^ h) >>> 0; + BBUF[25] = (BBUF[25] ^ l) >>> 0; + BBUF[26] = (BBUF[26] ^ h) >>> 0; + BBUF[27] = (BBUF[27] ^ l) >>> 0; + } + for (let i = 0, k = 0; i < 16; i++) { + G1b(0, 4, 8, 12, BLAKE512_W, k++); + G2b(0, 4, 8, 12, BLAKE512_W, k++); + G1b(1, 5, 9, 13, BLAKE512_W, k++); + G2b(1, 5, 9, 13, BLAKE512_W, k++); + G1b(2, 6, 10, 14, BLAKE512_W, k++); + G2b(2, 6, 10, 14, BLAKE512_W, k++); + G1b(3, 7, 11, 15, BLAKE512_W, k++); + G2b(3, 7, 11, 15, BLAKE512_W, k++); + G1b(0, 5, 10, 15, BLAKE512_W, k++); + G2b(0, 5, 10, 15, BLAKE512_W, k++); + G1b(1, 6, 11, 12, BLAKE512_W, k++); + G2b(1, 6, 11, 12, BLAKE512_W, k++); + G1b(2, 7, 8, 13, BLAKE512_W, k++); + G2b(2, 7, 8, 13, BLAKE512_W, k++); + G1b(3, 4, 9, 14, BLAKE512_W, k++); + G2b(3, 4, 9, 14, BLAKE512_W, k++); + } + this.v0l ^= BBUF[0] ^ BBUF[16] ^ this.salt[0]; + this.v0h ^= BBUF[1] ^ BBUF[17] ^ this.salt[1]; + this.v1l ^= BBUF[2] ^ BBUF[18] ^ this.salt[2]; + this.v1h ^= BBUF[3] ^ BBUF[19] ^ this.salt[3]; + this.v2l ^= BBUF[4] ^ BBUF[20] ^ this.salt[4]; + this.v2h ^= BBUF[5] ^ BBUF[21] ^ this.salt[5]; + this.v3l ^= BBUF[6] ^ BBUF[22] ^ this.salt[6]; + this.v3h ^= BBUF[7] ^ BBUF[23] ^ this.salt[7]; + this.v4l ^= BBUF[8] ^ BBUF[24] ^ this.salt[0]; + this.v4h ^= BBUF[9] ^ BBUF[25] ^ this.salt[1]; + this.v5l ^= BBUF[10] ^ BBUF[26] ^ this.salt[2]; + this.v5h ^= BBUF[11] ^ BBUF[27] ^ this.salt[3]; + this.v6l ^= BBUF[12] ^ BBUF[28] ^ this.salt[4]; + this.v6h ^= BBUF[13] ^ BBUF[29] ^ this.salt[5]; + this.v7l ^= BBUF[14] ^ BBUF[30] ^ this.salt[6]; + this.v7h ^= BBUF[15] ^ BBUF[31] ^ this.salt[7]; + (0, utils_ts_1.clean)(BBUF, BLAKE512_W); + } +} +class BLAKE224 extends Blake1_32 { + constructor(opts = {}) { + super(28, B224_IV, 0, opts); + } +} +exports.BLAKE224 = BLAKE224; +class BLAKE256 extends Blake1_32 { + constructor(opts = {}) { + super(32, B256_IV, 1, opts); + } +} +exports.BLAKE256 = BLAKE256; +class BLAKE384 extends Blake1_64 { + constructor(opts = {}) { + super(48, B384_IV, 0, opts); + } +} +exports.BLAKE384 = BLAKE384; +class BLAKE512 extends Blake1_64 { + constructor(opts = {}) { + super(64, B512_IV, 1, opts); + } +} +exports.BLAKE512 = BLAKE512; +/** blake1-224 hash function */ +exports.blake224 = (0, utils_ts_1.createOptHasher)((opts) => new BLAKE224(opts)); +/** blake1-256 hash function */ +exports.blake256 = (0, utils_ts_1.createOptHasher)((opts) => new BLAKE256(opts)); +/** blake1-384 hash function */ +exports.blake384 = (0, utils_ts_1.createOptHasher)((opts) => new BLAKE384(opts)); +/** blake1-512 hash function */ +exports.blake512 = (0, utils_ts_1.createOptHasher)((opts) => new BLAKE512(opts)); +//# sourceMappingURL=blake1.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake1.js.map b/node_modules/@noble/hashes/blake1.js.map new file mode 100644 index 0000000..314f7a8 --- /dev/null +++ b/node_modules/@noble/hashes/blake1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake1.js","sourceRoot":"","sources":["src/blake1.ts"],"names":[],"mappings":"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AAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAA,gBAAK,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAa,QAAS,SAAQ,SAAS;IACrC,YAAY,OAAkB,EAAE;QAC9B,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,4BAIC;AACD,MAAa,QAAS,SAAQ,SAAS;IACrC,YAAY,OAAkB,EAAE;QAC9B,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,4BAIC;AACD,MAAa,QAAS,SAAQ,SAAS;IACrC,YAAY,OAAkB,EAAE;QAC9B,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,4BAIC;AACD,MAAa,QAAS,SAAQ,SAAS;IACrC,YAAY,OAAkB,EAAE;QAC9B,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,4BAIC;AACD,+BAA+B;AAClB,QAAA,QAAQ,GAA2B,IAAA,0BAAe,EAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC;AACF,+BAA+B;AAClB,QAAA,QAAQ,GAA2B,IAAA,0BAAe,EAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC;AACF,+BAA+B;AAClB,QAAA,QAAQ,GAA2B,IAAA,0BAAe,EAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC;AACF,+BAA+B;AAClB,QAAA,QAAQ,GAA2B,IAAA,0BAAe,EAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2.d.ts b/node_modules/@noble/hashes/blake2.d.ts new file mode 100644 index 0000000..ea6ae41 --- /dev/null +++ b/node_modules/@noble/hashes/blake2.d.ts @@ -0,0 +1,116 @@ +import { Hash, type CHashO, type Input } from './utils.ts'; +/** Blake hash options. dkLen is output length. key is used in MAC mode. salt is used in KDF mode. */ +export type Blake2Opts = { + dkLen?: number; + key?: Input; + salt?: Input; + personalization?: Input; +}; +/** Class, from which others are subclassed. */ +export declare abstract class BLAKE2> extends Hash { + protected abstract compress(msg: Uint32Array, offset: number, isLast: boolean): void; + protected abstract get(): number[]; + protected abstract set(...args: number[]): void; + abstract destroy(): void; + protected buffer: Uint8Array; + protected buffer32: Uint32Array; + protected finished: boolean; + protected destroyed: boolean; + protected length: number; + protected pos: number; + readonly blockLen: number; + readonly outputLen: number; + constructor(blockLen: number, outputLen: number); + update(data: Input): this; + digestInto(out: Uint8Array): void; + digest(): Uint8Array; + _cloneInto(to?: T): T; + clone(): T; +} +export declare class BLAKE2b extends BLAKE2 { + private v0l; + private v0h; + private v1l; + private v1h; + private v2l; + private v2h; + private v3l; + private v3h; + private v4l; + private v4h; + private v5l; + private v5h; + private v6l; + private v6h; + private v7l; + private v7h; + constructor(opts?: Blake2Opts); + protected get(): [ + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; + protected set(v0l: number, v0h: number, v1l: number, v1h: number, v2l: number, v2h: number, v3l: number, v3h: number, v4l: number, v4h: number, v5l: number, v5h: number, v6l: number, v6h: number, v7l: number, v7h: number): void; + protected compress(msg: Uint32Array, offset: number, isLast: boolean): void; + destroy(): void; +} +/** + * Blake2b hash function. 64-bit. 1.5x slower than blake2s in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +export declare const blake2b: CHashO; +export type Num16 = { + v0: number; + v1: number; + v2: number; + v3: number; + v4: number; + v5: number; + v6: number; + v7: number; + v8: number; + v9: number; + v10: number; + v11: number; + v12: number; + v13: number; + v14: number; + v15: number; +}; +export declare function compress(s: Uint8Array, offset: number, msg: Uint32Array, rounds: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number, v10: number, v11: number, v12: number, v13: number, v14: number, v15: number): Num16; +export declare class BLAKE2s extends BLAKE2 { + private v0; + private v1; + private v2; + private v3; + private v4; + private v5; + private v6; + private v7; + constructor(opts?: Blake2Opts); + protected get(): [number, number, number, number, number, number, number, number]; + protected set(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number): void; + protected compress(msg: Uint32Array, offset: number, isLast: boolean): void; + destroy(): void; +} +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. 1.5x faster than blake2b in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +export declare const blake2s: CHashO; +//# sourceMappingURL=blake2.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2.d.ts.map b/node_modules/@noble/hashes/blake2.d.ts.map new file mode 100644 index 0000000..f7d88d1 --- /dev/null +++ b/node_modules/@noble/hashes/blake2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2.d.ts","sourceRoot":"","sources":["src/blake2.ts"],"names":[],"mappings":"AASA,OAAO,EAEmB,IAAI,EAC5B,KAAK,MAAM,EAAE,KAAK,KAAK,EACxB,MAAM,YAAY,CAAC;AAEpB,qGAAqG;AACrG,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,eAAe,CAAC,EAAE,KAAK,CAAC;CACzB,CAAC;AA+EF,+CAA+C;AAC/C,8BAAsB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IACpF,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,EAAE;IAClC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAC/C,QAAQ,CAAC,OAAO,IAAI,IAAI;IACxB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;IAChC,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAK;IAC7B,SAAS,CAAC,GAAG,EAAE,MAAM,CAAK;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAS/C,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAwCzB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAajC,MAAM,IAAI,UAAU;IAOpB,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAarB,KAAK,IAAI,CAAC;CAGX;AAED,qBAAa,OAAQ,SAAQ,MAAM,CAAC,OAAO,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,GAAG,CAAkB;gBAEjB,IAAI,GAAE,UAAe;IAmCjC,SAAS,CAAC,GAAG,IAAI;QACf,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAC9D,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAC/D;IAKD,SAAS,CAAC,GAAG,CACX,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAClD,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAClD,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAClD,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GACjD,IAAI;IAkBP,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAkD3E,OAAO,IAAI,IAAI;CAKhB;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,MAErB,CAAC;AAOF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAC/C,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAC/C,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IACjD,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;CACpD,CAAC;AAGF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EACtF,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAC9F,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GACnG,KAAK,CAsBP;AAGD,qBAAa,OAAQ,SAAQ,MAAM,CAAC,OAAO,CAAC;IAE1C,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,EAAE,CAAiB;gBAEf,IAAI,GAAE,UAAe;IA+BjC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAKjF,SAAS,CAAC,GAAG,CACX,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAC7F,IAAI;IAUP,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAkB3E,OAAO,IAAI,IAAI;CAKhB;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,MAErB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2.js b/node_modules/@noble/hashes/blake2.js new file mode 100644 index 0000000..3b2a048 --- /dev/null +++ b/node_modules/@noble/hashes/blake2.js @@ -0,0 +1,420 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.blake2s = exports.BLAKE2s = exports.blake2b = exports.BLAKE2b = exports.BLAKE2 = void 0; +exports.compress = compress; +/** + * blake2b (64-bit) & blake2s (8 to 32-bit) hash functions. + * b could have been faster, but there is no fast u64 in js, so s is 1.5x faster. + * @module + */ +const _blake_ts_1 = require("./_blake.js"); +const _md_ts_1 = require("./_md.js"); +const u64 = require("./_u64.js"); +// prettier-ignore +const utils_ts_1 = require("./utils.js"); +// Same as SHA512_IV, but swapped endianness: LE instead of BE. iv[1] is iv[0], etc. +const B2B_IV = /* @__PURE__ */ Uint32Array.from([ + 0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372, 0x5f1d36f1, 0xa54ff53a, + 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c, 0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19, +]); +// Temporary buffer +const BBUF = /* @__PURE__ */ new Uint32Array(32); +// Mixing function G splitted in two halfs +function G1b(a, b, c, d, msg, x) { + // NOTE: V is LE here + const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore + let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore + let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore + let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore + let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh); + Al = ll | 0; + // v[d] = rotr(v[d] ^ v[a], 32) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotr32H(Dh, Dl), Dl: u64.rotr32L(Dh, Dl) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 24) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 24), Bl: u64.rotrSL(Bh, Bl, 24) }); + (BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah); + (BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh); + (BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch); + (BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh); +} +function G2b(a, b, c, d, msg, x) { + // NOTE: V is LE here + const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore + let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore + let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore + let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore + let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh); + Al = ll | 0; + // v[d] = rotr(v[d] ^ v[a], 16) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotrSH(Dh, Dl, 16), Dl: u64.rotrSL(Dh, Dl, 16) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 63) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrBH(Bh, Bl, 63), Bl: u64.rotrBL(Bh, Bl, 63) }); + (BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah); + (BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh); + (BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch); + (BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh); +} +function checkBlake2Opts(outputLen, opts = {}, keyLen, saltLen, persLen) { + (0, utils_ts_1.anumber)(keyLen); + if (outputLen < 0 || outputLen > keyLen) + throw new Error('outputLen bigger than keyLen'); + const { key, salt, personalization } = opts; + if (key !== undefined && (key.length < 1 || key.length > keyLen)) + throw new Error('key length must be undefined or 1..' + keyLen); + if (salt !== undefined && salt.length !== saltLen) + throw new Error('salt must be undefined or ' + saltLen); + if (personalization !== undefined && personalization.length !== persLen) + throw new Error('personalization must be undefined or ' + persLen); +} +/** Class, from which others are subclassed. */ +class BLAKE2 extends utils_ts_1.Hash { + constructor(blockLen, outputLen) { + super(); + this.finished = false; + this.destroyed = false; + this.length = 0; + this.pos = 0; + (0, utils_ts_1.anumber)(blockLen); + (0, utils_ts_1.anumber)(outputLen); + this.blockLen = blockLen; + this.outputLen = outputLen; + this.buffer = new Uint8Array(blockLen); + this.buffer32 = (0, utils_ts_1.u32)(this.buffer); + } + update(data) { + (0, utils_ts_1.aexists)(this); + data = (0, utils_ts_1.toBytes)(data); + (0, utils_ts_1.abytes)(data); + // Main difference with other hashes: there is flag for last block, + // so we cannot process current block before we know that there + // is the next one. This significantly complicates logic and reduces ability + // to do zero-copy processing + const { blockLen, buffer, buffer32 } = this; + const len = data.length; + const offset = data.byteOffset; + const buf = data.buffer; + for (let pos = 0; pos < len;) { + // If buffer is full and we still have input (don't process last block, same as blake2s) + if (this.pos === blockLen) { + (0, utils_ts_1.swap32IfBE)(buffer32); + this.compress(buffer32, 0, false); + (0, utils_ts_1.swap32IfBE)(buffer32); + this.pos = 0; + } + const take = Math.min(blockLen - this.pos, len - pos); + const dataOffset = offset + pos; + // full block && aligned to 4 bytes && not last in input + if (take === blockLen && !(dataOffset % 4) && pos + take < len) { + const data32 = new Uint32Array(buf, dataOffset, Math.floor((len - pos) / 4)); + (0, utils_ts_1.swap32IfBE)(data32); + for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) { + this.length += blockLen; + this.compress(data32, pos32, false); + } + (0, utils_ts_1.swap32IfBE)(data32); + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + this.length += take; + pos += take; + } + return this; + } + digestInto(out) { + (0, utils_ts_1.aexists)(this); + (0, utils_ts_1.aoutput)(out, this); + const { pos, buffer32 } = this; + this.finished = true; + // Padding + (0, utils_ts_1.clean)(this.buffer.subarray(pos)); + (0, utils_ts_1.swap32IfBE)(buffer32); + this.compress(buffer32, 0, true); + (0, utils_ts_1.swap32IfBE)(buffer32); + const out32 = (0, utils_ts_1.u32)(out); + this.get().forEach((v, i) => (out32[i] = (0, utils_ts_1.swap8IfBE)(v))); + } + digest() { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } + _cloneInto(to) { + const { buffer, length, finished, destroyed, outputLen, pos } = this; + to || (to = new this.constructor({ dkLen: outputLen })); + to.set(...this.get()); + to.buffer.set(buffer); + to.destroyed = destroyed; + to.finished = finished; + to.length = length; + to.pos = pos; + // @ts-ignore + to.outputLen = outputLen; + return to; + } + clone() { + return this._cloneInto(); + } +} +exports.BLAKE2 = BLAKE2; +class BLAKE2b extends BLAKE2 { + constructor(opts = {}) { + const olen = opts.dkLen === undefined ? 64 : opts.dkLen; + super(128, olen); + // Same as SHA-512, but LE + this.v0l = B2B_IV[0] | 0; + this.v0h = B2B_IV[1] | 0; + this.v1l = B2B_IV[2] | 0; + this.v1h = B2B_IV[3] | 0; + this.v2l = B2B_IV[4] | 0; + this.v2h = B2B_IV[5] | 0; + this.v3l = B2B_IV[6] | 0; + this.v3h = B2B_IV[7] | 0; + this.v4l = B2B_IV[8] | 0; + this.v4h = B2B_IV[9] | 0; + this.v5l = B2B_IV[10] | 0; + this.v5h = B2B_IV[11] | 0; + this.v6l = B2B_IV[12] | 0; + this.v6h = B2B_IV[13] | 0; + this.v7l = B2B_IV[14] | 0; + this.v7h = B2B_IV[15] | 0; + checkBlake2Opts(olen, opts, 64, 16, 16); + let { key, personalization, salt } = opts; + let keyLength = 0; + if (key !== undefined) { + key = (0, utils_ts_1.toBytes)(key); + keyLength = key.length; + } + this.v0l ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24); + if (salt !== undefined) { + salt = (0, utils_ts_1.toBytes)(salt); + const slt = (0, utils_ts_1.u32)(salt); + this.v4l ^= (0, utils_ts_1.swap8IfBE)(slt[0]); + this.v4h ^= (0, utils_ts_1.swap8IfBE)(slt[1]); + this.v5l ^= (0, utils_ts_1.swap8IfBE)(slt[2]); + this.v5h ^= (0, utils_ts_1.swap8IfBE)(slt[3]); + } + if (personalization !== undefined) { + personalization = (0, utils_ts_1.toBytes)(personalization); + const pers = (0, utils_ts_1.u32)(personalization); + this.v6l ^= (0, utils_ts_1.swap8IfBE)(pers[0]); + this.v6h ^= (0, utils_ts_1.swap8IfBE)(pers[1]); + this.v7l ^= (0, utils_ts_1.swap8IfBE)(pers[2]); + this.v7h ^= (0, utils_ts_1.swap8IfBE)(pers[3]); + } + if (key !== undefined) { + // Pad to blockLen and update + const tmp = new Uint8Array(this.blockLen); + tmp.set(key); + this.update(tmp); + } + } + // prettier-ignore + get() { + let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this; + return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h]; + } + // prettier-ignore + set(v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h) { + this.v0l = v0l | 0; + this.v0h = v0h | 0; + this.v1l = v1l | 0; + this.v1h = v1h | 0; + this.v2l = v2l | 0; + this.v2h = v2h | 0; + this.v3l = v3l | 0; + this.v3h = v3h | 0; + this.v4l = v4l | 0; + this.v4h = v4h | 0; + this.v5l = v5l | 0; + this.v5h = v5h | 0; + this.v6l = v6l | 0; + this.v6h = v6h | 0; + this.v7l = v7l | 0; + this.v7h = v7h | 0; + } + compress(msg, offset, isLast) { + this.get().forEach((v, i) => (BBUF[i] = v)); // First half from state. + BBUF.set(B2B_IV, 16); // Second half from IV. + let { h, l } = u64.fromBig(BigInt(this.length)); + BBUF[24] = B2B_IV[8] ^ l; // Low word of the offset. + BBUF[25] = B2B_IV[9] ^ h; // High word. + // Invert all bits for last block + if (isLast) { + BBUF[28] = ~BBUF[28]; + BBUF[29] = ~BBUF[29]; + } + let j = 0; + const s = _blake_ts_1.BSIGMA; + for (let i = 0; i < 12; i++) { + G1b(0, 4, 8, 12, msg, offset + 2 * s[j++]); + G2b(0, 4, 8, 12, msg, offset + 2 * s[j++]); + G1b(1, 5, 9, 13, msg, offset + 2 * s[j++]); + G2b(1, 5, 9, 13, msg, offset + 2 * s[j++]); + G1b(2, 6, 10, 14, msg, offset + 2 * s[j++]); + G2b(2, 6, 10, 14, msg, offset + 2 * s[j++]); + G1b(3, 7, 11, 15, msg, offset + 2 * s[j++]); + G2b(3, 7, 11, 15, msg, offset + 2 * s[j++]); + G1b(0, 5, 10, 15, msg, offset + 2 * s[j++]); + G2b(0, 5, 10, 15, msg, offset + 2 * s[j++]); + G1b(1, 6, 11, 12, msg, offset + 2 * s[j++]); + G2b(1, 6, 11, 12, msg, offset + 2 * s[j++]); + G1b(2, 7, 8, 13, msg, offset + 2 * s[j++]); + G2b(2, 7, 8, 13, msg, offset + 2 * s[j++]); + G1b(3, 4, 9, 14, msg, offset + 2 * s[j++]); + G2b(3, 4, 9, 14, msg, offset + 2 * s[j++]); + } + this.v0l ^= BBUF[0] ^ BBUF[16]; + this.v0h ^= BBUF[1] ^ BBUF[17]; + this.v1l ^= BBUF[2] ^ BBUF[18]; + this.v1h ^= BBUF[3] ^ BBUF[19]; + this.v2l ^= BBUF[4] ^ BBUF[20]; + this.v2h ^= BBUF[5] ^ BBUF[21]; + this.v3l ^= BBUF[6] ^ BBUF[22]; + this.v3h ^= BBUF[7] ^ BBUF[23]; + this.v4l ^= BBUF[8] ^ BBUF[24]; + this.v4h ^= BBUF[9] ^ BBUF[25]; + this.v5l ^= BBUF[10] ^ BBUF[26]; + this.v5h ^= BBUF[11] ^ BBUF[27]; + this.v6l ^= BBUF[12] ^ BBUF[28]; + this.v6h ^= BBUF[13] ^ BBUF[29]; + this.v7l ^= BBUF[14] ^ BBUF[30]; + this.v7h ^= BBUF[15] ^ BBUF[31]; + (0, utils_ts_1.clean)(BBUF); + } + destroy() { + this.destroyed = true; + (0, utils_ts_1.clean)(this.buffer32); + this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + } +} +exports.BLAKE2b = BLAKE2b; +/** + * Blake2b hash function. 64-bit. 1.5x slower than blake2s in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +exports.blake2b = (0, utils_ts_1.createOptHasher)((opts) => new BLAKE2b(opts)); +// prettier-ignore +function compress(s, offset, msg, rounds, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) { + let j = 0; + for (let i = 0; i < rounds; i++) { + ({ a: v0, b: v4, c: v8, d: v12 } = (0, _blake_ts_1.G1s)(v0, v4, v8, v12, msg[offset + s[j++]])); + ({ a: v0, b: v4, c: v8, d: v12 } = (0, _blake_ts_1.G2s)(v0, v4, v8, v12, msg[offset + s[j++]])); + ({ a: v1, b: v5, c: v9, d: v13 } = (0, _blake_ts_1.G1s)(v1, v5, v9, v13, msg[offset + s[j++]])); + ({ a: v1, b: v5, c: v9, d: v13 } = (0, _blake_ts_1.G2s)(v1, v5, v9, v13, msg[offset + s[j++]])); + ({ a: v2, b: v6, c: v10, d: v14 } = (0, _blake_ts_1.G1s)(v2, v6, v10, v14, msg[offset + s[j++]])); + ({ a: v2, b: v6, c: v10, d: v14 } = (0, _blake_ts_1.G2s)(v2, v6, v10, v14, msg[offset + s[j++]])); + ({ a: v3, b: v7, c: v11, d: v15 } = (0, _blake_ts_1.G1s)(v3, v7, v11, v15, msg[offset + s[j++]])); + ({ a: v3, b: v7, c: v11, d: v15 } = (0, _blake_ts_1.G2s)(v3, v7, v11, v15, msg[offset + s[j++]])); + ({ a: v0, b: v5, c: v10, d: v15 } = (0, _blake_ts_1.G1s)(v0, v5, v10, v15, msg[offset + s[j++]])); + ({ a: v0, b: v5, c: v10, d: v15 } = (0, _blake_ts_1.G2s)(v0, v5, v10, v15, msg[offset + s[j++]])); + ({ a: v1, b: v6, c: v11, d: v12 } = (0, _blake_ts_1.G1s)(v1, v6, v11, v12, msg[offset + s[j++]])); + ({ a: v1, b: v6, c: v11, d: v12 } = (0, _blake_ts_1.G2s)(v1, v6, v11, v12, msg[offset + s[j++]])); + ({ a: v2, b: v7, c: v8, d: v13 } = (0, _blake_ts_1.G1s)(v2, v7, v8, v13, msg[offset + s[j++]])); + ({ a: v2, b: v7, c: v8, d: v13 } = (0, _blake_ts_1.G2s)(v2, v7, v8, v13, msg[offset + s[j++]])); + ({ a: v3, b: v4, c: v9, d: v14 } = (0, _blake_ts_1.G1s)(v3, v4, v9, v14, msg[offset + s[j++]])); + ({ a: v3, b: v4, c: v9, d: v14 } = (0, _blake_ts_1.G2s)(v3, v4, v9, v14, msg[offset + s[j++]])); + } + return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 }; +} +const B2S_IV = _md_ts_1.SHA256_IV; +class BLAKE2s extends BLAKE2 { + constructor(opts = {}) { + const olen = opts.dkLen === undefined ? 32 : opts.dkLen; + super(64, olen); + // Internal state, same as SHA-256 + this.v0 = B2S_IV[0] | 0; + this.v1 = B2S_IV[1] | 0; + this.v2 = B2S_IV[2] | 0; + this.v3 = B2S_IV[3] | 0; + this.v4 = B2S_IV[4] | 0; + this.v5 = B2S_IV[5] | 0; + this.v6 = B2S_IV[6] | 0; + this.v7 = B2S_IV[7] | 0; + checkBlake2Opts(olen, opts, 32, 8, 8); + let { key, personalization, salt } = opts; + let keyLength = 0; + if (key !== undefined) { + key = (0, utils_ts_1.toBytes)(key); + keyLength = key.length; + } + this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24); + if (salt !== undefined) { + salt = (0, utils_ts_1.toBytes)(salt); + const slt = (0, utils_ts_1.u32)(salt); + this.v4 ^= (0, utils_ts_1.swap8IfBE)(slt[0]); + this.v5 ^= (0, utils_ts_1.swap8IfBE)(slt[1]); + } + if (personalization !== undefined) { + personalization = (0, utils_ts_1.toBytes)(personalization); + const pers = (0, utils_ts_1.u32)(personalization); + this.v6 ^= (0, utils_ts_1.swap8IfBE)(pers[0]); + this.v7 ^= (0, utils_ts_1.swap8IfBE)(pers[1]); + } + if (key !== undefined) { + // Pad to blockLen and update + (0, utils_ts_1.abytes)(key); + const tmp = new Uint8Array(this.blockLen); + tmp.set(key); + this.update(tmp); + } + } + get() { + const { v0, v1, v2, v3, v4, v5, v6, v7 } = this; + return [v0, v1, v2, v3, v4, v5, v6, v7]; + } + // prettier-ignore + set(v0, v1, v2, v3, v4, v5, v6, v7) { + this.v0 = v0 | 0; + this.v1 = v1 | 0; + this.v2 = v2 | 0; + this.v3 = v3 | 0; + this.v4 = v4 | 0; + this.v5 = v5 | 0; + this.v6 = v6 | 0; + this.v7 = v7 | 0; + } + compress(msg, offset, isLast) { + const { h, l } = u64.fromBig(BigInt(this.length)); + // prettier-ignore + const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(_blake_ts_1.BSIGMA, offset, msg, 10, this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, B2S_IV[0], B2S_IV[1], B2S_IV[2], B2S_IV[3], l ^ B2S_IV[4], h ^ B2S_IV[5], isLast ? ~B2S_IV[6] : B2S_IV[6], B2S_IV[7]); + this.v0 ^= v0 ^ v8; + this.v1 ^= v1 ^ v9; + this.v2 ^= v2 ^ v10; + this.v3 ^= v3 ^ v11; + this.v4 ^= v4 ^ v12; + this.v5 ^= v5 ^ v13; + this.v6 ^= v6 ^ v14; + this.v7 ^= v7 ^ v15; + } + destroy() { + this.destroyed = true; + (0, utils_ts_1.clean)(this.buffer32); + this.set(0, 0, 0, 0, 0, 0, 0, 0); + } +} +exports.BLAKE2s = BLAKE2s; +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. 1.5x faster than blake2b in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +exports.blake2s = (0, utils_ts_1.createOptHasher)((opts) => new BLAKE2s(opts)); +//# sourceMappingURL=blake2.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2.js.map b/node_modules/@noble/hashes/blake2.js.map new file mode 100644 index 0000000..8849793 --- /dev/null +++ b/node_modules/@noble/hashes/blake2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2.js","sourceRoot":"","sources":["src/blake2.ts"],"names":[],"mappings":"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C,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO;QACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAA,gBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AA5ID,0BA4IC;AAED;;;;GAIG;AACU,QAAA,OAAO,GAA2B,IAAA,0BAAe,EAC5D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAC5B,CAAC;AAcF,kBAAkB;AAClB,SAAgB,QAAQ,CAAC,CAAa,EAAE,MAAc,EAAE,GAAgB,EAAE,MAAc,EACtF,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAC9F,EAAU,EAAE,EAAU,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;IAEpG,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,M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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2b.d.ts b/node_modules/@noble/hashes/blake2b.d.ts new file mode 100644 index 0000000..a9ea37e --- /dev/null +++ b/node_modules/@noble/hashes/blake2b.d.ts @@ -0,0 +1,11 @@ +/** + * Blake2b hash function. Focuses on 64-bit platforms, but in JS speed different from Blake2s is negligible. + * @module + * @deprecated + */ +import { BLAKE2b as B2B, blake2b as b2b } from './blake2.ts'; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const BLAKE2b: typeof B2B; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const blake2b: typeof b2b; +//# sourceMappingURL=blake2b.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2b.d.ts.map b/node_modules/@noble/hashes/blake2b.d.ts.map new file mode 100644 index 0000000..3b1ad51 --- /dev/null +++ b/node_modules/@noble/hashes/blake2b.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2b.d.ts","sourceRoot":"","sources":["src/blake2b.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7D,+DAA+D;AAC/D,eAAO,MAAM,OAAO,EAAE,OAAO,GAAS,CAAC;AACvC,+DAA+D;AAC/D,eAAO,MAAM,OAAO,EAAE,OAAO,GAAS,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2b.js b/node_modules/@noble/hashes/blake2b.js new file mode 100644 index 0000000..18cdcca --- /dev/null +++ b/node_modules/@noble/hashes/blake2b.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.blake2b = exports.BLAKE2b = void 0; +/** + * Blake2b hash function. Focuses on 64-bit platforms, but in JS speed different from Blake2s is negligible. + * @module + * @deprecated + */ +const blake2_ts_1 = require("./blake2.js"); +/** @deprecated Use import from `noble/hashes/blake2` module */ +exports.BLAKE2b = blake2_ts_1.BLAKE2b; +/** @deprecated Use import from `noble/hashes/blake2` module */ +exports.blake2b = blake2_ts_1.blake2b; +//# sourceMappingURL=blake2b.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2b.js.map b/node_modules/@noble/hashes/blake2b.js.map new file mode 100644 index 0000000..65282ad --- /dev/null +++ b/node_modules/@noble/hashes/blake2b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2b.js","sourceRoot":"","sources":["src/blake2b.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,2CAA6D;AAC7D,+DAA+D;AAClD,QAAA,OAAO,GAAe,mBAAG,CAAC;AACvC,+DAA+D;AAClD,QAAA,OAAO,GAAe,mBAAG,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2s.d.ts b/node_modules/@noble/hashes/blake2s.d.ts new file mode 100644 index 0000000..6720f35 --- /dev/null +++ b/node_modules/@noble/hashes/blake2s.d.ts @@ -0,0 +1,20 @@ +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. blake2b for 64-bit, but in JS it is slower. + * @module + * @deprecated + */ +import { G1s as G1s_n, G2s as G2s_n } from './_blake.ts'; +import { BLAKE2s as B2S, blake2s as b2s, compress as compress_n } from './blake2.ts'; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const B2S_IV: Uint32Array; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const G1s: typeof G1s_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const G2s: typeof G2s_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const compress: typeof compress_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const BLAKE2s: typeof B2S; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const blake2s: typeof b2s; +//# sourceMappingURL=blake2s.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2s.d.ts.map b/node_modules/@noble/hashes/blake2s.d.ts.map new file mode 100644 index 0000000..9a54568 --- /dev/null +++ b/node_modules/@noble/hashes/blake2s.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2s.d.ts","sourceRoot":"","sources":["src/blake2s.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACrF,+DAA+D;AAC/D,eAAO,MAAM,MAAM,EAAE,WAAuB,CAAC;AAC7C,+DAA+D;AAC/D,eAAO,MAAM,GAAG,EAAE,OAAO,KAAa,CAAC;AACvC,+DAA+D;AAC/D,eAAO,MAAM,GAAG,EAAE,OAAO,KAAa,CAAC;AACvC,+DAA+D;AAC/D,eAAO,MAAM,QAAQ,EAAE,OAAO,UAAuB,CAAC;AACtD,+DAA+D;AAC/D,eAAO,MAAM,OAAO,EAAE,OAAO,GAAS,CAAC;AACvC,+DAA+D;AAC/D,eAAO,MAAM,OAAO,EAAE,OAAO,GAAS,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2s.js b/node_modules/@noble/hashes/blake2s.js new file mode 100644 index 0000000..3d4f42b --- /dev/null +++ b/node_modules/@noble/hashes/blake2s.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.blake2s = exports.BLAKE2s = exports.compress = exports.G2s = exports.G1s = exports.B2S_IV = void 0; +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. blake2b for 64-bit, but in JS it is slower. + * @module + * @deprecated + */ +const _blake_ts_1 = require("./_blake.js"); +const _md_ts_1 = require("./_md.js"); +const blake2_ts_1 = require("./blake2.js"); +/** @deprecated Use import from `noble/hashes/blake2` module */ +exports.B2S_IV = _md_ts_1.SHA256_IV; +/** @deprecated Use import from `noble/hashes/blake2` module */ +exports.G1s = _blake_ts_1.G1s; +/** @deprecated Use import from `noble/hashes/blake2` module */ +exports.G2s = _blake_ts_1.G2s; +/** @deprecated Use import from `noble/hashes/blake2` module */ +exports.compress = blake2_ts_1.compress; +/** @deprecated Use import from `noble/hashes/blake2` module */ +exports.BLAKE2s = blake2_ts_1.BLAKE2s; +/** @deprecated Use import from `noble/hashes/blake2` module */ +exports.blake2s = blake2_ts_1.blake2s; +//# sourceMappingURL=blake2s.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake2s.js.map b/node_modules/@noble/hashes/blake2s.js.map new file mode 100644 index 0000000..84f0312 --- /dev/null +++ b/node_modules/@noble/hashes/blake2s.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2s.js","sourceRoot":"","sources":["src/blake2s.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,2CAAyD;AACzD,qCAAqC;AACrC,2CAAqF;AACrF,+DAA+D;AAClD,QAAA,MAAM,GAAgB,kBAAS,CAAC;AAC7C,+DAA+D;AAClD,QAAA,GAAG,GAAiB,eAAK,CAAC;AACvC,+DAA+D;AAClD,QAAA,GAAG,GAAiB,eAAK,CAAC;AACvC,+DAA+D;AAClD,QAAA,QAAQ,GAAsB,oBAAU,CAAC;AACtD,+DAA+D;AAClD,QAAA,OAAO,GAAe,mBAAG,CAAC;AACvC,+DAA+D;AAClD,QAAA,OAAO,GAAe,mBAAG,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake3.d.ts b/node_modules/@noble/hashes/blake3.d.ts new file mode 100644 index 0000000..234fa87 --- /dev/null +++ b/node_modules/@noble/hashes/blake3.d.ts @@ -0,0 +1,54 @@ +import { BLAKE2 } from './blake2.ts'; +import { type CHashXO, type HashXOF, type Input } from './utils.ts'; +/** + * Ensure to use EITHER `key` OR `context`, not both. + * + * * `key`: 32-byte MAC key. + * * `context`: string for KDF. Should be hardcoded, globally unique, and application - specific. + * A good default format for the context string is "[application] [commit timestamp] [purpose]". + */ +export type Blake3Opts = { + dkLen?: number; + key?: Input; + context?: Input; +}; +/** Blake3 hash. Can be used as MAC and KDF. */ +export declare class BLAKE3 extends BLAKE2 implements HashXOF { + private chunkPos; + private chunksDone; + private flags; + private IV; + private state; + private stack; + private posOut; + private bufferOut32; + private bufferOut; + private chunkOut; + private enableXOF; + constructor(opts?: Blake3Opts, flags?: number); + protected get(): []; + protected set(): void; + private b2Compress; + protected compress(buf: Uint32Array, bufPos?: number, isLast?: boolean): void; + _cloneInto(to?: BLAKE3): BLAKE3; + destroy(): void; + private b2CompressOut; + protected finish(): void; + private writeInto; + xofInto(out: Uint8Array): Uint8Array; + xof(bytes: number): Uint8Array; + digestInto(out: Uint8Array): Uint8Array; + digest(): Uint8Array; +} +/** + * BLAKE3 hash function. Can be used as MAC and KDF. + * @param msg - message that would be hashed + * @param opts - `dkLen` for output length, `key` for MAC mode, `context` for KDF mode + * @example + * const data = new Uint8Array(32); + * const hash = blake3(data); + * const mac = blake3(data, { key: new Uint8Array(32) }); + * const kdf = blake3(data, { context: 'application name' }); + */ +export declare const blake3: CHashXO; +//# sourceMappingURL=blake3.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake3.d.ts.map b/node_modules/@noble/hashes/blake3.d.ts.map new file mode 100644 index 0000000..f951d3d --- /dev/null +++ b/node_modules/@noble/hashes/blake3.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake3.d.ts","sourceRoot":"","sources":["src/blake3.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,EAAY,MAAM,aAAa,CAAC;AAE/C,OAAO,EAGL,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EACvC,MAAM,YAAY,CAAC;AAwBpB;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE1E,+CAA+C;AAC/C,qBAAa,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAE,YAAW,OAAO,CAAC,MAAM,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,EAAE,CAAc;IACxB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAQ;gBAEb,IAAI,GAAE,UAAe,EAAE,KAAK,SAAI;IA2B5C,SAAS,CAAC,GAAG,IAAI,EAAE;IAGnB,SAAS,CAAC,GAAG,IAAI,IAAI;IACrB,OAAO,CAAC,UAAU;IAmBlB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,GAAE,MAAU,EAAE,MAAM,GAAE,OAAe,GAAG,IAAI;IAiCvF,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAe/B,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,aAAa;IA+BrB,SAAS,CAAC,MAAM,IAAI,IAAI;IAoBxB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAIpC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAI9B,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAQvC,MAAM,IAAI,UAAU;CAGrB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,EAAE,OAEpB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake3.js b/node_modules/@noble/hashes/blake3.js new file mode 100644 index 0000000..8602342 --- /dev/null +++ b/node_modules/@noble/hashes/blake3.js @@ -0,0 +1,255 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.blake3 = exports.BLAKE3 = void 0; +/** + * Blake3 fast hash is Blake2 with reduced security (round count). Can also be used as MAC & KDF. + * + * It is advertised as "the fastest cryptographic hash". However, it isn't true in JS. + * Why is this so slow? While it should be 6x faster than blake2b, perf diff is only 20%: + * + * * There is only 30% reduction in number of rounds from blake2s + * * Speed-up comes from tree structure, which is parallelized using SIMD & threading. + * These features are not present in JS, so we only get overhead from trees. + * * Parallelization only happens on 1024-byte chunks: there is no benefit for small inputs. + * * It is still possible to make it faster using: a) loop unrolling b) web workers c) wasm + * @module + */ +const _md_ts_1 = require("./_md.js"); +const _u64_ts_1 = require("./_u64.js"); +const blake2_ts_1 = require("./blake2.js"); +// prettier-ignore +const utils_ts_1 = require("./utils.js"); +// Flag bitset +const B3_Flags = { + CHUNK_START: 0b1, + CHUNK_END: 0b10, + PARENT: 0b100, + ROOT: 0b1000, + KEYED_HASH: 0b10000, + DERIVE_KEY_CONTEXT: 0b100000, + DERIVE_KEY_MATERIAL: 0b1000000, +}; +const B3_IV = _md_ts_1.SHA256_IV.slice(); +const B3_SIGMA = /* @__PURE__ */ (() => { + const Id = Array.from({ length: 16 }, (_, i) => i); + const permute = (arr) => [2, 6, 3, 10, 7, 0, 4, 13, 1, 11, 12, 5, 9, 14, 15, 8].map((i) => arr[i]); + const res = []; + for (let i = 0, v = Id; i < 7; i++, v = permute(v)) + res.push(...v); + return Uint8Array.from(res); +})(); +/** Blake3 hash. Can be used as MAC and KDF. */ +class BLAKE3 extends blake2_ts_1.BLAKE2 { + constructor(opts = {}, flags = 0) { + super(64, opts.dkLen === undefined ? 32 : opts.dkLen); + this.chunkPos = 0; // Position of current block in chunk + this.chunksDone = 0; // How many chunks we already have + this.flags = 0 | 0; + this.stack = []; + // Output + this.posOut = 0; + this.bufferOut32 = new Uint32Array(16); + this.chunkOut = 0; // index of output chunk + this.enableXOF = true; + const { key, context } = opts; + const hasContext = context !== undefined; + if (key !== undefined) { + if (hasContext) + throw new Error('Only "key" or "context" can be specified at same time'); + const k = (0, utils_ts_1.toBytes)(key).slice(); + (0, utils_ts_1.abytes)(k, 32); + this.IV = (0, utils_ts_1.u32)(k); + (0, utils_ts_1.swap32IfBE)(this.IV); + this.flags = flags | B3_Flags.KEYED_HASH; + } + else if (hasContext) { + const ctx = (0, utils_ts_1.toBytes)(context); + const contextKey = new BLAKE3({ dkLen: 32 }, B3_Flags.DERIVE_KEY_CONTEXT) + .update(ctx) + .digest(); + this.IV = (0, utils_ts_1.u32)(contextKey); + (0, utils_ts_1.swap32IfBE)(this.IV); + this.flags = flags | B3_Flags.DERIVE_KEY_MATERIAL; + } + else { + this.IV = B3_IV.slice(); + this.flags = flags; + } + this.state = this.IV.slice(); + this.bufferOut = (0, utils_ts_1.u8)(this.bufferOut32); + } + // Unused + get() { + return []; + } + set() { } + b2Compress(counter, flags, buf, bufPos = 0) { + const { state: s, pos } = this; + const { h, l } = (0, _u64_ts_1.fromBig)(BigInt(counter), true); + // prettier-ignore + const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = (0, blake2_ts_1.compress)(B3_SIGMA, bufPos, buf, 7, s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], h, l, pos, flags); + s[0] = v0 ^ v8; + s[1] = v1 ^ v9; + s[2] = v2 ^ v10; + s[3] = v3 ^ v11; + s[4] = v4 ^ v12; + s[5] = v5 ^ v13; + s[6] = v6 ^ v14; + s[7] = v7 ^ v15; + } + compress(buf, bufPos = 0, isLast = false) { + // Compress last block + let flags = this.flags; + if (!this.chunkPos) + flags |= B3_Flags.CHUNK_START; + if (this.chunkPos === 15 || isLast) + flags |= B3_Flags.CHUNK_END; + if (!isLast) + this.pos = this.blockLen; + this.b2Compress(this.chunksDone, flags, buf, bufPos); + this.chunkPos += 1; + // If current block is last in chunk (16 blocks), then compress chunks + if (this.chunkPos === 16 || isLast) { + let chunk = this.state; + this.state = this.IV.slice(); + // If not the last one, compress only when there are trailing zeros in chunk counter + // chunks used as binary tree where current stack is path. Zero means current leaf is finished and can be compressed. + // 1 (001) - leaf not finished (just push current chunk to stack) + // 2 (010) - leaf finished at depth=1 (merge with last elm on stack and push back) + // 3 (011) - last leaf not finished + // 4 (100) - leafs finished at depth=1 and depth=2 + for (let last, chunks = this.chunksDone + 1; isLast || !(chunks & 1); chunks >>= 1) { + if (!(last = this.stack.pop())) + break; + this.buffer32.set(last, 0); + this.buffer32.set(chunk, 8); + this.pos = this.blockLen; + this.b2Compress(0, this.flags | B3_Flags.PARENT, this.buffer32, 0); + chunk = this.state; + this.state = this.IV.slice(); + } + this.chunksDone++; + this.chunkPos = 0; + this.stack.push(chunk); + } + this.pos = 0; + } + _cloneInto(to) { + to = super._cloneInto(to); + const { IV, flags, state, chunkPos, posOut, chunkOut, stack, chunksDone } = this; + to.state.set(state.slice()); + to.stack = stack.map((i) => Uint32Array.from(i)); + to.IV.set(IV); + to.flags = flags; + to.chunkPos = chunkPos; + to.chunksDone = chunksDone; + to.posOut = posOut; + to.chunkOut = chunkOut; + to.enableXOF = this.enableXOF; + to.bufferOut32.set(this.bufferOut32); + return to; + } + destroy() { + this.destroyed = true; + (0, utils_ts_1.clean)(this.state, this.buffer32, this.IV, this.bufferOut32); + (0, utils_ts_1.clean)(...this.stack); + } + // Same as b2Compress, but doesn't modify state and returns 16 u32 array (instead of 8) + b2CompressOut() { + const { state: s, pos, flags, buffer32, bufferOut32: out32 } = this; + const { h, l } = (0, _u64_ts_1.fromBig)(BigInt(this.chunkOut++)); + (0, utils_ts_1.swap32IfBE)(buffer32); + // prettier-ignore + const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = (0, blake2_ts_1.compress)(B3_SIGMA, 0, buffer32, 7, s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], l, h, pos, flags); + out32[0] = v0 ^ v8; + out32[1] = v1 ^ v9; + out32[2] = v2 ^ v10; + out32[3] = v3 ^ v11; + out32[4] = v4 ^ v12; + out32[5] = v5 ^ v13; + out32[6] = v6 ^ v14; + out32[7] = v7 ^ v15; + out32[8] = s[0] ^ v8; + out32[9] = s[1] ^ v9; + out32[10] = s[2] ^ v10; + out32[11] = s[3] ^ v11; + out32[12] = s[4] ^ v12; + out32[13] = s[5] ^ v13; + out32[14] = s[6] ^ v14; + out32[15] = s[7] ^ v15; + (0, utils_ts_1.swap32IfBE)(buffer32); + (0, utils_ts_1.swap32IfBE)(out32); + this.posOut = 0; + } + finish() { + if (this.finished) + return; + this.finished = true; + // Padding + (0, utils_ts_1.clean)(this.buffer.subarray(this.pos)); + // Process last chunk + let flags = this.flags | B3_Flags.ROOT; + if (this.stack.length) { + flags |= B3_Flags.PARENT; + (0, utils_ts_1.swap32IfBE)(this.buffer32); + this.compress(this.buffer32, 0, true); + (0, utils_ts_1.swap32IfBE)(this.buffer32); + this.chunksDone = 0; + this.pos = this.blockLen; + } + else { + flags |= (!this.chunkPos ? B3_Flags.CHUNK_START : 0) | B3_Flags.CHUNK_END; + } + this.flags = flags; + this.b2CompressOut(); + } + writeInto(out) { + (0, utils_ts_1.aexists)(this, false); + (0, utils_ts_1.abytes)(out); + this.finish(); + const { blockLen, bufferOut } = this; + for (let pos = 0, len = out.length; pos < len;) { + if (this.posOut >= blockLen) + this.b2CompressOut(); + const take = Math.min(blockLen - this.posOut, len - pos); + out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos); + this.posOut += take; + pos += take; + } + return out; + } + xofInto(out) { + if (!this.enableXOF) + throw new Error('XOF is not possible after digest call'); + return this.writeInto(out); + } + xof(bytes) { + (0, utils_ts_1.anumber)(bytes); + return this.xofInto(new Uint8Array(bytes)); + } + digestInto(out) { + (0, utils_ts_1.aoutput)(out, this); + if (this.finished) + throw new Error('digest() was already called'); + this.enableXOF = false; + this.writeInto(out); + this.destroy(); + return out; + } + digest() { + return this.digestInto(new Uint8Array(this.outputLen)); + } +} +exports.BLAKE3 = BLAKE3; +/** + * BLAKE3 hash function. Can be used as MAC and KDF. + * @param msg - message that would be hashed + * @param opts - `dkLen` for output length, `key` for MAC mode, `context` for KDF mode + * @example + * const data = new Uint8Array(32); + * const hash = blake3(data); + * const mac = blake3(data, { key: new Uint8Array(32) }); + * const kdf = blake3(data, { context: 'application name' }); + */ +exports.blake3 = (0, utils_ts_1.createXOFer)((opts) => new BLAKE3(opts)); +//# sourceMappingURL=blake3.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/blake3.js.map b/node_modules/@noble/hashes/blake3.js.map new file mode 100644 index 0000000..6c06019 --- /dev/null +++ b/node_modules/@noble/hashes/blake3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake3.js","sourceRoot":"","sources":["src/blake3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/crypto.d.ts b/node_modules/@noble/hashes/crypto.d.ts new file mode 100644 index 0000000..ac181a0 --- /dev/null +++ b/node_modules/@noble/hashes/crypto.d.ts @@ -0,0 +1,2 @@ +export declare const crypto: any; +//# sourceMappingURL=crypto.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/crypto.d.ts.map b/node_modules/@noble/hashes/crypto.d.ts.map new file mode 100644 index 0000000..4ecc6bc --- /dev/null +++ b/node_modules/@noble/hashes/crypto.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["src/crypto.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM,EAAE,GACqE,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/crypto.js b/node_modules/@noble/hashes/crypto.js new file mode 100644 index 0000000..8226391 --- /dev/null +++ b/node_modules/@noble/hashes/crypto.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.crypto = void 0; +exports.crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined; +//# sourceMappingURL=crypto.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/crypto.js.map b/node_modules/@noble/hashes/crypto.js.map new file mode 100644 index 0000000..0bb417c --- /dev/null +++ b/node_modules/@noble/hashes/crypto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"crypto.js","sourceRoot":"","sources":["src/crypto.ts"],"names":[],"mappings":";;;AAOa,QAAA,MAAM,GACjB,OAAO,UAAU,KAAK,QAAQ,IAAI,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/cryptoNode.d.ts b/node_modules/@noble/hashes/cryptoNode.d.ts new file mode 100644 index 0000000..98bda7b --- /dev/null +++ b/node_modules/@noble/hashes/cryptoNode.d.ts @@ -0,0 +1,2 @@ +export declare const crypto: any; +//# sourceMappingURL=cryptoNode.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/cryptoNode.d.ts.map b/node_modules/@noble/hashes/cryptoNode.d.ts.map new file mode 100644 index 0000000..4303dc7 --- /dev/null +++ b/node_modules/@noble/hashes/cryptoNode.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cryptoNode.d.ts","sourceRoot":"","sources":["src/cryptoNode.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,EAAE,GAKJ,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/cryptoNode.js b/node_modules/@noble/hashes/cryptoNode.js new file mode 100644 index 0000000..eba1a1f --- /dev/null +++ b/node_modules/@noble/hashes/cryptoNode.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.crypto = void 0; +/** + * Internal webcrypto alias. + * We prefer WebCrypto aka globalThis.crypto, which exists in node.js 16+. + * Falls back to Node.js built-in crypto for Node.js <=v14. + * See utils.ts for details. + * @module + */ +// @ts-ignore +const nc = require("node:crypto"); +exports.crypto = nc && typeof nc === 'object' && 'webcrypto' in nc + ? nc.webcrypto + : nc && typeof nc === 'object' && 'randomBytes' in nc + ? nc + : undefined; +//# sourceMappingURL=cryptoNode.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/cryptoNode.js.map b/node_modules/@noble/hashes/cryptoNode.js.map new file mode 100644 index 0000000..14983d5 --- /dev/null +++ b/node_modules/@noble/hashes/cryptoNode.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cryptoNode.js","sourceRoot":"","sources":["src/cryptoNode.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,aAAa;AACb,kCAAkC;AACrB,QAAA,MAAM,GACjB,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,WAAW,IAAI,EAAE;IAC/C,CAAC,CAAE,EAAE,CAAC,SAAiB;IACvB,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,aAAa,IAAI,EAAE;QACnD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/eskdf.d.ts b/node_modules/@noble/hashes/eskdf.d.ts new file mode 100644 index 0000000..66721eb --- /dev/null +++ b/node_modules/@noble/hashes/eskdf.d.ts @@ -0,0 +1,47 @@ +export declare function scrypt(password: string, salt: string): Uint8Array; +export declare function pbkdf2(password: string, salt: string): Uint8Array; +/** + * Derives main seed. Takes a lot of time. Prefer `eskdf` method instead. + */ +export declare function deriveMainSeed(username: string, password: string): Uint8Array; +type AccountID = number | string; +type OptsLength = { + keyLength: number; +}; +type OptsMod = { + modulus: bigint; +}; +type KeyOpts = undefined | OptsLength | OptsMod; +export interface ESKDF { + /** + * Derives a child key. Child key will not be associated with any + * other child key because of properties of underlying KDF. + * + * @param protocol - 3-15 character protocol name + * @param accountId - numeric identifier of account + * @param options - `keyLength: 64` or `modulus: 41920438n` + * @example deriveChildKey('aes', 0) + */ + deriveChildKey: (protocol: string, accountId: AccountID, options?: KeyOpts) => Uint8Array; + /** + * Deletes the main seed from eskdf instance + */ + expire: () => void; + /** + * Account fingerprint + */ + fingerprint: string; +} +/** + * ESKDF + * @param username - username, email, or identifier, min: 8 characters, should have enough entropy + * @param password - password, min: 8 characters, should have enough entropy + * @example + * const kdf = await eskdf('example-university', 'beginning-new-example'); + * const key = kdf.deriveChildKey('aes', 0); + * console.log(kdf.fingerprint); + * kdf.expire(); + */ +export declare function eskdf(username: string, password: string): Promise; +export {}; +//# sourceMappingURL=eskdf.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/eskdf.d.ts.map b/node_modules/@noble/hashes/eskdf.d.ts.map new file mode 100644 index 0000000..1314513 --- /dev/null +++ b/node_modules/@noble/hashes/eskdf.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"eskdf.d.ts","sourceRoot":"","sources":["src/eskdf.ts"],"names":[],"mappings":"AAiBA,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAEjE;AAGD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAEjE;AAiBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAY7E;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAgCjC,KAAK,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACxC,KAAK,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AACnC,KAAK,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAwChD,MAAM,WAAW,KAAK;IACpB;;;;;;;;OAQG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,UAAU,CAAC;IAC1F;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAuB9E"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/eskdf.js b/node_modules/@noble/hashes/eskdf.js new file mode 100644 index 0000000..ac23290 --- /dev/null +++ b/node_modules/@noble/hashes/eskdf.js @@ -0,0 +1,166 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.scrypt = scrypt; +exports.pbkdf2 = pbkdf2; +exports.deriveMainSeed = deriveMainSeed; +exports.eskdf = eskdf; +/** + * Experimental KDF for AES. + */ +const hkdf_ts_1 = require("./hkdf.js"); +const pbkdf2_ts_1 = require("./pbkdf2.js"); +const scrypt_ts_1 = require("./scrypt.js"); +const sha256_ts_1 = require("./sha256.js"); +const utils_ts_1 = require("./utils.js"); +// A tiny KDF for various applications like AES key-gen. +// Uses HKDF in a non-standard way, so it's not "KDF-secure", only "PRF-secure". +// Which is good enough: assume sha2-256 retained preimage resistance. +const SCRYPT_FACTOR = 2 ** 19; +const PBKDF2_FACTOR = 2 ** 17; +// Scrypt KDF +function scrypt(password, salt) { + return (0, scrypt_ts_1.scrypt)(password, salt, { N: SCRYPT_FACTOR, r: 8, p: 1, dkLen: 32 }); +} +// PBKDF2-HMAC-SHA256 +function pbkdf2(password, salt) { + return (0, pbkdf2_ts_1.pbkdf2)(sha256_ts_1.sha256, password, salt, { c: PBKDF2_FACTOR, dkLen: 32 }); +} +// Combines two 32-byte byte arrays +function xor32(a, b) { + (0, utils_ts_1.abytes)(a, 32); + (0, utils_ts_1.abytes)(b, 32); + const arr = new Uint8Array(32); + for (let i = 0; i < 32; i++) { + arr[i] = a[i] ^ b[i]; + } + return arr; +} +function strHasLength(str, min, max) { + return typeof str === 'string' && str.length >= min && str.length <= max; +} +/** + * Derives main seed. Takes a lot of time. Prefer `eskdf` method instead. + */ +function deriveMainSeed(username, password) { + if (!strHasLength(username, 8, 255)) + throw new Error('invalid username'); + if (!strHasLength(password, 8, 255)) + throw new Error('invalid password'); + // Declared like this to throw off minifiers which auto-convert .fromCharCode(1) to actual string. + // String with non-ascii may be problematic in some envs + const codes = { _1: 1, _2: 2 }; + const sep = { s: String.fromCharCode(codes._1), p: String.fromCharCode(codes._2) }; + const scr = scrypt(password + sep.s, username + sep.s); + const pbk = pbkdf2(password + sep.p, username + sep.p); + const res = xor32(scr, pbk); + (0, utils_ts_1.clean)(scr, pbk); + return res; +} +/** + * Converts protocol & accountId pair to HKDF salt & info params. + */ +function getSaltInfo(protocol, accountId = 0) { + // Note that length here also repeats two lines below + // We do an additional length check here to reduce the scope of DoS attacks + if (!(strHasLength(protocol, 3, 15) && /^[a-z0-9]{3,15}$/.test(protocol))) { + throw new Error('invalid protocol'); + } + // Allow string account ids for some protocols + const allowsStr = /^password\d{0,3}|ssh|tor|file$/.test(protocol); + let salt; // Extract salt. Default is undefined. + if (typeof accountId === 'string') { + if (!allowsStr) + throw new Error('accountId must be a number'); + if (!strHasLength(accountId, 1, 255)) + throw new Error('accountId must be string of length 1..255'); + salt = (0, utils_ts_1.kdfInputToBytes)(accountId); + } + else if (Number.isSafeInteger(accountId)) { + if (accountId < 0 || accountId > Math.pow(2, 32) - 1) + throw new Error('invalid accountId'); + // Convert to Big Endian Uint32 + salt = new Uint8Array(4); + (0, utils_ts_1.createView)(salt).setUint32(0, accountId, false); + } + else { + throw new Error('accountId must be a number' + (allowsStr ? ' or string' : '')); + } + const info = (0, utils_ts_1.kdfInputToBytes)(protocol); + return { salt, info }; +} +function countBytes(num) { + if (typeof num !== 'bigint' || num <= BigInt(128)) + throw new Error('invalid number'); + return Math.ceil(num.toString(2).length / 8); +} +/** + * Parses keyLength and modulus options to extract length of result key. + * If modulus is used, adds 64 bits to it as per FIPS 186 B.4.1 to combat modulo bias. + */ +function getKeyLength(options) { + if (!options || typeof options !== 'object') + return 32; + const hasLen = 'keyLength' in options; + const hasMod = 'modulus' in options; + if (hasLen && hasMod) + throw new Error('cannot combine keyLength and modulus options'); + if (!hasLen && !hasMod) + throw new Error('must have either keyLength or modulus option'); + // FIPS 186 B.4.1 requires at least 64 more bits + const l = hasMod ? countBytes(options.modulus) + 8 : options.keyLength; + if (!(typeof l === 'number' && l >= 16 && l <= 8192)) + throw new Error('invalid keyLength'); + return l; +} +/** + * Converts key to bigint and divides it by modulus. Big Endian. + * Implements FIPS 186 B.4.1, which removes 0 and modulo bias from output. + */ +function modReduceKey(key, modulus) { + const _1 = BigInt(1); + const num = BigInt('0x' + (0, utils_ts_1.bytesToHex)(key)); // check for ui8a, then bytesToNumber() + const res = (num % (modulus - _1)) + _1; // Remove 0 from output + if (res < _1) + throw new Error('expected positive number'); // Guard against bad values + const len = key.length - 8; // FIPS requires 64 more bits = 8 bytes + const hex = res.toString(16).padStart(len * 2, '0'); // numberToHex() + const bytes = (0, utils_ts_1.hexToBytes)(hex); + if (bytes.length !== len) + throw new Error('invalid length of result key'); + return bytes; +} +/** + * ESKDF + * @param username - username, email, or identifier, min: 8 characters, should have enough entropy + * @param password - password, min: 8 characters, should have enough entropy + * @example + * const kdf = await eskdf('example-university', 'beginning-new-example'); + * const key = kdf.deriveChildKey('aes', 0); + * console.log(kdf.fingerprint); + * kdf.expire(); + */ +async function eskdf(username, password) { + // We are using closure + object instead of class because + // we want to make `seed` non-accessible for any external function. + let seed = deriveMainSeed(username, password); + function deriveCK(protocol, accountId = 0, options) { + (0, utils_ts_1.abytes)(seed, 32); + const { salt, info } = getSaltInfo(protocol, accountId); // validate protocol & accountId + const keyLength = getKeyLength(options); // validate options + const key = (0, hkdf_ts_1.hkdf)(sha256_ts_1.sha256, seed, salt, info, keyLength); + // Modulus has already been validated + return options && 'modulus' in options ? modReduceKey(key, options.modulus) : key; + } + function expire() { + if (seed) + seed.fill(1); + seed = undefined; + } + // prettier-ignore + const fingerprint = Array.from(deriveCK('fingerprint', 0)) + .slice(0, 6) + .map((char) => char.toString(16).padStart(2, '0').toUpperCase()) + .join(':'); + return Object.freeze({ deriveChildKey: deriveCK, expire, fingerprint }); +} +//# sourceMappingURL=eskdf.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/eskdf.js.map b/node_modules/@noble/hashes/eskdf.js.map new file mode 100644 index 0000000..c520444 --- /dev/null +++ b/node_modules/@noble/hashes/eskdf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eskdf.js","sourceRoot":"","sources":["src/eskdf.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_assert.d.ts b/node_modules/@noble/hashes/esm/_assert.d.ts new file mode 100644 index 0000000..5d62f87 --- /dev/null +++ b/node_modules/@noble/hashes/esm/_assert.d.ts @@ -0,0 +1,17 @@ +/** + * Internal assertion helpers. + * @module + * @deprecated + */ +import { abytes as ab, aexists as ae, anumber as an, aoutput as ao, type IHash as H } from './utils.ts'; +/** @deprecated Use import from `noble/hashes/utils` module */ +export declare const abytes: typeof ab; +/** @deprecated Use import from `noble/hashes/utils` module */ +export declare const aexists: typeof ae; +/** @deprecated Use import from `noble/hashes/utils` module */ +export declare const anumber: typeof an; +/** @deprecated Use import from `noble/hashes/utils` module */ +export declare const aoutput: typeof ao; +/** @deprecated Use import from `noble/hashes/utils` module */ +export type Hash = H; +//# sourceMappingURL=_assert.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_assert.d.ts.map b/node_modules/@noble/hashes/esm/_assert.d.ts.map new file mode 100644 index 0000000..8e49f06 --- /dev/null +++ b/node_modules/@noble/hashes/esm/_assert.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"_assert.d.ts","sourceRoot":"","sources":["../src/_assert.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,MAAM,IAAI,EAAE,EACZ,OAAO,IAAI,EAAE,EACb,OAAO,IAAI,EAAE,EACb,OAAO,IAAI,EAAE,EACb,KAAK,KAAK,IAAI,CAAC,EAChB,MAAM,YAAY,CAAC;AACpB,8DAA8D;AAC9D,eAAO,MAAM,MAAM,EAAE,OAAO,EAAO,CAAC;AACpC,8DAA8D;AAC9D,eAAO,MAAM,OAAO,EAAE,OAAO,EAAO,CAAC;AACrC,8DAA8D;AAC9D,eAAO,MAAM,OAAO,EAAE,OAAO,EAAO,CAAC;AACrC,8DAA8D;AAC9D,eAAO,MAAM,OAAO,EAAE,OAAO,EAAO,CAAC;AACrC,8DAA8D;AAC9D,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_assert.js b/node_modules/@noble/hashes/esm/_assert.js new file mode 100644 index 0000000..91286fd --- /dev/null +++ b/node_modules/@noble/hashes/esm/_assert.js @@ -0,0 +1,15 @@ +/** + * Internal assertion helpers. + * @module + * @deprecated + */ +import { abytes as ab, aexists as ae, anumber as an, aoutput as ao, } from "./utils.js"; +/** @deprecated Use import from `noble/hashes/utils` module */ +export const abytes = ab; +/** @deprecated Use import from `noble/hashes/utils` module */ +export const aexists = ae; +/** @deprecated Use import from `noble/hashes/utils` module */ +export const anumber = an; +/** @deprecated Use import from `noble/hashes/utils` module */ +export const aoutput = ao; +//# sourceMappingURL=_assert.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_assert.js.map b/node_modules/@noble/hashes/esm/_assert.js.map new file mode 100644 index 0000000..a64fcf5 --- /dev/null +++ b/node_modules/@noble/hashes/esm/_assert.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_assert.js","sourceRoot":"","sources":["../src/_assert.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,MAAM,IAAI,EAAE,EACZ,OAAO,IAAI,EAAE,EACb,OAAO,IAAI,EAAE,EACb,OAAO,IAAI,EAAE,GAEd,MAAM,YAAY,CAAC;AACpB,8DAA8D;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAc,EAAE,CAAC;AACpC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAc,EAAE,CAAC;AACrC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAc,EAAE,CAAC;AACrC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAc,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_blake.d.ts b/node_modules/@noble/hashes/esm/_blake.d.ts new file mode 100644 index 0000000..71ed85f --- /dev/null +++ b/node_modules/@noble/hashes/esm/_blake.d.ts @@ -0,0 +1,14 @@ +/** + * Internal blake variable. + * For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1]. + */ +export declare const BSIGMA: Uint8Array; +export type Num4 = { + a: number; + b: number; + c: number; + d: number; +}; +export declare function G1s(a: number, b: number, c: number, d: number, x: number): Num4; +export declare function G2s(a: number, b: number, c: number, d: number, x: number): Num4; +//# sourceMappingURL=_blake.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_blake.d.ts.map b/node_modules/@noble/hashes/esm/_blake.d.ts.map new file mode 100644 index 0000000..c945f9d --- /dev/null +++ b/node_modules/@noble/hashes/esm/_blake.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"_blake.d.ts","sourceRoot":"","sources":["../src/_blake.ts"],"names":[],"mappings":"AAMA;;;GAGG;AAEH,eAAO,MAAM,MAAM,EAAE,UAkBnB,CAAC;AAGH,MAAM,MAAM,IAAI,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;CAAE,CAAC;AAGnE,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAM/E;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAM/E"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_blake.js b/node_modules/@noble/hashes/esm/_blake.js new file mode 100644 index 0000000..3573ee9 --- /dev/null +++ b/node_modules/@noble/hashes/esm/_blake.js @@ -0,0 +1,45 @@ +/** + * Internal helpers for blake hash. + * @module + */ +import { rotr } from "./utils.js"; +/** + * Internal blake variable. + * For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1]. + */ +// prettier-ignore +export const BSIGMA = /* @__PURE__ */ Uint8Array.from([ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3, + 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4, + 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, + 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13, + 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9, + 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11, + 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10, + 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5, + 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3, + // Blake1, unused in others + 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4, + 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, + 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13, + 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9, +]); +// Mixing function G splitted in two halfs +export function G1s(a, b, c, d, x) { + a = (a + b + x) | 0; + d = rotr(d ^ a, 16); + c = (c + d) | 0; + b = rotr(b ^ c, 12); + return { a, b, c, d }; +} +export function G2s(a, b, c, d, x) { + a = (a + b + x) | 0; + d = rotr(d ^ a, 8); + c = (c + d) | 0; + b = rotr(b ^ c, 7); + return { a, b, c, d }; +} +//# sourceMappingURL=_blake.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_blake.js.map b/node_modules/@noble/hashes/esm/_blake.js.map new file mode 100644 index 0000000..c8cdaaa --- /dev/null +++ b/node_modules/@noble/hashes/esm/_blake.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_blake.js","sourceRoot":"","sources":["../src/_blake.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;GAGG;AACH,kBAAkB;AAClB,MAAM,CAAC,MAAM,MAAM,GAAe,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;IAChE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACpD,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACpD,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACpD,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACpD,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,2BAA2B;IAC3B,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAKH,0CAA0C;AAC1C,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IACvE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACpB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IACvE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_md.d.ts b/node_modules/@noble/hashes/esm/_md.d.ts new file mode 100644 index 0000000..ae184df --- /dev/null +++ b/node_modules/@noble/hashes/esm/_md.d.ts @@ -0,0 +1,51 @@ +/** + * Internal Merkle-Damgard hash utils. + * @module + */ +import { type Input, Hash } from './utils.ts'; +/** Polyfill for Safari 14. https://caniuse.com/mdn-javascript_builtins_dataview_setbiguint64 */ +export declare function setBigUint64(view: DataView, byteOffset: number, value: bigint, isLE: boolean): void; +/** Choice: a ? b : c */ +export declare function Chi(a: number, b: number, c: number): number; +/** Majority function, true if any two inputs is true. */ +export declare function Maj(a: number, b: number, c: number): number; +/** + * Merkle-Damgard hash construction base class. + * Could be used to create MD5, RIPEMD, SHA1, SHA2. + */ +export declare abstract class HashMD> extends Hash { + protected abstract process(buf: DataView, offset: number): void; + protected abstract get(): number[]; + protected abstract set(...args: number[]): void; + abstract destroy(): void; + protected abstract roundClean(): void; + readonly blockLen: number; + readonly outputLen: number; + readonly padOffset: number; + readonly isLE: boolean; + protected buffer: Uint8Array; + protected view: DataView; + protected finished: boolean; + protected length: number; + protected pos: number; + protected destroyed: boolean; + constructor(blockLen: number, outputLen: number, padOffset: number, isLE: boolean); + update(data: Input): this; + digestInto(out: Uint8Array): void; + digest(): Uint8Array; + _cloneInto(to?: T): T; + clone(): T; +} +/** + * Initial SHA-2 state: fractional parts of square roots of first 16 primes 2..53. + * Check out `test/misc/sha2-gen-iv.js` for recomputation guide. + */ +/** Initial SHA256 state. Bits 0..32 of frac part of sqrt of primes 2..19 */ +export declare const SHA256_IV: Uint32Array; +/** Initial SHA224 state. Bits 32..64 of frac part of sqrt of primes 23..53 */ +export declare const SHA224_IV: Uint32Array; +/** Initial SHA384 state. Bits 0..64 of frac part of sqrt of primes 23..53 */ +export declare const SHA384_IV: Uint32Array; +/** Initial SHA512 state. Bits 0..64 of frac part of sqrt of primes 2..19 */ +export declare const SHA512_IV: Uint32Array; +//# sourceMappingURL=_md.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_md.d.ts.map b/node_modules/@noble/hashes/esm/_md.d.ts.map new file mode 100644 index 0000000..d67c970 --- /dev/null +++ b/node_modules/@noble/hashes/esm/_md.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"_md.d.ts","sourceRoot":"","sources":["../src/_md.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,KAAK,EAAE,IAAI,EAAwD,MAAM,YAAY,CAAC;AAEpG,gGAAgG;AAChG,wBAAgB,YAAY,CAC1B,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,GACZ,IAAI,CAUN;AAED,wBAAwB;AACxB,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,yDAAyD;AACzD,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,8BAAsB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAC/D,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,EAAE;IAClC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAC/C,QAAQ,CAAC,OAAO,IAAI,IAAI;IACxB,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAErC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAGvB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;IACzB,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,GAAG,SAAK;IAClB,SAAS,CAAC,SAAS,UAAS;gBAEhB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IASjF,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IA0BzB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAkCjC,MAAM,IAAI,UAAU;IAOpB,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAWrB,KAAK,IAAI,CAAC;CAGX;AAED;;;GAGG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,SAAS,EAAE,WAEtB,CAAC;AAEH,8EAA8E;AAC9E,eAAO,MAAM,SAAS,EAAE,WAEtB,CAAC;AAEH,6EAA6E;AAC7E,eAAO,MAAM,SAAS,EAAE,WAGtB,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,SAAS,EAAE,WAGtB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_md.js b/node_modules/@noble/hashes/esm/_md.js new file mode 100644 index 0000000..3cf023d --- /dev/null +++ b/node_modules/@noble/hashes/esm/_md.js @@ -0,0 +1,155 @@ +/** + * Internal Merkle-Damgard hash utils. + * @module + */ +import { Hash, abytes, aexists, aoutput, clean, createView, toBytes } from "./utils.js"; +/** Polyfill for Safari 14. https://caniuse.com/mdn-javascript_builtins_dataview_setbiguint64 */ +export function setBigUint64(view, byteOffset, value, isLE) { + if (typeof view.setBigUint64 === 'function') + return view.setBigUint64(byteOffset, value, isLE); + const _32n = BigInt(32); + const _u32_max = BigInt(0xffffffff); + const wh = Number((value >> _32n) & _u32_max); + const wl = Number(value & _u32_max); + const h = isLE ? 4 : 0; + const l = isLE ? 0 : 4; + view.setUint32(byteOffset + h, wh, isLE); + view.setUint32(byteOffset + l, wl, isLE); +} +/** Choice: a ? b : c */ +export function Chi(a, b, c) { + return (a & b) ^ (~a & c); +} +/** Majority function, true if any two inputs is true. */ +export function Maj(a, b, c) { + return (a & b) ^ (a & c) ^ (b & c); +} +/** + * Merkle-Damgard hash construction base class. + * Could be used to create MD5, RIPEMD, SHA1, SHA2. + */ +export class HashMD extends Hash { + constructor(blockLen, outputLen, padOffset, isLE) { + super(); + this.finished = false; + this.length = 0; + this.pos = 0; + this.destroyed = false; + this.blockLen = blockLen; + this.outputLen = outputLen; + this.padOffset = padOffset; + this.isLE = isLE; + this.buffer = new Uint8Array(blockLen); + this.view = createView(this.buffer); + } + update(data) { + aexists(this); + data = toBytes(data); + abytes(data); + const { view, buffer, blockLen } = this; + const len = data.length; + for (let pos = 0; pos < len;) { + const take = Math.min(blockLen - this.pos, len - pos); + // Fast path: we have at least one block in input, cast it to view and process + if (take === blockLen) { + const dataView = createView(data); + for (; blockLen <= len - pos; pos += blockLen) + this.process(dataView, pos); + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + pos += take; + if (this.pos === blockLen) { + this.process(view, 0); + this.pos = 0; + } + } + this.length += data.length; + this.roundClean(); + return this; + } + digestInto(out) { + aexists(this); + aoutput(out, this); + this.finished = true; + // Padding + // We can avoid allocation of buffer for padding completely if it + // was previously not allocated here. But it won't change performance. + const { buffer, view, blockLen, isLE } = this; + let { pos } = this; + // append the bit '1' to the message + buffer[pos++] = 0b10000000; + clean(this.buffer.subarray(pos)); + // we have less than padOffset left in buffer, so we cannot put length in + // current block, need process it and pad again + if (this.padOffset > blockLen - pos) { + this.process(view, 0); + pos = 0; + } + // Pad until full block byte with zeros + for (let i = pos; i < blockLen; i++) + buffer[i] = 0; + // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that + // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen. + // So we just write lowest 64 bits of that value. + setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE); + this.process(view, 0); + const oview = createView(out); + const len = this.outputLen; + // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT + if (len % 4) + throw new Error('_sha2: outputLen should be aligned to 32bit'); + const outLen = len / 4; + const state = this.get(); + if (outLen > state.length) + throw new Error('_sha2: outputLen bigger than state'); + for (let i = 0; i < outLen; i++) + oview.setUint32(4 * i, state[i], isLE); + } + digest() { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } + _cloneInto(to) { + to || (to = new this.constructor()); + to.set(...this.get()); + const { blockLen, buffer, length, finished, destroyed, pos } = this; + to.destroyed = destroyed; + to.finished = finished; + to.length = length; + to.pos = pos; + if (length % blockLen) + to.buffer.set(buffer); + return to; + } + clone() { + return this._cloneInto(); + } +} +/** + * Initial SHA-2 state: fractional parts of square roots of first 16 primes 2..53. + * Check out `test/misc/sha2-gen-iv.js` for recomputation guide. + */ +/** Initial SHA256 state. Bits 0..32 of frac part of sqrt of primes 2..19 */ +export const SHA256_IV = /* @__PURE__ */ Uint32Array.from([ + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19, +]); +/** Initial SHA224 state. Bits 32..64 of frac part of sqrt of primes 23..53 */ +export const SHA224_IV = /* @__PURE__ */ Uint32Array.from([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4, +]); +/** Initial SHA384 state. Bits 0..64 of frac part of sqrt of primes 23..53 */ +export const SHA384_IV = /* @__PURE__ */ Uint32Array.from([ + 0xcbbb9d5d, 0xc1059ed8, 0x629a292a, 0x367cd507, 0x9159015a, 0x3070dd17, 0x152fecd8, 0xf70e5939, + 0x67332667, 0xffc00b31, 0x8eb44a87, 0x68581511, 0xdb0c2e0d, 0x64f98fa7, 0x47b5481d, 0xbefa4fa4, +]); +/** Initial SHA512 state. Bits 0..64 of frac part of sqrt of primes 2..19 */ +export const SHA512_IV = /* @__PURE__ */ Uint32Array.from([ + 0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1, + 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179, +]); +//# sourceMappingURL=_md.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_md.js.map b/node_modules/@noble/hashes/esm/_md.js.map new file mode 100644 index 0000000..4b3da57 --- /dev/null +++ b/node_modules/@noble/hashes/esm/_md.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_md.js","sourceRoot":"","sources":["../src/_md.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_u64.d.ts b/node_modules/@noble/hashes/esm/_u64.d.ts new file mode 100644 index 0000000..ac5523a --- /dev/null +++ b/node_modules/@noble/hashes/esm/_u64.d.ts @@ -0,0 +1,55 @@ +declare function fromBig(n: bigint, le?: boolean): { + h: number; + l: number; +}; +declare function split(lst: bigint[], le?: boolean): Uint32Array[]; +declare const toBig: (h: number, l: number) => bigint; +declare const shrSH: (h: number, _l: number, s: number) => number; +declare const shrSL: (h: number, l: number, s: number) => number; +declare const rotrSH: (h: number, l: number, s: number) => number; +declare const rotrSL: (h: number, l: number, s: number) => number; +declare const rotrBH: (h: number, l: number, s: number) => number; +declare const rotrBL: (h: number, l: number, s: number) => number; +declare const rotr32H: (_h: number, l: number) => number; +declare const rotr32L: (h: number, _l: number) => number; +declare const rotlSH: (h: number, l: number, s: number) => number; +declare const rotlSL: (h: number, l: number, s: number) => number; +declare const rotlBH: (h: number, l: number, s: number) => number; +declare const rotlBL: (h: number, l: number, s: number) => number; +declare function add(Ah: number, Al: number, Bh: number, Bl: number): { + h: number; + l: number; +}; +declare const add3L: (Al: number, Bl: number, Cl: number) => number; +declare const add3H: (low: number, Ah: number, Bh: number, Ch: number) => number; +declare const add4L: (Al: number, Bl: number, Cl: number, Dl: number) => number; +declare const add4H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number) => number; +declare const add5L: (Al: number, Bl: number, Cl: number, Dl: number, El: number) => number; +declare const add5H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) => number; +export { add, add3H, add3L, add4H, add4L, add5H, add5L, fromBig, rotlBH, rotlBL, rotlSH, rotlSL, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL, shrSH, shrSL, split, toBig }; +declare const u64: { + fromBig: typeof fromBig; + split: typeof split; + toBig: (h: number, l: number) => bigint; + shrSH: (h: number, _l: number, s: number) => number; + shrSL: (h: number, l: number, s: number) => number; + rotrSH: (h: number, l: number, s: number) => number; + rotrSL: (h: number, l: number, s: number) => number; + rotrBH: (h: number, l: number, s: number) => number; + rotrBL: (h: number, l: number, s: number) => number; + rotr32H: (_h: number, l: number) => number; + rotr32L: (h: number, _l: number) => number; + rotlSH: (h: number, l: number, s: number) => number; + rotlSL: (h: number, l: number, s: number) => number; + rotlBH: (h: number, l: number, s: number) => number; + rotlBL: (h: number, l: number, s: number) => number; + add: typeof add; + add3L: (Al: number, Bl: number, Cl: number) => number; + add3H: (low: number, Ah: number, Bh: number, Ch: number) => number; + add4L: (Al: number, Bl: number, Cl: number, Dl: number) => number; + add4H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number) => number; + add5H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) => number; + add5L: (Al: number, Bl: number, Cl: number, Dl: number, El: number) => number; +}; +export default u64; +//# sourceMappingURL=_u64.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_u64.d.ts.map b/node_modules/@noble/hashes/esm/_u64.d.ts.map new file mode 100644 index 0000000..b1e0a4e --- /dev/null +++ b/node_modules/@noble/hashes/esm/_u64.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"_u64.d.ts","sourceRoot":"","sources":["../src/_u64.ts"],"names":[],"mappings":"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AAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,GAAG,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;CAOrpC,CAAC;AACF,eAAe,GAAG,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_u64.js b/node_modules/@noble/hashes/esm/_u64.js new file mode 100644 index 0000000..6519354 --- /dev/null +++ b/node_modules/@noble/hashes/esm/_u64.js @@ -0,0 +1,67 @@ +/** + * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array. + * @todo re-check https://issues.chromium.org/issues/42212588 + * @module + */ +const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1); +const _32n = /* @__PURE__ */ BigInt(32); +function fromBig(n, le = false) { + if (le) + return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) }; + return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 }; +} +function split(lst, le = false) { + const len = lst.length; + let Ah = new Uint32Array(len); + let Al = new Uint32Array(len); + for (let i = 0; i < len; i++) { + const { h, l } = fromBig(lst[i], le); + [Ah[i], Al[i]] = [h, l]; + } + return [Ah, Al]; +} +const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0); +// for Shift in [0, 32) +const shrSH = (h, _l, s) => h >>> s; +const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); +// Right rotate for Shift in [1, 32) +const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s)); +const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); +// Right rotate for Shift in (32, 64), NOTE: 32 is special case. +const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32)); +const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s)); +// Right rotate for shift===32 (just swaps l&h) +const rotr32H = (_h, l) => l; +const rotr32L = (h, _l) => h; +// Left rotate for Shift in [1, 32) +const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s)); +const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s)); +// Left rotate for Shift in (32, 64), NOTE: 32 is special case. +const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s)); +const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s)); +// JS uses 32-bit signed integers for bitwise operations which means we cannot +// simple take carry out of low bit sum by shift, we need to use division. +function add(Ah, Al, Bh, Bl) { + const l = (Al >>> 0) + (Bl >>> 0); + return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 }; +} +// Addition with more than 2 elements +const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0); +const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0; +const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); +const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0; +const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); +const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0; +// prettier-ignore +export { add, add3H, add3L, add4H, add4L, add5H, add5L, fromBig, rotlBH, rotlBL, rotlSH, rotlSL, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL, shrSH, shrSL, split, toBig }; +// prettier-ignore +const u64 = { + fromBig, split, toBig, + shrSH, shrSL, + rotrSH, rotrSL, rotrBH, rotrBL, + rotr32H, rotr32L, + rotlSH, rotlSL, rotlBH, rotlBL, + add, add3L, add3H, add4L, add4H, add5H, add5L, +}; +export default u64; +//# sourceMappingURL=_u64.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/_u64.js.map b/node_modules/@noble/hashes/esm/_u64.js.map new file mode 100644 index 0000000..3626186 --- /dev/null +++ b/node_modules/@noble/hashes/esm/_u64.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_u64.js","sourceRoot":"","sources":["../src/_u64.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/argon2.d.ts b/node_modules/@noble/hashes/esm/argon2.d.ts new file mode 100644 index 0000000..67cb8f6 --- /dev/null +++ b/node_modules/@noble/hashes/esm/argon2.d.ts @@ -0,0 +1,32 @@ +import { type KDFInput } from './utils.ts'; +/** + * Argon2 options. + * * t: time cost, m: mem cost in kb, p: parallelization. + * * key: optional key. personalization: arbitrary extra data. + * * dkLen: desired number of output bytes. + */ +export type ArgonOpts = { + t: number; + m: number; + p: number; + version?: number; + key?: KDFInput; + personalization?: KDFInput; + dkLen?: number; + asyncTick?: number; + maxmem?: number; + onProgress?: (progress: number) => void; +}; +/** argon2d GPU-resistant version. */ +export declare const argon2d: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Uint8Array; +/** argon2i side-channel-resistant version. */ +export declare const argon2i: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Uint8Array; +/** argon2id, combining i+d, the most popular version from RFC 9106 */ +export declare const argon2id: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Uint8Array; +/** argon2d async GPU-resistant version. */ +export declare const argon2dAsync: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Promise; +/** argon2i async side-channel-resistant version. */ +export declare const argon2iAsync: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Promise; +/** argon2id async, combining i+d, the most popular version from RFC 9106 */ +export declare const argon2idAsync: (password: KDFInput, salt: KDFInput, opts: ArgonOpts) => Promise; +//# sourceMappingURL=argon2.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/argon2.d.ts.map b/node_modules/@noble/hashes/esm/argon2.d.ts.map new file mode 100644 index 0000000..65b1e4c --- /dev/null +++ b/node_modules/@noble/hashes/esm/argon2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"argon2.d.ts","sourceRoot":"","sources":["../src/argon2.ts"],"names":[],"mappings":"AAYA,OAAO,EAAqD,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkK9F;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAuNF,qCAAqC;AACrC,eAAO,MAAM,OAAO,GAAI,UAAU,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,SAAS,KAAG,UACnC,CAAC;AAC5C,8CAA8C;AAC9C,eAAO,MAAM,OAAO,GAAI,UAAU,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,SAAS,KAAG,UACpC,CAAC;AAC3C,sEAAsE;AACtE,eAAO,MAAM,QAAQ,GAAI,UAAU,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,SAAS,KAAG,UACpC,CAAC;AAiE5C,2CAA2C;AAC3C,eAAO,MAAM,YAAY,GACvB,UAAU,QAAQ,EAClB,MAAM,QAAQ,EACd,MAAM,SAAS,KACd,OAAO,CAAC,UAAU,CAAmD,CAAC;AACzE,oDAAoD;AACpD,eAAO,MAAM,YAAY,GACvB,UAAU,QAAQ,EAClB,MAAM,QAAQ,EACd,MAAM,SAAS,KACd,OAAO,CAAC,UAAU,CAAkD,CAAC;AACxE,4EAA4E;AAC5E,eAAO,MAAM,aAAa,GACxB,UAAU,QAAQ,EAClB,MAAM,QAAQ,EACd,MAAM,SAAS,KACd,OAAO,CAAC,UAAU,CAAmD,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/argon2.js b/node_modules/@noble/hashes/esm/argon2.js new file mode 100644 index 0000000..3ba860f --- /dev/null +++ b/node_modules/@noble/hashes/esm/argon2.js @@ -0,0 +1,392 @@ +/** + * Argon2 KDF from RFC 9106. Can be used to create a key from password and salt. + * We suggest to use Scrypt. JS Argon is 2-10x slower than native code because of 64-bitness: + * * argon uses uint64, but JS doesn't have fast uint64array + * * uint64 multiplication is 1/3 of time + * * `P` function would be very nice with u64, because most of value will be in registers, + * hovewer with u32 it will require 32 registers, which is too much. + * * JS arrays do slow bound checks, so reading from `A2_BUF` slows it down + * @module + */ +import { add3H, add3L, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL } from "./_u64.js"; +import { blake2b } from "./blake2.js"; +import { abytes, clean, kdfInputToBytes, nextTick, u32, u8 } from "./utils.js"; +const AT = { Argond2d: 0, Argon2i: 1, Argon2id: 2 }; +const ARGON2_SYNC_POINTS = 4; +const abytesOrZero = (buf) => { + if (buf === undefined) + return Uint8Array.of(); + return kdfInputToBytes(buf); +}; +// u32 * u32 = u64 +function mul(a, b) { + const aL = a & 0xffff; + const aH = a >>> 16; + const bL = b & 0xffff; + const bH = b >>> 16; + const ll = Math.imul(aL, bL); + const hl = Math.imul(aH, bL); + const lh = Math.imul(aL, bH); + const hh = Math.imul(aH, bH); + const carry = (ll >>> 16) + (hl & 0xffff) + lh; + const high = (hh + (hl >>> 16) + (carry >>> 16)) | 0; + const low = (carry << 16) | (ll & 0xffff); + return { h: high, l: low }; +} +function mul2(a, b) { + // 2 * a * b (via shifts) + const { h, l } = mul(a, b); + return { h: ((h << 1) | (l >>> 31)) & 4294967295, l: (l << 1) & 4294967295 }; +} +// BlaMka permutation for Argon2 +// A + B + (2 * u32(A) * u32(B)) +function blamka(Ah, Al, Bh, Bl) { + const { h: Ch, l: Cl } = mul2(Al, Bl); + // A + B + (2 * A * B) + const Rll = add3L(Al, Bl, Cl); + return { h: add3H(Rll, Ah, Bh, Ch), l: Rll | 0 }; +} +// Temporary block buffer +const A2_BUF = new Uint32Array(256); // 1024 bytes (matrix 16x16) +function G(a, b, c, d) { + let Al = A2_BUF[2 * a], Ah = A2_BUF[2 * a + 1]; // prettier-ignore + let Bl = A2_BUF[2 * b], Bh = A2_BUF[2 * b + 1]; // prettier-ignore + let Cl = A2_BUF[2 * c], Ch = A2_BUF[2 * c + 1]; // prettier-ignore + let Dl = A2_BUF[2 * d], Dh = A2_BUF[2 * d + 1]; // prettier-ignore + ({ h: Ah, l: Al } = blamka(Ah, Al, Bh, Bl)); + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: rotr32H(Dh, Dl), Dl: rotr32L(Dh, Dl) }); + ({ h: Ch, l: Cl } = blamka(Ch, Cl, Dh, Dl)); + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: rotrSH(Bh, Bl, 24), Bl: rotrSL(Bh, Bl, 24) }); + ({ h: Ah, l: Al } = blamka(Ah, Al, Bh, Bl)); + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: rotrSH(Dh, Dl, 16), Dl: rotrSL(Dh, Dl, 16) }); + ({ h: Ch, l: Cl } = blamka(Ch, Cl, Dh, Dl)); + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: rotrBH(Bh, Bl, 63), Bl: rotrBL(Bh, Bl, 63) }); + (A2_BUF[2 * a] = Al), (A2_BUF[2 * a + 1] = Ah); + (A2_BUF[2 * b] = Bl), (A2_BUF[2 * b + 1] = Bh); + (A2_BUF[2 * c] = Cl), (A2_BUF[2 * c + 1] = Ch); + (A2_BUF[2 * d] = Dl), (A2_BUF[2 * d + 1] = Dh); +} +// prettier-ignore +function P(v00, v01, v02, v03, v04, v05, v06, v07, v08, v09, v10, v11, v12, v13, v14, v15) { + G(v00, v04, v08, v12); + G(v01, v05, v09, v13); + G(v02, v06, v10, v14); + G(v03, v07, v11, v15); + G(v00, v05, v10, v15); + G(v01, v06, v11, v12); + G(v02, v07, v08, v13); + G(v03, v04, v09, v14); +} +function block(x, xPos, yPos, outPos, needXor) { + for (let i = 0; i < 256; i++) + A2_BUF[i] = x[xPos + i] ^ x[yPos + i]; + // columns (8) + for (let i = 0; i < 128; i += 16) { + // prettier-ignore + P(i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6, i + 7, i + 8, i + 9, i + 10, i + 11, i + 12, i + 13, i + 14, i + 15); + } + // rows (8) + for (let i = 0; i < 16; i += 2) { + // prettier-ignore + P(i, i + 1, i + 16, i + 17, i + 32, i + 33, i + 48, i + 49, i + 64, i + 65, i + 80, i + 81, i + 96, i + 97, i + 112, i + 113); + } + if (needXor) + for (let i = 0; i < 256; i++) + x[outPos + i] ^= A2_BUF[i] ^ x[xPos + i] ^ x[yPos + i]; + else + for (let i = 0; i < 256; i++) + x[outPos + i] = A2_BUF[i] ^ x[xPos + i] ^ x[yPos + i]; + clean(A2_BUF); +} +// Variable-Length Hash Function H' +function Hp(A, dkLen) { + const A8 = u8(A); + const T = new Uint32Array(1); + const T8 = u8(T); + T[0] = dkLen; + // Fast path + if (dkLen <= 64) + return blake2b.create({ dkLen }).update(T8).update(A8).digest(); + const out = new Uint8Array(dkLen); + let V = blake2b.create({}).update(T8).update(A8).digest(); + let pos = 0; + // First block + out.set(V.subarray(0, 32)); + pos += 32; + // Rest blocks + for (; dkLen - pos > 64; pos += 32) { + const Vh = blake2b.create({}).update(V); + Vh.digestInto(V); + Vh.destroy(); + out.set(V.subarray(0, 32), pos); + } + // Last block + out.set(blake2b(V, { dkLen: dkLen - pos }), pos); + clean(V, T); + return u32(out); +} +// Used only inside process block! +function indexAlpha(r, s, laneLen, segmentLen, index, randL, sameLane = false) { + // This is ugly, but close enough to reference implementation. + let area; + if (r === 0) { + if (s === 0) + area = index - 1; + else if (sameLane) + area = s * segmentLen + index - 1; + else + area = s * segmentLen + (index == 0 ? -1 : 0); + } + else if (sameLane) + area = laneLen - segmentLen + index - 1; + else + area = laneLen - segmentLen + (index == 0 ? -1 : 0); + const startPos = r !== 0 && s !== ARGON2_SYNC_POINTS - 1 ? (s + 1) * segmentLen : 0; + const rel = area - 1 - mul(area, mul(randL, randL).h).h; + return (startPos + rel) % laneLen; +} +const maxUint32 = Math.pow(2, 32); +function isU32(num) { + return Number.isSafeInteger(num) && num >= 0 && num < maxUint32; +} +function argon2Opts(opts) { + const merged = { + version: 0x13, + dkLen: 32, + maxmem: maxUint32 - 1, + asyncTick: 10, + }; + for (let [k, v] of Object.entries(opts)) + if (v != null) + merged[k] = v; + const { dkLen, p, m, t, version, onProgress } = merged; + if (!isU32(dkLen) || dkLen < 4) + throw new Error('dkLen should be at least 4 bytes'); + if (!isU32(p) || p < 1 || p >= Math.pow(2, 24)) + throw new Error('p should be 1 <= p < 2^24'); + if (!isU32(m)) + throw new Error('m should be 0 <= m < 2^32'); + if (!isU32(t) || t < 1) + throw new Error('t (iterations) should be 1 <= t < 2^32'); + if (onProgress !== undefined && typeof onProgress !== 'function') + throw new Error('progressCb should be function'); + /* + Memory size m MUST be an integer number of kibibytes from 8*p to 2^(32)-1. The actual number of blocks is m', which is m rounded down to the nearest multiple of 4*p. + */ + if (!isU32(m) || m < 8 * p) + throw new Error('memory should be at least 8*p bytes'); + if (version !== 0x10 && version !== 0x13) + throw new Error('unknown version=' + version); + return merged; +} +function argon2Init(password, salt, type, opts) { + password = kdfInputToBytes(password); + salt = kdfInputToBytes(salt); + abytes(password); + abytes(salt); + if (!isU32(password.length)) + throw new Error('password should be less than 4 GB'); + if (!isU32(salt.length) || salt.length < 8) + throw new Error('salt should be at least 8 bytes and less than 4 GB'); + if (!Object.values(AT).includes(type)) + throw new Error('invalid type'); + let { p, dkLen, m, t, version, key, personalization, maxmem, onProgress, asyncTick } = argon2Opts(opts); + // Validation + key = abytesOrZero(key); + personalization = abytesOrZero(personalization); + // H_0 = H^(64)(LE32(p) || LE32(T) || LE32(m) || LE32(t) || + // LE32(v) || LE32(y) || LE32(length(P)) || P || + // LE32(length(S)) || S || LE32(length(K)) || K || + // LE32(length(X)) || X) + const h = blake2b.create({}); + const BUF = new Uint32Array(1); + const BUF8 = u8(BUF); + for (let item of [p, dkLen, m, t, version, type]) { + BUF[0] = item; + h.update(BUF8); + } + for (let i of [password, salt, key, personalization]) { + BUF[0] = i.length; // BUF is u32 array, this is valid + h.update(BUF8).update(i); + } + const H0 = new Uint32Array(18); + const H0_8 = u8(H0); + h.digestInto(H0_8); + // 256 u32 = 1024 (BLOCK_SIZE), fills A2_BUF on processing + // Params + const lanes = p; + // m' = 4 * p * floor (m / 4p) + const mP = 4 * p * Math.floor(m / (ARGON2_SYNC_POINTS * p)); + //q = m' / p columns + const laneLen = Math.floor(mP / p); + const segmentLen = Math.floor(laneLen / ARGON2_SYNC_POINTS); + const memUsed = mP * 256; + if (!isU32(maxmem) || memUsed > maxmem) + throw new Error('mem should be less than 2**32, got: maxmem=' + maxmem + ', memused=' + memUsed); + const B = new Uint32Array(memUsed); + // Fill first blocks + for (let l = 0; l < p; l++) { + const i = 256 * laneLen * l; + // B[i][0] = H'^(1024)(H_0 || LE32(0) || LE32(i)) + H0[17] = l; + H0[16] = 0; + B.set(Hp(H0, 1024), i); + // B[i][1] = H'^(1024)(H_0 || LE32(1) || LE32(i)) + H0[16] = 1; + B.set(Hp(H0, 1024), i + 256); + } + let perBlock = () => { }; + if (onProgress) { + const totalBlock = t * ARGON2_SYNC_POINTS * p * segmentLen; + // Invoke callback if progress changes from 10.01 to 10.02 + // Allows to draw smooth progress bar on up to 8K screen + const callbackPer = Math.max(Math.floor(totalBlock / 10000), 1); + let blockCnt = 0; + perBlock = () => { + blockCnt++; + if (onProgress && (!(blockCnt % callbackPer) || blockCnt === totalBlock)) + onProgress(blockCnt / totalBlock); + }; + } + clean(BUF, H0); + return { type, mP, p, t, version, B, laneLen, lanes, segmentLen, dkLen, perBlock, asyncTick }; +} +function argon2Output(B, p, laneLen, dkLen) { + const B_final = new Uint32Array(256); + for (let l = 0; l < p; l++) + for (let j = 0; j < 256; j++) + B_final[j] ^= B[256 * (laneLen * l + laneLen - 1) + j]; + const res = u8(Hp(B_final, dkLen)); + clean(B_final); + return res; +} +function processBlock(B, address, l, r, s, index, laneLen, segmentLen, lanes, offset, prev, dataIndependent, needXor) { + if (offset % laneLen) + prev = offset - 1; + let randL, randH; + if (dataIndependent) { + let i128 = index % 128; + if (i128 === 0) { + address[256 + 12]++; + block(address, 256, 2 * 256, 0, false); + block(address, 0, 2 * 256, 0, false); + } + randL = address[2 * i128]; + randH = address[2 * i128 + 1]; + } + else { + const T = 256 * prev; + randL = B[T]; + randH = B[T + 1]; + } + // address block + const refLane = r === 0 && s === 0 ? l : randH % lanes; + const refPos = indexAlpha(r, s, laneLen, segmentLen, index, randL, refLane == l); + const refBlock = laneLen * refLane + refPos; + // B[i][j] = G(B[i][j-1], B[l][z]) + block(B, 256 * prev, 256 * refBlock, offset * 256, needXor); +} +function argon2(type, password, salt, opts) { + const { mP, p, t, version, B, laneLen, lanes, segmentLen, dkLen, perBlock } = argon2Init(password, salt, type, opts); + // Pre-loop setup + // [address, input, zero_block] format so we can pass single U32 to block function + const address = new Uint32Array(3 * 256); + address[256 + 6] = mP; + address[256 + 8] = t; + address[256 + 10] = type; + for (let r = 0; r < t; r++) { + const needXor = r !== 0 && version === 0x13; + address[256 + 0] = r; + for (let s = 0; s < ARGON2_SYNC_POINTS; s++) { + address[256 + 4] = s; + const dataIndependent = type == AT.Argon2i || (type == AT.Argon2id && r === 0 && s < 2); + for (let l = 0; l < p; l++) { + address[256 + 2] = l; + address[256 + 12] = 0; + let startPos = 0; + if (r === 0 && s === 0) { + startPos = 2; + if (dataIndependent) { + address[256 + 12]++; + block(address, 256, 2 * 256, 0, false); + block(address, 0, 2 * 256, 0, false); + } + } + // current block postion + let offset = l * laneLen + s * segmentLen + startPos; + // previous block position + let prev = offset % laneLen ? offset - 1 : offset + laneLen - 1; + for (let index = startPos; index < segmentLen; index++, offset++, prev++) { + perBlock(); + processBlock(B, address, l, r, s, index, laneLen, segmentLen, lanes, offset, prev, dataIndependent, needXor); + } + } + } + } + clean(address); + return argon2Output(B, p, laneLen, dkLen); +} +/** argon2d GPU-resistant version. */ +export const argon2d = (password, salt, opts) => argon2(AT.Argond2d, password, salt, opts); +/** argon2i side-channel-resistant version. */ +export const argon2i = (password, salt, opts) => argon2(AT.Argon2i, password, salt, opts); +/** argon2id, combining i+d, the most popular version from RFC 9106 */ +export const argon2id = (password, salt, opts) => argon2(AT.Argon2id, password, salt, opts); +async function argon2Async(type, password, salt, opts) { + const { mP, p, t, version, B, laneLen, lanes, segmentLen, dkLen, perBlock, asyncTick } = argon2Init(password, salt, type, opts); + // Pre-loop setup + // [address, input, zero_block] format so we can pass single U32 to block function + const address = new Uint32Array(3 * 256); + address[256 + 6] = mP; + address[256 + 8] = t; + address[256 + 10] = type; + let ts = Date.now(); + for (let r = 0; r < t; r++) { + const needXor = r !== 0 && version === 0x13; + address[256 + 0] = r; + for (let s = 0; s < ARGON2_SYNC_POINTS; s++) { + address[256 + 4] = s; + const dataIndependent = type == AT.Argon2i || (type == AT.Argon2id && r === 0 && s < 2); + for (let l = 0; l < p; l++) { + address[256 + 2] = l; + address[256 + 12] = 0; + let startPos = 0; + if (r === 0 && s === 0) { + startPos = 2; + if (dataIndependent) { + address[256 + 12]++; + block(address, 256, 2 * 256, 0, false); + block(address, 0, 2 * 256, 0, false); + } + } + // current block postion + let offset = l * laneLen + s * segmentLen + startPos; + // previous block position + let prev = offset % laneLen ? offset - 1 : offset + laneLen - 1; + for (let index = startPos; index < segmentLen; index++, offset++, prev++) { + perBlock(); + processBlock(B, address, l, r, s, index, laneLen, segmentLen, lanes, offset, prev, dataIndependent, needXor); + // Date.now() is not monotonic, so in case if clock goes backwards we return return control too + const diff = Date.now() - ts; + if (!(diff >= 0 && diff < asyncTick)) { + await nextTick(); + ts += diff; + } + } + } + } + } + clean(address); + return argon2Output(B, p, laneLen, dkLen); +} +/** argon2d async GPU-resistant version. */ +export const argon2dAsync = (password, salt, opts) => argon2Async(AT.Argond2d, password, salt, opts); +/** argon2i async side-channel-resistant version. */ +export const argon2iAsync = (password, salt, opts) => argon2Async(AT.Argon2i, password, salt, opts); +/** argon2id async, combining i+d, the most popular version from RFC 9106 */ +export const argon2idAsync = (password, salt, opts) => argon2Async(AT.Argon2id, password, salt, opts); +//# sourceMappingURL=argon2.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/argon2.js.map b/node_modules/@noble/hashes/esm/argon2.js.map new file mode 100644 index 0000000..4016856 --- /dev/null +++ b/node_modules/@noble/hashes/esm/argon2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"argon2.js","sourceRoot":"","sources":["../src/argon2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake1.d.ts b/node_modules/@noble/hashes/esm/blake1.d.ts new file mode 100644 index 0000000..62d576f --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake1.d.ts @@ -0,0 +1,106 @@ +import { Hash, type CHashO, type Input } from './utils.ts'; +/** Blake1 options. Basically just "salt" */ +export type BlakeOpts = { + salt?: Uint8Array; +}; +declare abstract class BLAKE1> extends Hash { + protected finished: boolean; + protected length: number; + protected pos: number; + protected destroyed: boolean; + protected buffer: Uint8Array; + protected view: DataView; + protected salt: Uint32Array; + abstract compress(view: DataView, offset: number, withLength?: boolean): void; + protected abstract get(): number[]; + protected abstract set(...args: number[]): void; + readonly blockLen: number; + readonly outputLen: number; + private lengthFlag; + private counterLen; + protected constants: Uint32Array; + constructor(blockLen: number, outputLen: number, lengthFlag: number, counterLen: number, saltLen: number, constants: Uint32Array, opts?: BlakeOpts); + update(data: Input): this; + destroy(): void; + _cloneInto(to?: T): T; + clone(): T; + digestInto(out: Uint8Array): void; + digest(): Uint8Array; +} +declare class Blake1_32 extends BLAKE1 { + private v0; + private v1; + private v2; + private v3; + private v4; + private v5; + private v6; + private v7; + constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts?: BlakeOpts); + protected get(): [number, number, number, number, number, number, number, number]; + protected set(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number): void; + destroy(): void; + compress(view: DataView, offset: number, withLength?: boolean): void; +} +declare class Blake1_64 extends BLAKE1 { + private v0l; + private v0h; + private v1l; + private v1h; + private v2l; + private v2h; + private v3l; + private v3h; + private v4l; + private v4h; + private v5l; + private v5h; + private v6l; + private v6h; + private v7l; + private v7h; + constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts?: BlakeOpts); + protected get(): [ + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; + protected set(v0l: number, v0h: number, v1l: number, v1h: number, v2l: number, v2h: number, v3l: number, v3h: number, v4l: number, v4h: number, v5l: number, v5h: number, v6l: number, v6h: number, v7l: number, v7h: number): void; + destroy(): void; + compress(view: DataView, offset: number, withLength?: boolean): void; +} +export declare class BLAKE224 extends Blake1_32 { + constructor(opts?: BlakeOpts); +} +export declare class BLAKE256 extends Blake1_32 { + constructor(opts?: BlakeOpts); +} +export declare class BLAKE384 extends Blake1_64 { + constructor(opts?: BlakeOpts); +} +export declare class BLAKE512 extends Blake1_64 { + constructor(opts?: BlakeOpts); +} +/** blake1-224 hash function */ +export declare const blake224: CHashO; +/** blake1-256 hash function */ +export declare const blake256: CHashO; +/** blake1-384 hash function */ +export declare const blake384: CHashO; +/** blake1-512 hash function */ +export declare const blake512: CHashO; +export {}; +//# sourceMappingURL=blake1.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake1.d.ts.map b/node_modules/@noble/hashes/esm/blake1.d.ts.map new file mode 100644 index 0000000..93d9bcf --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake1.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake1.d.ts","sourceRoot":"","sources":["../src/blake1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake1.js b/node_modules/@noble/hashes/esm/blake1.js new file mode 100644 index 0000000..549d49d --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake1.js @@ -0,0 +1,452 @@ +/** + * Blake1 legacy hash function, one of SHA3 proposals. + * Rarely used. Check out blake2 or blake3 instead. + * https://www.aumasson.jp/blake/blake.pdf + * + * In the best case, there are 0 allocations. + * + * Differences from blake2: + * + * - BE instead of LE + * - Paddings, similar to MD5, RIPEMD, SHA1, SHA2, but: + * - length flag is located before actual length + * - padding block is compressed differently (no lengths) + * Instead of msg[sigma[k]], we have `msg[sigma[k]] ^ constants[sigma[k-1]]` + * (-1 for g1, g2 without -1) + * - Salt is XOR-ed into constants instead of state + * - Salt is XOR-ed with output in `compress` + * - Additional rows (+64 bytes) in SIGMA for new rounds + * - Different round count: + * - 14 / 10 rounds in blake256 / blake2s + * - 16 / 12 rounds in blake512 / blake2b + * - blake512: G1b: rotr 24 -> 25, G2b: rotr 63 -> 11 + * @module + */ +import { BSIGMA, G1s, G2s } from "./_blake.js"; +import { setBigUint64, SHA224_IV, SHA256_IV, SHA384_IV, SHA512_IV } from "./_md.js"; +import * as u64 from "./_u64.js"; +// prettier-ignore +import { abytes, aexists, aoutput, clean, createOptHasher, createView, Hash, toBytes, } from "./utils.js"; +// Empty zero-filled salt +const EMPTY_SALT = /* @__PURE__ */ new Uint32Array(8); +class BLAKE1 extends Hash { + constructor(blockLen, outputLen, lengthFlag, counterLen, saltLen, constants, opts = {}) { + super(); + this.finished = false; + this.length = 0; + this.pos = 0; + this.destroyed = false; + const { salt } = opts; + this.blockLen = blockLen; + this.outputLen = outputLen; + this.lengthFlag = lengthFlag; + this.counterLen = counterLen; + this.buffer = new Uint8Array(blockLen); + this.view = createView(this.buffer); + if (salt) { + let slt = salt; + slt = toBytes(slt); + abytes(slt); + if (slt.length !== 4 * saltLen) + throw new Error('wrong salt length'); + const salt32 = (this.salt = new Uint32Array(saltLen)); + const sv = createView(slt); + this.constants = constants.slice(); + for (let i = 0, offset = 0; i < salt32.length; i++, offset += 4) { + salt32[i] = sv.getUint32(offset, false); + this.constants[i] ^= salt32[i]; + } + } + else { + this.salt = EMPTY_SALT; + this.constants = constants; + } + } + update(data) { + aexists(this); + data = toBytes(data); + abytes(data); + // From _md, but update length before each compress + const { view, buffer, blockLen } = this; + const len = data.length; + let dataView; + for (let pos = 0; pos < len;) { + const take = Math.min(blockLen - this.pos, len - pos); + // Fast path: we have at least one block in input, cast it to view and process + if (take === blockLen) { + if (!dataView) + dataView = createView(data); + for (; blockLen <= len - pos; pos += blockLen) { + this.length += blockLen; + this.compress(dataView, pos); + } + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + pos += take; + if (this.pos === blockLen) { + this.length += blockLen; + this.compress(view, 0, true); + this.pos = 0; + } + } + return this; + } + destroy() { + this.destroyed = true; + if (this.salt !== EMPTY_SALT) { + clean(this.salt, this.constants); + } + } + _cloneInto(to) { + to || (to = new this.constructor()); + to.set(...this.get()); + const { buffer, length, finished, destroyed, constants, salt, pos } = this; + to.buffer.set(buffer); + to.constants = constants.slice(); + to.destroyed = destroyed; + to.finished = finished; + to.length = length; + to.pos = pos; + to.salt = salt.slice(); + return to; + } + clone() { + return this._cloneInto(); + } + digestInto(out) { + aexists(this); + aoutput(out, this); + this.finished = true; + // Padding + const { buffer, blockLen, counterLen, lengthFlag, view } = this; + clean(buffer.subarray(this.pos)); // clean buf + const counter = BigInt((this.length + this.pos) * 8); + const counterPos = blockLen - counterLen - 1; + buffer[this.pos] |= 128; // End block flag + this.length += this.pos; // add unwritten length + // Not enough in buffer for length: write what we have. + if (this.pos > counterPos) { + this.compress(view, 0); + clean(buffer); + this.pos = 0; + } + // Difference with md: here we have lengthFlag! + buffer[counterPos] |= lengthFlag; // Length flag + // We always set 8 byte length flag. Because length will overflow significantly sooner. + setBigUint64(view, blockLen - 8, counter, false); + this.compress(view, 0, this.pos !== 0); // don't add length if length is not empty block? + // Write output + clean(buffer); + const v = createView(out); + const state = this.get(); + for (let i = 0; i < this.outputLen / 4; ++i) + v.setUint32(i * 4, state[i]); + } + digest() { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } +} +// Constants +const B64C = /* @__PURE__ */ Uint32Array.from([ + 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, + 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, + 0x9216d5d9, 0x8979fb1b, 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, + 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, +]); +// first half of C512 +const B32C = B64C.slice(0, 16); +const B256_IV = SHA256_IV.slice(); +const B224_IV = SHA224_IV.slice(); +const B384_IV = SHA384_IV.slice(); +const B512_IV = SHA512_IV.slice(); +function generateTBL256() { + const TBL = []; + for (let i = 0, j = 0; i < 14; i++, j += 16) { + for (let offset = 1; offset < 16; offset += 2) { + TBL.push(B32C[BSIGMA[j + offset]]); + TBL.push(B32C[BSIGMA[j + offset - 1]]); + } + } + return new Uint32Array(TBL); +} +const TBL256 = /* @__PURE__ */ generateTBL256(); // C256[SIGMA[X]] precompute +// Reusable temporary buffer +const BLAKE256_W = /* @__PURE__ */ new Uint32Array(16); +class Blake1_32 extends BLAKE1 { + constructor(outputLen, IV, lengthFlag, opts = {}) { + super(64, outputLen, lengthFlag, 8, 4, B32C, opts); + this.v0 = IV[0] | 0; + this.v1 = IV[1] | 0; + this.v2 = IV[2] | 0; + this.v3 = IV[3] | 0; + this.v4 = IV[4] | 0; + this.v5 = IV[5] | 0; + this.v6 = IV[6] | 0; + this.v7 = IV[7] | 0; + } + get() { + const { v0, v1, v2, v3, v4, v5, v6, v7 } = this; + return [v0, v1, v2, v3, v4, v5, v6, v7]; + } + // prettier-ignore + set(v0, v1, v2, v3, v4, v5, v6, v7) { + this.v0 = v0 | 0; + this.v1 = v1 | 0; + this.v2 = v2 | 0; + this.v3 = v3 | 0; + this.v4 = v4 | 0; + this.v5 = v5 | 0; + this.v6 = v6 | 0; + this.v7 = v7 | 0; + } + destroy() { + super.destroy(); + this.set(0, 0, 0, 0, 0, 0, 0, 0); + } + compress(view, offset, withLength = true) { + for (let i = 0; i < 16; i++, offset += 4) + BLAKE256_W[i] = view.getUint32(offset, false); + // NOTE: we cannot re-use compress from blake2s, since there is additional xor over u256[SIGMA[e]] + let v00 = this.v0 | 0; + let v01 = this.v1 | 0; + let v02 = this.v2 | 0; + let v03 = this.v3 | 0; + let v04 = this.v4 | 0; + let v05 = this.v5 | 0; + let v06 = this.v6 | 0; + let v07 = this.v7 | 0; + let v08 = this.constants[0] | 0; + let v09 = this.constants[1] | 0; + let v10 = this.constants[2] | 0; + let v11 = this.constants[3] | 0; + const { h, l } = u64.fromBig(BigInt(withLength ? this.length * 8 : 0)); + let v12 = (this.constants[4] ^ l) >>> 0; + let v13 = (this.constants[5] ^ l) >>> 0; + let v14 = (this.constants[6] ^ h) >>> 0; + let v15 = (this.constants[7] ^ h) >>> 0; + // prettier-ignore + for (let i = 0, k = 0, j = 0; i < 14; i++) { + ({ a: v00, b: v04, c: v08, d: v12 } = G1s(v00, v04, v08, v12, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v00, b: v04, c: v08, d: v12 } = G2s(v00, v04, v08, v12, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v05, c: v09, d: v13 } = G1s(v01, v05, v09, v13, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v05, c: v09, d: v13 } = G2s(v01, v05, v09, v13, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v06, c: v10, d: v14 } = G1s(v02, v06, v10, v14, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v06, c: v10, d: v14 } = G2s(v02, v06, v10, v14, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v07, c: v11, d: v15 } = G1s(v03, v07, v11, v15, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v07, c: v11, d: v15 } = G2s(v03, v07, v11, v15, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v00, b: v05, c: v10, d: v15 } = G1s(v00, v05, v10, v15, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v00, b: v05, c: v10, d: v15 } = G2s(v00, v05, v10, v15, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v06, c: v11, d: v12 } = G1s(v01, v06, v11, v12, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v06, c: v11, d: v12 } = G2s(v01, v06, v11, v12, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v07, c: v08, d: v13 } = G1s(v02, v07, v08, v13, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v07, c: v08, d: v13 } = G2s(v02, v07, v08, v13, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v04, c: v09, d: v14 } = G1s(v03, v04, v09, v14, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v04, c: v09, d: v14 } = G2s(v03, v04, v09, v14, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + } + this.v0 = (this.v0 ^ v00 ^ v08 ^ this.salt[0]) >>> 0; + this.v1 = (this.v1 ^ v01 ^ v09 ^ this.salt[1]) >>> 0; + this.v2 = (this.v2 ^ v02 ^ v10 ^ this.salt[2]) >>> 0; + this.v3 = (this.v3 ^ v03 ^ v11 ^ this.salt[3]) >>> 0; + this.v4 = (this.v4 ^ v04 ^ v12 ^ this.salt[0]) >>> 0; + this.v5 = (this.v5 ^ v05 ^ v13 ^ this.salt[1]) >>> 0; + this.v6 = (this.v6 ^ v06 ^ v14 ^ this.salt[2]) >>> 0; + this.v7 = (this.v7 ^ v07 ^ v15 ^ this.salt[3]) >>> 0; + clean(BLAKE256_W); + } +} +const BBUF = /* @__PURE__ */ new Uint32Array(32); +const BLAKE512_W = /* @__PURE__ */ new Uint32Array(32); +function generateTBL512() { + const TBL = []; + for (let r = 0, k = 0; r < 16; r++, k += 16) { + for (let offset = 1; offset < 16; offset += 2) { + TBL.push(B64C[BSIGMA[k + offset] * 2 + 0]); + TBL.push(B64C[BSIGMA[k + offset] * 2 + 1]); + TBL.push(B64C[BSIGMA[k + offset - 1] * 2 + 0]); + TBL.push(B64C[BSIGMA[k + offset - 1] * 2 + 1]); + } + } + return new Uint32Array(TBL); +} +const TBL512 = /* @__PURE__ */ generateTBL512(); // C512[SIGMA[X]] precompute +// Mixing function G splitted in two halfs +function G1b(a, b, c, d, msg, k) { + const Xpos = 2 * BSIGMA[k]; + const Xl = msg[Xpos + 1] ^ TBL512[k * 2 + 1], Xh = msg[Xpos] ^ TBL512[k * 2]; // prettier-ignore + let Al = BBUF[2 * a + 1], Ah = BBUF[2 * a]; // prettier-ignore + let Bl = BBUF[2 * b + 1], Bh = BBUF[2 * b]; // prettier-ignore + let Cl = BBUF[2 * c + 1], Ch = BBUF[2 * c]; // prettier-ignore + let Dl = BBUF[2 * d + 1], Dh = BBUF[2 * d]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh) >>> 0; + Al = (ll | 0) >>> 0; + // v[d] = rotr(v[d] ^ v[a], 32) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotr32H(Dh, Dl), Dl: u64.rotr32L(Dh, Dl) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 25) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 25), Bl: u64.rotrSL(Bh, Bl, 25) }); + (BBUF[2 * a + 1] = Al), (BBUF[2 * a] = Ah); + (BBUF[2 * b + 1] = Bl), (BBUF[2 * b] = Bh); + (BBUF[2 * c + 1] = Cl), (BBUF[2 * c] = Ch); + (BBUF[2 * d + 1] = Dl), (BBUF[2 * d] = Dh); +} +function G2b(a, b, c, d, msg, k) { + const Xpos = 2 * BSIGMA[k]; + const Xl = msg[Xpos + 1] ^ TBL512[k * 2 + 1], Xh = msg[Xpos] ^ TBL512[k * 2]; // prettier-ignore + let Al = BBUF[2 * a + 1], Ah = BBUF[2 * a]; // prettier-ignore + let Bl = BBUF[2 * b + 1], Bh = BBUF[2 * b]; // prettier-ignore + let Cl = BBUF[2 * c + 1], Ch = BBUF[2 * c]; // prettier-ignore + let Dl = BBUF[2 * d + 1], Dh = BBUF[2 * d]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh); + Al = ll | 0; + // v[d] = rotr(v[d] ^ v[a], 16) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotrSH(Dh, Dl, 16), Dl: u64.rotrSL(Dh, Dl, 16) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 11) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 11), Bl: u64.rotrSL(Bh, Bl, 11) }); + (BBUF[2 * a + 1] = Al), (BBUF[2 * a] = Ah); + (BBUF[2 * b + 1] = Bl), (BBUF[2 * b] = Bh); + (BBUF[2 * c + 1] = Cl), (BBUF[2 * c] = Ch); + (BBUF[2 * d + 1] = Dl), (BBUF[2 * d] = Dh); +} +class Blake1_64 extends BLAKE1 { + constructor(outputLen, IV, lengthFlag, opts = {}) { + super(128, outputLen, lengthFlag, 16, 8, B64C, opts); + this.v0l = IV[0] | 0; + this.v0h = IV[1] | 0; + this.v1l = IV[2] | 0; + this.v1h = IV[3] | 0; + this.v2l = IV[4] | 0; + this.v2h = IV[5] | 0; + this.v3l = IV[6] | 0; + this.v3h = IV[7] | 0; + this.v4l = IV[8] | 0; + this.v4h = IV[9] | 0; + this.v5l = IV[10] | 0; + this.v5h = IV[11] | 0; + this.v6l = IV[12] | 0; + this.v6h = IV[13] | 0; + this.v7l = IV[14] | 0; + this.v7h = IV[15] | 0; + } + // prettier-ignore + get() { + let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this; + return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h]; + } + // prettier-ignore + set(v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h) { + this.v0l = v0l | 0; + this.v0h = v0h | 0; + this.v1l = v1l | 0; + this.v1h = v1h | 0; + this.v2l = v2l | 0; + this.v2h = v2h | 0; + this.v3l = v3l | 0; + this.v3h = v3h | 0; + this.v4l = v4l | 0; + this.v4h = v4h | 0; + this.v5l = v5l | 0; + this.v5h = v5h | 0; + this.v6l = v6l | 0; + this.v6h = v6h | 0; + this.v7l = v7l | 0; + this.v7h = v7h | 0; + } + destroy() { + super.destroy(); + this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + } + compress(view, offset, withLength = true) { + for (let i = 0; i < 32; i++, offset += 4) + BLAKE512_W[i] = view.getUint32(offset, false); + this.get().forEach((v, i) => (BBUF[i] = v)); // First half from state. + BBUF.set(this.constants.subarray(0, 16), 16); + if (withLength) { + const { h, l } = u64.fromBig(BigInt(this.length * 8)); + BBUF[24] = (BBUF[24] ^ h) >>> 0; + BBUF[25] = (BBUF[25] ^ l) >>> 0; + BBUF[26] = (BBUF[26] ^ h) >>> 0; + BBUF[27] = (BBUF[27] ^ l) >>> 0; + } + for (let i = 0, k = 0; i < 16; i++) { + G1b(0, 4, 8, 12, BLAKE512_W, k++); + G2b(0, 4, 8, 12, BLAKE512_W, k++); + G1b(1, 5, 9, 13, BLAKE512_W, k++); + G2b(1, 5, 9, 13, BLAKE512_W, k++); + G1b(2, 6, 10, 14, BLAKE512_W, k++); + G2b(2, 6, 10, 14, BLAKE512_W, k++); + G1b(3, 7, 11, 15, BLAKE512_W, k++); + G2b(3, 7, 11, 15, BLAKE512_W, k++); + G1b(0, 5, 10, 15, BLAKE512_W, k++); + G2b(0, 5, 10, 15, BLAKE512_W, k++); + G1b(1, 6, 11, 12, BLAKE512_W, k++); + G2b(1, 6, 11, 12, BLAKE512_W, k++); + G1b(2, 7, 8, 13, BLAKE512_W, k++); + G2b(2, 7, 8, 13, BLAKE512_W, k++); + G1b(3, 4, 9, 14, BLAKE512_W, k++); + G2b(3, 4, 9, 14, BLAKE512_W, k++); + } + this.v0l ^= BBUF[0] ^ BBUF[16] ^ this.salt[0]; + this.v0h ^= BBUF[1] ^ BBUF[17] ^ this.salt[1]; + this.v1l ^= BBUF[2] ^ BBUF[18] ^ this.salt[2]; + this.v1h ^= BBUF[3] ^ BBUF[19] ^ this.salt[3]; + this.v2l ^= BBUF[4] ^ BBUF[20] ^ this.salt[4]; + this.v2h ^= BBUF[5] ^ BBUF[21] ^ this.salt[5]; + this.v3l ^= BBUF[6] ^ BBUF[22] ^ this.salt[6]; + this.v3h ^= BBUF[7] ^ BBUF[23] ^ this.salt[7]; + this.v4l ^= BBUF[8] ^ BBUF[24] ^ this.salt[0]; + this.v4h ^= BBUF[9] ^ BBUF[25] ^ this.salt[1]; + this.v5l ^= BBUF[10] ^ BBUF[26] ^ this.salt[2]; + this.v5h ^= BBUF[11] ^ BBUF[27] ^ this.salt[3]; + this.v6l ^= BBUF[12] ^ BBUF[28] ^ this.salt[4]; + this.v6h ^= BBUF[13] ^ BBUF[29] ^ this.salt[5]; + this.v7l ^= BBUF[14] ^ BBUF[30] ^ this.salt[6]; + this.v7h ^= BBUF[15] ^ BBUF[31] ^ this.salt[7]; + clean(BBUF, BLAKE512_W); + } +} +export class BLAKE224 extends Blake1_32 { + constructor(opts = {}) { + super(28, B224_IV, 0, opts); + } +} +export class BLAKE256 extends Blake1_32 { + constructor(opts = {}) { + super(32, B256_IV, 1, opts); + } +} +export class BLAKE384 extends Blake1_64 { + constructor(opts = {}) { + super(48, B384_IV, 0, opts); + } +} +export class BLAKE512 extends Blake1_64 { + constructor(opts = {}) { + super(64, B512_IV, 1, opts); + } +} +/** blake1-224 hash function */ +export const blake224 = /* @__PURE__ */ createOptHasher((opts) => new BLAKE224(opts)); +/** blake1-256 hash function */ +export const blake256 = /* @__PURE__ */ createOptHasher((opts) => new BLAKE256(opts)); +/** blake1-384 hash function */ +export const blake384 = /* @__PURE__ */ createOptHasher((opts) => new BLAKE384(opts)); +/** blake1-512 hash function */ +export const blake512 = /* @__PURE__ */ createOptHasher((opts) => new BLAKE512(opts)); +//# sourceMappingURL=blake1.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake1.js.map b/node_modules/@noble/hashes/esm/blake1.js.map new file mode 100644 index 0000000..65325b8 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake1.js","sourceRoot":"","sources":["../src/blake1.ts"],"names":[],"mappings":"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,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,KAAK,CAAC,UAAU,CAAC,CAAC;IACpB,CAAC;CACF;AAED,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AACjD,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AAEvD,SAAS,cAAc;IACrB,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AACD,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,4BAA4B;AAE7E,0CAA0C;AAC1C,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,GAAgB,EAAE,CAAS;IAClF,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAChG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9D,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9D,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9D,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9D,gCAAgC;IAChC,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACpB,+BAA+B;IAC/B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACpE,4BAA4B;IAC5B,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7C,+BAA+B;IAC/B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,GAAgB,EAAE,CAAS;IAClF,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAChG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9D,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9D,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9D,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9D,gCAAgC;IAChC,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACZ,+BAA+B;IAC/B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,4BAA4B;IAC5B,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7C,+BAA+B;IAC/B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,SAAU,SAAQ,MAAiB;IAiBvC,YAAY,SAAiB,EAAE,EAAe,EAAE,UAAkB,EAAE,OAAkB,EAAE;QACtF,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,kBAAkB;IACR,GAAG;QAIX,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC9F,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,kBAAkB;IACR,GAAG,CACX,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAClD,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAClD,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAClD,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;QAElD,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,QAAQ,CAAC,IAAc,EAAE,MAAc,EAAE,UAAU,GAAG,IAAI;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC;YAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAExF,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;QACtE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAEnC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,YAAY,OAAkB,EAAE;QAC9B,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AACD,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,YAAY,OAAkB,EAAE;QAC9B,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AACD,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,YAAY,OAAkB,EAAE;QAC9B,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AACD,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,YAAY,OAAkB,EAAE;QAC9B,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AACD,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAW,eAAe,CAAC,eAAe,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC;AACF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAW,eAAe,CAAC,eAAe,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC;AACF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAW,eAAe,CAAC,eAAe,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC;AACF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAW,eAAe,CAAC,eAAe,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2.d.ts b/node_modules/@noble/hashes/esm/blake2.d.ts new file mode 100644 index 0000000..ea6ae41 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2.d.ts @@ -0,0 +1,116 @@ +import { Hash, type CHashO, type Input } from './utils.ts'; +/** Blake hash options. dkLen is output length. key is used in MAC mode. salt is used in KDF mode. */ +export type Blake2Opts = { + dkLen?: number; + key?: Input; + salt?: Input; + personalization?: Input; +}; +/** Class, from which others are subclassed. */ +export declare abstract class BLAKE2> extends Hash { + protected abstract compress(msg: Uint32Array, offset: number, isLast: boolean): void; + protected abstract get(): number[]; + protected abstract set(...args: number[]): void; + abstract destroy(): void; + protected buffer: Uint8Array; + protected buffer32: Uint32Array; + protected finished: boolean; + protected destroyed: boolean; + protected length: number; + protected pos: number; + readonly blockLen: number; + readonly outputLen: number; + constructor(blockLen: number, outputLen: number); + update(data: Input): this; + digestInto(out: Uint8Array): void; + digest(): Uint8Array; + _cloneInto(to?: T): T; + clone(): T; +} +export declare class BLAKE2b extends BLAKE2 { + private v0l; + private v0h; + private v1l; + private v1h; + private v2l; + private v2h; + private v3l; + private v3h; + private v4l; + private v4h; + private v5l; + private v5h; + private v6l; + private v6h; + private v7l; + private v7h; + constructor(opts?: Blake2Opts); + protected get(): [ + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; + protected set(v0l: number, v0h: number, v1l: number, v1h: number, v2l: number, v2h: number, v3l: number, v3h: number, v4l: number, v4h: number, v5l: number, v5h: number, v6l: number, v6h: number, v7l: number, v7h: number): void; + protected compress(msg: Uint32Array, offset: number, isLast: boolean): void; + destroy(): void; +} +/** + * Blake2b hash function. 64-bit. 1.5x slower than blake2s in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +export declare const blake2b: CHashO; +export type Num16 = { + v0: number; + v1: number; + v2: number; + v3: number; + v4: number; + v5: number; + v6: number; + v7: number; + v8: number; + v9: number; + v10: number; + v11: number; + v12: number; + v13: number; + v14: number; + v15: number; +}; +export declare function compress(s: Uint8Array, offset: number, msg: Uint32Array, rounds: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number, v10: number, v11: number, v12: number, v13: number, v14: number, v15: number): Num16; +export declare class BLAKE2s extends BLAKE2 { + private v0; + private v1; + private v2; + private v3; + private v4; + private v5; + private v6; + private v7; + constructor(opts?: Blake2Opts); + protected get(): [number, number, number, number, number, number, number, number]; + protected set(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number): void; + protected compress(msg: Uint32Array, offset: number, isLast: boolean): void; + destroy(): void; +} +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. 1.5x faster than blake2b in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +export declare const blake2s: CHashO; +//# sourceMappingURL=blake2.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2.d.ts.map b/node_modules/@noble/hashes/esm/blake2.d.ts.map new file mode 100644 index 0000000..2d53122 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2.d.ts","sourceRoot":"","sources":["../src/blake2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2.js b/node_modules/@noble/hashes/esm/blake2.js new file mode 100644 index 0000000..69b3c41 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2.js @@ -0,0 +1,413 @@ +/** + * blake2b (64-bit) & blake2s (8 to 32-bit) hash functions. + * b could have been faster, but there is no fast u64 in js, so s is 1.5x faster. + * @module + */ +import { BSIGMA, G1s, G2s } from "./_blake.js"; +import { SHA256_IV } from "./_md.js"; +import * as u64 from "./_u64.js"; +// prettier-ignore +import { abytes, aexists, anumber, aoutput, clean, createOptHasher, Hash, swap32IfBE, swap8IfBE, toBytes, u32 } from "./utils.js"; +// Same as SHA512_IV, but swapped endianness: LE instead of BE. iv[1] is iv[0], etc. +const B2B_IV = /* @__PURE__ */ Uint32Array.from([ + 0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372, 0x5f1d36f1, 0xa54ff53a, + 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c, 0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19, +]); +// Temporary buffer +const BBUF = /* @__PURE__ */ new Uint32Array(32); +// Mixing function G splitted in two halfs +function G1b(a, b, c, d, msg, x) { + // NOTE: V is LE here + const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore + let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore + let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore + let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore + let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh); + Al = ll | 0; + // v[d] = rotr(v[d] ^ v[a], 32) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotr32H(Dh, Dl), Dl: u64.rotr32L(Dh, Dl) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 24) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 24), Bl: u64.rotrSL(Bh, Bl, 24) }); + (BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah); + (BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh); + (BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch); + (BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh); +} +function G2b(a, b, c, d, msg, x) { + // NOTE: V is LE here + const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore + let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore + let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore + let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore + let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh); + Al = ll | 0; + // v[d] = rotr(v[d] ^ v[a], 16) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotrSH(Dh, Dl, 16), Dl: u64.rotrSL(Dh, Dl, 16) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 63) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrBH(Bh, Bl, 63), Bl: u64.rotrBL(Bh, Bl, 63) }); + (BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah); + (BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh); + (BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch); + (BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh); +} +function checkBlake2Opts(outputLen, opts = {}, keyLen, saltLen, persLen) { + anumber(keyLen); + if (outputLen < 0 || outputLen > keyLen) + throw new Error('outputLen bigger than keyLen'); + const { key, salt, personalization } = opts; + if (key !== undefined && (key.length < 1 || key.length > keyLen)) + throw new Error('key length must be undefined or 1..' + keyLen); + if (salt !== undefined && salt.length !== saltLen) + throw new Error('salt must be undefined or ' + saltLen); + if (personalization !== undefined && personalization.length !== persLen) + throw new Error('personalization must be undefined or ' + persLen); +} +/** Class, from which others are subclassed. */ +export class BLAKE2 extends Hash { + constructor(blockLen, outputLen) { + super(); + this.finished = false; + this.destroyed = false; + this.length = 0; + this.pos = 0; + anumber(blockLen); + anumber(outputLen); + this.blockLen = blockLen; + this.outputLen = outputLen; + this.buffer = new Uint8Array(blockLen); + this.buffer32 = u32(this.buffer); + } + update(data) { + aexists(this); + data = toBytes(data); + abytes(data); + // Main difference with other hashes: there is flag for last block, + // so we cannot process current block before we know that there + // is the next one. This significantly complicates logic and reduces ability + // to do zero-copy processing + const { blockLen, buffer, buffer32 } = this; + const len = data.length; + const offset = data.byteOffset; + const buf = data.buffer; + for (let pos = 0; pos < len;) { + // If buffer is full and we still have input (don't process last block, same as blake2s) + if (this.pos === blockLen) { + swap32IfBE(buffer32); + this.compress(buffer32, 0, false); + swap32IfBE(buffer32); + this.pos = 0; + } + const take = Math.min(blockLen - this.pos, len - pos); + const dataOffset = offset + pos; + // full block && aligned to 4 bytes && not last in input + if (take === blockLen && !(dataOffset % 4) && pos + take < len) { + const data32 = new Uint32Array(buf, dataOffset, Math.floor((len - pos) / 4)); + swap32IfBE(data32); + for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) { + this.length += blockLen; + this.compress(data32, pos32, false); + } + swap32IfBE(data32); + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + this.length += take; + pos += take; + } + return this; + } + digestInto(out) { + aexists(this); + aoutput(out, this); + const { pos, buffer32 } = this; + this.finished = true; + // Padding + clean(this.buffer.subarray(pos)); + swap32IfBE(buffer32); + this.compress(buffer32, 0, true); + swap32IfBE(buffer32); + const out32 = u32(out); + this.get().forEach((v, i) => (out32[i] = swap8IfBE(v))); + } + digest() { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } + _cloneInto(to) { + const { buffer, length, finished, destroyed, outputLen, pos } = this; + to || (to = new this.constructor({ dkLen: outputLen })); + to.set(...this.get()); + to.buffer.set(buffer); + to.destroyed = destroyed; + to.finished = finished; + to.length = length; + to.pos = pos; + // @ts-ignore + to.outputLen = outputLen; + return to; + } + clone() { + return this._cloneInto(); + } +} +export class BLAKE2b extends BLAKE2 { + constructor(opts = {}) { + const olen = opts.dkLen === undefined ? 64 : opts.dkLen; + super(128, olen); + // Same as SHA-512, but LE + this.v0l = B2B_IV[0] | 0; + this.v0h = B2B_IV[1] | 0; + this.v1l = B2B_IV[2] | 0; + this.v1h = B2B_IV[3] | 0; + this.v2l = B2B_IV[4] | 0; + this.v2h = B2B_IV[5] | 0; + this.v3l = B2B_IV[6] | 0; + this.v3h = B2B_IV[7] | 0; + this.v4l = B2B_IV[8] | 0; + this.v4h = B2B_IV[9] | 0; + this.v5l = B2B_IV[10] | 0; + this.v5h = B2B_IV[11] | 0; + this.v6l = B2B_IV[12] | 0; + this.v6h = B2B_IV[13] | 0; + this.v7l = B2B_IV[14] | 0; + this.v7h = B2B_IV[15] | 0; + checkBlake2Opts(olen, opts, 64, 16, 16); + let { key, personalization, salt } = opts; + let keyLength = 0; + if (key !== undefined) { + key = toBytes(key); + keyLength = key.length; + } + this.v0l ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24); + if (salt !== undefined) { + salt = toBytes(salt); + const slt = u32(salt); + this.v4l ^= swap8IfBE(slt[0]); + this.v4h ^= swap8IfBE(slt[1]); + this.v5l ^= swap8IfBE(slt[2]); + this.v5h ^= swap8IfBE(slt[3]); + } + if (personalization !== undefined) { + personalization = toBytes(personalization); + const pers = u32(personalization); + this.v6l ^= swap8IfBE(pers[0]); + this.v6h ^= swap8IfBE(pers[1]); + this.v7l ^= swap8IfBE(pers[2]); + this.v7h ^= swap8IfBE(pers[3]); + } + if (key !== undefined) { + // Pad to blockLen and update + const tmp = new Uint8Array(this.blockLen); + tmp.set(key); + this.update(tmp); + } + } + // prettier-ignore + get() { + let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this; + return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h]; + } + // prettier-ignore + set(v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h) { + this.v0l = v0l | 0; + this.v0h = v0h | 0; + this.v1l = v1l | 0; + this.v1h = v1h | 0; + this.v2l = v2l | 0; + this.v2h = v2h | 0; + this.v3l = v3l | 0; + this.v3h = v3h | 0; + this.v4l = v4l | 0; + this.v4h = v4h | 0; + this.v5l = v5l | 0; + this.v5h = v5h | 0; + this.v6l = v6l | 0; + this.v6h = v6h | 0; + this.v7l = v7l | 0; + this.v7h = v7h | 0; + } + compress(msg, offset, isLast) { + this.get().forEach((v, i) => (BBUF[i] = v)); // First half from state. + BBUF.set(B2B_IV, 16); // Second half from IV. + let { h, l } = u64.fromBig(BigInt(this.length)); + BBUF[24] = B2B_IV[8] ^ l; // Low word of the offset. + BBUF[25] = B2B_IV[9] ^ h; // High word. + // Invert all bits for last block + if (isLast) { + BBUF[28] = ~BBUF[28]; + BBUF[29] = ~BBUF[29]; + } + let j = 0; + const s = BSIGMA; + for (let i = 0; i < 12; i++) { + G1b(0, 4, 8, 12, msg, offset + 2 * s[j++]); + G2b(0, 4, 8, 12, msg, offset + 2 * s[j++]); + G1b(1, 5, 9, 13, msg, offset + 2 * s[j++]); + G2b(1, 5, 9, 13, msg, offset + 2 * s[j++]); + G1b(2, 6, 10, 14, msg, offset + 2 * s[j++]); + G2b(2, 6, 10, 14, msg, offset + 2 * s[j++]); + G1b(3, 7, 11, 15, msg, offset + 2 * s[j++]); + G2b(3, 7, 11, 15, msg, offset + 2 * s[j++]); + G1b(0, 5, 10, 15, msg, offset + 2 * s[j++]); + G2b(0, 5, 10, 15, msg, offset + 2 * s[j++]); + G1b(1, 6, 11, 12, msg, offset + 2 * s[j++]); + G2b(1, 6, 11, 12, msg, offset + 2 * s[j++]); + G1b(2, 7, 8, 13, msg, offset + 2 * s[j++]); + G2b(2, 7, 8, 13, msg, offset + 2 * s[j++]); + G1b(3, 4, 9, 14, msg, offset + 2 * s[j++]); + G2b(3, 4, 9, 14, msg, offset + 2 * s[j++]); + } + this.v0l ^= BBUF[0] ^ BBUF[16]; + this.v0h ^= BBUF[1] ^ BBUF[17]; + this.v1l ^= BBUF[2] ^ BBUF[18]; + this.v1h ^= BBUF[3] ^ BBUF[19]; + this.v2l ^= BBUF[4] ^ BBUF[20]; + this.v2h ^= BBUF[5] ^ BBUF[21]; + this.v3l ^= BBUF[6] ^ BBUF[22]; + this.v3h ^= BBUF[7] ^ BBUF[23]; + this.v4l ^= BBUF[8] ^ BBUF[24]; + this.v4h ^= BBUF[9] ^ BBUF[25]; + this.v5l ^= BBUF[10] ^ BBUF[26]; + this.v5h ^= BBUF[11] ^ BBUF[27]; + this.v6l ^= BBUF[12] ^ BBUF[28]; + this.v6h ^= BBUF[13] ^ BBUF[29]; + this.v7l ^= BBUF[14] ^ BBUF[30]; + this.v7h ^= BBUF[15] ^ BBUF[31]; + clean(BBUF); + } + destroy() { + this.destroyed = true; + clean(this.buffer32); + this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + } +} +/** + * Blake2b hash function. 64-bit. 1.5x slower than blake2s in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +export const blake2b = /* @__PURE__ */ createOptHasher((opts) => new BLAKE2b(opts)); +// prettier-ignore +export function compress(s, offset, msg, rounds, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) { + let j = 0; + for (let i = 0; i < rounds; i++) { + ({ a: v0, b: v4, c: v8, d: v12 } = G1s(v0, v4, v8, v12, msg[offset + s[j++]])); + ({ a: v0, b: v4, c: v8, d: v12 } = G2s(v0, v4, v8, v12, msg[offset + s[j++]])); + ({ a: v1, b: v5, c: v9, d: v13 } = G1s(v1, v5, v9, v13, msg[offset + s[j++]])); + ({ a: v1, b: v5, c: v9, d: v13 } = G2s(v1, v5, v9, v13, msg[offset + s[j++]])); + ({ a: v2, b: v6, c: v10, d: v14 } = G1s(v2, v6, v10, v14, msg[offset + s[j++]])); + ({ a: v2, b: v6, c: v10, d: v14 } = G2s(v2, v6, v10, v14, msg[offset + s[j++]])); + ({ a: v3, b: v7, c: v11, d: v15 } = G1s(v3, v7, v11, v15, msg[offset + s[j++]])); + ({ a: v3, b: v7, c: v11, d: v15 } = G2s(v3, v7, v11, v15, msg[offset + s[j++]])); + ({ a: v0, b: v5, c: v10, d: v15 } = G1s(v0, v5, v10, v15, msg[offset + s[j++]])); + ({ a: v0, b: v5, c: v10, d: v15 } = G2s(v0, v5, v10, v15, msg[offset + s[j++]])); + ({ a: v1, b: v6, c: v11, d: v12 } = G1s(v1, v6, v11, v12, msg[offset + s[j++]])); + ({ a: v1, b: v6, c: v11, d: v12 } = G2s(v1, v6, v11, v12, msg[offset + s[j++]])); + ({ a: v2, b: v7, c: v8, d: v13 } = G1s(v2, v7, v8, v13, msg[offset + s[j++]])); + ({ a: v2, b: v7, c: v8, d: v13 } = G2s(v2, v7, v8, v13, msg[offset + s[j++]])); + ({ a: v3, b: v4, c: v9, d: v14 } = G1s(v3, v4, v9, v14, msg[offset + s[j++]])); + ({ a: v3, b: v4, c: v9, d: v14 } = G2s(v3, v4, v9, v14, msg[offset + s[j++]])); + } + return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 }; +} +const B2S_IV = SHA256_IV; +export class BLAKE2s extends BLAKE2 { + constructor(opts = {}) { + const olen = opts.dkLen === undefined ? 32 : opts.dkLen; + super(64, olen); + // Internal state, same as SHA-256 + this.v0 = B2S_IV[0] | 0; + this.v1 = B2S_IV[1] | 0; + this.v2 = B2S_IV[2] | 0; + this.v3 = B2S_IV[3] | 0; + this.v4 = B2S_IV[4] | 0; + this.v5 = B2S_IV[5] | 0; + this.v6 = B2S_IV[6] | 0; + this.v7 = B2S_IV[7] | 0; + checkBlake2Opts(olen, opts, 32, 8, 8); + let { key, personalization, salt } = opts; + let keyLength = 0; + if (key !== undefined) { + key = toBytes(key); + keyLength = key.length; + } + this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24); + if (salt !== undefined) { + salt = toBytes(salt); + const slt = u32(salt); + this.v4 ^= swap8IfBE(slt[0]); + this.v5 ^= swap8IfBE(slt[1]); + } + if (personalization !== undefined) { + personalization = toBytes(personalization); + const pers = u32(personalization); + this.v6 ^= swap8IfBE(pers[0]); + this.v7 ^= swap8IfBE(pers[1]); + } + if (key !== undefined) { + // Pad to blockLen and update + abytes(key); + const tmp = new Uint8Array(this.blockLen); + tmp.set(key); + this.update(tmp); + } + } + get() { + const { v0, v1, v2, v3, v4, v5, v6, v7 } = this; + return [v0, v1, v2, v3, v4, v5, v6, v7]; + } + // prettier-ignore + set(v0, v1, v2, v3, v4, v5, v6, v7) { + this.v0 = v0 | 0; + this.v1 = v1 | 0; + this.v2 = v2 | 0; + this.v3 = v3 | 0; + this.v4 = v4 | 0; + this.v5 = v5 | 0; + this.v6 = v6 | 0; + this.v7 = v7 | 0; + } + compress(msg, offset, isLast) { + const { h, l } = u64.fromBig(BigInt(this.length)); + // prettier-ignore + const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(BSIGMA, offset, msg, 10, this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, B2S_IV[0], B2S_IV[1], B2S_IV[2], B2S_IV[3], l ^ B2S_IV[4], h ^ B2S_IV[5], isLast ? ~B2S_IV[6] : B2S_IV[6], B2S_IV[7]); + this.v0 ^= v0 ^ v8; + this.v1 ^= v1 ^ v9; + this.v2 ^= v2 ^ v10; + this.v3 ^= v3 ^ v11; + this.v4 ^= v4 ^ v12; + this.v5 ^= v5 ^ v13; + this.v6 ^= v6 ^ v14; + this.v7 ^= v7 ^ v15; + } + destroy() { + this.destroyed = true; + clean(this.buffer32); + this.set(0, 0, 0, 0, 0, 0, 0, 0); + } +} +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. 1.5x faster than blake2b in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +export const blake2s = /* @__PURE__ */ createOptHasher((opts) => new BLAKE2s(opts)); +//# sourceMappingURL=blake2.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2.js.map b/node_modules/@noble/hashes/esm/blake2.js.map new file mode 100644 index 0000000..6289763 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2.js","sourceRoot":"","sources":["../src/blake2.ts"],"names":[],"mappings":"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AG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO;QACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAW,eAAe,CAAC,eAAe,CAC5D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAC5B,CAAC;AAcF,kBAAkB;AAClB,MAAM,UAAU,QAAQ,CAAC,CAAa,EAAE,MAAc,EAAE,GAAgB,EAAE,MAAc,EACtF,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAC9F,EAAU,EAAE,EAAU,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;IAEpG,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAA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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2b.d.ts b/node_modules/@noble/hashes/esm/blake2b.d.ts new file mode 100644 index 0000000..a9ea37e --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2b.d.ts @@ -0,0 +1,11 @@ +/** + * Blake2b hash function. Focuses on 64-bit platforms, but in JS speed different from Blake2s is negligible. + * @module + * @deprecated + */ +import { BLAKE2b as B2B, blake2b as b2b } from './blake2.ts'; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const BLAKE2b: typeof B2B; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const blake2b: typeof b2b; +//# sourceMappingURL=blake2b.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2b.d.ts.map b/node_modules/@noble/hashes/esm/blake2b.d.ts.map new file mode 100644 index 0000000..0307e90 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2b.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2b.d.ts","sourceRoot":"","sources":["../src/blake2b.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7D,+DAA+D;AAC/D,eAAO,MAAM,OAAO,EAAE,OAAO,GAAS,CAAC;AACvC,+DAA+D;AAC/D,eAAO,MAAM,OAAO,EAAE,OAAO,GAAS,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2b.js b/node_modules/@noble/hashes/esm/blake2b.js new file mode 100644 index 0000000..2a7fa35 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2b.js @@ -0,0 +1,11 @@ +/** + * Blake2b hash function. Focuses on 64-bit platforms, but in JS speed different from Blake2s is negligible. + * @module + * @deprecated + */ +import { BLAKE2b as B2B, blake2b as b2b } from "./blake2.js"; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const BLAKE2b = B2B; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const blake2b = b2b; +//# sourceMappingURL=blake2b.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2b.js.map b/node_modules/@noble/hashes/esm/blake2b.js.map new file mode 100644 index 0000000..8450afa --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2b.js","sourceRoot":"","sources":["../src/blake2b.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7D,+DAA+D;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAe,GAAG,CAAC;AACvC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAe,GAAG,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2s.d.ts b/node_modules/@noble/hashes/esm/blake2s.d.ts new file mode 100644 index 0000000..6720f35 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2s.d.ts @@ -0,0 +1,20 @@ +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. blake2b for 64-bit, but in JS it is slower. + * @module + * @deprecated + */ +import { G1s as G1s_n, G2s as G2s_n } from './_blake.ts'; +import { BLAKE2s as B2S, blake2s as b2s, compress as compress_n } from './blake2.ts'; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const B2S_IV: Uint32Array; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const G1s: typeof G1s_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const G2s: typeof G2s_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const compress: typeof compress_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const BLAKE2s: typeof B2S; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export declare const blake2s: typeof b2s; +//# sourceMappingURL=blake2s.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2s.d.ts.map b/node_modules/@noble/hashes/esm/blake2s.d.ts.map new file mode 100644 index 0000000..ced6ec7 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2s.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2s.d.ts","sourceRoot":"","sources":["../src/blake2s.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACrF,+DAA+D;AAC/D,eAAO,MAAM,MAAM,EAAE,WAAuB,CAAC;AAC7C,+DAA+D;AAC/D,eAAO,MAAM,GAAG,EAAE,OAAO,KAAa,CAAC;AACvC,+DAA+D;AAC/D,eAAO,MAAM,GAAG,EAAE,OAAO,KAAa,CAAC;AACvC,+DAA+D;AAC/D,eAAO,MAAM,QAAQ,EAAE,OAAO,UAAuB,CAAC;AACtD,+DAA+D;AAC/D,eAAO,MAAM,OAAO,EAAE,OAAO,GAAS,CAAC;AACvC,+DAA+D;AAC/D,eAAO,MAAM,OAAO,EAAE,OAAO,GAAS,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2s.js b/node_modules/@noble/hashes/esm/blake2s.js new file mode 100644 index 0000000..a4d3337 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2s.js @@ -0,0 +1,21 @@ +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. blake2b for 64-bit, but in JS it is slower. + * @module + * @deprecated + */ +import { G1s as G1s_n, G2s as G2s_n } from "./_blake.js"; +import { SHA256_IV } from "./_md.js"; +import { BLAKE2s as B2S, blake2s as b2s, compress as compress_n } from "./blake2.js"; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const B2S_IV = SHA256_IV; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const G1s = G1s_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const G2s = G2s_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const compress = compress_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const BLAKE2s = B2S; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const blake2s = b2s; +//# sourceMappingURL=blake2s.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake2s.js.map b/node_modules/@noble/hashes/esm/blake2s.js.map new file mode 100644 index 0000000..c0572b2 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake2s.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake2s.js","sourceRoot":"","sources":["../src/blake2s.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACrF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,MAAM,GAAgB,SAAS,CAAC;AAC7C,+DAA+D;AAC/D,MAAM,CAAC,MAAM,GAAG,GAAiB,KAAK,CAAC;AACvC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,GAAG,GAAiB,KAAK,CAAC;AACvC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAsB,UAAU,CAAC;AACtD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAe,GAAG,CAAC;AACvC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAe,GAAG,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake3.d.ts b/node_modules/@noble/hashes/esm/blake3.d.ts new file mode 100644 index 0000000..234fa87 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake3.d.ts @@ -0,0 +1,54 @@ +import { BLAKE2 } from './blake2.ts'; +import { type CHashXO, type HashXOF, type Input } from './utils.ts'; +/** + * Ensure to use EITHER `key` OR `context`, not both. + * + * * `key`: 32-byte MAC key. + * * `context`: string for KDF. Should be hardcoded, globally unique, and application - specific. + * A good default format for the context string is "[application] [commit timestamp] [purpose]". + */ +export type Blake3Opts = { + dkLen?: number; + key?: Input; + context?: Input; +}; +/** Blake3 hash. Can be used as MAC and KDF. */ +export declare class BLAKE3 extends BLAKE2 implements HashXOF { + private chunkPos; + private chunksDone; + private flags; + private IV; + private state; + private stack; + private posOut; + private bufferOut32; + private bufferOut; + private chunkOut; + private enableXOF; + constructor(opts?: Blake3Opts, flags?: number); + protected get(): []; + protected set(): void; + private b2Compress; + protected compress(buf: Uint32Array, bufPos?: number, isLast?: boolean): void; + _cloneInto(to?: BLAKE3): BLAKE3; + destroy(): void; + private b2CompressOut; + protected finish(): void; + private writeInto; + xofInto(out: Uint8Array): Uint8Array; + xof(bytes: number): Uint8Array; + digestInto(out: Uint8Array): Uint8Array; + digest(): Uint8Array; +} +/** + * BLAKE3 hash function. Can be used as MAC and KDF. + * @param msg - message that would be hashed + * @param opts - `dkLen` for output length, `key` for MAC mode, `context` for KDF mode + * @example + * const data = new Uint8Array(32); + * const hash = blake3(data); + * const mac = blake3(data, { key: new Uint8Array(32) }); + * const kdf = blake3(data, { context: 'application name' }); + */ +export declare const blake3: CHashXO; +//# sourceMappingURL=blake3.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake3.d.ts.map b/node_modules/@noble/hashes/esm/blake3.d.ts.map new file mode 100644 index 0000000..4335e42 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake3.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"blake3.d.ts","sourceRoot":"","sources":["../src/blake3.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,EAAY,MAAM,aAAa,CAAC;AAE/C,OAAO,EAGL,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EACvC,MAAM,YAAY,CAAC;AAwBpB;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE1E,+CAA+C;AAC/C,qBAAa,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAE,YAAW,OAAO,CAAC,MAAM,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,EAAE,CAAc;IACxB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAQ;gBAEb,IAAI,GAAE,UAAe,EAAE,KAAK,SAAI;IA2B5C,SAAS,CAAC,GAAG,IAAI,EAAE;IAGnB,SAAS,CAAC,GAAG,IAAI,IAAI;IACrB,OAAO,CAAC,UAAU;IAmBlB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,GAAE,MAAU,EAAE,MAAM,GAAE,OAAe,GAAG,IAAI;IAiCvF,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAe/B,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,aAAa;IA+BrB,SAAS,CAAC,MAAM,IAAI,IAAI;IAoBxB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAIpC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAI9B,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAQvC,MAAM,IAAI,UAAU;CAGrB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,EAAE,OAEpB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake3.js b/node_modules/@noble/hashes/esm/blake3.js new file mode 100644 index 0000000..e7e6e48 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake3.js @@ -0,0 +1,251 @@ +/** + * Blake3 fast hash is Blake2 with reduced security (round count). Can also be used as MAC & KDF. + * + * It is advertised as "the fastest cryptographic hash". However, it isn't true in JS. + * Why is this so slow? While it should be 6x faster than blake2b, perf diff is only 20%: + * + * * There is only 30% reduction in number of rounds from blake2s + * * Speed-up comes from tree structure, which is parallelized using SIMD & threading. + * These features are not present in JS, so we only get overhead from trees. + * * Parallelization only happens on 1024-byte chunks: there is no benefit for small inputs. + * * It is still possible to make it faster using: a) loop unrolling b) web workers c) wasm + * @module + */ +import { SHA256_IV } from "./_md.js"; +import { fromBig } from "./_u64.js"; +import { BLAKE2, compress } from "./blake2.js"; +// prettier-ignore +import { abytes, aexists, anumber, aoutput, clean, createXOFer, swap32IfBE, toBytes, u32, u8 } from "./utils.js"; +// Flag bitset +const B3_Flags = { + CHUNK_START: 0b1, + CHUNK_END: 0b10, + PARENT: 0b100, + ROOT: 0b1000, + KEYED_HASH: 0b10000, + DERIVE_KEY_CONTEXT: 0b100000, + DERIVE_KEY_MATERIAL: 0b1000000, +}; +const B3_IV = SHA256_IV.slice(); +const B3_SIGMA = /* @__PURE__ */ (() => { + const Id = Array.from({ length: 16 }, (_, i) => i); + const permute = (arr) => [2, 6, 3, 10, 7, 0, 4, 13, 1, 11, 12, 5, 9, 14, 15, 8].map((i) => arr[i]); + const res = []; + for (let i = 0, v = Id; i < 7; i++, v = permute(v)) + res.push(...v); + return Uint8Array.from(res); +})(); +/** Blake3 hash. Can be used as MAC and KDF. */ +export class BLAKE3 extends BLAKE2 { + constructor(opts = {}, flags = 0) { + super(64, opts.dkLen === undefined ? 32 : opts.dkLen); + this.chunkPos = 0; // Position of current block in chunk + this.chunksDone = 0; // How many chunks we already have + this.flags = 0 | 0; + this.stack = []; + // Output + this.posOut = 0; + this.bufferOut32 = new Uint32Array(16); + this.chunkOut = 0; // index of output chunk + this.enableXOF = true; + const { key, context } = opts; + const hasContext = context !== undefined; + if (key !== undefined) { + if (hasContext) + throw new Error('Only "key" or "context" can be specified at same time'); + const k = toBytes(key).slice(); + abytes(k, 32); + this.IV = u32(k); + swap32IfBE(this.IV); + this.flags = flags | B3_Flags.KEYED_HASH; + } + else if (hasContext) { + const ctx = toBytes(context); + const contextKey = new BLAKE3({ dkLen: 32 }, B3_Flags.DERIVE_KEY_CONTEXT) + .update(ctx) + .digest(); + this.IV = u32(contextKey); + swap32IfBE(this.IV); + this.flags = flags | B3_Flags.DERIVE_KEY_MATERIAL; + } + else { + this.IV = B3_IV.slice(); + this.flags = flags; + } + this.state = this.IV.slice(); + this.bufferOut = u8(this.bufferOut32); + } + // Unused + get() { + return []; + } + set() { } + b2Compress(counter, flags, buf, bufPos = 0) { + const { state: s, pos } = this; + const { h, l } = fromBig(BigInt(counter), true); + // prettier-ignore + const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(B3_SIGMA, bufPos, buf, 7, s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], h, l, pos, flags); + s[0] = v0 ^ v8; + s[1] = v1 ^ v9; + s[2] = v2 ^ v10; + s[3] = v3 ^ v11; + s[4] = v4 ^ v12; + s[5] = v5 ^ v13; + s[6] = v6 ^ v14; + s[7] = v7 ^ v15; + } + compress(buf, bufPos = 0, isLast = false) { + // Compress last block + let flags = this.flags; + if (!this.chunkPos) + flags |= B3_Flags.CHUNK_START; + if (this.chunkPos === 15 || isLast) + flags |= B3_Flags.CHUNK_END; + if (!isLast) + this.pos = this.blockLen; + this.b2Compress(this.chunksDone, flags, buf, bufPos); + this.chunkPos += 1; + // If current block is last in chunk (16 blocks), then compress chunks + if (this.chunkPos === 16 || isLast) { + let chunk = this.state; + this.state = this.IV.slice(); + // If not the last one, compress only when there are trailing zeros in chunk counter + // chunks used as binary tree where current stack is path. Zero means current leaf is finished and can be compressed. + // 1 (001) - leaf not finished (just push current chunk to stack) + // 2 (010) - leaf finished at depth=1 (merge with last elm on stack and push back) + // 3 (011) - last leaf not finished + // 4 (100) - leafs finished at depth=1 and depth=2 + for (let last, chunks = this.chunksDone + 1; isLast || !(chunks & 1); chunks >>= 1) { + if (!(last = this.stack.pop())) + break; + this.buffer32.set(last, 0); + this.buffer32.set(chunk, 8); + this.pos = this.blockLen; + this.b2Compress(0, this.flags | B3_Flags.PARENT, this.buffer32, 0); + chunk = this.state; + this.state = this.IV.slice(); + } + this.chunksDone++; + this.chunkPos = 0; + this.stack.push(chunk); + } + this.pos = 0; + } + _cloneInto(to) { + to = super._cloneInto(to); + const { IV, flags, state, chunkPos, posOut, chunkOut, stack, chunksDone } = this; + to.state.set(state.slice()); + to.stack = stack.map((i) => Uint32Array.from(i)); + to.IV.set(IV); + to.flags = flags; + to.chunkPos = chunkPos; + to.chunksDone = chunksDone; + to.posOut = posOut; + to.chunkOut = chunkOut; + to.enableXOF = this.enableXOF; + to.bufferOut32.set(this.bufferOut32); + return to; + } + destroy() { + this.destroyed = true; + clean(this.state, this.buffer32, this.IV, this.bufferOut32); + clean(...this.stack); + } + // Same as b2Compress, but doesn't modify state and returns 16 u32 array (instead of 8) + b2CompressOut() { + const { state: s, pos, flags, buffer32, bufferOut32: out32 } = this; + const { h, l } = fromBig(BigInt(this.chunkOut++)); + swap32IfBE(buffer32); + // prettier-ignore + const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(B3_SIGMA, 0, buffer32, 7, s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], l, h, pos, flags); + out32[0] = v0 ^ v8; + out32[1] = v1 ^ v9; + out32[2] = v2 ^ v10; + out32[3] = v3 ^ v11; + out32[4] = v4 ^ v12; + out32[5] = v5 ^ v13; + out32[6] = v6 ^ v14; + out32[7] = v7 ^ v15; + out32[8] = s[0] ^ v8; + out32[9] = s[1] ^ v9; + out32[10] = s[2] ^ v10; + out32[11] = s[3] ^ v11; + out32[12] = s[4] ^ v12; + out32[13] = s[5] ^ v13; + out32[14] = s[6] ^ v14; + out32[15] = s[7] ^ v15; + swap32IfBE(buffer32); + swap32IfBE(out32); + this.posOut = 0; + } + finish() { + if (this.finished) + return; + this.finished = true; + // Padding + clean(this.buffer.subarray(this.pos)); + // Process last chunk + let flags = this.flags | B3_Flags.ROOT; + if (this.stack.length) { + flags |= B3_Flags.PARENT; + swap32IfBE(this.buffer32); + this.compress(this.buffer32, 0, true); + swap32IfBE(this.buffer32); + this.chunksDone = 0; + this.pos = this.blockLen; + } + else { + flags |= (!this.chunkPos ? B3_Flags.CHUNK_START : 0) | B3_Flags.CHUNK_END; + } + this.flags = flags; + this.b2CompressOut(); + } + writeInto(out) { + aexists(this, false); + abytes(out); + this.finish(); + const { blockLen, bufferOut } = this; + for (let pos = 0, len = out.length; pos < len;) { + if (this.posOut >= blockLen) + this.b2CompressOut(); + const take = Math.min(blockLen - this.posOut, len - pos); + out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos); + this.posOut += take; + pos += take; + } + return out; + } + xofInto(out) { + if (!this.enableXOF) + throw new Error('XOF is not possible after digest call'); + return this.writeInto(out); + } + xof(bytes) { + anumber(bytes); + return this.xofInto(new Uint8Array(bytes)); + } + digestInto(out) { + aoutput(out, this); + if (this.finished) + throw new Error('digest() was already called'); + this.enableXOF = false; + this.writeInto(out); + this.destroy(); + return out; + } + digest() { + return this.digestInto(new Uint8Array(this.outputLen)); + } +} +/** + * BLAKE3 hash function. Can be used as MAC and KDF. + * @param msg - message that would be hashed + * @param opts - `dkLen` for output length, `key` for MAC mode, `context` for KDF mode + * @example + * const data = new Uint8Array(32); + * const hash = blake3(data); + * const mac = blake3(data, { key: new Uint8Array(32) }); + * const kdf = blake3(data, { context: 'application name' }); + */ +export const blake3 = /* @__PURE__ */ createXOFer((opts) => new BLAKE3(opts)); +//# sourceMappingURL=blake3.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/blake3.js.map b/node_modules/@noble/hashes/esm/blake3.js.map new file mode 100644 index 0000000..91f5a79 --- /dev/null +++ b/node_modules/@noble/hashes/esm/blake3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blake3.js","sourceRoot":"","sources":["../src/blake3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/crypto.d.ts b/node_modules/@noble/hashes/esm/crypto.d.ts new file mode 100644 index 0000000..ac181a0 --- /dev/null +++ b/node_modules/@noble/hashes/esm/crypto.d.ts @@ -0,0 +1,2 @@ +export declare const crypto: any; +//# sourceMappingURL=crypto.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/crypto.d.ts.map b/node_modules/@noble/hashes/esm/crypto.d.ts.map new file mode 100644 index 0000000..756d982 --- /dev/null +++ b/node_modules/@noble/hashes/esm/crypto.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM,EAAE,GACqE,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/crypto.js b/node_modules/@noble/hashes/esm/crypto.js new file mode 100644 index 0000000..8d499a0 --- /dev/null +++ b/node_modules/@noble/hashes/esm/crypto.js @@ -0,0 +1,2 @@ +export const crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined; +//# sourceMappingURL=crypto.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/crypto.js.map b/node_modules/@noble/hashes/esm/crypto.js.map new file mode 100644 index 0000000..9ad4f45 --- /dev/null +++ b/node_modules/@noble/hashes/esm/crypto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,MAAM,GACjB,OAAO,UAAU,KAAK,QAAQ,IAAI,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/cryptoNode.d.ts b/node_modules/@noble/hashes/esm/cryptoNode.d.ts new file mode 100644 index 0000000..98bda7b --- /dev/null +++ b/node_modules/@noble/hashes/esm/cryptoNode.d.ts @@ -0,0 +1,2 @@ +export declare const crypto: any; +//# sourceMappingURL=cryptoNode.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map b/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map new file mode 100644 index 0000000..90dcc44 --- /dev/null +++ b/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cryptoNode.d.ts","sourceRoot":"","sources":["../src/cryptoNode.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,EAAE,GAKJ,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/cryptoNode.js b/node_modules/@noble/hashes/esm/cryptoNode.js new file mode 100644 index 0000000..4f77e8f --- /dev/null +++ b/node_modules/@noble/hashes/esm/cryptoNode.js @@ -0,0 +1,15 @@ +/** + * Internal webcrypto alias. + * We prefer WebCrypto aka globalThis.crypto, which exists in node.js 16+. + * Falls back to Node.js built-in crypto for Node.js <=v14. + * See utils.ts for details. + * @module + */ +// @ts-ignore +import * as nc from 'node:crypto'; +export const crypto = nc && typeof nc === 'object' && 'webcrypto' in nc + ? nc.webcrypto + : nc && typeof nc === 'object' && 'randomBytes' in nc + ? nc + : undefined; +//# sourceMappingURL=cryptoNode.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/cryptoNode.js.map b/node_modules/@noble/hashes/esm/cryptoNode.js.map new file mode 100644 index 0000000..6b07d8a --- /dev/null +++ b/node_modules/@noble/hashes/esm/cryptoNode.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cryptoNode.js","sourceRoot":"","sources":["../src/cryptoNode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,aAAa;AACb,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,MAAM,CAAC,MAAM,MAAM,GACjB,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,WAAW,IAAI,EAAE;IAC/C,CAAC,CAAE,EAAE,CAAC,SAAiB;IACvB,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,aAAa,IAAI,EAAE;QACnD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/eskdf.d.ts b/node_modules/@noble/hashes/esm/eskdf.d.ts new file mode 100644 index 0000000..66721eb --- /dev/null +++ b/node_modules/@noble/hashes/esm/eskdf.d.ts @@ -0,0 +1,47 @@ +export declare function scrypt(password: string, salt: string): Uint8Array; +export declare function pbkdf2(password: string, salt: string): Uint8Array; +/** + * Derives main seed. Takes a lot of time. Prefer `eskdf` method instead. + */ +export declare function deriveMainSeed(username: string, password: string): Uint8Array; +type AccountID = number | string; +type OptsLength = { + keyLength: number; +}; +type OptsMod = { + modulus: bigint; +}; +type KeyOpts = undefined | OptsLength | OptsMod; +export interface ESKDF { + /** + * Derives a child key. Child key will not be associated with any + * other child key because of properties of underlying KDF. + * + * @param protocol - 3-15 character protocol name + * @param accountId - numeric identifier of account + * @param options - `keyLength: 64` or `modulus: 41920438n` + * @example deriveChildKey('aes', 0) + */ + deriveChildKey: (protocol: string, accountId: AccountID, options?: KeyOpts) => Uint8Array; + /** + * Deletes the main seed from eskdf instance + */ + expire: () => void; + /** + * Account fingerprint + */ + fingerprint: string; +} +/** + * ESKDF + * @param username - username, email, or identifier, min: 8 characters, should have enough entropy + * @param password - password, min: 8 characters, should have enough entropy + * @example + * const kdf = await eskdf('example-university', 'beginning-new-example'); + * const key = kdf.deriveChildKey('aes', 0); + * console.log(kdf.fingerprint); + * kdf.expire(); + */ +export declare function eskdf(username: string, password: string): Promise; +export {}; +//# sourceMappingURL=eskdf.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/eskdf.d.ts.map b/node_modules/@noble/hashes/esm/eskdf.d.ts.map new file mode 100644 index 0000000..f05732c --- /dev/null +++ b/node_modules/@noble/hashes/esm/eskdf.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"eskdf.d.ts","sourceRoot":"","sources":["../src/eskdf.ts"],"names":[],"mappings":"AAiBA,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAEjE;AAGD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAEjE;AAiBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAY7E;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAgCjC,KAAK,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACxC,KAAK,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AACnC,KAAK,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAwChD,MAAM,WAAW,KAAK;IACpB;;;;;;;;OAQG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,UAAU,CAAC;IAC1F;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAuB9E"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/eskdf.js b/node_modules/@noble/hashes/esm/eskdf.js new file mode 100644 index 0000000..96d7a50 --- /dev/null +++ b/node_modules/@noble/hashes/esm/eskdf.js @@ -0,0 +1,160 @@ +/** + * Experimental KDF for AES. + */ +import { hkdf } from "./hkdf.js"; +import { pbkdf2 as _pbkdf2 } from "./pbkdf2.js"; +import { scrypt as _scrypt } from "./scrypt.js"; +import { sha256 } from "./sha256.js"; +import { abytes, bytesToHex, clean, createView, hexToBytes, kdfInputToBytes } from "./utils.js"; +// A tiny KDF for various applications like AES key-gen. +// Uses HKDF in a non-standard way, so it's not "KDF-secure", only "PRF-secure". +// Which is good enough: assume sha2-256 retained preimage resistance. +const SCRYPT_FACTOR = 2 ** 19; +const PBKDF2_FACTOR = 2 ** 17; +// Scrypt KDF +export function scrypt(password, salt) { + return _scrypt(password, salt, { N: SCRYPT_FACTOR, r: 8, p: 1, dkLen: 32 }); +} +// PBKDF2-HMAC-SHA256 +export function pbkdf2(password, salt) { + return _pbkdf2(sha256, password, salt, { c: PBKDF2_FACTOR, dkLen: 32 }); +} +// Combines two 32-byte byte arrays +function xor32(a, b) { + abytes(a, 32); + abytes(b, 32); + const arr = new Uint8Array(32); + for (let i = 0; i < 32; i++) { + arr[i] = a[i] ^ b[i]; + } + return arr; +} +function strHasLength(str, min, max) { + return typeof str === 'string' && str.length >= min && str.length <= max; +} +/** + * Derives main seed. Takes a lot of time. Prefer `eskdf` method instead. + */ +export function deriveMainSeed(username, password) { + if (!strHasLength(username, 8, 255)) + throw new Error('invalid username'); + if (!strHasLength(password, 8, 255)) + throw new Error('invalid password'); + // Declared like this to throw off minifiers which auto-convert .fromCharCode(1) to actual string. + // String with non-ascii may be problematic in some envs + const codes = { _1: 1, _2: 2 }; + const sep = { s: String.fromCharCode(codes._1), p: String.fromCharCode(codes._2) }; + const scr = scrypt(password + sep.s, username + sep.s); + const pbk = pbkdf2(password + sep.p, username + sep.p); + const res = xor32(scr, pbk); + clean(scr, pbk); + return res; +} +/** + * Converts protocol & accountId pair to HKDF salt & info params. + */ +function getSaltInfo(protocol, accountId = 0) { + // Note that length here also repeats two lines below + // We do an additional length check here to reduce the scope of DoS attacks + if (!(strHasLength(protocol, 3, 15) && /^[a-z0-9]{3,15}$/.test(protocol))) { + throw new Error('invalid protocol'); + } + // Allow string account ids for some protocols + const allowsStr = /^password\d{0,3}|ssh|tor|file$/.test(protocol); + let salt; // Extract salt. Default is undefined. + if (typeof accountId === 'string') { + if (!allowsStr) + throw new Error('accountId must be a number'); + if (!strHasLength(accountId, 1, 255)) + throw new Error('accountId must be string of length 1..255'); + salt = kdfInputToBytes(accountId); + } + else if (Number.isSafeInteger(accountId)) { + if (accountId < 0 || accountId > Math.pow(2, 32) - 1) + throw new Error('invalid accountId'); + // Convert to Big Endian Uint32 + salt = new Uint8Array(4); + createView(salt).setUint32(0, accountId, false); + } + else { + throw new Error('accountId must be a number' + (allowsStr ? ' or string' : '')); + } + const info = kdfInputToBytes(protocol); + return { salt, info }; +} +function countBytes(num) { + if (typeof num !== 'bigint' || num <= BigInt(128)) + throw new Error('invalid number'); + return Math.ceil(num.toString(2).length / 8); +} +/** + * Parses keyLength and modulus options to extract length of result key. + * If modulus is used, adds 64 bits to it as per FIPS 186 B.4.1 to combat modulo bias. + */ +function getKeyLength(options) { + if (!options || typeof options !== 'object') + return 32; + const hasLen = 'keyLength' in options; + const hasMod = 'modulus' in options; + if (hasLen && hasMod) + throw new Error('cannot combine keyLength and modulus options'); + if (!hasLen && !hasMod) + throw new Error('must have either keyLength or modulus option'); + // FIPS 186 B.4.1 requires at least 64 more bits + const l = hasMod ? countBytes(options.modulus) + 8 : options.keyLength; + if (!(typeof l === 'number' && l >= 16 && l <= 8192)) + throw new Error('invalid keyLength'); + return l; +} +/** + * Converts key to bigint and divides it by modulus. Big Endian. + * Implements FIPS 186 B.4.1, which removes 0 and modulo bias from output. + */ +function modReduceKey(key, modulus) { + const _1 = BigInt(1); + const num = BigInt('0x' + bytesToHex(key)); // check for ui8a, then bytesToNumber() + const res = (num % (modulus - _1)) + _1; // Remove 0 from output + if (res < _1) + throw new Error('expected positive number'); // Guard against bad values + const len = key.length - 8; // FIPS requires 64 more bits = 8 bytes + const hex = res.toString(16).padStart(len * 2, '0'); // numberToHex() + const bytes = hexToBytes(hex); + if (bytes.length !== len) + throw new Error('invalid length of result key'); + return bytes; +} +/** + * ESKDF + * @param username - username, email, or identifier, min: 8 characters, should have enough entropy + * @param password - password, min: 8 characters, should have enough entropy + * @example + * const kdf = await eskdf('example-university', 'beginning-new-example'); + * const key = kdf.deriveChildKey('aes', 0); + * console.log(kdf.fingerprint); + * kdf.expire(); + */ +export async function eskdf(username, password) { + // We are using closure + object instead of class because + // we want to make `seed` non-accessible for any external function. + let seed = deriveMainSeed(username, password); + function deriveCK(protocol, accountId = 0, options) { + abytes(seed, 32); + const { salt, info } = getSaltInfo(protocol, accountId); // validate protocol & accountId + const keyLength = getKeyLength(options); // validate options + const key = hkdf(sha256, seed, salt, info, keyLength); + // Modulus has already been validated + return options && 'modulus' in options ? modReduceKey(key, options.modulus) : key; + } + function expire() { + if (seed) + seed.fill(1); + seed = undefined; + } + // prettier-ignore + const fingerprint = Array.from(deriveCK('fingerprint', 0)) + .slice(0, 6) + .map((char) => char.toString(16).padStart(2, '0').toUpperCase()) + .join(':'); + return Object.freeze({ deriveChildKey: deriveCK, expire, fingerprint }); +} +//# sourceMappingURL=eskdf.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/eskdf.js.map b/node_modules/@noble/hashes/esm/eskdf.js.map new file mode 100644 index 0000000..578d3f4 --- /dev/null +++ b/node_modules/@noble/hashes/esm/eskdf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eskdf.js","sourceRoot":"","sources":["../src/eskdf.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/hkdf.d.ts b/node_modules/@noble/hashes/esm/hkdf.d.ts new file mode 100644 index 0000000..c54c4ab --- /dev/null +++ b/node_modules/@noble/hashes/esm/hkdf.d.ts @@ -0,0 +1,36 @@ +import { type CHash, type Input } from './utils.ts'; +/** + * HKDF-extract from spec. Less important part. `HKDF-Extract(IKM, salt) -> PRK` + * Arguments position differs from spec (IKM is first one, since it is not optional) + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + */ +export declare function extract(hash: CHash, ikm: Input, salt?: Input): Uint8Array; +/** + * HKDF-expand from the spec. The most important part. `HKDF-Expand(PRK, info, L) -> OKM` + * @param hash - hash function that would be used (e.g. sha256) + * @param prk - a pseudorandom key of at least HashLen octets (usually, the output from the extract step) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + */ +export declare function expand(hash: CHash, prk: Input, info?: Input, length?: number): Uint8Array; +/** + * HKDF (RFC 5869): derive keys from an initial input. + * Combines hkdf_extract + hkdf_expand in one step + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + * @example + * import { hkdf } from '@noble/hashes/hkdf'; + * import { sha256 } from '@noble/hashes/sha2'; + * import { randomBytes } from '@noble/hashes/utils'; + * const inputKey = randomBytes(32); + * const salt = randomBytes(32); + * const info = 'application-key'; + * const hk1 = hkdf(sha256, inputKey, salt, info, 32); + */ +export declare const hkdf: (hash: CHash, ikm: Input, salt: Input | undefined, info: Input | undefined, length: number) => Uint8Array; +//# sourceMappingURL=hkdf.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/hkdf.d.ts.map b/node_modules/@noble/hashes/esm/hkdf.d.ts.map new file mode 100644 index 0000000..675ea9e --- /dev/null +++ b/node_modules/@noble/hashes/esm/hkdf.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"hkdf.d.ts","sourceRoot":"","sources":["../src/hkdf.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,KAAK,EAAS,KAAK,KAAK,EAAW,MAAM,YAAY,CAAC;AAEpF;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,UAAU,CAOzE;AAKD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,GAAE,MAAW,GAAG,UAAU,CA4B7F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,GACf,MAAM,KAAK,EACX,KAAK,KAAK,EACV,MAAM,KAAK,GAAG,SAAS,EACvB,MAAM,KAAK,GAAG,SAAS,EACvB,QAAQ,MAAM,KACb,UAAkE,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/hkdf.js b/node_modules/@noble/hashes/esm/hkdf.js new file mode 100644 index 0000000..a306a9b --- /dev/null +++ b/node_modules/@noble/hashes/esm/hkdf.js @@ -0,0 +1,82 @@ +/** + * HKDF (RFC 5869): extract + expand in one step. + * See https://soatok.blog/2021/11/17/understanding-hkdf/. + * @module + */ +import { hmac } from "./hmac.js"; +import { ahash, anumber, clean, toBytes } from "./utils.js"; +/** + * HKDF-extract from spec. Less important part. `HKDF-Extract(IKM, salt) -> PRK` + * Arguments position differs from spec (IKM is first one, since it is not optional) + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + */ +export function extract(hash, ikm, salt) { + ahash(hash); + // NOTE: some libraries treat zero-length array as 'not provided'; + // we don't, since we have undefined as 'not provided' + // https://github.com/RustCrypto/KDFs/issues/15 + if (salt === undefined) + salt = new Uint8Array(hash.outputLen); + return hmac(hash, toBytes(salt), toBytes(ikm)); +} +const HKDF_COUNTER = /* @__PURE__ */ Uint8Array.from([0]); +const EMPTY_BUFFER = /* @__PURE__ */ Uint8Array.of(); +/** + * HKDF-expand from the spec. The most important part. `HKDF-Expand(PRK, info, L) -> OKM` + * @param hash - hash function that would be used (e.g. sha256) + * @param prk - a pseudorandom key of at least HashLen octets (usually, the output from the extract step) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + */ +export function expand(hash, prk, info, length = 32) { + ahash(hash); + anumber(length); + const olen = hash.outputLen; + if (length > 255 * olen) + throw new Error('Length should be <= 255*HashLen'); + const blocks = Math.ceil(length / olen); + if (info === undefined) + info = EMPTY_BUFFER; + // first L(ength) octets of T + const okm = new Uint8Array(blocks * olen); + // Re-use HMAC instance between blocks + const HMAC = hmac.create(hash, prk); + const HMACTmp = HMAC._cloneInto(); + const T = new Uint8Array(HMAC.outputLen); + for (let counter = 0; counter < blocks; counter++) { + HKDF_COUNTER[0] = counter + 1; + // T(0) = empty string (zero length) + // T(N) = HMAC-Hash(PRK, T(N-1) | info | N) + HMACTmp.update(counter === 0 ? EMPTY_BUFFER : T) + .update(info) + .update(HKDF_COUNTER) + .digestInto(T); + okm.set(T, olen * counter); + HMAC._cloneInto(HMACTmp); + } + HMAC.destroy(); + HMACTmp.destroy(); + clean(T, HKDF_COUNTER); + return okm.slice(0, length); +} +/** + * HKDF (RFC 5869): derive keys from an initial input. + * Combines hkdf_extract + hkdf_expand in one step + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + * @example + * import { hkdf } from '@noble/hashes/hkdf'; + * import { sha256 } from '@noble/hashes/sha2'; + * import { randomBytes } from '@noble/hashes/utils'; + * const inputKey = randomBytes(32); + * const salt = randomBytes(32); + * const info = 'application-key'; + * const hk1 = hkdf(sha256, inputKey, salt, info, 32); + */ +export const hkdf = (hash, ikm, salt, info, length) => expand(hash, extract(hash, ikm, salt), info, length); +//# sourceMappingURL=hkdf.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/hkdf.js.map b/node_modules/@noble/hashes/esm/hkdf.js.map new file mode 100644 index 0000000..8984004 --- /dev/null +++ b/node_modules/@noble/hashes/esm/hkdf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hkdf.js","sourceRoot":"","sources":["../src/hkdf.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/hmac.d.ts b/node_modules/@noble/hashes/esm/hmac.d.ts new file mode 100644 index 0000000..86525f9 --- /dev/null +++ b/node_modules/@noble/hashes/esm/hmac.d.ts @@ -0,0 +1,35 @@ +/** + * HMAC: RFC2104 message authentication code. + * @module + */ +import { Hash, type CHash, type Input } from './utils.ts'; +export declare class HMAC> extends Hash> { + oHash: T; + iHash: T; + blockLen: number; + outputLen: number; + private finished; + private destroyed; + constructor(hash: CHash, _key: Input); + update(buf: Input): this; + digestInto(out: Uint8Array): void; + digest(): Uint8Array; + _cloneInto(to?: HMAC): HMAC; + clone(): HMAC; + destroy(): void; +} +/** + * HMAC: RFC2104 message authentication code. + * @param hash - function that would be used e.g. sha256 + * @param key - message key + * @param message - message data + * @example + * import { hmac } from '@noble/hashes/hmac'; + * import { sha256 } from '@noble/hashes/sha2'; + * const mac1 = hmac(sha256, 'key', 'message'); + */ +export declare const hmac: { + (hash: CHash, key: Input, message: Input): Uint8Array; + create(hash: CHash, key: Input): HMAC; +}; +//# sourceMappingURL=hmac.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/hmac.d.ts.map b/node_modules/@noble/hashes/esm/hmac.d.ts.map new file mode 100644 index 0000000..7cea37d --- /dev/null +++ b/node_modules/@noble/hashes/esm/hmac.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../src/hmac.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAiC,IAAI,EAAW,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAElG,qBAAa,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IAsBpC,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAKxB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IASjC,MAAM,IAAI,UAAU;IAKpB,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAajC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAGhB,OAAO,IAAI,IAAI;CAKhB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,EAAE;IACjB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,UAAU,CAAC;IACtD,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;CAEM,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/hmac.js b/node_modules/@noble/hashes/esm/hmac.js new file mode 100644 index 0000000..4636246 --- /dev/null +++ b/node_modules/@noble/hashes/esm/hmac.js @@ -0,0 +1,86 @@ +/** + * HMAC: RFC2104 message authentication code. + * @module + */ +import { abytes, aexists, ahash, clean, Hash, toBytes } from "./utils.js"; +export class HMAC extends Hash { + constructor(hash, _key) { + super(); + this.finished = false; + this.destroyed = false; + ahash(hash); + const key = toBytes(_key); + this.iHash = hash.create(); + if (typeof this.iHash.update !== 'function') + throw new Error('Expected instance of class which extends utils.Hash'); + this.blockLen = this.iHash.blockLen; + this.outputLen = this.iHash.outputLen; + const blockLen = this.blockLen; + const pad = new Uint8Array(blockLen); + // blockLen can be bigger than outputLen + pad.set(key.length > blockLen ? hash.create().update(key).digest() : key); + for (let i = 0; i < pad.length; i++) + pad[i] ^= 0x36; + this.iHash.update(pad); + // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone + this.oHash = hash.create(); + // Undo internal XOR && apply outer XOR + for (let i = 0; i < pad.length; i++) + pad[i] ^= 0x36 ^ 0x5c; + this.oHash.update(pad); + clean(pad); + } + update(buf) { + aexists(this); + this.iHash.update(buf); + return this; + } + digestInto(out) { + aexists(this); + abytes(out, this.outputLen); + this.finished = true; + this.iHash.digestInto(out); + this.oHash.update(out); + this.oHash.digestInto(out); + this.destroy(); + } + digest() { + const out = new Uint8Array(this.oHash.outputLen); + this.digestInto(out); + return out; + } + _cloneInto(to) { + // Create new instance without calling constructor since key already in state and we don't know it. + to || (to = Object.create(Object.getPrototypeOf(this), {})); + const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this; + to = to; + to.finished = finished; + to.destroyed = destroyed; + to.blockLen = blockLen; + to.outputLen = outputLen; + to.oHash = oHash._cloneInto(to.oHash); + to.iHash = iHash._cloneInto(to.iHash); + return to; + } + clone() { + return this._cloneInto(); + } + destroy() { + this.destroyed = true; + this.oHash.destroy(); + this.iHash.destroy(); + } +} +/** + * HMAC: RFC2104 message authentication code. + * @param hash - function that would be used e.g. sha256 + * @param key - message key + * @param message - message data + * @example + * import { hmac } from '@noble/hashes/hmac'; + * import { sha256 } from '@noble/hashes/sha2'; + * const mac1 = hmac(sha256, 'key', 'message'); + */ +export const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest(); +hmac.create = (hash, key) => new HMAC(hash, key); +//# sourceMappingURL=hmac.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/hmac.js.map b/node_modules/@noble/hashes/esm/hmac.js.map new file mode 100644 index 0000000..dc621aa --- /dev/null +++ b/node_modules/@noble/hashes/esm/hmac.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../src/hmac.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/index.d.ts b/node_modules/@noble/hashes/esm/index.d.ts new file mode 100644 index 0000000..e26a57a --- /dev/null +++ b/node_modules/@noble/hashes/esm/index.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/index.d.ts.map b/node_modules/@noble/hashes/esm/index.d.ts.map new file mode 100644 index 0000000..535b86d --- /dev/null +++ b/node_modules/@noble/hashes/esm/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/index.js b/node_modules/@noble/hashes/esm/index.js new file mode 100644 index 0000000..3a2f175 --- /dev/null +++ b/node_modules/@noble/hashes/esm/index.js @@ -0,0 +1,33 @@ +/** + * Audited & minimal JS implementation of hash functions, MACs and KDFs. Check out individual modules. + * @module + * @example +```js +import { + sha256, sha384, sha512, sha224, sha512_224, sha512_256 +} from '@noble/hashes/sha2'; +import { + sha3_224, sha3_256, sha3_384, sha3_512, + keccak_224, keccak_256, keccak_384, keccak_512, + shake128, shake256 +} from '@noble/hashes/sha3'; +import { + cshake128, cshake256, + turboshake128, turboshake256, + kmac128, kmac256, + tuplehash256, parallelhash256, + k12, m14, keccakprg +} from '@noble/hashes/sha3-addons'; +import { blake3 } from '@noble/hashes/blake3'; +import { blake2b, blake2s } from '@noble/hashes/blake2'; +import { hmac } from '@noble/hashes/hmac'; +import { hkdf } from '@noble/hashes/hkdf'; +import { pbkdf2, pbkdf2Async } from '@noble/hashes/pbkdf2'; +import { scrypt, scryptAsync } from '@noble/hashes/scrypt'; +import { md5, ripemd160, sha1 } from '@noble/hashes/legacy'; +import * as utils from '@noble/hashes/utils'; +``` + */ +throw new Error('root module cannot be imported: import submodules instead. Check out README'); +export {}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/index.js.map b/node_modules/@noble/hashes/esm/index.js.map new file mode 100644 index 0000000..2b0c4ca --- /dev/null +++ b/node_modules/@noble/hashes/esm/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/legacy.d.ts b/node_modules/@noble/hashes/esm/legacy.d.ts new file mode 100644 index 0000000..39c2632 --- /dev/null +++ b/node_modules/@noble/hashes/esm/legacy.d.ts @@ -0,0 +1,71 @@ +/** + +SHA1 (RFC 3174), MD5 (RFC 1321) and RIPEMD160 (RFC 2286) legacy, weak hash functions. +Don't use them in a new protocol. What "weak" means: + +- Collisions can be made with 2^18 effort in MD5, 2^60 in SHA1, 2^80 in RIPEMD160. +- No practical pre-image attacks (only theoretical, 2^123.4) +- HMAC seems kinda ok: https://datatracker.ietf.org/doc/html/rfc6151 + * @module + */ +import { HashMD } from './_md.ts'; +import { type CHash } from './utils.ts'; +/** SHA1 legacy hash class. */ +export declare class SHA1 extends HashMD { + private A; + private B; + private C; + private D; + private E; + constructor(); + protected get(): [number, number, number, number, number]; + protected set(A: number, B: number, C: number, D: number, E: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +/** SHA1 (RFC 3174) legacy hash function. It was cryptographically broken. */ +export declare const sha1: CHash; +/** MD5 legacy hash class. */ +export declare class MD5 extends HashMD { + private A; + private B; + private C; + private D; + constructor(); + protected get(): [number, number, number, number]; + protected set(A: number, B: number, C: number, D: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +/** + * MD5 (RFC 1321) legacy hash function. It was cryptographically broken. + * MD5 architecture is similar to SHA1, with some differences: + * - Reduced output length: 16 bytes (128 bit) instead of 20 + * - 64 rounds, instead of 80 + * - Little-endian: could be faster, but will require more code + * - Non-linear index selection: huge speed-up for unroll + * - Per round constants: more memory accesses, additional speed-up for unroll + */ +export declare const md5: CHash; +export declare class RIPEMD160 extends HashMD { + private h0; + private h1; + private h2; + private h3; + private h4; + constructor(); + protected get(): [number, number, number, number, number]; + protected set(h0: number, h1: number, h2: number, h3: number, h4: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +/** + * RIPEMD-160 - a legacy hash function from 1990s. + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + */ +export declare const ripemd160: CHash; +//# sourceMappingURL=legacy.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/legacy.d.ts.map b/node_modules/@noble/hashes/esm/legacy.d.ts.map new file mode 100644 index 0000000..68a8353 --- /dev/null +++ b/node_modules/@noble/hashes/esm/legacy.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../src/legacy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAO,MAAM,EAAO,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,KAAK,EAA6B,MAAM,YAAY,CAAC;AAUnE,8BAA8B;AAC9B,qBAAa,IAAK,SAAQ,MAAM,CAAC,IAAI,CAAC;IACpC,OAAO,CAAC,CAAC,CAAkB;IAC3B,OAAO,CAAC,CAAC,CAAkB;IAC3B,OAAO,CAAC,CAAC,CAAkB;IAC3B,OAAO,CAAC,CAAC,CAAkB;IAC3B,OAAO,CAAC,CAAC,CAAkB;;IAK3B,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAIzD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAO1E,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAoCvD,SAAS,CAAC,UAAU,IAAI,IAAI;IAG5B,OAAO,IAAI,IAAI;CAIhB;AAED,6EAA6E;AAC7E,eAAO,MAAM,IAAI,EAAE,KAAsD,CAAC;AAa1E,6BAA6B;AAC7B,qBAAa,GAAI,SAAQ,MAAM,CAAC,GAAG,CAAC;IAClC,OAAO,CAAC,CAAC,CAAiB;IAC1B,OAAO,CAAC,CAAC,CAAiB;IAC1B,OAAO,CAAC,CAAC,CAAiB;IAC1B,OAAO,CAAC,CAAC,CAAiB;;IAK1B,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAIjD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/D,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAoCvD,SAAS,CAAC,UAAU,IAAI,IAAI;IAG5B,OAAO,IAAI,IAAI;CAIhB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,GAAG,EAAE,KAAqD,CAAC;AA6CxE,qBAAa,SAAU,SAAQ,MAAM,CAAC,SAAS,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,EAAE,CAAkB;;IAK5B,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAIzD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAO/E,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmCvD,SAAS,CAAC,UAAU,IAAI,IAAI;IAG5B,OAAO,IAAI,IAAI;CAKhB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,KAA2D,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/legacy.js b/node_modules/@noble/hashes/esm/legacy.js new file mode 100644 index 0000000..7067dca --- /dev/null +++ b/node_modules/@noble/hashes/esm/legacy.js @@ -0,0 +1,281 @@ +/** + +SHA1 (RFC 3174), MD5 (RFC 1321) and RIPEMD160 (RFC 2286) legacy, weak hash functions. +Don't use them in a new protocol. What "weak" means: + +- Collisions can be made with 2^18 effort in MD5, 2^60 in SHA1, 2^80 in RIPEMD160. +- No practical pre-image attacks (only theoretical, 2^123.4) +- HMAC seems kinda ok: https://datatracker.ietf.org/doc/html/rfc6151 + * @module + */ +import { Chi, HashMD, Maj } from "./_md.js"; +import { clean, createHasher, rotl } from "./utils.js"; +/** Initial SHA1 state */ +const SHA1_IV = /* @__PURE__ */ Uint32Array.from([ + 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0, +]); +// Reusable temporary buffer +const SHA1_W = /* @__PURE__ */ new Uint32Array(80); +/** SHA1 legacy hash class. */ +export class SHA1 extends HashMD { + constructor() { + super(64, 20, 8, false); + this.A = SHA1_IV[0] | 0; + this.B = SHA1_IV[1] | 0; + this.C = SHA1_IV[2] | 0; + this.D = SHA1_IV[3] | 0; + this.E = SHA1_IV[4] | 0; + } + get() { + const { A, B, C, D, E } = this; + return [A, B, C, D, E]; + } + set(A, B, C, D, E) { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + this.E = E | 0; + } + process(view, offset) { + for (let i = 0; i < 16; i++, offset += 4) + SHA1_W[i] = view.getUint32(offset, false); + for (let i = 16; i < 80; i++) + SHA1_W[i] = rotl(SHA1_W[i - 3] ^ SHA1_W[i - 8] ^ SHA1_W[i - 14] ^ SHA1_W[i - 16], 1); + // Compression function main loop, 80 rounds + let { A, B, C, D, E } = this; + for (let i = 0; i < 80; i++) { + let F, K; + if (i < 20) { + F = Chi(B, C, D); + K = 0x5a827999; + } + else if (i < 40) { + F = B ^ C ^ D; + K = 0x6ed9eba1; + } + else if (i < 60) { + F = Maj(B, C, D); + K = 0x8f1bbcdc; + } + else { + F = B ^ C ^ D; + K = 0xca62c1d6; + } + const T = (rotl(A, 5) + F + E + K + SHA1_W[i]) | 0; + E = D; + D = C; + C = rotl(B, 30); + B = A; + A = T; + } + // Add the compressed chunk to the current hash value + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + this.set(A, B, C, D, E); + } + roundClean() { + clean(SHA1_W); + } + destroy() { + this.set(0, 0, 0, 0, 0); + clean(this.buffer); + } +} +/** SHA1 (RFC 3174) legacy hash function. It was cryptographically broken. */ +export const sha1 = /* @__PURE__ */ createHasher(() => new SHA1()); +/** Per-round constants */ +const p32 = /* @__PURE__ */ Math.pow(2, 32); +const K = /* @__PURE__ */ Array.from({ length: 64 }, (_, i) => Math.floor(p32 * Math.abs(Math.sin(i + 1)))); +/** md5 initial state: same as sha1, but 4 u32 instead of 5. */ +const MD5_IV = /* @__PURE__ */ SHA1_IV.slice(0, 4); +// Reusable temporary buffer +const MD5_W = /* @__PURE__ */ new Uint32Array(16); +/** MD5 legacy hash class. */ +export class MD5 extends HashMD { + constructor() { + super(64, 16, 8, true); + this.A = MD5_IV[0] | 0; + this.B = MD5_IV[1] | 0; + this.C = MD5_IV[2] | 0; + this.D = MD5_IV[3] | 0; + } + get() { + const { A, B, C, D } = this; + return [A, B, C, D]; + } + set(A, B, C, D) { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + } + process(view, offset) { + for (let i = 0; i < 16; i++, offset += 4) + MD5_W[i] = view.getUint32(offset, true); + // Compression function main loop, 64 rounds + let { A, B, C, D } = this; + for (let i = 0; i < 64; i++) { + let F, g, s; + if (i < 16) { + F = Chi(B, C, D); + g = i; + s = [7, 12, 17, 22]; + } + else if (i < 32) { + F = Chi(D, B, C); + g = (5 * i + 1) % 16; + s = [5, 9, 14, 20]; + } + else if (i < 48) { + F = B ^ C ^ D; + g = (3 * i + 5) % 16; + s = [4, 11, 16, 23]; + } + else { + F = C ^ (B | ~D); + g = (7 * i) % 16; + s = [6, 10, 15, 21]; + } + F = F + A + K[i] + MD5_W[g]; + A = D; + D = C; + C = B; + B = B + rotl(F, s[i % 4]); + } + // Add the compressed chunk to the current hash value + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + this.set(A, B, C, D); + } + roundClean() { + clean(MD5_W); + } + destroy() { + this.set(0, 0, 0, 0); + clean(this.buffer); + } +} +/** + * MD5 (RFC 1321) legacy hash function. It was cryptographically broken. + * MD5 architecture is similar to SHA1, with some differences: + * - Reduced output length: 16 bytes (128 bit) instead of 20 + * - 64 rounds, instead of 80 + * - Little-endian: could be faster, but will require more code + * - Non-linear index selection: huge speed-up for unroll + * - Per round constants: more memory accesses, additional speed-up for unroll + */ +export const md5 = /* @__PURE__ */ createHasher(() => new MD5()); +// RIPEMD-160 +const Rho160 = /* @__PURE__ */ Uint8Array.from([ + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, +]); +const Id160 = /* @__PURE__ */ (() => Uint8Array.from(new Array(16).fill(0).map((_, i) => i)))(); +const Pi160 = /* @__PURE__ */ (() => Id160.map((i) => (9 * i + 5) % 16))(); +const idxLR = /* @__PURE__ */ (() => { + const L = [Id160]; + const R = [Pi160]; + const res = [L, R]; + for (let i = 0; i < 4; i++) + for (let j of res) + j.push(j[i].map((k) => Rho160[k])); + return res; +})(); +const idxL = /* @__PURE__ */ (() => idxLR[0])(); +const idxR = /* @__PURE__ */ (() => idxLR[1])(); +// const [idxL, idxR] = idxLR; +const shifts160 = /* @__PURE__ */ [ + [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8], + [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7], + [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9], + [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6], + [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5], +].map((i) => Uint8Array.from(i)); +const shiftsL160 = /* @__PURE__ */ idxL.map((idx, i) => idx.map((j) => shifts160[i][j])); +const shiftsR160 = /* @__PURE__ */ idxR.map((idx, i) => idx.map((j) => shifts160[i][j])); +const Kl160 = /* @__PURE__ */ Uint32Array.from([ + 0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e, +]); +const Kr160 = /* @__PURE__ */ Uint32Array.from([ + 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000, +]); +// It's called f() in spec. +function ripemd_f(group, x, y, z) { + if (group === 0) + return x ^ y ^ z; + if (group === 1) + return (x & y) | (~x & z); + if (group === 2) + return (x | ~y) ^ z; + if (group === 3) + return (x & z) | (y & ~z); + return x ^ (y | ~z); +} +// Reusable temporary buffer +const BUF_160 = /* @__PURE__ */ new Uint32Array(16); +export class RIPEMD160 extends HashMD { + constructor() { + super(64, 20, 8, true); + this.h0 = 0x67452301 | 0; + this.h1 = 0xefcdab89 | 0; + this.h2 = 0x98badcfe | 0; + this.h3 = 0x10325476 | 0; + this.h4 = 0xc3d2e1f0 | 0; + } + get() { + const { h0, h1, h2, h3, h4 } = this; + return [h0, h1, h2, h3, h4]; + } + set(h0, h1, h2, h3, h4) { + this.h0 = h0 | 0; + this.h1 = h1 | 0; + this.h2 = h2 | 0; + this.h3 = h3 | 0; + this.h4 = h4 | 0; + } + process(view, offset) { + for (let i = 0; i < 16; i++, offset += 4) + BUF_160[i] = view.getUint32(offset, true); + // prettier-ignore + let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el; + // Instead of iterating 0 to 80, we split it into 5 groups + // And use the groups in constants, functions, etc. Much simpler + for (let group = 0; group < 5; group++) { + const rGroup = 4 - group; + const hbl = Kl160[group], hbr = Kr160[group]; // prettier-ignore + const rl = idxL[group], rr = idxR[group]; // prettier-ignore + const sl = shiftsL160[group], sr = shiftsR160[group]; // prettier-ignore + for (let i = 0; i < 16; i++) { + const tl = (rotl(al + ripemd_f(group, bl, cl, dl) + BUF_160[rl[i]] + hbl, sl[i]) + el) | 0; + al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; // prettier-ignore + } + // 2 loops are 10% faster + for (let i = 0; i < 16; i++) { + const tr = (rotl(ar + ripemd_f(rGroup, br, cr, dr) + BUF_160[rr[i]] + hbr, sr[i]) + er) | 0; + ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; // prettier-ignore + } + } + // Add the compressed chunk to the current hash value + this.set((this.h1 + cl + dr) | 0, (this.h2 + dl + er) | 0, (this.h3 + el + ar) | 0, (this.h4 + al + br) | 0, (this.h0 + bl + cr) | 0); + } + roundClean() { + clean(BUF_160); + } + destroy() { + this.destroyed = true; + clean(this.buffer); + this.set(0, 0, 0, 0, 0); + } +} +/** + * RIPEMD-160 - a legacy hash function from 1990s. + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + */ +export const ripemd160 = /* @__PURE__ */ createHasher(() => new RIPEMD160()); +//# sourceMappingURL=legacy.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/legacy.js.map b/node_modules/@noble/hashes/esm/legacy.js.map new file mode 100644 index 0000000..c47bea7 --- /dev/null +++ b/node_modules/@noble/hashes/esm/legacy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"legacy.js","sourceRoot":"","sources":["../src/legacy.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/package.json b/node_modules/@noble/hashes/esm/package.json new file mode 100644 index 0000000..f42e46b --- /dev/null +++ b/node_modules/@noble/hashes/esm/package.json @@ -0,0 +1,10 @@ +{ + "type": "module", + "sideEffects": false, + "browser": { + "node:crypto": false + }, + "node": { + "./crypto": "./esm/cryptoNode.js" + } +} diff --git a/node_modules/@noble/hashes/esm/pbkdf2.d.ts b/node_modules/@noble/hashes/esm/pbkdf2.d.ts new file mode 100644 index 0000000..0697c69 --- /dev/null +++ b/node_modules/@noble/hashes/esm/pbkdf2.d.ts @@ -0,0 +1,23 @@ +import { type CHash, type KDFInput } from './utils.ts'; +export type Pbkdf2Opt = { + c: number; + dkLen?: number; + asyncTick?: number; +}; +/** + * PBKDF2-HMAC: RFC 2898 key derivation function + * @param hash - hash function that would be used e.g. sha256 + * @param password - password from which a derived key is generated + * @param salt - cryptographic salt + * @param opts - {c, dkLen} where c is work factor and dkLen is output message size + * @example + * const key = pbkdf2(sha256, 'password', 'salt', { dkLen: 32, c: Math.pow(2, 18) }); + */ +export declare function pbkdf2(hash: CHash, password: KDFInput, salt: KDFInput, opts: Pbkdf2Opt): Uint8Array; +/** + * PBKDF2-HMAC: RFC 2898 key derivation function. Async version. + * @example + * await pbkdf2Async(sha256, 'password', 'salt', { dkLen: 32, c: 500_000 }); + */ +export declare function pbkdf2Async(hash: CHash, password: KDFInput, salt: KDFInput, opts: Pbkdf2Opt): Promise; +//# sourceMappingURL=pbkdf2.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map b/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map new file mode 100644 index 0000000..033d374 --- /dev/null +++ b/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["../src/pbkdf2.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAkCF;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,SAAS,GACd,UAAU,CAsBZ;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,UAAU,CAAC,CAsBrB"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/pbkdf2.js b/node_modules/@noble/hashes/esm/pbkdf2.js new file mode 100644 index 0000000..42e78dc --- /dev/null +++ b/node_modules/@noble/hashes/esm/pbkdf2.js @@ -0,0 +1,97 @@ +/** + * PBKDF (RFC 2898). Can be used to create a key from password and salt. + * @module + */ +import { hmac } from "./hmac.js"; +// prettier-ignore +import { ahash, anumber, asyncLoop, checkOpts, clean, createView, Hash, kdfInputToBytes } from "./utils.js"; +// Common prologue and epilogue for sync/async functions +function pbkdf2Init(hash, _password, _salt, _opts) { + ahash(hash); + const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts); + const { c, dkLen, asyncTick } = opts; + anumber(c); + anumber(dkLen); + anumber(asyncTick); + if (c < 1) + throw new Error('iterations (c) should be >= 1'); + const password = kdfInputToBytes(_password); + const salt = kdfInputToBytes(_salt); + // DK = PBKDF2(PRF, Password, Salt, c, dkLen); + const DK = new Uint8Array(dkLen); + // U1 = PRF(Password, Salt + INT_32_BE(i)) + const PRF = hmac.create(hash, password); + const PRFSalt = PRF._cloneInto().update(salt); + return { c, dkLen, asyncTick, DK, PRF, PRFSalt }; +} +function pbkdf2Output(PRF, PRFSalt, DK, prfW, u) { + PRF.destroy(); + PRFSalt.destroy(); + if (prfW) + prfW.destroy(); + clean(u); + return DK; +} +/** + * PBKDF2-HMAC: RFC 2898 key derivation function + * @param hash - hash function that would be used e.g. sha256 + * @param password - password from which a derived key is generated + * @param salt - cryptographic salt + * @param opts - {c, dkLen} where c is work factor and dkLen is output message size + * @example + * const key = pbkdf2(sha256, 'password', 'salt', { dkLen: 32, c: Math.pow(2, 18) }); + */ +export function pbkdf2(hash, password, salt, opts) { + const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts); + let prfW; // Working copy + const arr = new Uint8Array(4); + const view = createView(arr); + const u = new Uint8Array(PRF.outputLen); + // DK = T1 + T2 + ⋯ + Tdklen/hlen + for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) { + // Ti = F(Password, Salt, c, i) + const Ti = DK.subarray(pos, pos + PRF.outputLen); + view.setInt32(0, ti, false); + // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc + // U1 = PRF(Password, Salt + INT_32_BE(i)) + (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u); + Ti.set(u.subarray(0, Ti.length)); + for (let ui = 1; ui < c; ui++) { + // Uc = PRF(Password, Uc−1) + PRF._cloneInto(prfW).update(u).digestInto(u); + for (let i = 0; i < Ti.length; i++) + Ti[i] ^= u[i]; + } + } + return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); +} +/** + * PBKDF2-HMAC: RFC 2898 key derivation function. Async version. + * @example + * await pbkdf2Async(sha256, 'password', 'salt', { dkLen: 32, c: 500_000 }); + */ +export async function pbkdf2Async(hash, password, salt, opts) { + const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts); + let prfW; // Working copy + const arr = new Uint8Array(4); + const view = createView(arr); + const u = new Uint8Array(PRF.outputLen); + // DK = T1 + T2 + ⋯ + Tdklen/hlen + for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) { + // Ti = F(Password, Salt, c, i) + const Ti = DK.subarray(pos, pos + PRF.outputLen); + view.setInt32(0, ti, false); + // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc + // U1 = PRF(Password, Salt + INT_32_BE(i)) + (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u); + Ti.set(u.subarray(0, Ti.length)); + await asyncLoop(c - 1, asyncTick, () => { + // Uc = PRF(Password, Uc−1) + PRF._cloneInto(prfW).update(u).digestInto(u); + for (let i = 0; i < Ti.length; i++) + Ti[i] ^= u[i]; + }); + } + return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); +} +//# sourceMappingURL=pbkdf2.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/pbkdf2.js.map b/node_modules/@noble/hashes/esm/pbkdf2.js.map new file mode 100644 index 0000000..01ffaed --- /dev/null +++ b/node_modules/@noble/hashes/esm/pbkdf2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../src/pbkdf2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/ripemd160.d.ts b/node_modules/@noble/hashes/esm/ripemd160.d.ts new file mode 100644 index 0000000..2fb0fa7 --- /dev/null +++ b/node_modules/@noble/hashes/esm/ripemd160.d.ts @@ -0,0 +1,13 @@ +/** + * RIPEMD-160 legacy hash function. + * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + * @module + * @deprecated + */ +import { RIPEMD160 as RIPEMD160n, ripemd160 as ripemd160n } from './legacy.ts'; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export declare const RIPEMD160: typeof RIPEMD160n; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export declare const ripemd160: typeof ripemd160n; +//# sourceMappingURL=ripemd160.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/ripemd160.d.ts.map b/node_modules/@noble/hashes/esm/ripemd160.d.ts.map new file mode 100644 index 0000000..a04f75b --- /dev/null +++ b/node_modules/@noble/hashes/esm/ripemd160.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ripemd160.d.ts","sourceRoot":"","sources":["../src/ripemd160.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/E,+DAA+D;AAC/D,eAAO,MAAM,SAAS,EAAE,OAAO,UAAuB,CAAC;AACvD,+DAA+D;AAC/D,eAAO,MAAM,SAAS,EAAE,OAAO,UAAuB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/ripemd160.js b/node_modules/@noble/hashes/esm/ripemd160.js new file mode 100644 index 0000000..cdcac9b --- /dev/null +++ b/node_modules/@noble/hashes/esm/ripemd160.js @@ -0,0 +1,13 @@ +/** + * RIPEMD-160 legacy hash function. + * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + * @module + * @deprecated + */ +import { RIPEMD160 as RIPEMD160n, ripemd160 as ripemd160n } from "./legacy.js"; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export const RIPEMD160 = RIPEMD160n; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export const ripemd160 = ripemd160n; +//# sourceMappingURL=ripemd160.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/ripemd160.js.map b/node_modules/@noble/hashes/esm/ripemd160.js.map new file mode 100644 index 0000000..82324f4 --- /dev/null +++ b/node_modules/@noble/hashes/esm/ripemd160.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ripemd160.js","sourceRoot":"","sources":["../src/ripemd160.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,SAAS,GAAsB,UAAU,CAAC;AACvD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,SAAS,GAAsB,UAAU,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/scrypt.d.ts b/node_modules/@noble/hashes/esm/scrypt.d.ts new file mode 100644 index 0000000..38d0ef9 --- /dev/null +++ b/node_modules/@noble/hashes/esm/scrypt.d.ts @@ -0,0 +1,34 @@ +import { type KDFInput } from './utils.ts'; +export type ScryptOpts = { + N: number; + r: number; + p: number; + dkLen?: number; + asyncTick?: number; + maxmem?: number; + onProgress?: (progress: number) => void; +}; +/** + * Scrypt KDF from RFC 7914. + * @param password - pass + * @param salt - salt + * @param opts - parameters + * - `N` is cpu/mem work factor (power of 2 e.g. 2**18) + * - `r` is block size (8 is common), fine-tunes sequential memory read size and performance + * - `p` is parallelization factor (1 is common) + * - `dkLen` is output key length in bytes e.g. 32. + * - `asyncTick` - (default: 10) max time in ms for which async function can block execution + * - `maxmem` - (default: `1024 ** 3 + 1024` aka 1GB+1KB). A limit that the app could use for scrypt + * - `onProgress` - callback function that would be executed for progress report + * @returns Derived key + * @example + * scrypt('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +export declare function scrypt(password: KDFInput, salt: KDFInput, opts: ScryptOpts): Uint8Array; +/** + * Scrypt KDF from RFC 7914. Async version. + * @example + * await scryptAsync('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +export declare function scryptAsync(password: KDFInput, salt: KDFInput, opts: ScryptOpts): Promise; +//# sourceMappingURL=scrypt.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/scrypt.d.ts.map b/node_modules/@noble/hashes/esm/scrypt.d.ts.map new file mode 100644 index 0000000..b47cc92 --- /dev/null +++ b/node_modules/@noble/hashes/esm/scrypt.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"scrypt.d.ts","sourceRoot":"","sources":["../src/scrypt.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AAuEpB,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAoFF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CA0BvF;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CA2BrB"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/scrypt.js b/node_modules/@noble/hashes/esm/scrypt.js new file mode 100644 index 0000000..9b7e9a0 --- /dev/null +++ b/node_modules/@noble/hashes/esm/scrypt.js @@ -0,0 +1,228 @@ +/** + * RFC 7914 Scrypt KDF. Can be used to create a key from password and salt. + * @module + */ +import { pbkdf2 } from "./pbkdf2.js"; +import { sha256 } from "./sha2.js"; +// prettier-ignore +import { anumber, asyncLoop, checkOpts, clean, rotl, swap32IfBE, u32 } from "./utils.js"; +// The main Scrypt loop: uses Salsa extensively. +// Six versions of the function were tried, this is the fastest one. +// prettier-ignore +function XorAndSalsa(prev, pi, input, ii, out, oi) { + // Based on https://cr.yp.to/salsa20.html + // Xor blocks + let y00 = prev[pi++] ^ input[ii++], y01 = prev[pi++] ^ input[ii++]; + let y02 = prev[pi++] ^ input[ii++], y03 = prev[pi++] ^ input[ii++]; + let y04 = prev[pi++] ^ input[ii++], y05 = prev[pi++] ^ input[ii++]; + let y06 = prev[pi++] ^ input[ii++], y07 = prev[pi++] ^ input[ii++]; + let y08 = prev[pi++] ^ input[ii++], y09 = prev[pi++] ^ input[ii++]; + let y10 = prev[pi++] ^ input[ii++], y11 = prev[pi++] ^ input[ii++]; + let y12 = prev[pi++] ^ input[ii++], y13 = prev[pi++] ^ input[ii++]; + let y14 = prev[pi++] ^ input[ii++], y15 = prev[pi++] ^ input[ii++]; + // Save state to temporary variables (salsa) + let x00 = y00, x01 = y01, x02 = y02, x03 = y03, x04 = y04, x05 = y05, x06 = y06, x07 = y07, x08 = y08, x09 = y09, x10 = y10, x11 = y11, x12 = y12, x13 = y13, x14 = y14, x15 = y15; + // Main loop (salsa) + for (let i = 0; i < 8; i += 2) { + x04 ^= rotl(x00 + x12 | 0, 7); + x08 ^= rotl(x04 + x00 | 0, 9); + x12 ^= rotl(x08 + x04 | 0, 13); + x00 ^= rotl(x12 + x08 | 0, 18); + x09 ^= rotl(x05 + x01 | 0, 7); + x13 ^= rotl(x09 + x05 | 0, 9); + x01 ^= rotl(x13 + x09 | 0, 13); + x05 ^= rotl(x01 + x13 | 0, 18); + x14 ^= rotl(x10 + x06 | 0, 7); + x02 ^= rotl(x14 + x10 | 0, 9); + x06 ^= rotl(x02 + x14 | 0, 13); + x10 ^= rotl(x06 + x02 | 0, 18); + x03 ^= rotl(x15 + x11 | 0, 7); + x07 ^= rotl(x03 + x15 | 0, 9); + x11 ^= rotl(x07 + x03 | 0, 13); + x15 ^= rotl(x11 + x07 | 0, 18); + x01 ^= rotl(x00 + x03 | 0, 7); + x02 ^= rotl(x01 + x00 | 0, 9); + x03 ^= rotl(x02 + x01 | 0, 13); + x00 ^= rotl(x03 + x02 | 0, 18); + x06 ^= rotl(x05 + x04 | 0, 7); + x07 ^= rotl(x06 + x05 | 0, 9); + x04 ^= rotl(x07 + x06 | 0, 13); + x05 ^= rotl(x04 + x07 | 0, 18); + x11 ^= rotl(x10 + x09 | 0, 7); + x08 ^= rotl(x11 + x10 | 0, 9); + x09 ^= rotl(x08 + x11 | 0, 13); + x10 ^= rotl(x09 + x08 | 0, 18); + x12 ^= rotl(x15 + x14 | 0, 7); + x13 ^= rotl(x12 + x15 | 0, 9); + x14 ^= rotl(x13 + x12 | 0, 13); + x15 ^= rotl(x14 + x13 | 0, 18); + } + // Write output (salsa) + out[oi++] = (y00 + x00) | 0; + out[oi++] = (y01 + x01) | 0; + out[oi++] = (y02 + x02) | 0; + out[oi++] = (y03 + x03) | 0; + out[oi++] = (y04 + x04) | 0; + out[oi++] = (y05 + x05) | 0; + out[oi++] = (y06 + x06) | 0; + out[oi++] = (y07 + x07) | 0; + out[oi++] = (y08 + x08) | 0; + out[oi++] = (y09 + x09) | 0; + out[oi++] = (y10 + x10) | 0; + out[oi++] = (y11 + x11) | 0; + out[oi++] = (y12 + x12) | 0; + out[oi++] = (y13 + x13) | 0; + out[oi++] = (y14 + x14) | 0; + out[oi++] = (y15 + x15) | 0; +} +function BlockMix(input, ii, out, oi, r) { + // The block B is r 128-byte chunks (which is equivalent of 2r 64-byte chunks) + let head = oi + 0; + let tail = oi + 16 * r; + for (let i = 0; i < 16; i++) + out[tail + i] = input[ii + (2 * r - 1) * 16 + i]; // X ← B[2r−1] + for (let i = 0; i < r; i++, head += 16, ii += 16) { + // We write odd & even Yi at same time. Even: 0bXXXXX0 Odd: 0bXXXXX1 + XorAndSalsa(out, tail, input, ii, out, head); // head[i] = Salsa(blockIn[2*i] ^ tail[i-1]) + if (i > 0) + tail += 16; // First iteration overwrites tmp value in tail + XorAndSalsa(out, head, input, (ii += 16), out, tail); // tail[i] = Salsa(blockIn[2*i+1] ^ head[i]) + } +} +// Common prologue and epilogue for sync/async functions +function scryptInit(password, salt, _opts) { + // Maxmem - 1GB+1KB by default + const opts = checkOpts({ + dkLen: 32, + asyncTick: 10, + maxmem: 1024 ** 3 + 1024, + }, _opts); + const { N, r, p, dkLen, asyncTick, maxmem, onProgress } = opts; + anumber(N); + anumber(r); + anumber(p); + anumber(dkLen); + anumber(asyncTick); + anumber(maxmem); + if (onProgress !== undefined && typeof onProgress !== 'function') + throw new Error('progressCb should be function'); + const blockSize = 128 * r; + const blockSize32 = blockSize / 4; + // Max N is 2^32 (Integrify is 32-bit). Real limit is 2^22: JS engines Uint8Array limit is 4GB in 2024. + // Spec check `N >= 2^(blockSize / 8)` is not done for compat with popular libs, + // which used incorrect r: 1, p: 8. Also, the check seems to be a spec error: + // https://www.rfc-editor.org/errata_search.php?rfc=7914 + const pow32 = Math.pow(2, 32); + if (N <= 1 || (N & (N - 1)) !== 0 || N > pow32) { + throw new Error('Scrypt: N must be larger than 1, a power of 2, and less than 2^32'); + } + if (p < 0 || p > ((pow32 - 1) * 32) / blockSize) { + throw new Error('Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)'); + } + if (dkLen < 0 || dkLen > (pow32 - 1) * 32) { + throw new Error('Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32'); + } + const memUsed = blockSize * (N + p); + if (memUsed > maxmem) { + throw new Error('Scrypt: memused is bigger than maxMem. Expected 128 * r * (N + p) > maxmem of ' + maxmem); + } + // [B0...Bp−1] ← PBKDF2HMAC-SHA256(Passphrase, Salt, 1, blockSize*ParallelizationFactor) + // Since it has only one iteration there is no reason to use async variant + const B = pbkdf2(sha256, password, salt, { c: 1, dkLen: blockSize * p }); + const B32 = u32(B); + // Re-used between parallel iterations. Array(iterations) of B + const V = u32(new Uint8Array(blockSize * N)); + const tmp = u32(new Uint8Array(blockSize)); + let blockMixCb = () => { }; + if (onProgress) { + const totalBlockMix = 2 * N * p; + // Invoke callback if progress changes from 10.01 to 10.02 + // Allows to draw smooth progress bar on up to 8K screen + const callbackPer = Math.max(Math.floor(totalBlockMix / 10000), 1); + let blockMixCnt = 0; + blockMixCb = () => { + blockMixCnt++; + if (onProgress && (!(blockMixCnt % callbackPer) || blockMixCnt === totalBlockMix)) + onProgress(blockMixCnt / totalBlockMix); + }; + } + return { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick }; +} +function scryptOutput(password, dkLen, B, V, tmp) { + const res = pbkdf2(sha256, password, B, { c: 1, dkLen }); + clean(B, V, tmp); + return res; +} +/** + * Scrypt KDF from RFC 7914. + * @param password - pass + * @param salt - salt + * @param opts - parameters + * - `N` is cpu/mem work factor (power of 2 e.g. 2**18) + * - `r` is block size (8 is common), fine-tunes sequential memory read size and performance + * - `p` is parallelization factor (1 is common) + * - `dkLen` is output key length in bytes e.g. 32. + * - `asyncTick` - (default: 10) max time in ms for which async function can block execution + * - `maxmem` - (default: `1024 ** 3 + 1024` aka 1GB+1KB). A limit that the app could use for scrypt + * - `onProgress` - callback function that would be executed for progress report + * @returns Derived key + * @example + * scrypt('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +export function scrypt(password, salt, opts) { + const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb } = scryptInit(password, salt, opts); + swap32IfBE(B32); + for (let pi = 0; pi < p; pi++) { + const Pi = blockSize32 * pi; + for (let i = 0; i < blockSize32; i++) + V[i] = B32[Pi + i]; // V[0] = B[i] + for (let i = 0, pos = 0; i < N - 1; i++) { + BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]); + blockMixCb(); + } + BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element + blockMixCb(); + for (let i = 0; i < N; i++) { + // First u32 of the last 64-byte block (u32 is LE) + const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations + for (let k = 0; k < blockSize32; k++) + tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j] + BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j]) + blockMixCb(); + } + } + swap32IfBE(B32); + return scryptOutput(password, dkLen, B, V, tmp); +} +/** + * Scrypt KDF from RFC 7914. Async version. + * @example + * await scryptAsync('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +export async function scryptAsync(password, salt, opts) { + const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick } = scryptInit(password, salt, opts); + swap32IfBE(B32); + for (let pi = 0; pi < p; pi++) { + const Pi = blockSize32 * pi; + for (let i = 0; i < blockSize32; i++) + V[i] = B32[Pi + i]; // V[0] = B[i] + let pos = 0; + await asyncLoop(N - 1, asyncTick, () => { + BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]); + blockMixCb(); + }); + BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element + blockMixCb(); + await asyncLoop(N, asyncTick, () => { + // First u32 of the last 64-byte block (u32 is LE) + const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations + for (let k = 0; k < blockSize32; k++) + tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j] + BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j]) + blockMixCb(); + }); + } + swap32IfBE(B32); + return scryptOutput(password, dkLen, B, V, tmp); +} +//# sourceMappingURL=scrypt.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/scrypt.js.map b/node_modules/@noble/hashes/esm/scrypt.js.map new file mode 100644 index 0000000..cb5628bd --- /dev/null +++ b/node_modules/@noble/hashes/esm/scrypt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scrypt.js","sourceRoot":"","sources":["../src/scrypt.ts"],"names":[],"mappings":"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CAAC,EAAG,CAAC,CAAC,CAAC;QAC/D,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAG,CAAC,CAAC,CAAC;QAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAG,CAAC,CAAC,CAAC;QAC/D,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAG,CAAC,CAAC,CAAC;QAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAG,CAAC,CAAC,CAAC;QAC/D,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAG,CAAC,CAAC,CAAC;QAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAG,CAAC,CAAC,CAAC;QAC/D,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAG,CAAC,CAAC,CAAC;QAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAG,CAAC,CAAC,CAAC;QAC/D,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,C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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha1.d.ts b/node_modules/@noble/hashes/esm/sha1.d.ts new file mode 100644 index 0000000..7c36b9f --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha1.d.ts @@ -0,0 +1,11 @@ +/** + * SHA1 (RFC 3174) legacy hash function. + * @module + * @deprecated + */ +import { SHA1 as SHA1n, sha1 as sha1n } from './legacy.ts'; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export declare const SHA1: typeof SHA1n; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export declare const sha1: typeof sha1n; +//# sourceMappingURL=sha1.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha1.d.ts.map b/node_modules/@noble/hashes/esm/sha1.d.ts.map new file mode 100644 index 0000000..908753d --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha1.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha1.d.ts","sourceRoot":"","sources":["../src/sha1.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAC3D,+DAA+D;AAC/D,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,+DAA+D;AAC/D,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha1.js b/node_modules/@noble/hashes/esm/sha1.js new file mode 100644 index 0000000..c8451df --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha1.js @@ -0,0 +1,11 @@ +/** + * SHA1 (RFC 3174) legacy hash function. + * @module + * @deprecated + */ +import { SHA1 as SHA1n, sha1 as sha1n } from "./legacy.js"; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export const SHA1 = SHA1n; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export const sha1 = sha1n; +//# sourceMappingURL=sha1.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha1.js.map b/node_modules/@noble/hashes/esm/sha1.js.map new file mode 100644 index 0000000..2e28aab --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha1.js","sourceRoot":"","sources":["../src/sha1.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAC3D,+DAA+D;AAC/D,MAAM,CAAC,MAAM,IAAI,GAAiB,KAAK,CAAC;AACxC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,IAAI,GAAiB,KAAK,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha2.d.ts b/node_modules/@noble/hashes/esm/sha2.d.ts new file mode 100644 index 0000000..33f2f7f --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha2.d.ts @@ -0,0 +1,159 @@ +/** + * SHA2 hash function. A.k.a. sha256, sha384, sha512, sha512_224, sha512_256. + * SHA256 is the fastest hash implementable in JS, even faster than Blake3. + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + */ +import { HashMD } from './_md.ts'; +import { type CHash } from './utils.ts'; +export declare class SHA256 extends HashMD { + protected A: number; + protected B: number; + protected C: number; + protected D: number; + protected E: number; + protected F: number; + protected G: number; + protected H: number; + constructor(outputLen?: number); + protected get(): [number, number, number, number, number, number, number, number]; + protected set(A: number, B: number, C: number, D: number, E: number, F: number, G: number, H: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +export declare class SHA224 extends SHA256 { + protected A: number; + protected B: number; + protected C: number; + protected D: number; + protected E: number; + protected F: number; + protected G: number; + protected H: number; + constructor(); +} +export declare class SHA512 extends HashMD { + protected Ah: number; + protected Al: number; + protected Bh: number; + protected Bl: number; + protected Ch: number; + protected Cl: number; + protected Dh: number; + protected Dl: number; + protected Eh: number; + protected El: number; + protected Fh: number; + protected Fl: number; + protected Gh: number; + protected Gl: number; + protected Hh: number; + protected Hl: number; + constructor(outputLen?: number); + protected get(): [ + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; + protected set(Ah: number, Al: number, Bh: number, Bl: number, Ch: number, Cl: number, Dh: number, Dl: number, Eh: number, El: number, Fh: number, Fl: number, Gh: number, Gl: number, Hh: number, Hl: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +export declare class SHA384 extends SHA512 { + protected Ah: number; + protected Al: number; + protected Bh: number; + protected Bl: number; + protected Ch: number; + protected Cl: number; + protected Dh: number; + protected Dl: number; + protected Eh: number; + protected El: number; + protected Fh: number; + protected Fl: number; + protected Gh: number; + protected Gl: number; + protected Hh: number; + protected Hl: number; + constructor(); +} +export declare class SHA512_224 extends SHA512 { + protected Ah: number; + protected Al: number; + protected Bh: number; + protected Bl: number; + protected Ch: number; + protected Cl: number; + protected Dh: number; + protected Dl: number; + protected Eh: number; + protected El: number; + protected Fh: number; + protected Fl: number; + protected Gh: number; + protected Gl: number; + protected Hh: number; + protected Hl: number; + constructor(); +} +export declare class SHA512_256 extends SHA512 { + protected Ah: number; + protected Al: number; + protected Bh: number; + protected Bl: number; + protected Ch: number; + protected Cl: number; + protected Dh: number; + protected Dl: number; + protected Eh: number; + protected El: number; + protected Fh: number; + protected Fl: number; + protected Gh: number; + protected Gl: number; + protected Hh: number; + protected Hl: number; + constructor(); +} +/** + * SHA2-256 hash function from RFC 4634. + * + * It is the fastest JS hash, even faster than Blake3. + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + */ +export declare const sha256: CHash; +/** SHA2-224 hash function from RFC 4634 */ +export declare const sha224: CHash; +/** SHA2-512 hash function from RFC 4634. */ +export declare const sha512: CHash; +/** SHA2-384 hash function from RFC 4634. */ +export declare const sha384: CHash; +/** + * SHA2-512/256 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +export declare const sha512_256: CHash; +/** + * SHA2-512/224 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +export declare const sha512_224: CHash; +//# sourceMappingURL=sha2.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha2.d.ts.map b/node_modules/@noble/hashes/esm/sha2.d.ts.map new file mode 100644 index 0000000..4be5881 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha2.d.ts","sourceRoot":"","sources":["../src/sha2.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAO,MAAM,EAAmD,MAAM,UAAU,CAAC;AAExF,OAAO,EAAE,KAAK,KAAK,EAA6B,MAAM,YAAY,CAAC;AAoBnE,qBAAa,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC;IAGxC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;gBAE3B,SAAS,GAAE,MAAW;IAGlC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAKjF,SAAS,CAAC,GAAG,CACX,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GACrF,IAAI;IAUP,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAqCvD,SAAS,CAAC,UAAU,IAAI,IAAI;IAG5B,OAAO,IAAI,IAAI;CAIhB;AAED,qBAAa,MAAO,SAAQ,MAAM;IAChC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;IACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAoB;;CAIxC;AAoCD,qBAAa,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC;IAIxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;gBAE7B,SAAS,GAAE,MAAW;IAIlC,SAAS,CAAC,GAAG,IAAI;QACf,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAC9D,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAC/D;IAKD,SAAS,CAAC,GAAG,CACX,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAC9F,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAC7F,IAAI;IAkBP,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAsEvD,SAAS,CAAC,UAAU,IAAI,IAAI;IAG5B,OAAO,IAAI,IAAI;CAIhB;AAED,qBAAa,MAAO,SAAQ,MAAM;IAChC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAoB;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqB;;CAK1C;AAqBD,qBAAa,UAAW,SAAQ,MAAM;IACpC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;;CAKxC;AAED,qBAAa,UAAW,SAAQ,MAAM;IACpC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkB;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;IACvC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmB;;CAKxC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,KAAwD,CAAC;AAC9E,2CAA2C;AAC3C,eAAO,MAAM,MAAM,EAAE,KAAwD,CAAC;AAE9E,4CAA4C;AAC5C,eAAO,MAAM,MAAM,EAAE,KAAwD,CAAC;AAC9E,4CAA4C;AAC5C,eAAO,MAAM,MAAM,EAAE,KAAwD,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAA4D,CAAC;AACtF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAA4D,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha2.js b/node_modules/@noble/hashes/esm/sha2.js new file mode 100644 index 0000000..9795cc5 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha2.js @@ -0,0 +1,375 @@ +/** + * SHA2 hash function. A.k.a. sha256, sha384, sha512, sha512_224, sha512_256. + * SHA256 is the fastest hash implementable in JS, even faster than Blake3. + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + */ +import { Chi, HashMD, Maj, SHA224_IV, SHA256_IV, SHA384_IV, SHA512_IV } from "./_md.js"; +import * as u64 from "./_u64.js"; +import { clean, createHasher, rotr } from "./utils.js"; +/** + * Round constants: + * First 32 bits of fractional parts of the cube roots of the first 64 primes 2..311) + */ +// prettier-ignore +const SHA256_K = /* @__PURE__ */ Uint32Array.from([ + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 +]); +/** Reusable temporary buffer. "W" comes straight from spec. */ +const SHA256_W = /* @__PURE__ */ new Uint32Array(64); +export class SHA256 extends HashMD { + constructor(outputLen = 32) { + super(64, outputLen, 8, false); + // We cannot use array here since array allows indexing by variable + // which means optimizer/compiler cannot use registers. + this.A = SHA256_IV[0] | 0; + this.B = SHA256_IV[1] | 0; + this.C = SHA256_IV[2] | 0; + this.D = SHA256_IV[3] | 0; + this.E = SHA256_IV[4] | 0; + this.F = SHA256_IV[5] | 0; + this.G = SHA256_IV[6] | 0; + this.H = SHA256_IV[7] | 0; + } + get() { + const { A, B, C, D, E, F, G, H } = this; + return [A, B, C, D, E, F, G, H]; + } + // prettier-ignore + set(A, B, C, D, E, F, G, H) { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + this.E = E | 0; + this.F = F | 0; + this.G = G | 0; + this.H = H | 0; + } + process(view, offset) { + // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array + for (let i = 0; i < 16; i++, offset += 4) + SHA256_W[i] = view.getUint32(offset, false); + for (let i = 16; i < 64; i++) { + const W15 = SHA256_W[i - 15]; + const W2 = SHA256_W[i - 2]; + const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3); + const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10); + SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0; + } + // Compression function main loop, 64 rounds + let { A, B, C, D, E, F, G, H } = this; + for (let i = 0; i < 64; i++) { + const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25); + const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0; + const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22); + const T2 = (sigma0 + Maj(A, B, C)) | 0; + H = G; + G = F; + F = E; + E = (D + T1) | 0; + D = C; + C = B; + B = A; + A = (T1 + T2) | 0; + } + // Add the compressed chunk to the current hash value + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + F = (F + this.F) | 0; + G = (G + this.G) | 0; + H = (H + this.H) | 0; + this.set(A, B, C, D, E, F, G, H); + } + roundClean() { + clean(SHA256_W); + } + destroy() { + this.set(0, 0, 0, 0, 0, 0, 0, 0); + clean(this.buffer); + } +} +export class SHA224 extends SHA256 { + constructor() { + super(28); + this.A = SHA224_IV[0] | 0; + this.B = SHA224_IV[1] | 0; + this.C = SHA224_IV[2] | 0; + this.D = SHA224_IV[3] | 0; + this.E = SHA224_IV[4] | 0; + this.F = SHA224_IV[5] | 0; + this.G = SHA224_IV[6] | 0; + this.H = SHA224_IV[7] | 0; + } +} +// SHA2-512 is slower than sha256 in js because u64 operations are slow. +// Round contants +// First 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409 +// prettier-ignore +const K512 = /* @__PURE__ */ (() => u64.split([ + '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc', + '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118', + '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2', + '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694', + '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65', + '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5', + '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4', + '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70', + '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df', + '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b', + '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30', + '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8', + '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8', + '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3', + '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec', + '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b', + '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178', + '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b', + '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c', + '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817' +].map(n => BigInt(n))))(); +const SHA512_Kh = /* @__PURE__ */ (() => K512[0])(); +const SHA512_Kl = /* @__PURE__ */ (() => K512[1])(); +// Reusable temporary buffers +const SHA512_W_H = /* @__PURE__ */ new Uint32Array(80); +const SHA512_W_L = /* @__PURE__ */ new Uint32Array(80); +export class SHA512 extends HashMD { + constructor(outputLen = 64) { + super(128, outputLen, 16, false); + // We cannot use array here since array allows indexing by variable + // which means optimizer/compiler cannot use registers. + // h -- high 32 bits, l -- low 32 bits + this.Ah = SHA512_IV[0] | 0; + this.Al = SHA512_IV[1] | 0; + this.Bh = SHA512_IV[2] | 0; + this.Bl = SHA512_IV[3] | 0; + this.Ch = SHA512_IV[4] | 0; + this.Cl = SHA512_IV[5] | 0; + this.Dh = SHA512_IV[6] | 0; + this.Dl = SHA512_IV[7] | 0; + this.Eh = SHA512_IV[8] | 0; + this.El = SHA512_IV[9] | 0; + this.Fh = SHA512_IV[10] | 0; + this.Fl = SHA512_IV[11] | 0; + this.Gh = SHA512_IV[12] | 0; + this.Gl = SHA512_IV[13] | 0; + this.Hh = SHA512_IV[14] | 0; + this.Hl = SHA512_IV[15] | 0; + } + // prettier-ignore + get() { + const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl]; + } + // prettier-ignore + set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) { + this.Ah = Ah | 0; + this.Al = Al | 0; + this.Bh = Bh | 0; + this.Bl = Bl | 0; + this.Ch = Ch | 0; + this.Cl = Cl | 0; + this.Dh = Dh | 0; + this.Dl = Dl | 0; + this.Eh = Eh | 0; + this.El = El | 0; + this.Fh = Fh | 0; + this.Fl = Fl | 0; + this.Gh = Gh | 0; + this.Gl = Gl | 0; + this.Hh = Hh | 0; + this.Hl = Hl | 0; + } + process(view, offset) { + // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array + for (let i = 0; i < 16; i++, offset += 4) { + SHA512_W_H[i] = view.getUint32(offset); + SHA512_W_L[i] = view.getUint32((offset += 4)); + } + for (let i = 16; i < 80; i++) { + // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7) + const W15h = SHA512_W_H[i - 15] | 0; + const W15l = SHA512_W_L[i - 15] | 0; + const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7); + const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7); + // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6) + const W2h = SHA512_W_H[i - 2] | 0; + const W2l = SHA512_W_L[i - 2] | 0; + const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6); + const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6); + // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16]; + const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]); + const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]); + SHA512_W_H[i] = SUMh | 0; + SHA512_W_L[i] = SUMl | 0; + } + let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + // Compression function main loop, 80 rounds + for (let i = 0; i < 80; i++) { + // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41) + const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41); + const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41); + //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0; + const CHIh = (Eh & Fh) ^ (~Eh & Gh); + const CHIl = (El & Fl) ^ (~El & Gl); + // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i] + // prettier-ignore + const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]); + const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]); + const T1l = T1ll | 0; + // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39) + const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39); + const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39); + const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch); + const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl); + Hh = Gh | 0; + Hl = Gl | 0; + Gh = Fh | 0; + Gl = Fl | 0; + Fh = Eh | 0; + Fl = El | 0; + ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0)); + Dh = Ch | 0; + Dl = Cl | 0; + Ch = Bh | 0; + Cl = Bl | 0; + Bh = Ah | 0; + Bl = Al | 0; + const All = u64.add3L(T1l, sigma0l, MAJl); + Ah = u64.add3H(All, T1h, sigma0h, MAJh); + Al = All | 0; + } + // Add the compressed chunk to the current hash value + ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0)); + ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0)); + ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0)); + ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0)); + ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0)); + ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0)); + ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0)); + ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0)); + this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl); + } + roundClean() { + clean(SHA512_W_H, SHA512_W_L); + } + destroy() { + clean(this.buffer); + this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + } +} +export class SHA384 extends SHA512 { + constructor() { + super(48); + this.Ah = SHA384_IV[0] | 0; + this.Al = SHA384_IV[1] | 0; + this.Bh = SHA384_IV[2] | 0; + this.Bl = SHA384_IV[3] | 0; + this.Ch = SHA384_IV[4] | 0; + this.Cl = SHA384_IV[5] | 0; + this.Dh = SHA384_IV[6] | 0; + this.Dl = SHA384_IV[7] | 0; + this.Eh = SHA384_IV[8] | 0; + this.El = SHA384_IV[9] | 0; + this.Fh = SHA384_IV[10] | 0; + this.Fl = SHA384_IV[11] | 0; + this.Gh = SHA384_IV[12] | 0; + this.Gl = SHA384_IV[13] | 0; + this.Hh = SHA384_IV[14] | 0; + this.Hl = SHA384_IV[15] | 0; + } +} +/** + * Truncated SHA512/256 and SHA512/224. + * SHA512_IV is XORed with 0xa5a5a5a5a5a5a5a5, then used as "intermediary" IV of SHA512/t. + * Then t hashes string to produce result IV. + * See `test/misc/sha2-gen-iv.js`. + */ +/** SHA512/224 IV */ +const T224_IV = /* @__PURE__ */ Uint32Array.from([ + 0x8c3d37c8, 0x19544da2, 0x73e19966, 0x89dcd4d6, 0x1dfab7ae, 0x32ff9c82, 0x679dd514, 0x582f9fcf, + 0x0f6d2b69, 0x7bd44da8, 0x77e36f73, 0x04c48942, 0x3f9d85a8, 0x6a1d36c8, 0x1112e6ad, 0x91d692a1, +]); +/** SHA512/256 IV */ +const T256_IV = /* @__PURE__ */ Uint32Array.from([ + 0x22312194, 0xfc2bf72c, 0x9f555fa3, 0xc84c64c2, 0x2393b86b, 0x6f53b151, 0x96387719, 0x5940eabd, + 0x96283ee2, 0xa88effe3, 0xbe5e1e25, 0x53863992, 0x2b0199fc, 0x2c85b8aa, 0x0eb72ddc, 0x81c52ca2, +]); +export class SHA512_224 extends SHA512 { + constructor() { + super(28); + this.Ah = T224_IV[0] | 0; + this.Al = T224_IV[1] | 0; + this.Bh = T224_IV[2] | 0; + this.Bl = T224_IV[3] | 0; + this.Ch = T224_IV[4] | 0; + this.Cl = T224_IV[5] | 0; + this.Dh = T224_IV[6] | 0; + this.Dl = T224_IV[7] | 0; + this.Eh = T224_IV[8] | 0; + this.El = T224_IV[9] | 0; + this.Fh = T224_IV[10] | 0; + this.Fl = T224_IV[11] | 0; + this.Gh = T224_IV[12] | 0; + this.Gl = T224_IV[13] | 0; + this.Hh = T224_IV[14] | 0; + this.Hl = T224_IV[15] | 0; + } +} +export class SHA512_256 extends SHA512 { + constructor() { + super(32); + this.Ah = T256_IV[0] | 0; + this.Al = T256_IV[1] | 0; + this.Bh = T256_IV[2] | 0; + this.Bl = T256_IV[3] | 0; + this.Ch = T256_IV[4] | 0; + this.Cl = T256_IV[5] | 0; + this.Dh = T256_IV[6] | 0; + this.Dl = T256_IV[7] | 0; + this.Eh = T256_IV[8] | 0; + this.El = T256_IV[9] | 0; + this.Fh = T256_IV[10] | 0; + this.Fl = T256_IV[11] | 0; + this.Gh = T256_IV[12] | 0; + this.Gl = T256_IV[13] | 0; + this.Hh = T256_IV[14] | 0; + this.Hl = T256_IV[15] | 0; + } +} +/** + * SHA2-256 hash function from RFC 4634. + * + * It is the fastest JS hash, even faster than Blake3. + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + */ +export const sha256 = /* @__PURE__ */ createHasher(() => new SHA256()); +/** SHA2-224 hash function from RFC 4634 */ +export const sha224 = /* @__PURE__ */ createHasher(() => new SHA224()); +/** SHA2-512 hash function from RFC 4634. */ +export const sha512 = /* @__PURE__ */ createHasher(() => new SHA512()); +/** SHA2-384 hash function from RFC 4634. */ +export const sha384 = /* @__PURE__ */ createHasher(() => new SHA384()); +/** + * SHA2-512/256 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +export const sha512_256 = /* @__PURE__ */ createHasher(() => new SHA512_256()); +/** + * SHA2-512/224 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +export const sha512_224 = /* @__PURE__ */ createHasher(() => new SHA512_224()); +//# sourceMappingURL=sha2.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha2.js.map b/node_modules/@noble/hashes/esm/sha2.js.map new file mode 100644 index 0000000..f3fc032 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha2.js","sourceRoot":"","sources":["../src/sha2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha256.d.ts b/node_modules/@noble/hashes/esm/sha256.d.ts new file mode 100644 index 0000000..ed04fe8 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha256.d.ts @@ -0,0 +1,20 @@ +/** + * SHA2-256 a.k.a. sha256. In JS, it is the fastest hash, even faster than Blake3. + * + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + * + * Check out [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + * @deprecated + */ +import { SHA224 as SHA224n, sha224 as sha224n, SHA256 as SHA256n, sha256 as sha256n } from './sha2.ts'; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA256: typeof SHA256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha256: typeof sha256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA224: typeof SHA224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha224: typeof sha224n; +//# sourceMappingURL=sha256.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha256.d.ts.map b/node_modules/@noble/hashes/esm/sha256.d.ts.map new file mode 100644 index 0000000..2912e85 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha256.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha256.d.ts","sourceRoot":"","sources":["../src/sha256.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EAClB,MAAM,WAAW,CAAC;AACnB,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha256.js b/node_modules/@noble/hashes/esm/sha256.js new file mode 100644 index 0000000..6bdee7c --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha256.js @@ -0,0 +1,20 @@ +/** + * SHA2-256 a.k.a. sha256. In JS, it is the fastest hash, even faster than Blake3. + * + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + * + * Check out [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + * @deprecated + */ +import { SHA224 as SHA224n, sha224 as sha224n, SHA256 as SHA256n, sha256 as sha256n, } from "./sha2.js"; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA256 = SHA256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha256 = sha256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA224 = SHA224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha224 = sha224n; +//# sourceMappingURL=sha256.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha256.js.map b/node_modules/@noble/hashes/esm/sha256.js.map new file mode 100644 index 0000000..6df7235 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha256.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha256.js","sourceRoot":"","sources":["../src/sha256.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,GAClB,MAAM,WAAW,CAAC;AACnB,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAmB,OAAO,CAAC;AAC9C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAmB,OAAO,CAAC;AAC9C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAmB,OAAO,CAAC;AAC9C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAmB,OAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha3-addons.d.ts b/node_modules/@noble/hashes/esm/sha3-addons.d.ts new file mode 100644 index 0000000..5bd2fe6 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha3-addons.d.ts @@ -0,0 +1,142 @@ +/** + * SHA3 (keccak) addons. + * + * * Full [NIST SP 800-185](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf): + * cSHAKE, KMAC, TupleHash, ParallelHash + XOF variants + * * Reduced-round Keccak [(draft)](https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/): + * * 🦘 K12 aka KangarooTwelve + * * M14 aka MarsupilamiFourteen + * * TurboSHAKE + * * KeccakPRG: Pseudo-random generator based on Keccak [(pdf)](https://keccak.team/files/CSF-0.1.pdf) + * @module + */ +import { Keccak, type ShakeOpts } from './sha3.ts'; +import { type CHashO, type CHashXO, Hash, type HashXOF, type Input } from './utils.ts'; +export type cShakeOpts = ShakeOpts & { + personalization?: Input; + NISTfn?: Input; +}; +export type ICShake = { + (msg: Input, opts?: cShakeOpts): Uint8Array; + outputLen: number; + blockLen: number; + create(opts: cShakeOpts): HashXOF; +}; +export type ITupleHash = { + (messages: Input[], opts?: cShakeOpts): Uint8Array; + create(opts?: cShakeOpts): TupleHash; +}; +export type IParHash = { + (message: Input, opts?: ParallelOpts): Uint8Array; + create(opts?: ParallelOpts): ParallelHash; +}; +export declare const cshake128: ICShake; +export declare const cshake256: ICShake; +export declare class KMAC extends Keccak implements HashXOF { + constructor(blockLen: number, outputLen: number, enableXOF: boolean, key: Input, opts?: cShakeOpts); + protected finish(): void; + _cloneInto(to?: KMAC): KMAC; + clone(): KMAC; +} +export declare const kmac128: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +}; +export declare const kmac256: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +}; +export declare const kmac128xof: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +}; +export declare const kmac256xof: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +}; +export declare class TupleHash extends Keccak implements HashXOF { + constructor(blockLen: number, outputLen: number, enableXOF: boolean, opts?: cShakeOpts); + protected finish(): void; + _cloneInto(to?: TupleHash): TupleHash; + clone(): TupleHash; +} +/** 128-bit TupleHASH. */ +export declare const tuplehash128: ITupleHash; +/** 256-bit TupleHASH. */ +export declare const tuplehash256: ITupleHash; +/** 128-bit TupleHASH XOF. */ +export declare const tuplehash128xof: ITupleHash; +/** 256-bit TupleHASH XOF. */ +export declare const tuplehash256xof: ITupleHash; +type ParallelOpts = cShakeOpts & { + blockLen?: number; +}; +export declare class ParallelHash extends Keccak implements HashXOF { + private leafHash?; + protected leafCons: () => Hash; + private chunkPos; + private chunksDone; + private chunkLen; + constructor(blockLen: number, outputLen: number, leafCons: () => Hash, enableXOF: boolean, opts?: ParallelOpts); + protected finish(): void; + _cloneInto(to?: ParallelHash): ParallelHash; + destroy(): void; + clone(): ParallelHash; +} +/** 128-bit ParallelHash. In JS, it is not parallel. */ +export declare const parallelhash128: IParHash; +/** 256-bit ParallelHash. In JS, it is not parallel. */ +export declare const parallelhash256: IParHash; +/** 128-bit ParallelHash XOF. In JS, it is not parallel. */ +export declare const parallelhash128xof: IParHash; +/** 256-bit ParallelHash. In JS, it is not parallel. */ +export declare const parallelhash256xof: IParHash; +export type TurboshakeOpts = ShakeOpts & { + D?: number; +}; +/** TurboSHAKE 128-bit: reduced 12-round keccak. */ +export declare const turboshake128: CHashXO; +/** TurboSHAKE 256-bit: reduced 12-round keccak. */ +export declare const turboshake256: CHashXO; +export type KangarooOpts = { + dkLen?: number; + personalization?: Input; +}; +export declare class KangarooTwelve extends Keccak implements HashXOF { + readonly chunkLen = 8192; + private leafHash?; + protected leafLen: number; + private personalization; + private chunkPos; + private chunksDone; + constructor(blockLen: number, leafLen: number, outputLen: number, rounds: number, opts: KangarooOpts); + update(data: Input): this; + protected finish(): void; + destroy(): void; + _cloneInto(to?: KangarooTwelve): KangarooTwelve; + clone(): KangarooTwelve; +} +/** KangarooTwelve: reduced 12-round keccak. */ +export declare const k12: CHashO; +/** MarsupilamiFourteen: reduced 14-round keccak. */ +export declare const m14: CHashO; +/** + * More at https://github.com/XKCP/XKCP/tree/master/lib/high/Keccak/PRG. + */ +export declare class KeccakPRG extends Keccak { + protected rate: number; + constructor(capacity: number); + keccak(): void; + update(data: Input): this; + feed(data: Input): this; + protected finish(): void; + digestInto(_out: Uint8Array): Uint8Array; + fetch(bytes: number): Uint8Array; + forget(): void; + _cloneInto(to?: KeccakPRG): KeccakPRG; + clone(): KeccakPRG; +} +/** KeccakPRG: Pseudo-random generator based on Keccak. https://keccak.team/files/CSF-0.1.pdf */ +export declare const keccakprg: (capacity?: number) => KeccakPRG; +export {}; +//# sourceMappingURL=sha3-addons.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map b/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map new file mode 100644 index 0000000..4f4b11b --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha3-addons.d.ts","sourceRoot":"","sources":["../src/sha3-addons.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha3-addons.js b/node_modules/@noble/hashes/esm/sha3-addons.js new file mode 100644 index 0000000..ec9c664 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha3-addons.js @@ -0,0 +1,393 @@ +/** + * SHA3 (keccak) addons. + * + * * Full [NIST SP 800-185](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf): + * cSHAKE, KMAC, TupleHash, ParallelHash + XOF variants + * * Reduced-round Keccak [(draft)](https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/): + * * 🦘 K12 aka KangarooTwelve + * * M14 aka MarsupilamiFourteen + * * TurboSHAKE + * * KeccakPRG: Pseudo-random generator based on Keccak [(pdf)](https://keccak.team/files/CSF-0.1.pdf) + * @module + */ +import { Keccak } from "./sha3.js"; +import { abytes, anumber, createOptHasher, createXOFer, Hash, toBytes, u32, } from "./utils.js"; +// cSHAKE && KMAC (NIST SP800-185) +const _8n = BigInt(8); +const _ffn = BigInt(0xff); +// NOTE: it is safe to use bigints here, since they used only for length encoding (not actual data). +// We use bigints in sha256 for lengths too. +function leftEncode(n) { + n = BigInt(n); + const res = [Number(n & _ffn)]; + n >>= _8n; + for (; n > 0; n >>= _8n) + res.unshift(Number(n & _ffn)); + res.unshift(res.length); + return new Uint8Array(res); +} +function rightEncode(n) { + n = BigInt(n); + const res = [Number(n & _ffn)]; + n >>= _8n; + for (; n > 0; n >>= _8n) + res.unshift(Number(n & _ffn)); + res.push(res.length); + return new Uint8Array(res); +} +function chooseLen(opts, outputLen) { + return opts.dkLen === undefined ? outputLen : opts.dkLen; +} +const abytesOrZero = (buf) => { + if (buf === undefined) + return Uint8Array.of(); + return toBytes(buf); +}; +// NOTE: second modulo is necessary since we don't need to add padding if current element takes whole block +const getPadding = (len, block) => new Uint8Array((block - (len % block)) % block); +// Personalization +function cshakePers(hash, opts = {}) { + if (!opts || (!opts.personalization && !opts.NISTfn)) + return hash; + // Encode and pad inplace to avoid unneccesary memory copies/slices (so we don't need to zero them later) + // bytepad(encode_string(N) || encode_string(S), 168) + const blockLenBytes = leftEncode(hash.blockLen); + const fn = abytesOrZero(opts.NISTfn); + const fnLen = leftEncode(_8n * BigInt(fn.length)); // length in bits + const pers = abytesOrZero(opts.personalization); + const persLen = leftEncode(_8n * BigInt(pers.length)); // length in bits + if (!fn.length && !pers.length) + return hash; + hash.suffix = 0x04; + hash.update(blockLenBytes).update(fnLen).update(fn).update(persLen).update(pers); + let totalLen = blockLenBytes.length + fnLen.length + fn.length + persLen.length + pers.length; + hash.update(getPadding(totalLen, hash.blockLen)); + return hash; +} +const gencShake = (suffix, blockLen, outputLen) => createXOFer((opts = {}) => cshakePers(new Keccak(blockLen, suffix, chooseLen(opts, outputLen), true), opts)); +export const cshake128 = /* @__PURE__ */ (() => gencShake(0x1f, 168, 128 / 8))(); +export const cshake256 = /* @__PURE__ */ (() => gencShake(0x1f, 136, 256 / 8))(); +export class KMAC extends Keccak { + constructor(blockLen, outputLen, enableXOF, key, opts = {}) { + super(blockLen, 0x1f, outputLen, enableXOF); + cshakePers(this, { NISTfn: 'KMAC', personalization: opts.personalization }); + key = toBytes(key); + abytes(key); + // 1. newX = bytepad(encode_string(K), 168) || X || right_encode(L). + const blockLenBytes = leftEncode(this.blockLen); + const keyLen = leftEncode(_8n * BigInt(key.length)); + this.update(blockLenBytes).update(keyLen).update(key); + const totalLen = blockLenBytes.length + keyLen.length + key.length; + this.update(getPadding(totalLen, this.blockLen)); + } + finish() { + if (!this.finished) + this.update(rightEncode(this.enableXOF ? 0 : _8n * BigInt(this.outputLen))); // outputLen in bits + super.finish(); + } + _cloneInto(to) { + // Create new instance without calling constructor since key already in state and we don't know it. + // Force "to" to be instance of KMAC instead of Sha3. + if (!to) { + to = Object.create(Object.getPrototypeOf(this), {}); + to.state = this.state.slice(); + to.blockLen = this.blockLen; + to.state32 = u32(to.state); + } + return super._cloneInto(to); + } + clone() { + return this._cloneInto(); + } +} +function genKmac(blockLen, outputLen, xof = false) { + const kmac = (key, message, opts) => kmac.create(key, opts).update(message).digest(); + kmac.create = (key, opts = {}) => new KMAC(blockLen, chooseLen(opts, outputLen), xof, key, opts); + return kmac; +} +export const kmac128 = /* @__PURE__ */ (() => genKmac(168, 128 / 8))(); +export const kmac256 = /* @__PURE__ */ (() => genKmac(136, 256 / 8))(); +export const kmac128xof = /* @__PURE__ */ (() => genKmac(168, 128 / 8, true))(); +export const kmac256xof = /* @__PURE__ */ (() => genKmac(136, 256 / 8, true))(); +// TupleHash +// Usage: tuple(['ab', 'cd']) != tuple(['a', 'bcd']) +export class TupleHash extends Keccak { + constructor(blockLen, outputLen, enableXOF, opts = {}) { + super(blockLen, 0x1f, outputLen, enableXOF); + cshakePers(this, { NISTfn: 'TupleHash', personalization: opts.personalization }); + // Change update after cshake processed + this.update = (data) => { + data = toBytes(data); + abytes(data); + super.update(leftEncode(_8n * BigInt(data.length))); + super.update(data); + return this; + }; + } + finish() { + if (!this.finished) + super.update(rightEncode(this.enableXOF ? 0 : _8n * BigInt(this.outputLen))); // outputLen in bits + super.finish(); + } + _cloneInto(to) { + to || (to = new TupleHash(this.blockLen, this.outputLen, this.enableXOF)); + return super._cloneInto(to); + } + clone() { + return this._cloneInto(); + } +} +function genTuple(blockLen, outputLen, xof = false) { + const tuple = (messages, opts) => { + const h = tuple.create(opts); + for (const msg of messages) + h.update(msg); + return h.digest(); + }; + tuple.create = (opts = {}) => new TupleHash(blockLen, chooseLen(opts, outputLen), xof, opts); + return tuple; +} +/** 128-bit TupleHASH. */ +export const tuplehash128 = /* @__PURE__ */ (() => genTuple(168, 128 / 8))(); +/** 256-bit TupleHASH. */ +export const tuplehash256 = /* @__PURE__ */ (() => genTuple(136, 256 / 8))(); +/** 128-bit TupleHASH XOF. */ +export const tuplehash128xof = /* @__PURE__ */ (() => genTuple(168, 128 / 8, true))(); +/** 256-bit TupleHASH XOF. */ +export const tuplehash256xof = /* @__PURE__ */ (() => genTuple(136, 256 / 8, true))(); +export class ParallelHash extends Keccak { + constructor(blockLen, outputLen, leafCons, enableXOF, opts = {}) { + super(blockLen, 0x1f, outputLen, enableXOF); + this.chunkPos = 0; // Position of current block in chunk + this.chunksDone = 0; // How many chunks we already have + cshakePers(this, { NISTfn: 'ParallelHash', personalization: opts.personalization }); + this.leafCons = leafCons; + let { blockLen: B } = opts; + B || (B = 8); + anumber(B); + this.chunkLen = B; + super.update(leftEncode(B)); + // Change update after cshake processed + this.update = (data) => { + data = toBytes(data); + abytes(data); + const { chunkLen, leafCons } = this; + for (let pos = 0, len = data.length; pos < len;) { + if (this.chunkPos == chunkLen || !this.leafHash) { + if (this.leafHash) { + super.update(this.leafHash.digest()); + this.chunksDone++; + } + this.leafHash = leafCons(); + this.chunkPos = 0; + } + const take = Math.min(chunkLen - this.chunkPos, len - pos); + this.leafHash.update(data.subarray(pos, pos + take)); + this.chunkPos += take; + pos += take; + } + return this; + }; + } + finish() { + if (this.finished) + return; + if (this.leafHash) { + super.update(this.leafHash.digest()); + this.chunksDone++; + } + super.update(rightEncode(this.chunksDone)); + super.update(rightEncode(this.enableXOF ? 0 : _8n * BigInt(this.outputLen))); // outputLen in bits + super.finish(); + } + _cloneInto(to) { + to || (to = new ParallelHash(this.blockLen, this.outputLen, this.leafCons, this.enableXOF)); + if (this.leafHash) + to.leafHash = this.leafHash._cloneInto(to.leafHash); + to.chunkPos = this.chunkPos; + to.chunkLen = this.chunkLen; + to.chunksDone = this.chunksDone; + return super._cloneInto(to); + } + destroy() { + super.destroy.call(this); + if (this.leafHash) + this.leafHash.destroy(); + } + clone() { + return this._cloneInto(); + } +} +function genPrl(blockLen, outputLen, leaf, xof = false) { + const parallel = (message, opts) => parallel.create(opts).update(message).digest(); + parallel.create = (opts = {}) => new ParallelHash(blockLen, chooseLen(opts, outputLen), () => leaf.create({ dkLen: 2 * outputLen }), xof, opts); + return parallel; +} +/** 128-bit ParallelHash. In JS, it is not parallel. */ +export const parallelhash128 = /* @__PURE__ */ (() => genPrl(168, 128 / 8, cshake128))(); +/** 256-bit ParallelHash. In JS, it is not parallel. */ +export const parallelhash256 = /* @__PURE__ */ (() => genPrl(136, 256 / 8, cshake256))(); +/** 128-bit ParallelHash XOF. In JS, it is not parallel. */ +export const parallelhash128xof = /* @__PURE__ */ (() => genPrl(168, 128 / 8, cshake128, true))(); +/** 256-bit ParallelHash. In JS, it is not parallel. */ +export const parallelhash256xof = /* @__PURE__ */ (() => genPrl(136, 256 / 8, cshake256, true))(); +const genTurboshake = (blockLen, outputLen) => createXOFer((opts = {}) => { + const D = opts.D === undefined ? 0x1f : opts.D; + // Section 2.1 of https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/ + if (!Number.isSafeInteger(D) || D < 0x01 || D > 0x7f) + throw new Error('invalid domain separation byte must be 0x01..0x7f, got: ' + D); + return new Keccak(blockLen, D, opts.dkLen === undefined ? outputLen : opts.dkLen, true, 12); +}); +/** TurboSHAKE 128-bit: reduced 12-round keccak. */ +export const turboshake128 = /* @__PURE__ */ genTurboshake(168, 256 / 8); +/** TurboSHAKE 256-bit: reduced 12-round keccak. */ +export const turboshake256 = /* @__PURE__ */ genTurboshake(136, 512 / 8); +// Kangaroo +// Same as NIST rightEncode, but returns [0] for zero string +function rightEncodeK12(n) { + n = BigInt(n); + const res = []; + for (; n > 0; n >>= _8n) + res.unshift(Number(n & _ffn)); + res.push(res.length); + return Uint8Array.from(res); +} +const EMPTY_BUFFER = /* @__PURE__ */ Uint8Array.of(); +export class KangarooTwelve extends Keccak { + constructor(blockLen, leafLen, outputLen, rounds, opts) { + super(blockLen, 0x07, outputLen, true, rounds); + this.chunkLen = 8192; + this.chunkPos = 0; // Position of current block in chunk + this.chunksDone = 0; // How many chunks we already have + this.leafLen = leafLen; + this.personalization = abytesOrZero(opts.personalization); + } + update(data) { + data = toBytes(data); + abytes(data); + const { chunkLen, blockLen, leafLen, rounds } = this; + for (let pos = 0, len = data.length; pos < len;) { + if (this.chunkPos == chunkLen) { + if (this.leafHash) + super.update(this.leafHash.digest()); + else { + this.suffix = 0x06; // Its safe to change suffix here since its used only in digest() + super.update(Uint8Array.from([3, 0, 0, 0, 0, 0, 0, 0])); + } + this.leafHash = new Keccak(blockLen, 0x0b, leafLen, false, rounds); + this.chunksDone++; + this.chunkPos = 0; + } + const take = Math.min(chunkLen - this.chunkPos, len - pos); + const chunk = data.subarray(pos, pos + take); + if (this.leafHash) + this.leafHash.update(chunk); + else + super.update(chunk); + this.chunkPos += take; + pos += take; + } + return this; + } + finish() { + if (this.finished) + return; + const { personalization } = this; + this.update(personalization).update(rightEncodeK12(personalization.length)); + // Leaf hash + if (this.leafHash) { + super.update(this.leafHash.digest()); + super.update(rightEncodeK12(this.chunksDone)); + super.update(Uint8Array.from([0xff, 0xff])); + } + super.finish.call(this); + } + destroy() { + super.destroy.call(this); + if (this.leafHash) + this.leafHash.destroy(); + // We cannot zero personalization buffer since it is user provided and we don't want to mutate user input + this.personalization = EMPTY_BUFFER; + } + _cloneInto(to) { + const { blockLen, leafLen, leafHash, outputLen, rounds } = this; + to || (to = new KangarooTwelve(blockLen, leafLen, outputLen, rounds, {})); + super._cloneInto(to); + if (leafHash) + to.leafHash = leafHash._cloneInto(to.leafHash); + to.personalization.set(this.personalization); + to.leafLen = this.leafLen; + to.chunkPos = this.chunkPos; + to.chunksDone = this.chunksDone; + return to; + } + clone() { + return this._cloneInto(); + } +} +/** KangarooTwelve: reduced 12-round keccak. */ +export const k12 = /* @__PURE__ */ (() => createOptHasher((opts = {}) => new KangarooTwelve(168, 32, chooseLen(opts, 32), 12, opts)))(); +/** MarsupilamiFourteen: reduced 14-round keccak. */ +export const m14 = /* @__PURE__ */ (() => createOptHasher((opts = {}) => new KangarooTwelve(136, 64, chooseLen(opts, 64), 14, opts)))(); +/** + * More at https://github.com/XKCP/XKCP/tree/master/lib/high/Keccak/PRG. + */ +export class KeccakPRG extends Keccak { + constructor(capacity) { + anumber(capacity); + // Rho should be full bytes + if (capacity < 0 || capacity > 1600 - 10 || (1600 - capacity - 2) % 8) + throw new Error('invalid capacity'); + // blockLen = rho in bytes + super((1600 - capacity - 2) / 8, 0, 0, true); + this.rate = 1600 - capacity; + this.posOut = Math.floor((this.rate + 7) / 8); + } + keccak() { + // Duplex padding + this.state[this.pos] ^= 0x01; + this.state[this.blockLen] ^= 0x02; // Rho is full bytes + super.keccak(); + this.pos = 0; + this.posOut = 0; + } + update(data) { + super.update(data); + this.posOut = this.blockLen; + return this; + } + feed(data) { + return this.update(data); + } + finish() { } + digestInto(_out) { + throw new Error('digest is not allowed, use .fetch instead'); + } + fetch(bytes) { + return this.xof(bytes); + } + // Ensure irreversibility (even if state leaked previous outputs cannot be computed) + forget() { + if (this.rate < 1600 / 2 + 1) + throw new Error('rate is too low to use .forget()'); + this.keccak(); + for (let i = 0; i < this.blockLen; i++) + this.state[i] = 0; + this.pos = this.blockLen; + this.keccak(); + this.posOut = this.blockLen; + } + _cloneInto(to) { + const { rate } = this; + to || (to = new KeccakPRG(1600 - rate)); + super._cloneInto(to); + to.rate = rate; + return to; + } + clone() { + return this._cloneInto(); + } +} +/** KeccakPRG: Pseudo-random generator based on Keccak. https://keccak.team/files/CSF-0.1.pdf */ +export const keccakprg = (capacity = 254) => new KeccakPRG(capacity); +//# sourceMappingURL=sha3-addons.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha3-addons.js.map b/node_modules/@noble/hashes/esm/sha3-addons.js.map new file mode 100644 index 0000000..6587b0b --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha3-addons.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha3-addons.js","sourceRoot":"","sources":["../src/sha3-addons.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha3.d.ts b/node_modules/@noble/hashes/esm/sha3.d.ts new file mode 100644 index 0000000..9df47b1 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha3.d.ts @@ -0,0 +1,53 @@ +import { Hash, type CHash, type CHashXO, type HashXOF, type Input } from './utils.ts'; +/** `keccakf1600` internal function, additionally allows to adjust round count. */ +export declare function keccakP(s: Uint32Array, rounds?: number): void; +/** Keccak sponge function. */ +export declare class Keccak extends Hash implements HashXOF { + protected state: Uint8Array; + protected pos: number; + protected posOut: number; + protected finished: boolean; + protected state32: Uint32Array; + protected destroyed: boolean; + blockLen: number; + suffix: number; + outputLen: number; + protected enableXOF: boolean; + protected rounds: number; + constructor(blockLen: number, suffix: number, outputLen: number, enableXOF?: boolean, rounds?: number); + clone(): Keccak; + protected keccak(): void; + update(data: Input): this; + protected finish(): void; + protected writeInto(out: Uint8Array): Uint8Array; + xofInto(out: Uint8Array): Uint8Array; + xof(bytes: number): Uint8Array; + digestInto(out: Uint8Array): Uint8Array; + digest(): Uint8Array; + destroy(): void; + _cloneInto(to?: Keccak): Keccak; +} +/** SHA3-224 hash function. */ +export declare const sha3_224: CHash; +/** SHA3-256 hash function. Different from keccak-256. */ +export declare const sha3_256: CHash; +/** SHA3-384 hash function. */ +export declare const sha3_384: CHash; +/** SHA3-512 hash function. */ +export declare const sha3_512: CHash; +/** keccak-224 hash function. */ +export declare const keccak_224: CHash; +/** keccak-256 hash function. Different from SHA3-256. */ +export declare const keccak_256: CHash; +/** keccak-384 hash function. */ +export declare const keccak_384: CHash; +/** keccak-512 hash function. */ +export declare const keccak_512: CHash; +export type ShakeOpts = { + dkLen?: number; +}; +/** SHAKE128 XOF with 128-bit security. */ +export declare const shake128: CHashXO; +/** SHAKE256 XOF with 256-bit security. */ +export declare const shake256: CHashXO; +//# sourceMappingURL=sha3.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha3.d.ts.map b/node_modules/@noble/hashes/esm/sha3.d.ts.map new file mode 100644 index 0000000..6024133 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha3.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha3.d.ts","sourceRoot":"","sources":["../src/sha3.ts"],"names":[],"mappings":"AAaA,OAAO,EAE6B,IAAI,EAGtC,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EACnD,MAAM,YAAY,CAAC;AAoCpB,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CAyCjE;AAED,8BAA8B;AAC9B,qBAAa,MAAO,SAAQ,IAAI,CAAC,MAAM,CAAE,YAAW,OAAO,CAAC,MAAM,CAAC;IACjE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC;IAC5B,SAAS,CAAC,GAAG,SAAK;IAClB,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;IAC/B,SAAS,CAAC,SAAS,UAAS;IAErB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAIvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,UAAQ,EACjB,MAAM,GAAE,MAAW;IAiBrB,KAAK,IAAI,MAAM;IAGf,SAAS,CAAC,MAAM,IAAI,IAAI;IAOxB,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAazB,SAAS,CAAC,MAAM,IAAI,IAAI;IAUxB,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAehD,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAKpC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAI9B,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAOvC,MAAM,IAAI,UAAU;IAGpB,OAAO,IAAI,IAAI;IAIf,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;CAehC;AAKD,8BAA8B;AAC9B,eAAO,MAAM,QAAQ,EAAE,KAAyD,CAAC;AACjF,yDAAyD;AACzD,eAAO,MAAM,QAAQ,EAAE,KAAyD,CAAC;AACjF,8BAA8B;AAC9B,eAAO,MAAM,QAAQ,EAAE,KAAyD,CAAC;AACjF,8BAA8B;AAC9B,eAAO,MAAM,QAAQ,EAAE,KAAwD,CAAC;AAEhF,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,KAAyD,CAAC;AACnF,yDAAyD;AACzD,eAAO,MAAM,UAAU,EAAE,KAAyD,CAAC;AACnF,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,KAAyD,CAAC;AACnF,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,KAAwD,CAAC;AAElF,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAQ3C,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,OAAgE,CAAC;AACxF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,OAAgE,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha3.js b/node_modules/@noble/hashes/esm/sha3.js new file mode 100644 index 0000000..ed813d1 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha3.js @@ -0,0 +1,234 @@ +/** + * SHA3 (keccak) hash function, based on a new "Sponge function" design. + * Different from older hashes, the internal state is bigger than output size. + * + * Check out [FIPS-202](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf), + * [Website](https://keccak.team/keccak.html), + * [the differences between SHA-3 and Keccak](https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub). + * + * Check out `sha3-addons` module for cSHAKE, k12, and others. + * @module + */ +import { rotlBH, rotlBL, rotlSH, rotlSL, split } from "./_u64.js"; +// prettier-ignore +import { abytes, aexists, anumber, aoutput, clean, createHasher, createXOFer, Hash, swap32IfBE, toBytes, u32 } from "./utils.js"; +// No __PURE__ annotations in sha3 header: +// EVERYTHING is in fact used on every export. +// Various per round constants calculations +const _0n = BigInt(0); +const _1n = BigInt(1); +const _2n = BigInt(2); +const _7n = BigInt(7); +const _256n = BigInt(256); +const _0x71n = BigInt(0x71); +const SHA3_PI = []; +const SHA3_ROTL = []; +const _SHA3_IOTA = []; +for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) { + // Pi + [x, y] = [y, (2 * x + 3 * y) % 5]; + SHA3_PI.push(2 * (5 * y + x)); + // Rotational + SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64); + // Iota + let t = _0n; + for (let j = 0; j < 7; j++) { + R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n; + if (R & _2n) + t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n); + } + _SHA3_IOTA.push(t); +} +const IOTAS = split(_SHA3_IOTA, true); +const SHA3_IOTA_H = IOTAS[0]; +const SHA3_IOTA_L = IOTAS[1]; +// Left rotation (without 0, 32, 64) +const rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s)); +const rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s)); +/** `keccakf1600` internal function, additionally allows to adjust round count. */ +export function keccakP(s, rounds = 24) { + const B = new Uint32Array(5 * 2); + // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js) + for (let round = 24 - rounds; round < 24; round++) { + // Theta θ + for (let x = 0; x < 10; x++) + B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40]; + for (let x = 0; x < 10; x += 2) { + const idx1 = (x + 8) % 10; + const idx0 = (x + 2) % 10; + const B0 = B[idx0]; + const B1 = B[idx0 + 1]; + const Th = rotlH(B0, B1, 1) ^ B[idx1]; + const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1]; + for (let y = 0; y < 50; y += 10) { + s[x + y] ^= Th; + s[x + y + 1] ^= Tl; + } + } + // Rho (ρ) and Pi (π) + let curH = s[2]; + let curL = s[3]; + for (let t = 0; t < 24; t++) { + const shift = SHA3_ROTL[t]; + const Th = rotlH(curH, curL, shift); + const Tl = rotlL(curH, curL, shift); + const PI = SHA3_PI[t]; + curH = s[PI]; + curL = s[PI + 1]; + s[PI] = Th; + s[PI + 1] = Tl; + } + // Chi (χ) + for (let y = 0; y < 50; y += 10) { + for (let x = 0; x < 10; x++) + B[x] = s[y + x]; + for (let x = 0; x < 10; x++) + s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10]; + } + // Iota (ι) + s[0] ^= SHA3_IOTA_H[round]; + s[1] ^= SHA3_IOTA_L[round]; + } + clean(B); +} +/** Keccak sponge function. */ +export class Keccak extends Hash { + // NOTE: we accept arguments in bytes instead of bits here. + constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) { + super(); + this.pos = 0; + this.posOut = 0; + this.finished = false; + this.destroyed = false; + this.enableXOF = false; + this.blockLen = blockLen; + this.suffix = suffix; + this.outputLen = outputLen; + this.enableXOF = enableXOF; + this.rounds = rounds; + // Can be passed from user as dkLen + anumber(outputLen); + // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes + // 0 < blockLen < 200 + if (!(0 < blockLen && blockLen < 200)) + throw new Error('only keccak-f1600 function is supported'); + this.state = new Uint8Array(200); + this.state32 = u32(this.state); + } + clone() { + return this._cloneInto(); + } + keccak() { + swap32IfBE(this.state32); + keccakP(this.state32, this.rounds); + swap32IfBE(this.state32); + this.posOut = 0; + this.pos = 0; + } + update(data) { + aexists(this); + data = toBytes(data); + abytes(data); + const { blockLen, state } = this; + const len = data.length; + for (let pos = 0; pos < len;) { + const take = Math.min(blockLen - this.pos, len - pos); + for (let i = 0; i < take; i++) + state[this.pos++] ^= data[pos++]; + if (this.pos === blockLen) + this.keccak(); + } + return this; + } + finish() { + if (this.finished) + return; + this.finished = true; + const { state, suffix, pos, blockLen } = this; + // Do the padding + state[pos] ^= suffix; + if ((suffix & 0x80) !== 0 && pos === blockLen - 1) + this.keccak(); + state[blockLen - 1] ^= 0x80; + this.keccak(); + } + writeInto(out) { + aexists(this, false); + abytes(out); + this.finish(); + const bufferOut = this.state; + const { blockLen } = this; + for (let pos = 0, len = out.length; pos < len;) { + if (this.posOut >= blockLen) + this.keccak(); + const take = Math.min(blockLen - this.posOut, len - pos); + out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos); + this.posOut += take; + pos += take; + } + return out; + } + xofInto(out) { + // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF + if (!this.enableXOF) + throw new Error('XOF is not possible for this instance'); + return this.writeInto(out); + } + xof(bytes) { + anumber(bytes); + return this.xofInto(new Uint8Array(bytes)); + } + digestInto(out) { + aoutput(out, this); + if (this.finished) + throw new Error('digest() was already called'); + this.writeInto(out); + this.destroy(); + return out; + } + digest() { + return this.digestInto(new Uint8Array(this.outputLen)); + } + destroy() { + this.destroyed = true; + clean(this.state); + } + _cloneInto(to) { + const { blockLen, suffix, outputLen, rounds, enableXOF } = this; + to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds)); + to.state32.set(this.state32); + to.pos = this.pos; + to.posOut = this.posOut; + to.finished = this.finished; + to.rounds = rounds; + // Suffix can change in cSHAKE + to.suffix = suffix; + to.outputLen = outputLen; + to.enableXOF = enableXOF; + to.destroyed = this.destroyed; + return to; + } +} +const gen = (suffix, blockLen, outputLen) => createHasher(() => new Keccak(blockLen, suffix, outputLen)); +/** SHA3-224 hash function. */ +export const sha3_224 = /* @__PURE__ */ (() => gen(0x06, 144, 224 / 8))(); +/** SHA3-256 hash function. Different from keccak-256. */ +export const sha3_256 = /* @__PURE__ */ (() => gen(0x06, 136, 256 / 8))(); +/** SHA3-384 hash function. */ +export const sha3_384 = /* @__PURE__ */ (() => gen(0x06, 104, 384 / 8))(); +/** SHA3-512 hash function. */ +export const sha3_512 = /* @__PURE__ */ (() => gen(0x06, 72, 512 / 8))(); +/** keccak-224 hash function. */ +export const keccak_224 = /* @__PURE__ */ (() => gen(0x01, 144, 224 / 8))(); +/** keccak-256 hash function. Different from SHA3-256. */ +export const keccak_256 = /* @__PURE__ */ (() => gen(0x01, 136, 256 / 8))(); +/** keccak-384 hash function. */ +export const keccak_384 = /* @__PURE__ */ (() => gen(0x01, 104, 384 / 8))(); +/** keccak-512 hash function. */ +export const keccak_512 = /* @__PURE__ */ (() => gen(0x01, 72, 512 / 8))(); +const genShake = (suffix, blockLen, outputLen) => createXOFer((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true)); +/** SHAKE128 XOF with 128-bit security. */ +export const shake128 = /* @__PURE__ */ (() => genShake(0x1f, 168, 128 / 8))(); +/** SHAKE256 XOF with 256-bit security. */ +export const shake256 = /* @__PURE__ */ (() => genShake(0x1f, 136, 256 / 8))(); +//# sourceMappingURL=sha3.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha3.js.map b/node_modules/@noble/hashes/esm/sha3.js.map new file mode 100644 index 0000000..a0adf0e --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha3.js","sourceRoot":"","sources":["../src/sha3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha512.d.ts b/node_modules/@noble/hashes/esm/sha512.d.ts new file mode 100644 index 0000000..46a27d0 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha512.d.ts @@ -0,0 +1,26 @@ +/** + * SHA2-512 a.k.a. sha512 and sha384. It is slower than sha256 in js because u64 operations are slow. + * + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [the paper on truncated SHA512/256](https://eprint.iacr.org/2010/548.pdf). + * @module + * @deprecated + */ +import { SHA384 as SHA384n, sha384 as sha384n, sha512_224 as sha512_224n, SHA512_224 as SHA512_224n, sha512_256 as sha512_256n, SHA512_256 as SHA512_256n, SHA512 as SHA512n, sha512 as sha512n } from './sha2.ts'; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA512: typeof SHA512n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha512: typeof sha512n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA384: typeof SHA384n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha384: typeof sha384n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA512_224: typeof SHA512_224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha512_224: typeof sha512_224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA512_256: typeof SHA512_256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha512_256: typeof sha512_256n; +//# sourceMappingURL=sha512.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha512.d.ts.map b/node_modules/@noble/hashes/esm/sha512.d.ts.map new file mode 100644 index 0000000..3886bc8 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha512.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha512.d.ts","sourceRoot":"","sources":["../src/sha512.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EAClB,MAAM,WAAW,CAAC;AACnB,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,OAAO,WAAyB,CAAC;AAC1D,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,OAAO,WAAyB,CAAC;AAC1D,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,OAAO,WAAyB,CAAC;AAC1D,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,OAAO,WAAyB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha512.js b/node_modules/@noble/hashes/esm/sha512.js new file mode 100644 index 0000000..d5f6910 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha512.js @@ -0,0 +1,26 @@ +/** + * SHA2-512 a.k.a. sha512 and sha384. It is slower than sha256 in js because u64 operations are slow. + * + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [the paper on truncated SHA512/256](https://eprint.iacr.org/2010/548.pdf). + * @module + * @deprecated + */ +import { SHA384 as SHA384n, sha384 as sha384n, sha512_224 as sha512_224n, SHA512_224 as SHA512_224n, sha512_256 as sha512_256n, SHA512_256 as SHA512_256n, SHA512 as SHA512n, sha512 as sha512n, } from "./sha2.js"; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA512 = SHA512n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha512 = sha512n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA384 = SHA384n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha384 = sha384n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA512_224 = SHA512_224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha512_224 = sha512_224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA512_256 = SHA512_256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha512_256 = sha512_256n; +//# sourceMappingURL=sha512.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/sha512.js.map b/node_modules/@noble/hashes/esm/sha512.js.map new file mode 100644 index 0000000..0371655 --- /dev/null +++ b/node_modules/@noble/hashes/esm/sha512.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha512.js","sourceRoot":"","sources":["../src/sha512.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,GAClB,MAAM,WAAW,CAAC;AACnB,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAmB,OAAO,CAAC;AAC9C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAmB,OAAO,CAAC;AAC9C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAmB,OAAO,CAAC;AAC9C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAmB,OAAO,CAAC;AAC9C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAuB,WAAW,CAAC;AAC1D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAuB,WAAW,CAAC;AAC1D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAuB,WAAW,CAAC;AAC1D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAuB,WAAW,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/utils.d.ts b/node_modules/@noble/hashes/esm/utils.d.ts new file mode 100644 index 0000000..90b8439 --- /dev/null +++ b/node_modules/@noble/hashes/esm/utils.d.ts @@ -0,0 +1,161 @@ +/** + * Utilities for hex, bytes, CSPRNG. + * @module + */ +/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */ +/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */ +export declare function isBytes(a: unknown): a is Uint8Array; +/** Asserts something is positive integer. */ +export declare function anumber(n: number): void; +/** Asserts something is Uint8Array. */ +export declare function abytes(b: Uint8Array | undefined, ...lengths: number[]): void; +/** Asserts something is hash */ +export declare function ahash(h: IHash): void; +/** Asserts a hash instance has not been destroyed / finished */ +export declare function aexists(instance: any, checkFinished?: boolean): void; +/** Asserts output is properly-sized byte array */ +export declare function aoutput(out: any, instance: any): void; +/** Generic type encompassing 8/16/32-byte arrays - but not 64-byte. */ +export type TypedArray = Int8Array | Uint8ClampedArray | Uint8Array | Uint16Array | Int16Array | Uint32Array | Int32Array; +/** Cast u8 / u16 / u32 to u8. */ +export declare function u8(arr: TypedArray): Uint8Array; +/** Cast u8 / u16 / u32 to u32. */ +export declare function u32(arr: TypedArray): Uint32Array; +/** Zeroize a byte array. Warning: JS provides no guarantees. */ +export declare function clean(...arrays: TypedArray[]): void; +/** Create DataView of an array for easy byte-level manipulation. */ +export declare function createView(arr: TypedArray): DataView; +/** The rotate right (circular right shift) operation for uint32 */ +export declare function rotr(word: number, shift: number): number; +/** The rotate left (circular left shift) operation for uint32 */ +export declare function rotl(word: number, shift: number): number; +/** Is current platform little-endian? Most are. Big-Endian platform: IBM */ +export declare const isLE: boolean; +/** The byte swap operation for uint32 */ +export declare function byteSwap(word: number): number; +/** Conditionally byte swap if on a big-endian platform */ +export declare const swap8IfBE: (n: number) => number; +/** @deprecated */ +export declare const byteSwapIfBE: typeof swap8IfBE; +/** In place byte swap for Uint32Array */ +export declare function byteSwap32(arr: Uint32Array): Uint32Array; +export declare const swap32IfBE: (u: Uint32Array) => Uint32Array; +/** + * Convert byte array to hex string. Uses built-in function, when available. + * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123' + */ +export declare function bytesToHex(bytes: Uint8Array): string; +/** + * Convert hex string to byte array. Uses built-in function, when available. + * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23]) + */ +export declare function hexToBytes(hex: string): Uint8Array; +/** + * There is no setImmediate in browser and setTimeout is slow. + * Call of async fn will return Promise, which will be fullfiled only on + * next scheduler queue processing step and this is exactly what we need. + */ +export declare const nextTick: () => Promise; +/** Returns control to thread each 'tick' ms to avoid blocking. */ +export declare function asyncLoop(iters: number, tick: number, cb: (i: number) => void): Promise; +/** + * Converts string to bytes using UTF8 encoding. + * @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99]) + */ +export declare function utf8ToBytes(str: string): Uint8Array; +/** + * Converts bytes to string using UTF8 encoding. + * @example bytesToUtf8(Uint8Array.from([97, 98, 99])) // 'abc' + */ +export declare function bytesToUtf8(bytes: Uint8Array): string; +/** Accepted input of hash functions. Strings are converted to byte arrays. */ +export type Input = string | Uint8Array; +/** + * Normalizes (non-hex) string or Uint8Array to Uint8Array. + * Warning: when Uint8Array is passed, it would NOT get copied. + * Keep in mind for future mutable operations. + */ +export declare function toBytes(data: Input): Uint8Array; +/** KDFs can accept string or Uint8Array for user convenience. */ +export type KDFInput = string | Uint8Array; +/** + * Helper for KDFs: consumes uint8array or string. + * When string is passed, does utf8 decoding, using TextDecoder. + */ +export declare function kdfInputToBytes(data: KDFInput): Uint8Array; +/** Copies several Uint8Arrays into one. */ +export declare function concatBytes(...arrays: Uint8Array[]): Uint8Array; +type EmptyObj = {}; +export declare function checkOpts(defaults: T1, opts?: T2): T1 & T2; +/** Hash interface. */ +export type IHash = { + (data: Uint8Array): Uint8Array; + blockLen: number; + outputLen: number; + create: any; +}; +/** For runtime check if class implements interface */ +export declare abstract class Hash> { + abstract blockLen: number; + abstract outputLen: number; + abstract update(buf: Input): this; + abstract digestInto(buf: Uint8Array): void; + abstract digest(): Uint8Array; + /** + * Resets internal state. Makes Hash instance unusable. + * Reset is impossible for keyed hashes if key is consumed into state. If digest is not consumed + * by user, they will need to manually call `destroy()` when zeroing is necessary. + */ + abstract destroy(): void; + /** + * Clones hash instance. Unsafe: doesn't check whether `to` is valid. Can be used as `clone()` + * when no options are passed. + * Reasons to use `_cloneInto` instead of clone: 1) performance 2) reuse instance => all internal + * buffers are overwritten => causes buffer overwrite which is used for digest in some cases. + * There are no guarantees for clean-up because it's impossible in JS. + */ + abstract _cloneInto(to?: T): T; + abstract clone(): T; +} +/** + * XOF: streaming API to read digest in chunks. + * Same as 'squeeze' in keccak/k12 and 'seek' in blake3, but more generic name. + * When hash used in XOF mode it is up to user to call '.destroy' afterwards, since we cannot + * destroy state, next call can require more bytes. + */ +export type HashXOF> = Hash & { + xof(bytes: number): Uint8Array; + xofInto(buf: Uint8Array): Uint8Array; +}; +/** Hash function */ +export type CHash = ReturnType; +/** Hash function with output */ +export type CHashO = ReturnType; +/** XOF with output */ +export type CHashXO = ReturnType; +/** Wraps hash function, creating an interface on top of it */ +export declare function createHasher>(hashCons: () => Hash): { + (msg: Input): Uint8Array; + outputLen: number; + blockLen: number; + create(): Hash; +}; +export declare function createOptHasher, T extends Object>(hashCons: (opts?: T) => Hash): { + (msg: Input, opts?: T): Uint8Array; + outputLen: number; + blockLen: number; + create(opts?: T): Hash; +}; +export declare function createXOFer, T extends Object>(hashCons: (opts?: T) => HashXOF): { + (msg: Input, opts?: T): Uint8Array; + outputLen: number; + blockLen: number; + create(opts?: T): HashXOF; +}; +export declare const wrapConstructor: typeof createHasher; +export declare const wrapConstructorWithOpts: typeof createOptHasher; +export declare const wrapXOFConstructorWithOpts: typeof createXOFer; +/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */ +export declare function randomBytes(bytesLength?: number): Uint8Array; +export {}; +//# sourceMappingURL=utils.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/utils.d.ts.map b/node_modules/@noble/hashes/esm/utils.d.ts.map new file mode 100644 index 0000000..8ab6570 --- /dev/null +++ b/node_modules/@noble/hashes/esm/utils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/utils.js b/node_modules/@noble/hashes/esm/utils.js new file mode 100644 index 0000000..9614c8e --- /dev/null +++ b/node_modules/@noble/hashes/esm/utils.js @@ -0,0 +1,281 @@ +/** + * Utilities for hex, bytes, CSPRNG. + * @module + */ +/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */ +// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+. +// node.js versions earlier than v19 don't declare it in global scope. +// For node.js, package.json#exports field mapping rewrites import +// from `crypto` to `cryptoNode`, which imports native module. +// Makes the utils un-importable in browsers without a bundler. +// Once node.js 18 is deprecated (2025-04-30), we can just drop the import. +import { crypto } from '@noble/hashes/crypto'; +/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */ +export function isBytes(a) { + return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array'); +} +/** Asserts something is positive integer. */ +export function anumber(n) { + if (!Number.isSafeInteger(n) || n < 0) + throw new Error('positive integer expected, got ' + n); +} +/** Asserts something is Uint8Array. */ +export function abytes(b, ...lengths) { + if (!isBytes(b)) + throw new Error('Uint8Array expected'); + if (lengths.length > 0 && !lengths.includes(b.length)) + throw new Error('Uint8Array expected of length ' + lengths + ', got length=' + b.length); +} +/** Asserts something is hash */ +export function ahash(h) { + if (typeof h !== 'function' || typeof h.create !== 'function') + throw new Error('Hash should be wrapped by utils.createHasher'); + anumber(h.outputLen); + anumber(h.blockLen); +} +/** Asserts a hash instance has not been destroyed / finished */ +export function aexists(instance, checkFinished = true) { + if (instance.destroyed) + throw new Error('Hash instance has been destroyed'); + if (checkFinished && instance.finished) + throw new Error('Hash#digest() has already been called'); +} +/** Asserts output is properly-sized byte array */ +export function aoutput(out, instance) { + abytes(out); + const min = instance.outputLen; + if (out.length < min) { + throw new Error('digestInto() expects output buffer of length at least ' + min); + } +} +/** Cast u8 / u16 / u32 to u8. */ +export function u8(arr) { + return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); +} +/** Cast u8 / u16 / u32 to u32. */ +export function u32(arr) { + return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4)); +} +/** Zeroize a byte array. Warning: JS provides no guarantees. */ +export function clean(...arrays) { + for (let i = 0; i < arrays.length; i++) { + arrays[i].fill(0); + } +} +/** Create DataView of an array for easy byte-level manipulation. */ +export function createView(arr) { + return new DataView(arr.buffer, arr.byteOffset, arr.byteLength); +} +/** The rotate right (circular right shift) operation for uint32 */ +export function rotr(word, shift) { + return (word << (32 - shift)) | (word >>> shift); +} +/** The rotate left (circular left shift) operation for uint32 */ +export function rotl(word, shift) { + return (word << shift) | ((word >>> (32 - shift)) >>> 0); +} +/** Is current platform little-endian? Most are. Big-Endian platform: IBM */ +export const isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)(); +/** The byte swap operation for uint32 */ +export function byteSwap(word) { + return (((word << 24) & 0xff000000) | + ((word << 8) & 0xff0000) | + ((word >>> 8) & 0xff00) | + ((word >>> 24) & 0xff)); +} +/** Conditionally byte swap if on a big-endian platform */ +export const swap8IfBE = isLE + ? (n) => n + : (n) => byteSwap(n); +/** @deprecated */ +export const byteSwapIfBE = swap8IfBE; +/** In place byte swap for Uint32Array */ +export function byteSwap32(arr) { + for (let i = 0; i < arr.length; i++) { + arr[i] = byteSwap(arr[i]); + } + return arr; +} +export const swap32IfBE = isLE + ? (u) => u + : byteSwap32; +// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex +const hasHexBuiltin = /* @__PURE__ */ (() => +// @ts-ignore +typeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function')(); +// Array where index 0xf0 (240) is mapped to string 'f0' +const hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0')); +/** + * Convert byte array to hex string. Uses built-in function, when available. + * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123' + */ +export function bytesToHex(bytes) { + abytes(bytes); + // @ts-ignore + if (hasHexBuiltin) + return bytes.toHex(); + // pre-caching improves the speed 6x + let hex = ''; + for (let i = 0; i < bytes.length; i++) { + hex += hexes[bytes[i]]; + } + return hex; +} +// We use optimized technique to convert hex string to byte array +const asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 }; +function asciiToBase16(ch) { + if (ch >= asciis._0 && ch <= asciis._9) + return ch - asciis._0; // '2' => 50-48 + if (ch >= asciis.A && ch <= asciis.F) + return ch - (asciis.A - 10); // 'B' => 66-(65-10) + if (ch >= asciis.a && ch <= asciis.f) + return ch - (asciis.a - 10); // 'b' => 98-(97-10) + return; +} +/** + * Convert hex string to byte array. Uses built-in function, when available. + * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23]) + */ +export function hexToBytes(hex) { + if (typeof hex !== 'string') + throw new Error('hex string expected, got ' + typeof hex); + // @ts-ignore + if (hasHexBuiltin) + return Uint8Array.fromHex(hex); + const hl = hex.length; + const al = hl / 2; + if (hl % 2) + throw new Error('hex string expected, got unpadded hex of length ' + hl); + const array = new Uint8Array(al); + for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) { + const n1 = asciiToBase16(hex.charCodeAt(hi)); + const n2 = asciiToBase16(hex.charCodeAt(hi + 1)); + if (n1 === undefined || n2 === undefined) { + const char = hex[hi] + hex[hi + 1]; + throw new Error('hex string expected, got non-hex character "' + char + '" at index ' + hi); + } + array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163 + } + return array; +} +/** + * There is no setImmediate in browser and setTimeout is slow. + * Call of async fn will return Promise, which will be fullfiled only on + * next scheduler queue processing step and this is exactly what we need. + */ +export const nextTick = async () => { }; +/** Returns control to thread each 'tick' ms to avoid blocking. */ +export async function asyncLoop(iters, tick, cb) { + let ts = Date.now(); + for (let i = 0; i < iters; i++) { + cb(i); + // Date.now() is not monotonic, so in case if clock goes backwards we return return control too + const diff = Date.now() - ts; + if (diff >= 0 && diff < tick) + continue; + await nextTick(); + ts += diff; + } +} +/** + * Converts string to bytes using UTF8 encoding. + * @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99]) + */ +export function utf8ToBytes(str) { + if (typeof str !== 'string') + throw new Error('string expected'); + return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809 +} +/** + * Converts bytes to string using UTF8 encoding. + * @example bytesToUtf8(Uint8Array.from([97, 98, 99])) // 'abc' + */ +export function bytesToUtf8(bytes) { + return new TextDecoder().decode(bytes); +} +/** + * Normalizes (non-hex) string or Uint8Array to Uint8Array. + * Warning: when Uint8Array is passed, it would NOT get copied. + * Keep in mind for future mutable operations. + */ +export function toBytes(data) { + if (typeof data === 'string') + data = utf8ToBytes(data); + abytes(data); + return data; +} +/** + * Helper for KDFs: consumes uint8array or string. + * When string is passed, does utf8 decoding, using TextDecoder. + */ +export function kdfInputToBytes(data) { + if (typeof data === 'string') + data = utf8ToBytes(data); + abytes(data); + return data; +} +/** Copies several Uint8Arrays into one. */ +export function concatBytes(...arrays) { + let sum = 0; + for (let i = 0; i < arrays.length; i++) { + const a = arrays[i]; + abytes(a); + sum += a.length; + } + const res = new Uint8Array(sum); + for (let i = 0, pad = 0; i < arrays.length; i++) { + const a = arrays[i]; + res.set(a, pad); + pad += a.length; + } + return res; +} +export function checkOpts(defaults, opts) { + if (opts !== undefined && {}.toString.call(opts) !== '[object Object]') + throw new Error('options should be object or undefined'); + const merged = Object.assign(defaults, opts); + return merged; +} +/** For runtime check if class implements interface */ +export class Hash { +} +/** Wraps hash function, creating an interface on top of it */ +export function createHasher(hashCons) { + const hashC = (msg) => hashCons().update(toBytes(msg)).digest(); + const tmp = hashCons(); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = () => hashCons(); + return hashC; +} +export function createOptHasher(hashCons) { + const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest(); + const tmp = hashCons({}); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (opts) => hashCons(opts); + return hashC; +} +export function createXOFer(hashCons) { + const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest(); + const tmp = hashCons({}); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (opts) => hashCons(opts); + return hashC; +} +export const wrapConstructor = createHasher; +export const wrapConstructorWithOpts = createOptHasher; +export const wrapXOFConstructorWithOpts = createXOFer; +/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */ +export function randomBytes(bytesLength = 32) { + if (crypto && typeof crypto.getRandomValues === 'function') { + return crypto.getRandomValues(new Uint8Array(bytesLength)); + } + // Legacy Node.js compatibility + if (crypto && typeof crypto.randomBytes === 'function') { + return Uint8Array.from(crypto.randomBytes(bytesLength)); + } + throw new Error('crypto.getRandomValues must be defined'); +} +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/esm/utils.js.map b/node_modules/@noble/hashes/esm/utils.js.map new file mode 100644 index 0000000..8a068c0 --- /dev/null +++ b/node_modules/@noble/hashes/esm/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/hkdf.d.ts b/node_modules/@noble/hashes/hkdf.d.ts new file mode 100644 index 0000000..c54c4ab --- /dev/null +++ b/node_modules/@noble/hashes/hkdf.d.ts @@ -0,0 +1,36 @@ +import { type CHash, type Input } from './utils.ts'; +/** + * HKDF-extract from spec. Less important part. `HKDF-Extract(IKM, salt) -> PRK` + * Arguments position differs from spec (IKM is first one, since it is not optional) + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + */ +export declare function extract(hash: CHash, ikm: Input, salt?: Input): Uint8Array; +/** + * HKDF-expand from the spec. The most important part. `HKDF-Expand(PRK, info, L) -> OKM` + * @param hash - hash function that would be used (e.g. sha256) + * @param prk - a pseudorandom key of at least HashLen octets (usually, the output from the extract step) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + */ +export declare function expand(hash: CHash, prk: Input, info?: Input, length?: number): Uint8Array; +/** + * HKDF (RFC 5869): derive keys from an initial input. + * Combines hkdf_extract + hkdf_expand in one step + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + * @example + * import { hkdf } from '@noble/hashes/hkdf'; + * import { sha256 } from '@noble/hashes/sha2'; + * import { randomBytes } from '@noble/hashes/utils'; + * const inputKey = randomBytes(32); + * const salt = randomBytes(32); + * const info = 'application-key'; + * const hk1 = hkdf(sha256, inputKey, salt, info, 32); + */ +export declare const hkdf: (hash: CHash, ikm: Input, salt: Input | undefined, info: Input | undefined, length: number) => Uint8Array; +//# sourceMappingURL=hkdf.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/hkdf.d.ts.map b/node_modules/@noble/hashes/hkdf.d.ts.map new file mode 100644 index 0000000..76b0ebb --- /dev/null +++ b/node_modules/@noble/hashes/hkdf.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"hkdf.d.ts","sourceRoot":"","sources":["src/hkdf.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,KAAK,EAAS,KAAK,KAAK,EAAW,MAAM,YAAY,CAAC;AAEpF;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,UAAU,CAOzE;AAKD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,GAAE,MAAW,GAAG,UAAU,CA4B7F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,GACf,MAAM,KAAK,EACX,KAAK,KAAK,EACV,MAAM,KAAK,GAAG,SAAS,EACvB,MAAM,KAAK,GAAG,SAAS,EACvB,QAAQ,MAAM,KACb,UAAkE,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/hkdf.js b/node_modules/@noble/hashes/hkdf.js new file mode 100644 index 0000000..aca1674 --- /dev/null +++ b/node_modules/@noble/hashes/hkdf.js @@ -0,0 +1,88 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hkdf = void 0; +exports.extract = extract; +exports.expand = expand; +/** + * HKDF (RFC 5869): extract + expand in one step. + * See https://soatok.blog/2021/11/17/understanding-hkdf/. + * @module + */ +const hmac_ts_1 = require("./hmac.js"); +const utils_ts_1 = require("./utils.js"); +/** + * HKDF-extract from spec. Less important part. `HKDF-Extract(IKM, salt) -> PRK` + * Arguments position differs from spec (IKM is first one, since it is not optional) + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + */ +function extract(hash, ikm, salt) { + (0, utils_ts_1.ahash)(hash); + // NOTE: some libraries treat zero-length array as 'not provided'; + // we don't, since we have undefined as 'not provided' + // https://github.com/RustCrypto/KDFs/issues/15 + if (salt === undefined) + salt = new Uint8Array(hash.outputLen); + return (0, hmac_ts_1.hmac)(hash, (0, utils_ts_1.toBytes)(salt), (0, utils_ts_1.toBytes)(ikm)); +} +const HKDF_COUNTER = /* @__PURE__ */ Uint8Array.from([0]); +const EMPTY_BUFFER = /* @__PURE__ */ Uint8Array.of(); +/** + * HKDF-expand from the spec. The most important part. `HKDF-Expand(PRK, info, L) -> OKM` + * @param hash - hash function that would be used (e.g. sha256) + * @param prk - a pseudorandom key of at least HashLen octets (usually, the output from the extract step) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + */ +function expand(hash, prk, info, length = 32) { + (0, utils_ts_1.ahash)(hash); + (0, utils_ts_1.anumber)(length); + const olen = hash.outputLen; + if (length > 255 * olen) + throw new Error('Length should be <= 255*HashLen'); + const blocks = Math.ceil(length / olen); + if (info === undefined) + info = EMPTY_BUFFER; + // first L(ength) octets of T + const okm = new Uint8Array(blocks * olen); + // Re-use HMAC instance between blocks + const HMAC = hmac_ts_1.hmac.create(hash, prk); + const HMACTmp = HMAC._cloneInto(); + const T = new Uint8Array(HMAC.outputLen); + for (let counter = 0; counter < blocks; counter++) { + HKDF_COUNTER[0] = counter + 1; + // T(0) = empty string (zero length) + // T(N) = HMAC-Hash(PRK, T(N-1) | info | N) + HMACTmp.update(counter === 0 ? EMPTY_BUFFER : T) + .update(info) + .update(HKDF_COUNTER) + .digestInto(T); + okm.set(T, olen * counter); + HMAC._cloneInto(HMACTmp); + } + HMAC.destroy(); + HMACTmp.destroy(); + (0, utils_ts_1.clean)(T, HKDF_COUNTER); + return okm.slice(0, length); +} +/** + * HKDF (RFC 5869): derive keys from an initial input. + * Combines hkdf_extract + hkdf_expand in one step + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + * @example + * import { hkdf } from '@noble/hashes/hkdf'; + * import { sha256 } from '@noble/hashes/sha2'; + * import { randomBytes } from '@noble/hashes/utils'; + * const inputKey = randomBytes(32); + * const salt = randomBytes(32); + * const info = 'application-key'; + * const hk1 = hkdf(sha256, inputKey, salt, info, 32); + */ +const hkdf = (hash, ikm, salt, info, length) => expand(hash, extract(hash, ikm, salt), info, length); +exports.hkdf = hkdf; +//# sourceMappingURL=hkdf.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/hkdf.js.map b/node_modules/@noble/hashes/hkdf.js.map new file mode 100644 index 0000000..3d6d405 --- /dev/null +++ b/node_modules/@noble/hashes/hkdf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hkdf.js","sourceRoot":"","sources":["src/hkdf.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/hmac.d.ts b/node_modules/@noble/hashes/hmac.d.ts new file mode 100644 index 0000000..86525f9 --- /dev/null +++ b/node_modules/@noble/hashes/hmac.d.ts @@ -0,0 +1,35 @@ +/** + * HMAC: RFC2104 message authentication code. + * @module + */ +import { Hash, type CHash, type Input } from './utils.ts'; +export declare class HMAC> extends Hash> { + oHash: T; + iHash: T; + blockLen: number; + outputLen: number; + private finished; + private destroyed; + constructor(hash: CHash, _key: Input); + update(buf: Input): this; + digestInto(out: Uint8Array): void; + digest(): Uint8Array; + _cloneInto(to?: HMAC): HMAC; + clone(): HMAC; + destroy(): void; +} +/** + * HMAC: RFC2104 message authentication code. + * @param hash - function that would be used e.g. sha256 + * @param key - message key + * @param message - message data + * @example + * import { hmac } from '@noble/hashes/hmac'; + * import { sha256 } from '@noble/hashes/sha2'; + * const mac1 = hmac(sha256, 'key', 'message'); + */ +export declare const hmac: { + (hash: CHash, key: Input, message: Input): Uint8Array; + create(hash: CHash, key: Input): HMAC; +}; +//# sourceMappingURL=hmac.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/hmac.d.ts.map b/node_modules/@noble/hashes/hmac.d.ts.map new file mode 100644 index 0000000..5a7f0f3 --- /dev/null +++ b/node_modules/@noble/hashes/hmac.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["src/hmac.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAiC,IAAI,EAAW,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAElG,qBAAa,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IAsBpC,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAKxB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IASjC,MAAM,IAAI,UAAU;IAKpB,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAajC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAGhB,OAAO,IAAI,IAAI;CAKhB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,EAAE;IACjB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,UAAU,CAAC;IACtD,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;CAEM,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/hmac.js b/node_modules/@noble/hashes/hmac.js new file mode 100644 index 0000000..060cf57 --- /dev/null +++ b/node_modules/@noble/hashes/hmac.js @@ -0,0 +1,91 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hmac = exports.HMAC = void 0; +/** + * HMAC: RFC2104 message authentication code. + * @module + */ +const utils_ts_1 = require("./utils.js"); +class HMAC extends utils_ts_1.Hash { + constructor(hash, _key) { + super(); + this.finished = false; + this.destroyed = false; + (0, utils_ts_1.ahash)(hash); + const key = (0, utils_ts_1.toBytes)(_key); + this.iHash = hash.create(); + if (typeof this.iHash.update !== 'function') + throw new Error('Expected instance of class which extends utils.Hash'); + this.blockLen = this.iHash.blockLen; + this.outputLen = this.iHash.outputLen; + const blockLen = this.blockLen; + const pad = new Uint8Array(blockLen); + // blockLen can be bigger than outputLen + pad.set(key.length > blockLen ? hash.create().update(key).digest() : key); + for (let i = 0; i < pad.length; i++) + pad[i] ^= 0x36; + this.iHash.update(pad); + // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone + this.oHash = hash.create(); + // Undo internal XOR && apply outer XOR + for (let i = 0; i < pad.length; i++) + pad[i] ^= 0x36 ^ 0x5c; + this.oHash.update(pad); + (0, utils_ts_1.clean)(pad); + } + update(buf) { + (0, utils_ts_1.aexists)(this); + this.iHash.update(buf); + return this; + } + digestInto(out) { + (0, utils_ts_1.aexists)(this); + (0, utils_ts_1.abytes)(out, this.outputLen); + this.finished = true; + this.iHash.digestInto(out); + this.oHash.update(out); + this.oHash.digestInto(out); + this.destroy(); + } + digest() { + const out = new Uint8Array(this.oHash.outputLen); + this.digestInto(out); + return out; + } + _cloneInto(to) { + // Create new instance without calling constructor since key already in state and we don't know it. + to || (to = Object.create(Object.getPrototypeOf(this), {})); + const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this; + to = to; + to.finished = finished; + to.destroyed = destroyed; + to.blockLen = blockLen; + to.outputLen = outputLen; + to.oHash = oHash._cloneInto(to.oHash); + to.iHash = iHash._cloneInto(to.iHash); + return to; + } + clone() { + return this._cloneInto(); + } + destroy() { + this.destroyed = true; + this.oHash.destroy(); + this.iHash.destroy(); + } +} +exports.HMAC = HMAC; +/** + * HMAC: RFC2104 message authentication code. + * @param hash - function that would be used e.g. sha256 + * @param key - message key + * @param message - message data + * @example + * import { hmac } from '@noble/hashes/hmac'; + * import { sha256 } from '@noble/hashes/sha2'; + * const mac1 = hmac(sha256, 'key', 'message'); + */ +const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest(); +exports.hmac = hmac; +exports.hmac.create = (hash, key) => new HMAC(hash, key); +//# sourceMappingURL=hmac.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/hmac.js.map b/node_modules/@noble/hashes/hmac.js.map new file mode 100644 index 0000000..b99d61a --- /dev/null +++ b/node_modules/@noble/hashes/hmac.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hmac.js","sourceRoot":"","sources":["src/hmac.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/index.d.ts b/node_modules/@noble/hashes/index.d.ts new file mode 100644 index 0000000..f36479a --- /dev/null +++ b/node_modules/@noble/hashes/index.d.ts @@ -0,0 +1 @@ +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/index.d.ts.map b/node_modules/@noble/hashes/index.d.ts.map new file mode 100644 index 0000000..4e8c581 --- /dev/null +++ b/node_modules/@noble/hashes/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@noble/hashes/index.js b/node_modules/@noble/hashes/index.js new file mode 100644 index 0000000..b6a9fe7 --- /dev/null +++ b/node_modules/@noble/hashes/index.js @@ -0,0 +1,33 @@ +"use strict"; +/** + * Audited & minimal JS implementation of hash functions, MACs and KDFs. Check out individual modules. + * @module + * @example +```js +import { + sha256, sha384, sha512, sha224, sha512_224, sha512_256 +} from '@noble/hashes/sha2'; +import { + sha3_224, sha3_256, sha3_384, sha3_512, + keccak_224, keccak_256, keccak_384, keccak_512, + shake128, shake256 +} from '@noble/hashes/sha3'; +import { + cshake128, cshake256, + turboshake128, turboshake256, + kmac128, kmac256, + tuplehash256, parallelhash256, + k12, m14, keccakprg +} from '@noble/hashes/sha3-addons'; +import { blake3 } from '@noble/hashes/blake3'; +import { blake2b, blake2s } from '@noble/hashes/blake2'; +import { hmac } from '@noble/hashes/hmac'; +import { hkdf } from '@noble/hashes/hkdf'; +import { pbkdf2, pbkdf2Async } from '@noble/hashes/pbkdf2'; +import { scrypt, scryptAsync } from '@noble/hashes/scrypt'; +import { md5, ripemd160, sha1 } from '@noble/hashes/legacy'; +import * as utils from '@noble/hashes/utils'; +``` + */ +throw new Error('root module cannot be imported: import submodules instead. Check out README'); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/index.js.map b/node_modules/@noble/hashes/index.js.map new file mode 100644 index 0000000..1759fc6 --- /dev/null +++ b/node_modules/@noble/hashes/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/legacy.d.ts b/node_modules/@noble/hashes/legacy.d.ts new file mode 100644 index 0000000..39c2632 --- /dev/null +++ b/node_modules/@noble/hashes/legacy.d.ts @@ -0,0 +1,71 @@ +/** + +SHA1 (RFC 3174), MD5 (RFC 1321) and RIPEMD160 (RFC 2286) legacy, weak hash functions. +Don't use them in a new protocol. What "weak" means: + +- Collisions can be made with 2^18 effort in MD5, 2^60 in SHA1, 2^80 in RIPEMD160. +- No practical pre-image attacks (only theoretical, 2^123.4) +- HMAC seems kinda ok: https://datatracker.ietf.org/doc/html/rfc6151 + * @module + */ +import { HashMD } from './_md.ts'; +import { type CHash } from './utils.ts'; +/** SHA1 legacy hash class. */ +export declare class SHA1 extends HashMD { + private A; + private B; + private C; + private D; + private E; + constructor(); + protected get(): [number, number, number, number, number]; + protected set(A: number, B: number, C: number, D: number, E: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +/** SHA1 (RFC 3174) legacy hash function. It was cryptographically broken. */ +export declare const sha1: CHash; +/** MD5 legacy hash class. */ +export declare class MD5 extends HashMD { + private A; + private B; + private C; + private D; + constructor(); + protected get(): [number, number, number, number]; + protected set(A: number, B: number, C: number, D: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +/** + * MD5 (RFC 1321) legacy hash function. It was cryptographically broken. + * MD5 architecture is similar to SHA1, with some differences: + * - Reduced output length: 16 bytes (128 bit) instead of 20 + * - 64 rounds, instead of 80 + * - Little-endian: could be faster, but will require more code + * - Non-linear index selection: huge speed-up for unroll + * - Per round constants: more memory accesses, additional speed-up for unroll + */ +export declare const md5: CHash; +export declare class RIPEMD160 extends HashMD { + private h0; + private h1; + private h2; + private h3; + private h4; + constructor(); + protected get(): [number, number, number, number, number]; + protected set(h0: number, h1: number, h2: number, h3: number, h4: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +/** + * RIPEMD-160 - a legacy hash function from 1990s. + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + */ +export declare const ripemd160: CHash; +//# sourceMappingURL=legacy.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/legacy.d.ts.map b/node_modules/@noble/hashes/legacy.d.ts.map new file mode 100644 index 0000000..0401f78 --- /dev/null +++ b/node_modules/@noble/hashes/legacy.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["src/legacy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAO,MAAM,EAAO,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,KAAK,EAA6B,MAAM,YAAY,CAAC;AAUnE,8BAA8B;AAC9B,qBAAa,IAAK,SAAQ,MAAM,CAAC,IAAI,CAAC;IACpC,OAAO,CAAC,CAAC,CAAkB;IAC3B,OAAO,CAAC,CAAC,CAAkB;IAC3B,OAAO,CAAC,CAAC,CAAkB;IAC3B,OAAO,CAAC,CAAC,CAAkB;IAC3B,OAAO,CAAC,CAAC,CAAkB;;IAK3B,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAIzD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAO1E,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAoCvD,SAAS,CAAC,UAAU,IAAI,IAAI;IAG5B,OAAO,IAAI,IAAI;CAIhB;AAED,6EAA6E;AAC7E,eAAO,MAAM,IAAI,EAAE,KAAsD,CAAC;AAa1E,6BAA6B;AAC7B,qBAAa,GAAI,SAAQ,MAAM,CAAC,GAAG,CAAC;IAClC,OAAO,CAAC,CAAC,CAAiB;IAC1B,OAAO,CAAC,CAAC,CAAiB;IAC1B,OAAO,CAAC,CAAC,CAAiB;IAC1B,OAAO,CAAC,CAAC,CAAiB;;IAK1B,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAIjD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/D,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAoCvD,SAAS,CAAC,UAAU,IAAI,IAAI;IAG5B,OAAO,IAAI,IAAI;CAIhB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,GAAG,EAAE,KAAqD,CAAC;AA6CxE,qBAAa,SAAU,SAAQ,MAAM,CAAC,SAAS,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,EAAE,CAAkB;;IAK5B,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAIzD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAO/E,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmCvD,SAAS,CAAC,UAAU,IAAI,IAAI;IAG5B,OAAO,IAAI,IAAI;CAKhB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,KAA2D,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/legacy.js b/node_modules/@noble/hashes/legacy.js new file mode 100644 index 0000000..2f8f9c6 --- /dev/null +++ b/node_modules/@noble/hashes/legacy.js @@ -0,0 +1,287 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ripemd160 = exports.RIPEMD160 = exports.md5 = exports.MD5 = exports.sha1 = exports.SHA1 = void 0; +/** + +SHA1 (RFC 3174), MD5 (RFC 1321) and RIPEMD160 (RFC 2286) legacy, weak hash functions. +Don't use them in a new protocol. What "weak" means: + +- Collisions can be made with 2^18 effort in MD5, 2^60 in SHA1, 2^80 in RIPEMD160. +- No practical pre-image attacks (only theoretical, 2^123.4) +- HMAC seems kinda ok: https://datatracker.ietf.org/doc/html/rfc6151 + * @module + */ +const _md_ts_1 = require("./_md.js"); +const utils_ts_1 = require("./utils.js"); +/** Initial SHA1 state */ +const SHA1_IV = /* @__PURE__ */ Uint32Array.from([ + 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0, +]); +// Reusable temporary buffer +const SHA1_W = /* @__PURE__ */ new Uint32Array(80); +/** SHA1 legacy hash class. */ +class SHA1 extends _md_ts_1.HashMD { + constructor() { + super(64, 20, 8, false); + this.A = SHA1_IV[0] | 0; + this.B = SHA1_IV[1] | 0; + this.C = SHA1_IV[2] | 0; + this.D = SHA1_IV[3] | 0; + this.E = SHA1_IV[4] | 0; + } + get() { + const { A, B, C, D, E } = this; + return [A, B, C, D, E]; + } + set(A, B, C, D, E) { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + this.E = E | 0; + } + process(view, offset) { + for (let i = 0; i < 16; i++, offset += 4) + SHA1_W[i] = view.getUint32(offset, false); + for (let i = 16; i < 80; i++) + SHA1_W[i] = (0, utils_ts_1.rotl)(SHA1_W[i - 3] ^ SHA1_W[i - 8] ^ SHA1_W[i - 14] ^ SHA1_W[i - 16], 1); + // Compression function main loop, 80 rounds + let { A, B, C, D, E } = this; + for (let i = 0; i < 80; i++) { + let F, K; + if (i < 20) { + F = (0, _md_ts_1.Chi)(B, C, D); + K = 0x5a827999; + } + else if (i < 40) { + F = B ^ C ^ D; + K = 0x6ed9eba1; + } + else if (i < 60) { + F = (0, _md_ts_1.Maj)(B, C, D); + K = 0x8f1bbcdc; + } + else { + F = B ^ C ^ D; + K = 0xca62c1d6; + } + const T = ((0, utils_ts_1.rotl)(A, 5) + F + E + K + SHA1_W[i]) | 0; + E = D; + D = C; + C = (0, utils_ts_1.rotl)(B, 30); + B = A; + A = T; + } + // Add the compressed chunk to the current hash value + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + this.set(A, B, C, D, E); + } + roundClean() { + (0, utils_ts_1.clean)(SHA1_W); + } + destroy() { + this.set(0, 0, 0, 0, 0); + (0, utils_ts_1.clean)(this.buffer); + } +} +exports.SHA1 = SHA1; +/** SHA1 (RFC 3174) legacy hash function. It was cryptographically broken. */ +exports.sha1 = (0, utils_ts_1.createHasher)(() => new SHA1()); +/** Per-round constants */ +const p32 = /* @__PURE__ */ Math.pow(2, 32); +const K = /* @__PURE__ */ Array.from({ length: 64 }, (_, i) => Math.floor(p32 * Math.abs(Math.sin(i + 1)))); +/** md5 initial state: same as sha1, but 4 u32 instead of 5. */ +const MD5_IV = /* @__PURE__ */ SHA1_IV.slice(0, 4); +// Reusable temporary buffer +const MD5_W = /* @__PURE__ */ new Uint32Array(16); +/** MD5 legacy hash class. */ +class MD5 extends _md_ts_1.HashMD { + constructor() { + super(64, 16, 8, true); + this.A = MD5_IV[0] | 0; + this.B = MD5_IV[1] | 0; + this.C = MD5_IV[2] | 0; + this.D = MD5_IV[3] | 0; + } + get() { + const { A, B, C, D } = this; + return [A, B, C, D]; + } + set(A, B, C, D) { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + } + process(view, offset) { + for (let i = 0; i < 16; i++, offset += 4) + MD5_W[i] = view.getUint32(offset, true); + // Compression function main loop, 64 rounds + let { A, B, C, D } = this; + for (let i = 0; i < 64; i++) { + let F, g, s; + if (i < 16) { + F = (0, _md_ts_1.Chi)(B, C, D); + g = i; + s = [7, 12, 17, 22]; + } + else if (i < 32) { + F = (0, _md_ts_1.Chi)(D, B, C); + g = (5 * i + 1) % 16; + s = [5, 9, 14, 20]; + } + else if (i < 48) { + F = B ^ C ^ D; + g = (3 * i + 5) % 16; + s = [4, 11, 16, 23]; + } + else { + F = C ^ (B | ~D); + g = (7 * i) % 16; + s = [6, 10, 15, 21]; + } + F = F + A + K[i] + MD5_W[g]; + A = D; + D = C; + C = B; + B = B + (0, utils_ts_1.rotl)(F, s[i % 4]); + } + // Add the compressed chunk to the current hash value + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + this.set(A, B, C, D); + } + roundClean() { + (0, utils_ts_1.clean)(MD5_W); + } + destroy() { + this.set(0, 0, 0, 0); + (0, utils_ts_1.clean)(this.buffer); + } +} +exports.MD5 = MD5; +/** + * MD5 (RFC 1321) legacy hash function. It was cryptographically broken. + * MD5 architecture is similar to SHA1, with some differences: + * - Reduced output length: 16 bytes (128 bit) instead of 20 + * - 64 rounds, instead of 80 + * - Little-endian: could be faster, but will require more code + * - Non-linear index selection: huge speed-up for unroll + * - Per round constants: more memory accesses, additional speed-up for unroll + */ +exports.md5 = (0, utils_ts_1.createHasher)(() => new MD5()); +// RIPEMD-160 +const Rho160 = /* @__PURE__ */ Uint8Array.from([ + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, +]); +const Id160 = /* @__PURE__ */ (() => Uint8Array.from(new Array(16).fill(0).map((_, i) => i)))(); +const Pi160 = /* @__PURE__ */ (() => Id160.map((i) => (9 * i + 5) % 16))(); +const idxLR = /* @__PURE__ */ (() => { + const L = [Id160]; + const R = [Pi160]; + const res = [L, R]; + for (let i = 0; i < 4; i++) + for (let j of res) + j.push(j[i].map((k) => Rho160[k])); + return res; +})(); +const idxL = /* @__PURE__ */ (() => idxLR[0])(); +const idxR = /* @__PURE__ */ (() => idxLR[1])(); +// const [idxL, idxR] = idxLR; +const shifts160 = /* @__PURE__ */ [ + [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8], + [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7], + [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9], + [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6], + [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5], +].map((i) => Uint8Array.from(i)); +const shiftsL160 = /* @__PURE__ */ idxL.map((idx, i) => idx.map((j) => shifts160[i][j])); +const shiftsR160 = /* @__PURE__ */ idxR.map((idx, i) => idx.map((j) => shifts160[i][j])); +const Kl160 = /* @__PURE__ */ Uint32Array.from([ + 0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e, +]); +const Kr160 = /* @__PURE__ */ Uint32Array.from([ + 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000, +]); +// It's called f() in spec. +function ripemd_f(group, x, y, z) { + if (group === 0) + return x ^ y ^ z; + if (group === 1) + return (x & y) | (~x & z); + if (group === 2) + return (x | ~y) ^ z; + if (group === 3) + return (x & z) | (y & ~z); + return x ^ (y | ~z); +} +// Reusable temporary buffer +const BUF_160 = /* @__PURE__ */ new Uint32Array(16); +class RIPEMD160 extends _md_ts_1.HashMD { + constructor() { + super(64, 20, 8, true); + this.h0 = 0x67452301 | 0; + this.h1 = 0xefcdab89 | 0; + this.h2 = 0x98badcfe | 0; + this.h3 = 0x10325476 | 0; + this.h4 = 0xc3d2e1f0 | 0; + } + get() { + const { h0, h1, h2, h3, h4 } = this; + return [h0, h1, h2, h3, h4]; + } + set(h0, h1, h2, h3, h4) { + this.h0 = h0 | 0; + this.h1 = h1 | 0; + this.h2 = h2 | 0; + this.h3 = h3 | 0; + this.h4 = h4 | 0; + } + process(view, offset) { + for (let i = 0; i < 16; i++, offset += 4) + BUF_160[i] = view.getUint32(offset, true); + // prettier-ignore + let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el; + // Instead of iterating 0 to 80, we split it into 5 groups + // And use the groups in constants, functions, etc. Much simpler + for (let group = 0; group < 5; group++) { + const rGroup = 4 - group; + const hbl = Kl160[group], hbr = Kr160[group]; // prettier-ignore + const rl = idxL[group], rr = idxR[group]; // prettier-ignore + const sl = shiftsL160[group], sr = shiftsR160[group]; // prettier-ignore + for (let i = 0; i < 16; i++) { + const tl = ((0, utils_ts_1.rotl)(al + ripemd_f(group, bl, cl, dl) + BUF_160[rl[i]] + hbl, sl[i]) + el) | 0; + al = el, el = dl, dl = (0, utils_ts_1.rotl)(cl, 10) | 0, cl = bl, bl = tl; // prettier-ignore + } + // 2 loops are 10% faster + for (let i = 0; i < 16; i++) { + const tr = ((0, utils_ts_1.rotl)(ar + ripemd_f(rGroup, br, cr, dr) + BUF_160[rr[i]] + hbr, sr[i]) + er) | 0; + ar = er, er = dr, dr = (0, utils_ts_1.rotl)(cr, 10) | 0, cr = br, br = tr; // prettier-ignore + } + } + // Add the compressed chunk to the current hash value + this.set((this.h1 + cl + dr) | 0, (this.h2 + dl + er) | 0, (this.h3 + el + ar) | 0, (this.h4 + al + br) | 0, (this.h0 + bl + cr) | 0); + } + roundClean() { + (0, utils_ts_1.clean)(BUF_160); + } + destroy() { + this.destroyed = true; + (0, utils_ts_1.clean)(this.buffer); + this.set(0, 0, 0, 0, 0); + } +} +exports.RIPEMD160 = RIPEMD160; +/** + * RIPEMD-160 - a legacy hash function from 1990s. + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + */ +exports.ripemd160 = (0, utils_ts_1.createHasher)(() => new RIPEMD160()); +//# sourceMappingURL=legacy.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/legacy.js.map b/node_modules/@noble/hashes/legacy.js.map new file mode 100644 index 0000000..f1c3a81 --- /dev/null +++ b/node_modules/@noble/hashes/legacy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"legacy.js","sourceRoot":"","sources":["src/legacy.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/package.json b/node_modules/@noble/hashes/package.json new file mode 100644 index 0000000..4d2fc73 --- /dev/null +++ b/node_modules/@noble/hashes/package.json @@ -0,0 +1,266 @@ +{ + "name": "@noble/hashes", + "version": "1.8.0", + "description": "Audited & minimal 0-dependency JS implementation of SHA, RIPEMD, BLAKE, HMAC, HKDF, PBKDF & Scrypt", + "files": [ + "/*.js", + "/*.js.map", + "/*.d.ts", + "/*.d.ts.map", + "esm", + "src/*.ts" + ], + "scripts": { + "bench": "node benchmark/noble.js", + "bench:compare": "MBENCH_DIMS='algorithm,buffer,library' node benchmark/hashes.js", + "bench:compare-hkdf": "MBENCH_DIMS='algorithm,length,library' node benchmark/hkdf.js", + "bench:compare-scrypt": "MBENCH_DIMS='iters,library' MBENCH_FILTER='async' node benchmark/scrypt.js", + "bench:install": "cd benchmark; npm install; npm install .. --install-links", + "build": "npm run build:clean; tsc && tsc -p tsconfig.cjs.json", + "build:clean": "rm -f *.{js,d.ts,js.map,d.ts.map} esm/*.{js,js.map,d.ts.map}", + "build:release": "npx jsbt esbuild test/build", + "lint": "prettier --check 'src/**/*.{js,ts}' 'test/**/*.{js,ts}'", + "format": "prettier --write 'src/**/*.{js,ts}' 'test/**/*.{js,ts}'", + "test": "node --import ./test/esm-register.js test/index.js", + "test:bun": "bun test/index.js", + "test:deno": "deno --allow-env --allow-read --import-map=./test/import_map.json test/index.js", + "test:dos": "node --import ./test/esm-register.js test/slow-dos.test.js", + "test:big": "node --import ./test/esm-register.js test/slow-big.test.js", + "test:kdf": "node --import ./test/esm-register.js test/slow-kdf.test.js" + }, + "author": "Paul Miller (https://paulmillr.com)", + "homepage": "https://paulmillr.com/noble/", + "repository": { + "type": "git", + "url": "git+https://github.com/paulmillr/noble-hashes.git" + }, + "license": "MIT", + "devDependencies": { + "@paulmillr/jsbt": "0.3.3", + "fast-check": "3.0.0", + "micro-bmark": "0.4.1", + "micro-should": "0.5.2", + "prettier": "3.5.3", + "typescript": "5.8.3" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "exports": { + ".": { + "import": "./esm/index.js", + "require": "./index.js" + }, + "./crypto": { + "node": { + "import": "./esm/cryptoNode.js", + "default": "./cryptoNode.js" + }, + "import": "./esm/crypto.js", + "default": "./crypto.js" + }, + "./_assert": { + "import": "./esm/_assert.js", + "require": "./_assert.js" + }, + "./_md": { + "import": "./esm/_md.js", + "require": "./_md.js" + }, + "./argon2": { + "import": "./esm/argon2.js", + "require": "./argon2.js" + }, + "./blake1": { + "import": "./esm/blake1.js", + "require": "./blake1.js" + }, + "./blake2": { + "import": "./esm/blake2.js", + "require": "./blake2.js" + }, + "./blake2b": { + "import": "./esm/blake2b.js", + "require": "./blake2b.js" + }, + "./blake2s": { + "import": "./esm/blake2s.js", + "require": "./blake2s.js" + }, + "./blake3": { + "import": "./esm/blake3.js", + "require": "./blake3.js" + }, + "./eskdf": { + "import": "./esm/eskdf.js", + "require": "./eskdf.js" + }, + "./hkdf": { + "import": "./esm/hkdf.js", + "require": "./hkdf.js" + }, + "./hmac": { + "import": "./esm/hmac.js", + "require": "./hmac.js" + }, + "./legacy": { + "import": "./esm/legacy.js", + "require": "./legacy.js" + }, + "./pbkdf2": { + "import": "./esm/pbkdf2.js", + "require": "./pbkdf2.js" + }, + "./ripemd160": { + "import": "./esm/ripemd160.js", + "require": "./ripemd160.js" + }, + "./scrypt": { + "import": "./esm/scrypt.js", + "require": "./scrypt.js" + }, + "./sha1": { + "import": "./esm/sha1.js", + "require": "./sha1.js" + }, + "./sha2": { + "import": "./esm/sha2.js", + "require": "./sha2.js" + }, + "./sha3-addons": { + "import": "./esm/sha3-addons.js", + "require": "./sha3-addons.js" + }, + "./sha3": { + "import": "./esm/sha3.js", + "require": "./sha3.js" + }, + "./sha256": { + "import": "./esm/sha256.js", + "require": "./sha256.js" + }, + "./sha512": { + "import": "./esm/sha512.js", + "require": "./sha512.js" + }, + "./utils": { + "import": "./esm/utils.js", + "require": "./utils.js" + }, + "./_assert.js": { + "import": "./esm/_assert.js", + "require": "./_assert.js" + }, + "./_md.js": { + "import": "./esm/_md.js", + "require": "./_md.js" + }, + "./argon2.js": { + "import": "./esm/argon2.js", + "require": "./argon2.js" + }, + "./blake1.js": { + "import": "./esm/blake1.js", + "require": "./blake1.js" + }, + "./blake2.js": { + "import": "./esm/blake2.js", + "require": "./blake2.js" + }, + "./blake2b.js": { + "import": "./esm/blake2b.js", + "require": "./blake2b.js" + }, + "./blake2s.js": { + "import": "./esm/blake2s.js", + "require": "./blake2s.js" + }, + "./blake3.js": { + "import": "./esm/blake3.js", + "require": "./blake3.js" + }, + "./eskdf.js": { + "import": "./esm/eskdf.js", + "require": "./eskdf.js" + }, + "./hkdf.js": { + "import": "./esm/hkdf.js", + "require": "./hkdf.js" + }, + "./hmac.js": { + "import": "./esm/hmac.js", + "require": "./hmac.js" + }, + "./legacy.js": { + "import": "./esm/legacy.js", + "require": "./legacy.js" + }, + "./pbkdf2.js": { + "import": "./esm/pbkdf2.js", + "require": "./pbkdf2.js" + }, + "./ripemd160.js": { + "import": "./esm/ripemd160.js", + "require": "./ripemd160.js" + }, + "./scrypt.js": { + "import": "./esm/scrypt.js", + "require": "./scrypt.js" + }, + "./sha1.js": { + "import": "./esm/sha1.js", + "require": "./sha1.js" + }, + "./sha2.js": { + "import": "./esm/sha2.js", + "require": "./sha2.js" + }, + "./sha3-addons.js": { + "import": "./esm/sha3-addons.js", + "require": "./sha3-addons.js" + }, + "./sha3.js": { + "import": "./esm/sha3.js", + "require": "./sha3.js" + }, + "./sha256.js": { + "import": "./esm/sha256.js", + "require": "./sha256.js" + }, + "./sha512.js": { + "import": "./esm/sha512.js", + "require": "./sha512.js" + }, + "./utils.js": { + "import": "./esm/utils.js", + "require": "./utils.js" + } + }, + "sideEffects": false, + "browser": { + "node:crypto": false, + "./crypto": "./crypto.js" + }, + "keywords": [ + "sha", + "sha2", + "sha3", + "sha256", + "sha512", + "keccak", + "kangarootwelve", + "ripemd160", + "blake2", + "blake3", + "hmac", + "hkdf", + "pbkdf2", + "scrypt", + "kdf", + "hash", + "cryptography", + "security", + "noble" + ], + "funding": "https://paulmillr.com/funding/" +} diff --git a/node_modules/@noble/hashes/pbkdf2.d.ts b/node_modules/@noble/hashes/pbkdf2.d.ts new file mode 100644 index 0000000..0697c69 --- /dev/null +++ b/node_modules/@noble/hashes/pbkdf2.d.ts @@ -0,0 +1,23 @@ +import { type CHash, type KDFInput } from './utils.ts'; +export type Pbkdf2Opt = { + c: number; + dkLen?: number; + asyncTick?: number; +}; +/** + * PBKDF2-HMAC: RFC 2898 key derivation function + * @param hash - hash function that would be used e.g. sha256 + * @param password - password from which a derived key is generated + * @param salt - cryptographic salt + * @param opts - {c, dkLen} where c is work factor and dkLen is output message size + * @example + * const key = pbkdf2(sha256, 'password', 'salt', { dkLen: 32, c: Math.pow(2, 18) }); + */ +export declare function pbkdf2(hash: CHash, password: KDFInput, salt: KDFInput, opts: Pbkdf2Opt): Uint8Array; +/** + * PBKDF2-HMAC: RFC 2898 key derivation function. Async version. + * @example + * await pbkdf2Async(sha256, 'password', 'salt', { dkLen: 32, c: 500_000 }); + */ +export declare function pbkdf2Async(hash: CHash, password: KDFInput, salt: KDFInput, opts: Pbkdf2Opt): Promise; +//# sourceMappingURL=pbkdf2.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/pbkdf2.d.ts.map b/node_modules/@noble/hashes/pbkdf2.d.ts.map new file mode 100644 index 0000000..a4d30f3 --- /dev/null +++ b/node_modules/@noble/hashes/pbkdf2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["src/pbkdf2.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAkCF;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,SAAS,GACd,UAAU,CAsBZ;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,UAAU,CAAC,CAsBrB"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/pbkdf2.js b/node_modules/@noble/hashes/pbkdf2.js new file mode 100644 index 0000000..0d8cab0 --- /dev/null +++ b/node_modules/@noble/hashes/pbkdf2.js @@ -0,0 +1,101 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pbkdf2 = pbkdf2; +exports.pbkdf2Async = pbkdf2Async; +/** + * PBKDF (RFC 2898). Can be used to create a key from password and salt. + * @module + */ +const hmac_ts_1 = require("./hmac.js"); +// prettier-ignore +const utils_ts_1 = require("./utils.js"); +// Common prologue and epilogue for sync/async functions +function pbkdf2Init(hash, _password, _salt, _opts) { + (0, utils_ts_1.ahash)(hash); + const opts = (0, utils_ts_1.checkOpts)({ dkLen: 32, asyncTick: 10 }, _opts); + const { c, dkLen, asyncTick } = opts; + (0, utils_ts_1.anumber)(c); + (0, utils_ts_1.anumber)(dkLen); + (0, utils_ts_1.anumber)(asyncTick); + if (c < 1) + throw new Error('iterations (c) should be >= 1'); + const password = (0, utils_ts_1.kdfInputToBytes)(_password); + const salt = (0, utils_ts_1.kdfInputToBytes)(_salt); + // DK = PBKDF2(PRF, Password, Salt, c, dkLen); + const DK = new Uint8Array(dkLen); + // U1 = PRF(Password, Salt + INT_32_BE(i)) + const PRF = hmac_ts_1.hmac.create(hash, password); + const PRFSalt = PRF._cloneInto().update(salt); + return { c, dkLen, asyncTick, DK, PRF, PRFSalt }; +} +function pbkdf2Output(PRF, PRFSalt, DK, prfW, u) { + PRF.destroy(); + PRFSalt.destroy(); + if (prfW) + prfW.destroy(); + (0, utils_ts_1.clean)(u); + return DK; +} +/** + * PBKDF2-HMAC: RFC 2898 key derivation function + * @param hash - hash function that would be used e.g. sha256 + * @param password - password from which a derived key is generated + * @param salt - cryptographic salt + * @param opts - {c, dkLen} where c is work factor and dkLen is output message size + * @example + * const key = pbkdf2(sha256, 'password', 'salt', { dkLen: 32, c: Math.pow(2, 18) }); + */ +function pbkdf2(hash, password, salt, opts) { + const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts); + let prfW; // Working copy + const arr = new Uint8Array(4); + const view = (0, utils_ts_1.createView)(arr); + const u = new Uint8Array(PRF.outputLen); + // DK = T1 + T2 + ⋯ + Tdklen/hlen + for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) { + // Ti = F(Password, Salt, c, i) + const Ti = DK.subarray(pos, pos + PRF.outputLen); + view.setInt32(0, ti, false); + // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc + // U1 = PRF(Password, Salt + INT_32_BE(i)) + (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u); + Ti.set(u.subarray(0, Ti.length)); + for (let ui = 1; ui < c; ui++) { + // Uc = PRF(Password, Uc−1) + PRF._cloneInto(prfW).update(u).digestInto(u); + for (let i = 0; i < Ti.length; i++) + Ti[i] ^= u[i]; + } + } + return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); +} +/** + * PBKDF2-HMAC: RFC 2898 key derivation function. Async version. + * @example + * await pbkdf2Async(sha256, 'password', 'salt', { dkLen: 32, c: 500_000 }); + */ +async function pbkdf2Async(hash, password, salt, opts) { + const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts); + let prfW; // Working copy + const arr = new Uint8Array(4); + const view = (0, utils_ts_1.createView)(arr); + const u = new Uint8Array(PRF.outputLen); + // DK = T1 + T2 + ⋯ + Tdklen/hlen + for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) { + // Ti = F(Password, Salt, c, i) + const Ti = DK.subarray(pos, pos + PRF.outputLen); + view.setInt32(0, ti, false); + // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc + // U1 = PRF(Password, Salt + INT_32_BE(i)) + (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u); + Ti.set(u.subarray(0, Ti.length)); + await (0, utils_ts_1.asyncLoop)(c - 1, asyncTick, () => { + // Uc = PRF(Password, Uc−1) + PRF._cloneInto(prfW).update(u).digestInto(u); + for (let i = 0; i < Ti.length; i++) + Ti[i] ^= u[i]; + }); + } + return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); +} +//# sourceMappingURL=pbkdf2.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/pbkdf2.js.map b/node_modules/@noble/hashes/pbkdf2.js.map new file mode 100644 index 0000000..4579c9f --- /dev/null +++ b/node_modules/@noble/hashes/pbkdf2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["src/pbkdf2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/ripemd160.d.ts b/node_modules/@noble/hashes/ripemd160.d.ts new file mode 100644 index 0000000..2fb0fa7 --- /dev/null +++ b/node_modules/@noble/hashes/ripemd160.d.ts @@ -0,0 +1,13 @@ +/** + * RIPEMD-160 legacy hash function. + * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + * @module + * @deprecated + */ +import { RIPEMD160 as RIPEMD160n, ripemd160 as ripemd160n } from './legacy.ts'; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export declare const RIPEMD160: typeof RIPEMD160n; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export declare const ripemd160: typeof ripemd160n; +//# sourceMappingURL=ripemd160.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/ripemd160.d.ts.map b/node_modules/@noble/hashes/ripemd160.d.ts.map new file mode 100644 index 0000000..f2050f4 --- /dev/null +++ b/node_modules/@noble/hashes/ripemd160.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ripemd160.d.ts","sourceRoot":"","sources":["src/ripemd160.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/E,+DAA+D;AAC/D,eAAO,MAAM,SAAS,EAAE,OAAO,UAAuB,CAAC;AACvD,+DAA+D;AAC/D,eAAO,MAAM,SAAS,EAAE,OAAO,UAAuB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/ripemd160.js b/node_modules/@noble/hashes/ripemd160.js new file mode 100644 index 0000000..9561e7b --- /dev/null +++ b/node_modules/@noble/hashes/ripemd160.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ripemd160 = exports.RIPEMD160 = void 0; +/** + * RIPEMD-160 legacy hash function. + * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + * @module + * @deprecated + */ +const legacy_ts_1 = require("./legacy.js"); +/** @deprecated Use import from `noble/hashes/legacy` module */ +exports.RIPEMD160 = legacy_ts_1.RIPEMD160; +/** @deprecated Use import from `noble/hashes/legacy` module */ +exports.ripemd160 = legacy_ts_1.ripemd160; +//# sourceMappingURL=ripemd160.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/ripemd160.js.map b/node_modules/@noble/hashes/ripemd160.js.map new file mode 100644 index 0000000..5dc975e --- /dev/null +++ b/node_modules/@noble/hashes/ripemd160.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ripemd160.js","sourceRoot":"","sources":["src/ripemd160.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,2CAA+E;AAC/E,+DAA+D;AAClD,QAAA,SAAS,GAAsB,qBAAU,CAAC;AACvD,+DAA+D;AAClD,QAAA,SAAS,GAAsB,qBAAU,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/scrypt.d.ts b/node_modules/@noble/hashes/scrypt.d.ts new file mode 100644 index 0000000..38d0ef9 --- /dev/null +++ b/node_modules/@noble/hashes/scrypt.d.ts @@ -0,0 +1,34 @@ +import { type KDFInput } from './utils.ts'; +export type ScryptOpts = { + N: number; + r: number; + p: number; + dkLen?: number; + asyncTick?: number; + maxmem?: number; + onProgress?: (progress: number) => void; +}; +/** + * Scrypt KDF from RFC 7914. + * @param password - pass + * @param salt - salt + * @param opts - parameters + * - `N` is cpu/mem work factor (power of 2 e.g. 2**18) + * - `r` is block size (8 is common), fine-tunes sequential memory read size and performance + * - `p` is parallelization factor (1 is common) + * - `dkLen` is output key length in bytes e.g. 32. + * - `asyncTick` - (default: 10) max time in ms for which async function can block execution + * - `maxmem` - (default: `1024 ** 3 + 1024` aka 1GB+1KB). A limit that the app could use for scrypt + * - `onProgress` - callback function that would be executed for progress report + * @returns Derived key + * @example + * scrypt('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +export declare function scrypt(password: KDFInput, salt: KDFInput, opts: ScryptOpts): Uint8Array; +/** + * Scrypt KDF from RFC 7914. Async version. + * @example + * await scryptAsync('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +export declare function scryptAsync(password: KDFInput, salt: KDFInput, opts: ScryptOpts): Promise; +//# sourceMappingURL=scrypt.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/scrypt.d.ts.map b/node_modules/@noble/hashes/scrypt.d.ts.map new file mode 100644 index 0000000..49860bc --- /dev/null +++ b/node_modules/@noble/hashes/scrypt.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"scrypt.d.ts","sourceRoot":"","sources":["src/scrypt.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AAuEpB,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAoFF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CA0BvF;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CA2BrB"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/scrypt.js b/node_modules/@noble/hashes/scrypt.js new file mode 100644 index 0000000..18605c8 --- /dev/null +++ b/node_modules/@noble/hashes/scrypt.js @@ -0,0 +1,232 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.scrypt = scrypt; +exports.scryptAsync = scryptAsync; +/** + * RFC 7914 Scrypt KDF. Can be used to create a key from password and salt. + * @module + */ +const pbkdf2_ts_1 = require("./pbkdf2.js"); +const sha2_ts_1 = require("./sha2.js"); +// prettier-ignore +const utils_ts_1 = require("./utils.js"); +// The main Scrypt loop: uses Salsa extensively. +// Six versions of the function were tried, this is the fastest one. +// prettier-ignore +function XorAndSalsa(prev, pi, input, ii, out, oi) { + // Based on https://cr.yp.to/salsa20.html + // Xor blocks + let y00 = prev[pi++] ^ input[ii++], y01 = prev[pi++] ^ input[ii++]; + let y02 = prev[pi++] ^ input[ii++], y03 = prev[pi++] ^ input[ii++]; + let y04 = prev[pi++] ^ input[ii++], y05 = prev[pi++] ^ input[ii++]; + let y06 = prev[pi++] ^ input[ii++], y07 = prev[pi++] ^ input[ii++]; + let y08 = prev[pi++] ^ input[ii++], y09 = prev[pi++] ^ input[ii++]; + let y10 = prev[pi++] ^ input[ii++], y11 = prev[pi++] ^ input[ii++]; + let y12 = prev[pi++] ^ input[ii++], y13 = prev[pi++] ^ input[ii++]; + let y14 = prev[pi++] ^ input[ii++], y15 = prev[pi++] ^ input[ii++]; + // Save state to temporary variables (salsa) + let x00 = y00, x01 = y01, x02 = y02, x03 = y03, x04 = y04, x05 = y05, x06 = y06, x07 = y07, x08 = y08, x09 = y09, x10 = y10, x11 = y11, x12 = y12, x13 = y13, x14 = y14, x15 = y15; + // Main loop (salsa) + for (let i = 0; i < 8; i += 2) { + x04 ^= (0, utils_ts_1.rotl)(x00 + x12 | 0, 7); + x08 ^= (0, utils_ts_1.rotl)(x04 + x00 | 0, 9); + x12 ^= (0, utils_ts_1.rotl)(x08 + x04 | 0, 13); + x00 ^= (0, utils_ts_1.rotl)(x12 + x08 | 0, 18); + x09 ^= (0, utils_ts_1.rotl)(x05 + x01 | 0, 7); + x13 ^= (0, utils_ts_1.rotl)(x09 + x05 | 0, 9); + x01 ^= (0, utils_ts_1.rotl)(x13 + x09 | 0, 13); + x05 ^= (0, utils_ts_1.rotl)(x01 + x13 | 0, 18); + x14 ^= (0, utils_ts_1.rotl)(x10 + x06 | 0, 7); + x02 ^= (0, utils_ts_1.rotl)(x14 + x10 | 0, 9); + x06 ^= (0, utils_ts_1.rotl)(x02 + x14 | 0, 13); + x10 ^= (0, utils_ts_1.rotl)(x06 + x02 | 0, 18); + x03 ^= (0, utils_ts_1.rotl)(x15 + x11 | 0, 7); + x07 ^= (0, utils_ts_1.rotl)(x03 + x15 | 0, 9); + x11 ^= (0, utils_ts_1.rotl)(x07 + x03 | 0, 13); + x15 ^= (0, utils_ts_1.rotl)(x11 + x07 | 0, 18); + x01 ^= (0, utils_ts_1.rotl)(x00 + x03 | 0, 7); + x02 ^= (0, utils_ts_1.rotl)(x01 + x00 | 0, 9); + x03 ^= (0, utils_ts_1.rotl)(x02 + x01 | 0, 13); + x00 ^= (0, utils_ts_1.rotl)(x03 + x02 | 0, 18); + x06 ^= (0, utils_ts_1.rotl)(x05 + x04 | 0, 7); + x07 ^= (0, utils_ts_1.rotl)(x06 + x05 | 0, 9); + x04 ^= (0, utils_ts_1.rotl)(x07 + x06 | 0, 13); + x05 ^= (0, utils_ts_1.rotl)(x04 + x07 | 0, 18); + x11 ^= (0, utils_ts_1.rotl)(x10 + x09 | 0, 7); + x08 ^= (0, utils_ts_1.rotl)(x11 + x10 | 0, 9); + x09 ^= (0, utils_ts_1.rotl)(x08 + x11 | 0, 13); + x10 ^= (0, utils_ts_1.rotl)(x09 + x08 | 0, 18); + x12 ^= (0, utils_ts_1.rotl)(x15 + x14 | 0, 7); + x13 ^= (0, utils_ts_1.rotl)(x12 + x15 | 0, 9); + x14 ^= (0, utils_ts_1.rotl)(x13 + x12 | 0, 13); + x15 ^= (0, utils_ts_1.rotl)(x14 + x13 | 0, 18); + } + // Write output (salsa) + out[oi++] = (y00 + x00) | 0; + out[oi++] = (y01 + x01) | 0; + out[oi++] = (y02 + x02) | 0; + out[oi++] = (y03 + x03) | 0; + out[oi++] = (y04 + x04) | 0; + out[oi++] = (y05 + x05) | 0; + out[oi++] = (y06 + x06) | 0; + out[oi++] = (y07 + x07) | 0; + out[oi++] = (y08 + x08) | 0; + out[oi++] = (y09 + x09) | 0; + out[oi++] = (y10 + x10) | 0; + out[oi++] = (y11 + x11) | 0; + out[oi++] = (y12 + x12) | 0; + out[oi++] = (y13 + x13) | 0; + out[oi++] = (y14 + x14) | 0; + out[oi++] = (y15 + x15) | 0; +} +function BlockMix(input, ii, out, oi, r) { + // The block B is r 128-byte chunks (which is equivalent of 2r 64-byte chunks) + let head = oi + 0; + let tail = oi + 16 * r; + for (let i = 0; i < 16; i++) + out[tail + i] = input[ii + (2 * r - 1) * 16 + i]; // X ← B[2r−1] + for (let i = 0; i < r; i++, head += 16, ii += 16) { + // We write odd & even Yi at same time. Even: 0bXXXXX0 Odd: 0bXXXXX1 + XorAndSalsa(out, tail, input, ii, out, head); // head[i] = Salsa(blockIn[2*i] ^ tail[i-1]) + if (i > 0) + tail += 16; // First iteration overwrites tmp value in tail + XorAndSalsa(out, head, input, (ii += 16), out, tail); // tail[i] = Salsa(blockIn[2*i+1] ^ head[i]) + } +} +// Common prologue and epilogue for sync/async functions +function scryptInit(password, salt, _opts) { + // Maxmem - 1GB+1KB by default + const opts = (0, utils_ts_1.checkOpts)({ + dkLen: 32, + asyncTick: 10, + maxmem: 1024 ** 3 + 1024, + }, _opts); + const { N, r, p, dkLen, asyncTick, maxmem, onProgress } = opts; + (0, utils_ts_1.anumber)(N); + (0, utils_ts_1.anumber)(r); + (0, utils_ts_1.anumber)(p); + (0, utils_ts_1.anumber)(dkLen); + (0, utils_ts_1.anumber)(asyncTick); + (0, utils_ts_1.anumber)(maxmem); + if (onProgress !== undefined && typeof onProgress !== 'function') + throw new Error('progressCb should be function'); + const blockSize = 128 * r; + const blockSize32 = blockSize / 4; + // Max N is 2^32 (Integrify is 32-bit). Real limit is 2^22: JS engines Uint8Array limit is 4GB in 2024. + // Spec check `N >= 2^(blockSize / 8)` is not done for compat with popular libs, + // which used incorrect r: 1, p: 8. Also, the check seems to be a spec error: + // https://www.rfc-editor.org/errata_search.php?rfc=7914 + const pow32 = Math.pow(2, 32); + if (N <= 1 || (N & (N - 1)) !== 0 || N > pow32) { + throw new Error('Scrypt: N must be larger than 1, a power of 2, and less than 2^32'); + } + if (p < 0 || p > ((pow32 - 1) * 32) / blockSize) { + throw new Error('Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)'); + } + if (dkLen < 0 || dkLen > (pow32 - 1) * 32) { + throw new Error('Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32'); + } + const memUsed = blockSize * (N + p); + if (memUsed > maxmem) { + throw new Error('Scrypt: memused is bigger than maxMem. Expected 128 * r * (N + p) > maxmem of ' + maxmem); + } + // [B0...Bp−1] ← PBKDF2HMAC-SHA256(Passphrase, Salt, 1, blockSize*ParallelizationFactor) + // Since it has only one iteration there is no reason to use async variant + const B = (0, pbkdf2_ts_1.pbkdf2)(sha2_ts_1.sha256, password, salt, { c: 1, dkLen: blockSize * p }); + const B32 = (0, utils_ts_1.u32)(B); + // Re-used between parallel iterations. Array(iterations) of B + const V = (0, utils_ts_1.u32)(new Uint8Array(blockSize * N)); + const tmp = (0, utils_ts_1.u32)(new Uint8Array(blockSize)); + let blockMixCb = () => { }; + if (onProgress) { + const totalBlockMix = 2 * N * p; + // Invoke callback if progress changes from 10.01 to 10.02 + // Allows to draw smooth progress bar on up to 8K screen + const callbackPer = Math.max(Math.floor(totalBlockMix / 10000), 1); + let blockMixCnt = 0; + blockMixCb = () => { + blockMixCnt++; + if (onProgress && (!(blockMixCnt % callbackPer) || blockMixCnt === totalBlockMix)) + onProgress(blockMixCnt / totalBlockMix); + }; + } + return { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick }; +} +function scryptOutput(password, dkLen, B, V, tmp) { + const res = (0, pbkdf2_ts_1.pbkdf2)(sha2_ts_1.sha256, password, B, { c: 1, dkLen }); + (0, utils_ts_1.clean)(B, V, tmp); + return res; +} +/** + * Scrypt KDF from RFC 7914. + * @param password - pass + * @param salt - salt + * @param opts - parameters + * - `N` is cpu/mem work factor (power of 2 e.g. 2**18) + * - `r` is block size (8 is common), fine-tunes sequential memory read size and performance + * - `p` is parallelization factor (1 is common) + * - `dkLen` is output key length in bytes e.g. 32. + * - `asyncTick` - (default: 10) max time in ms for which async function can block execution + * - `maxmem` - (default: `1024 ** 3 + 1024` aka 1GB+1KB). A limit that the app could use for scrypt + * - `onProgress` - callback function that would be executed for progress report + * @returns Derived key + * @example + * scrypt('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +function scrypt(password, salt, opts) { + const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb } = scryptInit(password, salt, opts); + (0, utils_ts_1.swap32IfBE)(B32); + for (let pi = 0; pi < p; pi++) { + const Pi = blockSize32 * pi; + for (let i = 0; i < blockSize32; i++) + V[i] = B32[Pi + i]; // V[0] = B[i] + for (let i = 0, pos = 0; i < N - 1; i++) { + BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]); + blockMixCb(); + } + BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element + blockMixCb(); + for (let i = 0; i < N; i++) { + // First u32 of the last 64-byte block (u32 is LE) + const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations + for (let k = 0; k < blockSize32; k++) + tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j] + BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j]) + blockMixCb(); + } + } + (0, utils_ts_1.swap32IfBE)(B32); + return scryptOutput(password, dkLen, B, V, tmp); +} +/** + * Scrypt KDF from RFC 7914. Async version. + * @example + * await scryptAsync('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +async function scryptAsync(password, salt, opts) { + const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick } = scryptInit(password, salt, opts); + (0, utils_ts_1.swap32IfBE)(B32); + for (let pi = 0; pi < p; pi++) { + const Pi = blockSize32 * pi; + for (let i = 0; i < blockSize32; i++) + V[i] = B32[Pi + i]; // V[0] = B[i] + let pos = 0; + await (0, utils_ts_1.asyncLoop)(N - 1, asyncTick, () => { + BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]); + blockMixCb(); + }); + BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element + blockMixCb(); + await (0, utils_ts_1.asyncLoop)(N, asyncTick, () => { + // First u32 of the last 64-byte block (u32 is LE) + const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations + for (let k = 0; k < blockSize32; k++) + tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j] + BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j]) + blockMixCb(); + }); + } + (0, utils_ts_1.swap32IfBE)(B32); + return scryptOutput(password, dkLen, B, V, tmp); +} +//# sourceMappingURL=scrypt.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/scrypt.js.map b/node_modules/@noble/hashes/scrypt.js.map new file mode 100644 index 0000000..ded97a0 --- /dev/null +++ b/node_modules/@noble/hashes/scrypt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scrypt.js","sourceRoot":"","sources":["src/scrypt.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha1.d.ts b/node_modules/@noble/hashes/sha1.d.ts new file mode 100644 index 0000000..7c36b9f --- /dev/null +++ b/node_modules/@noble/hashes/sha1.d.ts @@ -0,0 +1,11 @@ +/** + * SHA1 (RFC 3174) legacy hash function. + * @module + * @deprecated + */ +import { SHA1 as SHA1n, sha1 as sha1n } from './legacy.ts'; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export declare const SHA1: typeof SHA1n; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export declare const sha1: typeof sha1n; +//# sourceMappingURL=sha1.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha1.d.ts.map b/node_modules/@noble/hashes/sha1.d.ts.map new file mode 100644 index 0000000..f590e00 --- /dev/null +++ b/node_modules/@noble/hashes/sha1.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha1.d.ts","sourceRoot":"","sources":["src/sha1.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAC3D,+DAA+D;AAC/D,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,+DAA+D;AAC/D,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha1.js b/node_modules/@noble/hashes/sha1.js new file mode 100644 index 0000000..f881be1 --- /dev/null +++ b/node_modules/@noble/hashes/sha1.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sha1 = exports.SHA1 = void 0; +/** + * SHA1 (RFC 3174) legacy hash function. + * @module + * @deprecated + */ +const legacy_ts_1 = require("./legacy.js"); +/** @deprecated Use import from `noble/hashes/legacy` module */ +exports.SHA1 = legacy_ts_1.SHA1; +/** @deprecated Use import from `noble/hashes/legacy` module */ +exports.sha1 = legacy_ts_1.sha1; +//# sourceMappingURL=sha1.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha1.js.map b/node_modules/@noble/hashes/sha1.js.map new file mode 100644 index 0000000..de5634a --- /dev/null +++ b/node_modules/@noble/hashes/sha1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha1.js","sourceRoot":"","sources":["src/sha1.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,2CAA2D;AAC3D,+DAA+D;AAClD,QAAA,IAAI,GAAiB,gBAAK,CAAC;AACxC,+DAA+D;AAClD,QAAA,IAAI,GAAiB,gBAAK,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha2.d.ts b/node_modules/@noble/hashes/sha2.d.ts new file mode 100644 index 0000000..33f2f7f --- /dev/null +++ b/node_modules/@noble/hashes/sha2.d.ts @@ -0,0 +1,159 @@ +/** + * SHA2 hash function. A.k.a. sha256, sha384, sha512, sha512_224, sha512_256. + * SHA256 is the fastest hash implementable in JS, even faster than Blake3. + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + */ +import { HashMD } from './_md.ts'; +import { type CHash } from './utils.ts'; +export declare class SHA256 extends HashMD { + protected A: number; + protected B: number; + protected C: number; + protected D: number; + protected E: number; + protected F: number; + protected G: number; + protected H: number; + constructor(outputLen?: number); + protected get(): [number, number, number, number, number, number, number, number]; + protected set(A: number, B: number, C: number, D: number, E: number, F: number, G: number, H: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +export declare class SHA224 extends SHA256 { + protected A: number; + protected B: number; + protected C: number; + protected D: number; + protected E: number; + protected F: number; + protected G: number; + protected H: number; + constructor(); +} +export declare class SHA512 extends HashMD { + protected Ah: number; + protected Al: number; + protected Bh: number; + protected Bl: number; + protected Ch: number; + protected Cl: number; + protected Dh: number; + protected Dl: number; + protected Eh: number; + protected El: number; + protected Fh: number; + protected Fl: number; + protected Gh: number; + protected Gl: number; + protected Hh: number; + protected Hl: number; + constructor(outputLen?: number); + protected get(): [ + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number, + number + ]; + protected set(Ah: number, Al: number, Bh: number, Bl: number, Ch: number, Cl: number, Dh: number, Dl: number, Eh: number, El: number, Fh: number, Fl: number, Gh: number, Gl: number, Hh: number, Hl: number): void; + protected process(view: DataView, offset: number): void; + protected roundClean(): void; + destroy(): void; +} +export declare class SHA384 extends SHA512 { + protected Ah: number; + protected Al: number; + protected Bh: number; + protected Bl: number; + protected Ch: number; + protected Cl: number; + protected Dh: number; + protected Dl: number; + protected Eh: number; + protected El: number; + protected Fh: number; + protected Fl: number; + protected Gh: number; + protected Gl: number; + protected Hh: number; + protected Hl: number; + constructor(); +} +export declare class SHA512_224 extends SHA512 { + protected Ah: number; + protected Al: number; + protected Bh: number; + protected Bl: number; + protected Ch: number; + protected Cl: number; + protected Dh: number; + protected Dl: number; + protected Eh: number; + protected El: number; + protected Fh: number; + protected Fl: number; + protected Gh: number; + protected Gl: number; + protected Hh: number; + protected Hl: number; + constructor(); +} +export declare class SHA512_256 extends SHA512 { + protected Ah: number; + protected Al: number; + protected Bh: number; + protected Bl: number; + protected Ch: number; + protected Cl: number; + protected Dh: number; + protected Dl: number; + protected Eh: number; + protected El: number; + protected Fh: number; + protected Fl: number; + protected Gh: number; + protected Gl: number; + protected Hh: number; + protected Hl: number; + constructor(); +} +/** + * SHA2-256 hash function from RFC 4634. + * + * It is the fastest JS hash, even faster than Blake3. + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + */ +export declare const sha256: CHash; +/** SHA2-224 hash function from RFC 4634 */ +export declare const sha224: CHash; +/** SHA2-512 hash function from RFC 4634. */ +export declare const sha512: CHash; +/** SHA2-384 hash function from RFC 4634. */ +export declare const sha384: CHash; +/** + * SHA2-512/256 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +export declare const sha512_256: CHash; +/** + * SHA2-512/224 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +export declare const sha512_224: CHash; +//# sourceMappingURL=sha2.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha2.d.ts.map b/node_modules/@noble/hashes/sha2.d.ts.map new file mode 100644 index 0000000..310e813 --- /dev/null +++ b/node_modules/@noble/hashes/sha2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha2.d.ts","sourceRoot":"","sources":["src/sha2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha2.js b/node_modules/@noble/hashes/sha2.js new file mode 100644 index 0000000..962a9ac --- /dev/null +++ b/node_modules/@noble/hashes/sha2.js @@ -0,0 +1,384 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sha512_224 = exports.sha512_256 = exports.sha384 = exports.sha512 = exports.sha224 = exports.sha256 = exports.SHA512_256 = exports.SHA512_224 = exports.SHA384 = exports.SHA512 = exports.SHA224 = exports.SHA256 = void 0; +/** + * SHA2 hash function. A.k.a. sha256, sha384, sha512, sha512_224, sha512_256. + * SHA256 is the fastest hash implementable in JS, even faster than Blake3. + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + */ +const _md_ts_1 = require("./_md.js"); +const u64 = require("./_u64.js"); +const utils_ts_1 = require("./utils.js"); +/** + * Round constants: + * First 32 bits of fractional parts of the cube roots of the first 64 primes 2..311) + */ +// prettier-ignore +const SHA256_K = /* @__PURE__ */ Uint32Array.from([ + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 +]); +/** Reusable temporary buffer. "W" comes straight from spec. */ +const SHA256_W = /* @__PURE__ */ new Uint32Array(64); +class SHA256 extends _md_ts_1.HashMD { + constructor(outputLen = 32) { + super(64, outputLen, 8, false); + // We cannot use array here since array allows indexing by variable + // which means optimizer/compiler cannot use registers. + this.A = _md_ts_1.SHA256_IV[0] | 0; + this.B = _md_ts_1.SHA256_IV[1] | 0; + this.C = _md_ts_1.SHA256_IV[2] | 0; + this.D = _md_ts_1.SHA256_IV[3] | 0; + this.E = _md_ts_1.SHA256_IV[4] | 0; + this.F = _md_ts_1.SHA256_IV[5] | 0; + this.G = _md_ts_1.SHA256_IV[6] | 0; + this.H = _md_ts_1.SHA256_IV[7] | 0; + } + get() { + const { A, B, C, D, E, F, G, H } = this; + return [A, B, C, D, E, F, G, H]; + } + // prettier-ignore + set(A, B, C, D, E, F, G, H) { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + this.E = E | 0; + this.F = F | 0; + this.G = G | 0; + this.H = H | 0; + } + process(view, offset) { + // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array + for (let i = 0; i < 16; i++, offset += 4) + SHA256_W[i] = view.getUint32(offset, false); + for (let i = 16; i < 64; i++) { + const W15 = SHA256_W[i - 15]; + const W2 = SHA256_W[i - 2]; + const s0 = (0, utils_ts_1.rotr)(W15, 7) ^ (0, utils_ts_1.rotr)(W15, 18) ^ (W15 >>> 3); + const s1 = (0, utils_ts_1.rotr)(W2, 17) ^ (0, utils_ts_1.rotr)(W2, 19) ^ (W2 >>> 10); + SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0; + } + // Compression function main loop, 64 rounds + let { A, B, C, D, E, F, G, H } = this; + for (let i = 0; i < 64; i++) { + const sigma1 = (0, utils_ts_1.rotr)(E, 6) ^ (0, utils_ts_1.rotr)(E, 11) ^ (0, utils_ts_1.rotr)(E, 25); + const T1 = (H + sigma1 + (0, _md_ts_1.Chi)(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0; + const sigma0 = (0, utils_ts_1.rotr)(A, 2) ^ (0, utils_ts_1.rotr)(A, 13) ^ (0, utils_ts_1.rotr)(A, 22); + const T2 = (sigma0 + (0, _md_ts_1.Maj)(A, B, C)) | 0; + H = G; + G = F; + F = E; + E = (D + T1) | 0; + D = C; + C = B; + B = A; + A = (T1 + T2) | 0; + } + // Add the compressed chunk to the current hash value + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + F = (F + this.F) | 0; + G = (G + this.G) | 0; + H = (H + this.H) | 0; + this.set(A, B, C, D, E, F, G, H); + } + roundClean() { + (0, utils_ts_1.clean)(SHA256_W); + } + destroy() { + this.set(0, 0, 0, 0, 0, 0, 0, 0); + (0, utils_ts_1.clean)(this.buffer); + } +} +exports.SHA256 = SHA256; +class SHA224 extends SHA256 { + constructor() { + super(28); + this.A = _md_ts_1.SHA224_IV[0] | 0; + this.B = _md_ts_1.SHA224_IV[1] | 0; + this.C = _md_ts_1.SHA224_IV[2] | 0; + this.D = _md_ts_1.SHA224_IV[3] | 0; + this.E = _md_ts_1.SHA224_IV[4] | 0; + this.F = _md_ts_1.SHA224_IV[5] | 0; + this.G = _md_ts_1.SHA224_IV[6] | 0; + this.H = _md_ts_1.SHA224_IV[7] | 0; + } +} +exports.SHA224 = SHA224; +// SHA2-512 is slower than sha256 in js because u64 operations are slow. +// Round contants +// First 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409 +// prettier-ignore +const K512 = /* @__PURE__ */ (() => u64.split([ + '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc', + '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118', + '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2', + '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694', + '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65', + '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5', + '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4', + '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70', + '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df', + '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b', + '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30', + '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8', + '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8', + '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3', + '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec', + '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b', + '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178', + '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b', + '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c', + '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817' +].map(n => BigInt(n))))(); +const SHA512_Kh = /* @__PURE__ */ (() => K512[0])(); +const SHA512_Kl = /* @__PURE__ */ (() => K512[1])(); +// Reusable temporary buffers +const SHA512_W_H = /* @__PURE__ */ new Uint32Array(80); +const SHA512_W_L = /* @__PURE__ */ new Uint32Array(80); +class SHA512 extends _md_ts_1.HashMD { + constructor(outputLen = 64) { + super(128, outputLen, 16, false); + // We cannot use array here since array allows indexing by variable + // which means optimizer/compiler cannot use registers. + // h -- high 32 bits, l -- low 32 bits + this.Ah = _md_ts_1.SHA512_IV[0] | 0; + this.Al = _md_ts_1.SHA512_IV[1] | 0; + this.Bh = _md_ts_1.SHA512_IV[2] | 0; + this.Bl = _md_ts_1.SHA512_IV[3] | 0; + this.Ch = _md_ts_1.SHA512_IV[4] | 0; + this.Cl = _md_ts_1.SHA512_IV[5] | 0; + this.Dh = _md_ts_1.SHA512_IV[6] | 0; + this.Dl = _md_ts_1.SHA512_IV[7] | 0; + this.Eh = _md_ts_1.SHA512_IV[8] | 0; + this.El = _md_ts_1.SHA512_IV[9] | 0; + this.Fh = _md_ts_1.SHA512_IV[10] | 0; + this.Fl = _md_ts_1.SHA512_IV[11] | 0; + this.Gh = _md_ts_1.SHA512_IV[12] | 0; + this.Gl = _md_ts_1.SHA512_IV[13] | 0; + this.Hh = _md_ts_1.SHA512_IV[14] | 0; + this.Hl = _md_ts_1.SHA512_IV[15] | 0; + } + // prettier-ignore + get() { + const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl]; + } + // prettier-ignore + set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) { + this.Ah = Ah | 0; + this.Al = Al | 0; + this.Bh = Bh | 0; + this.Bl = Bl | 0; + this.Ch = Ch | 0; + this.Cl = Cl | 0; + this.Dh = Dh | 0; + this.Dl = Dl | 0; + this.Eh = Eh | 0; + this.El = El | 0; + this.Fh = Fh | 0; + this.Fl = Fl | 0; + this.Gh = Gh | 0; + this.Gl = Gl | 0; + this.Hh = Hh | 0; + this.Hl = Hl | 0; + } + process(view, offset) { + // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array + for (let i = 0; i < 16; i++, offset += 4) { + SHA512_W_H[i] = view.getUint32(offset); + SHA512_W_L[i] = view.getUint32((offset += 4)); + } + for (let i = 16; i < 80; i++) { + // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7) + const W15h = SHA512_W_H[i - 15] | 0; + const W15l = SHA512_W_L[i - 15] | 0; + const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7); + const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7); + // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6) + const W2h = SHA512_W_H[i - 2] | 0; + const W2l = SHA512_W_L[i - 2] | 0; + const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6); + const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6); + // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16]; + const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]); + const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]); + SHA512_W_H[i] = SUMh | 0; + SHA512_W_L[i] = SUMl | 0; + } + let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + // Compression function main loop, 80 rounds + for (let i = 0; i < 80; i++) { + // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41) + const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41); + const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41); + //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0; + const CHIh = (Eh & Fh) ^ (~Eh & Gh); + const CHIl = (El & Fl) ^ (~El & Gl); + // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i] + // prettier-ignore + const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]); + const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]); + const T1l = T1ll | 0; + // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39) + const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39); + const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39); + const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch); + const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl); + Hh = Gh | 0; + Hl = Gl | 0; + Gh = Fh | 0; + Gl = Fl | 0; + Fh = Eh | 0; + Fl = El | 0; + ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0)); + Dh = Ch | 0; + Dl = Cl | 0; + Ch = Bh | 0; + Cl = Bl | 0; + Bh = Ah | 0; + Bl = Al | 0; + const All = u64.add3L(T1l, sigma0l, MAJl); + Ah = u64.add3H(All, T1h, sigma0h, MAJh); + Al = All | 0; + } + // Add the compressed chunk to the current hash value + ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0)); + ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0)); + ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0)); + ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0)); + ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0)); + ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0)); + ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0)); + ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0)); + this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl); + } + roundClean() { + (0, utils_ts_1.clean)(SHA512_W_H, SHA512_W_L); + } + destroy() { + (0, utils_ts_1.clean)(this.buffer); + this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + } +} +exports.SHA512 = SHA512; +class SHA384 extends SHA512 { + constructor() { + super(48); + this.Ah = _md_ts_1.SHA384_IV[0] | 0; + this.Al = _md_ts_1.SHA384_IV[1] | 0; + this.Bh = _md_ts_1.SHA384_IV[2] | 0; + this.Bl = _md_ts_1.SHA384_IV[3] | 0; + this.Ch = _md_ts_1.SHA384_IV[4] | 0; + this.Cl = _md_ts_1.SHA384_IV[5] | 0; + this.Dh = _md_ts_1.SHA384_IV[6] | 0; + this.Dl = _md_ts_1.SHA384_IV[7] | 0; + this.Eh = _md_ts_1.SHA384_IV[8] | 0; + this.El = _md_ts_1.SHA384_IV[9] | 0; + this.Fh = _md_ts_1.SHA384_IV[10] | 0; + this.Fl = _md_ts_1.SHA384_IV[11] | 0; + this.Gh = _md_ts_1.SHA384_IV[12] | 0; + this.Gl = _md_ts_1.SHA384_IV[13] | 0; + this.Hh = _md_ts_1.SHA384_IV[14] | 0; + this.Hl = _md_ts_1.SHA384_IV[15] | 0; + } +} +exports.SHA384 = SHA384; +/** + * Truncated SHA512/256 and SHA512/224. + * SHA512_IV is XORed with 0xa5a5a5a5a5a5a5a5, then used as "intermediary" IV of SHA512/t. + * Then t hashes string to produce result IV. + * See `test/misc/sha2-gen-iv.js`. + */ +/** SHA512/224 IV */ +const T224_IV = /* @__PURE__ */ Uint32Array.from([ + 0x8c3d37c8, 0x19544da2, 0x73e19966, 0x89dcd4d6, 0x1dfab7ae, 0x32ff9c82, 0x679dd514, 0x582f9fcf, + 0x0f6d2b69, 0x7bd44da8, 0x77e36f73, 0x04c48942, 0x3f9d85a8, 0x6a1d36c8, 0x1112e6ad, 0x91d692a1, +]); +/** SHA512/256 IV */ +const T256_IV = /* @__PURE__ */ Uint32Array.from([ + 0x22312194, 0xfc2bf72c, 0x9f555fa3, 0xc84c64c2, 0x2393b86b, 0x6f53b151, 0x96387719, 0x5940eabd, + 0x96283ee2, 0xa88effe3, 0xbe5e1e25, 0x53863992, 0x2b0199fc, 0x2c85b8aa, 0x0eb72ddc, 0x81c52ca2, +]); +class SHA512_224 extends SHA512 { + constructor() { + super(28); + this.Ah = T224_IV[0] | 0; + this.Al = T224_IV[1] | 0; + this.Bh = T224_IV[2] | 0; + this.Bl = T224_IV[3] | 0; + this.Ch = T224_IV[4] | 0; + this.Cl = T224_IV[5] | 0; + this.Dh = T224_IV[6] | 0; + this.Dl = T224_IV[7] | 0; + this.Eh = T224_IV[8] | 0; + this.El = T224_IV[9] | 0; + this.Fh = T224_IV[10] | 0; + this.Fl = T224_IV[11] | 0; + this.Gh = T224_IV[12] | 0; + this.Gl = T224_IV[13] | 0; + this.Hh = T224_IV[14] | 0; + this.Hl = T224_IV[15] | 0; + } +} +exports.SHA512_224 = SHA512_224; +class SHA512_256 extends SHA512 { + constructor() { + super(32); + this.Ah = T256_IV[0] | 0; + this.Al = T256_IV[1] | 0; + this.Bh = T256_IV[2] | 0; + this.Bl = T256_IV[3] | 0; + this.Ch = T256_IV[4] | 0; + this.Cl = T256_IV[5] | 0; + this.Dh = T256_IV[6] | 0; + this.Dl = T256_IV[7] | 0; + this.Eh = T256_IV[8] | 0; + this.El = T256_IV[9] | 0; + this.Fh = T256_IV[10] | 0; + this.Fl = T256_IV[11] | 0; + this.Gh = T256_IV[12] | 0; + this.Gl = T256_IV[13] | 0; + this.Hh = T256_IV[14] | 0; + this.Hl = T256_IV[15] | 0; + } +} +exports.SHA512_256 = SHA512_256; +/** + * SHA2-256 hash function from RFC 4634. + * + * It is the fastest JS hash, even faster than Blake3. + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + */ +exports.sha256 = (0, utils_ts_1.createHasher)(() => new SHA256()); +/** SHA2-224 hash function from RFC 4634 */ +exports.sha224 = (0, utils_ts_1.createHasher)(() => new SHA224()); +/** SHA2-512 hash function from RFC 4634. */ +exports.sha512 = (0, utils_ts_1.createHasher)(() => new SHA512()); +/** SHA2-384 hash function from RFC 4634. */ +exports.sha384 = (0, utils_ts_1.createHasher)(() => new SHA384()); +/** + * SHA2-512/256 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +exports.sha512_256 = (0, utils_ts_1.createHasher)(() => new SHA512_256()); +/** + * SHA2-512/224 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +exports.sha512_224 = (0, utils_ts_1.createHasher)(() => new SHA512_224()); +//# sourceMappingURL=sha2.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha2.js.map b/node_modules/@noble/hashes/sha2.js.map new file mode 100644 index 0000000..b5cfb67 --- /dev/null +++ b/node_modules/@noble/hashes/sha2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha2.js","sourceRoot":"","sources":["src/sha2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha256.d.ts b/node_modules/@noble/hashes/sha256.d.ts new file mode 100644 index 0000000..ed04fe8 --- /dev/null +++ b/node_modules/@noble/hashes/sha256.d.ts @@ -0,0 +1,20 @@ +/** + * SHA2-256 a.k.a. sha256. In JS, it is the fastest hash, even faster than Blake3. + * + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + * + * Check out [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + * @deprecated + */ +import { SHA224 as SHA224n, sha224 as sha224n, SHA256 as SHA256n, sha256 as sha256n } from './sha2.ts'; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA256: typeof SHA256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha256: typeof sha256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA224: typeof SHA224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha224: typeof sha224n; +//# sourceMappingURL=sha256.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha256.d.ts.map b/node_modules/@noble/hashes/sha256.d.ts.map new file mode 100644 index 0000000..15911ba --- /dev/null +++ b/node_modules/@noble/hashes/sha256.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha256.d.ts","sourceRoot":"","sources":["src/sha256.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EAClB,MAAM,WAAW,CAAC;AACnB,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha256.js b/node_modules/@noble/hashes/sha256.js new file mode 100644 index 0000000..573bda9 --- /dev/null +++ b/node_modules/@noble/hashes/sha256.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sha224 = exports.SHA224 = exports.sha256 = exports.SHA256 = void 0; +/** + * SHA2-256 a.k.a. sha256. In JS, it is the fastest hash, even faster than Blake3. + * + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + * + * Check out [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + * @deprecated + */ +const sha2_ts_1 = require("./sha2.js"); +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.SHA256 = sha2_ts_1.SHA256; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.sha256 = sha2_ts_1.sha256; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.SHA224 = sha2_ts_1.SHA224; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.sha224 = sha2_ts_1.sha224; +//# sourceMappingURL=sha256.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha256.js.map b/node_modules/@noble/hashes/sha256.js.map new file mode 100644 index 0000000..69c5821 --- /dev/null +++ b/node_modules/@noble/hashes/sha256.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha256.js","sourceRoot":"","sources":["src/sha256.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,uCAKmB;AACnB,6DAA6D;AAChD,QAAA,MAAM,GAAmB,gBAAO,CAAC;AAC9C,6DAA6D;AAChD,QAAA,MAAM,GAAmB,gBAAO,CAAC;AAC9C,6DAA6D;AAChD,QAAA,MAAM,GAAmB,gBAAO,CAAC;AAC9C,6DAA6D;AAChD,QAAA,MAAM,GAAmB,gBAAO,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha3-addons.d.ts b/node_modules/@noble/hashes/sha3-addons.d.ts new file mode 100644 index 0000000..5bd2fe6 --- /dev/null +++ b/node_modules/@noble/hashes/sha3-addons.d.ts @@ -0,0 +1,142 @@ +/** + * SHA3 (keccak) addons. + * + * * Full [NIST SP 800-185](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf): + * cSHAKE, KMAC, TupleHash, ParallelHash + XOF variants + * * Reduced-round Keccak [(draft)](https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/): + * * 🦘 K12 aka KangarooTwelve + * * M14 aka MarsupilamiFourteen + * * TurboSHAKE + * * KeccakPRG: Pseudo-random generator based on Keccak [(pdf)](https://keccak.team/files/CSF-0.1.pdf) + * @module + */ +import { Keccak, type ShakeOpts } from './sha3.ts'; +import { type CHashO, type CHashXO, Hash, type HashXOF, type Input } from './utils.ts'; +export type cShakeOpts = ShakeOpts & { + personalization?: Input; + NISTfn?: Input; +}; +export type ICShake = { + (msg: Input, opts?: cShakeOpts): Uint8Array; + outputLen: number; + blockLen: number; + create(opts: cShakeOpts): HashXOF; +}; +export type ITupleHash = { + (messages: Input[], opts?: cShakeOpts): Uint8Array; + create(opts?: cShakeOpts): TupleHash; +}; +export type IParHash = { + (message: Input, opts?: ParallelOpts): Uint8Array; + create(opts?: ParallelOpts): ParallelHash; +}; +export declare const cshake128: ICShake; +export declare const cshake256: ICShake; +export declare class KMAC extends Keccak implements HashXOF { + constructor(blockLen: number, outputLen: number, enableXOF: boolean, key: Input, opts?: cShakeOpts); + protected finish(): void; + _cloneInto(to?: KMAC): KMAC; + clone(): KMAC; +} +export declare const kmac128: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +}; +export declare const kmac256: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +}; +export declare const kmac128xof: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +}; +export declare const kmac256xof: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +}; +export declare class TupleHash extends Keccak implements HashXOF { + constructor(blockLen: number, outputLen: number, enableXOF: boolean, opts?: cShakeOpts); + protected finish(): void; + _cloneInto(to?: TupleHash): TupleHash; + clone(): TupleHash; +} +/** 128-bit TupleHASH. */ +export declare const tuplehash128: ITupleHash; +/** 256-bit TupleHASH. */ +export declare const tuplehash256: ITupleHash; +/** 128-bit TupleHASH XOF. */ +export declare const tuplehash128xof: ITupleHash; +/** 256-bit TupleHASH XOF. */ +export declare const tuplehash256xof: ITupleHash; +type ParallelOpts = cShakeOpts & { + blockLen?: number; +}; +export declare class ParallelHash extends Keccak implements HashXOF { + private leafHash?; + protected leafCons: () => Hash; + private chunkPos; + private chunksDone; + private chunkLen; + constructor(blockLen: number, outputLen: number, leafCons: () => Hash, enableXOF: boolean, opts?: ParallelOpts); + protected finish(): void; + _cloneInto(to?: ParallelHash): ParallelHash; + destroy(): void; + clone(): ParallelHash; +} +/** 128-bit ParallelHash. In JS, it is not parallel. */ +export declare const parallelhash128: IParHash; +/** 256-bit ParallelHash. In JS, it is not parallel. */ +export declare const parallelhash256: IParHash; +/** 128-bit ParallelHash XOF. In JS, it is not parallel. */ +export declare const parallelhash128xof: IParHash; +/** 256-bit ParallelHash. In JS, it is not parallel. */ +export declare const parallelhash256xof: IParHash; +export type TurboshakeOpts = ShakeOpts & { + D?: number; +}; +/** TurboSHAKE 128-bit: reduced 12-round keccak. */ +export declare const turboshake128: CHashXO; +/** TurboSHAKE 256-bit: reduced 12-round keccak. */ +export declare const turboshake256: CHashXO; +export type KangarooOpts = { + dkLen?: number; + personalization?: Input; +}; +export declare class KangarooTwelve extends Keccak implements HashXOF { + readonly chunkLen = 8192; + private leafHash?; + protected leafLen: number; + private personalization; + private chunkPos; + private chunksDone; + constructor(blockLen: number, leafLen: number, outputLen: number, rounds: number, opts: KangarooOpts); + update(data: Input): this; + protected finish(): void; + destroy(): void; + _cloneInto(to?: KangarooTwelve): KangarooTwelve; + clone(): KangarooTwelve; +} +/** KangarooTwelve: reduced 12-round keccak. */ +export declare const k12: CHashO; +/** MarsupilamiFourteen: reduced 14-round keccak. */ +export declare const m14: CHashO; +/** + * More at https://github.com/XKCP/XKCP/tree/master/lib/high/Keccak/PRG. + */ +export declare class KeccakPRG extends Keccak { + protected rate: number; + constructor(capacity: number); + keccak(): void; + update(data: Input): this; + feed(data: Input): this; + protected finish(): void; + digestInto(_out: Uint8Array): Uint8Array; + fetch(bytes: number): Uint8Array; + forget(): void; + _cloneInto(to?: KeccakPRG): KeccakPRG; + clone(): KeccakPRG; +} +/** KeccakPRG: Pseudo-random generator based on Keccak. https://keccak.team/files/CSF-0.1.pdf */ +export declare const keccakprg: (capacity?: number) => KeccakPRG; +export {}; +//# sourceMappingURL=sha3-addons.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha3-addons.d.ts.map b/node_modules/@noble/hashes/sha3-addons.d.ts.map new file mode 100644 index 0000000..7c2bee2 --- /dev/null +++ b/node_modules/@noble/hashes/sha3-addons.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha3-addons.d.ts","sourceRoot":"","sources":["src/sha3-addons.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha3-addons.js b/node_modules/@noble/hashes/sha3-addons.js new file mode 100644 index 0000000..ad75d78 --- /dev/null +++ b/node_modules/@noble/hashes/sha3-addons.js @@ -0,0 +1,402 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.keccakprg = exports.KeccakPRG = exports.m14 = exports.k12 = exports.KangarooTwelve = exports.turboshake256 = exports.turboshake128 = exports.parallelhash256xof = exports.parallelhash128xof = exports.parallelhash256 = exports.parallelhash128 = exports.ParallelHash = exports.tuplehash256xof = exports.tuplehash128xof = exports.tuplehash256 = exports.tuplehash128 = exports.TupleHash = exports.kmac256xof = exports.kmac128xof = exports.kmac256 = exports.kmac128 = exports.KMAC = exports.cshake256 = exports.cshake128 = void 0; +/** + * SHA3 (keccak) addons. + * + * * Full [NIST SP 800-185](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf): + * cSHAKE, KMAC, TupleHash, ParallelHash + XOF variants + * * Reduced-round Keccak [(draft)](https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/): + * * 🦘 K12 aka KangarooTwelve + * * M14 aka MarsupilamiFourteen + * * TurboSHAKE + * * KeccakPRG: Pseudo-random generator based on Keccak [(pdf)](https://keccak.team/files/CSF-0.1.pdf) + * @module + */ +const sha3_ts_1 = require("./sha3.js"); +const utils_ts_1 = require("./utils.js"); +// cSHAKE && KMAC (NIST SP800-185) +const _8n = BigInt(8); +const _ffn = BigInt(0xff); +// NOTE: it is safe to use bigints here, since they used only for length encoding (not actual data). +// We use bigints in sha256 for lengths too. +function leftEncode(n) { + n = BigInt(n); + const res = [Number(n & _ffn)]; + n >>= _8n; + for (; n > 0; n >>= _8n) + res.unshift(Number(n & _ffn)); + res.unshift(res.length); + return new Uint8Array(res); +} +function rightEncode(n) { + n = BigInt(n); + const res = [Number(n & _ffn)]; + n >>= _8n; + for (; n > 0; n >>= _8n) + res.unshift(Number(n & _ffn)); + res.push(res.length); + return new Uint8Array(res); +} +function chooseLen(opts, outputLen) { + return opts.dkLen === undefined ? outputLen : opts.dkLen; +} +const abytesOrZero = (buf) => { + if (buf === undefined) + return Uint8Array.of(); + return (0, utils_ts_1.toBytes)(buf); +}; +// NOTE: second modulo is necessary since we don't need to add padding if current element takes whole block +const getPadding = (len, block) => new Uint8Array((block - (len % block)) % block); +// Personalization +function cshakePers(hash, opts = {}) { + if (!opts || (!opts.personalization && !opts.NISTfn)) + return hash; + // Encode and pad inplace to avoid unneccesary memory copies/slices (so we don't need to zero them later) + // bytepad(encode_string(N) || encode_string(S), 168) + const blockLenBytes = leftEncode(hash.blockLen); + const fn = abytesOrZero(opts.NISTfn); + const fnLen = leftEncode(_8n * BigInt(fn.length)); // length in bits + const pers = abytesOrZero(opts.personalization); + const persLen = leftEncode(_8n * BigInt(pers.length)); // length in bits + if (!fn.length && !pers.length) + return hash; + hash.suffix = 0x04; + hash.update(blockLenBytes).update(fnLen).update(fn).update(persLen).update(pers); + let totalLen = blockLenBytes.length + fnLen.length + fn.length + persLen.length + pers.length; + hash.update(getPadding(totalLen, hash.blockLen)); + return hash; +} +const gencShake = (suffix, blockLen, outputLen) => (0, utils_ts_1.createXOFer)((opts = {}) => cshakePers(new sha3_ts_1.Keccak(blockLen, suffix, chooseLen(opts, outputLen), true), opts)); +exports.cshake128 = (() => gencShake(0x1f, 168, 128 / 8))(); +exports.cshake256 = (() => gencShake(0x1f, 136, 256 / 8))(); +class KMAC extends sha3_ts_1.Keccak { + constructor(blockLen, outputLen, enableXOF, key, opts = {}) { + super(blockLen, 0x1f, outputLen, enableXOF); + cshakePers(this, { NISTfn: 'KMAC', personalization: opts.personalization }); + key = (0, utils_ts_1.toBytes)(key); + (0, utils_ts_1.abytes)(key); + // 1. newX = bytepad(encode_string(K), 168) || X || right_encode(L). + const blockLenBytes = leftEncode(this.blockLen); + const keyLen = leftEncode(_8n * BigInt(key.length)); + this.update(blockLenBytes).update(keyLen).update(key); + const totalLen = blockLenBytes.length + keyLen.length + key.length; + this.update(getPadding(totalLen, this.blockLen)); + } + finish() { + if (!this.finished) + this.update(rightEncode(this.enableXOF ? 0 : _8n * BigInt(this.outputLen))); // outputLen in bits + super.finish(); + } + _cloneInto(to) { + // Create new instance without calling constructor since key already in state and we don't know it. + // Force "to" to be instance of KMAC instead of Sha3. + if (!to) { + to = Object.create(Object.getPrototypeOf(this), {}); + to.state = this.state.slice(); + to.blockLen = this.blockLen; + to.state32 = (0, utils_ts_1.u32)(to.state); + } + return super._cloneInto(to); + } + clone() { + return this._cloneInto(); + } +} +exports.KMAC = KMAC; +function genKmac(blockLen, outputLen, xof = false) { + const kmac = (key, message, opts) => kmac.create(key, opts).update(message).digest(); + kmac.create = (key, opts = {}) => new KMAC(blockLen, chooseLen(opts, outputLen), xof, key, opts); + return kmac; +} +exports.kmac128 = (() => genKmac(168, 128 / 8))(); +exports.kmac256 = (() => genKmac(136, 256 / 8))(); +exports.kmac128xof = (() => genKmac(168, 128 / 8, true))(); +exports.kmac256xof = (() => genKmac(136, 256 / 8, true))(); +// TupleHash +// Usage: tuple(['ab', 'cd']) != tuple(['a', 'bcd']) +class TupleHash extends sha3_ts_1.Keccak { + constructor(blockLen, outputLen, enableXOF, opts = {}) { + super(blockLen, 0x1f, outputLen, enableXOF); + cshakePers(this, { NISTfn: 'TupleHash', personalization: opts.personalization }); + // Change update after cshake processed + this.update = (data) => { + data = (0, utils_ts_1.toBytes)(data); + (0, utils_ts_1.abytes)(data); + super.update(leftEncode(_8n * BigInt(data.length))); + super.update(data); + return this; + }; + } + finish() { + if (!this.finished) + super.update(rightEncode(this.enableXOF ? 0 : _8n * BigInt(this.outputLen))); // outputLen in bits + super.finish(); + } + _cloneInto(to) { + to || (to = new TupleHash(this.blockLen, this.outputLen, this.enableXOF)); + return super._cloneInto(to); + } + clone() { + return this._cloneInto(); + } +} +exports.TupleHash = TupleHash; +function genTuple(blockLen, outputLen, xof = false) { + const tuple = (messages, opts) => { + const h = tuple.create(opts); + for (const msg of messages) + h.update(msg); + return h.digest(); + }; + tuple.create = (opts = {}) => new TupleHash(blockLen, chooseLen(opts, outputLen), xof, opts); + return tuple; +} +/** 128-bit TupleHASH. */ +exports.tuplehash128 = (() => genTuple(168, 128 / 8))(); +/** 256-bit TupleHASH. */ +exports.tuplehash256 = (() => genTuple(136, 256 / 8))(); +/** 128-bit TupleHASH XOF. */ +exports.tuplehash128xof = (() => genTuple(168, 128 / 8, true))(); +/** 256-bit TupleHASH XOF. */ +exports.tuplehash256xof = (() => genTuple(136, 256 / 8, true))(); +class ParallelHash extends sha3_ts_1.Keccak { + constructor(blockLen, outputLen, leafCons, enableXOF, opts = {}) { + super(blockLen, 0x1f, outputLen, enableXOF); + this.chunkPos = 0; // Position of current block in chunk + this.chunksDone = 0; // How many chunks we already have + cshakePers(this, { NISTfn: 'ParallelHash', personalization: opts.personalization }); + this.leafCons = leafCons; + let { blockLen: B } = opts; + B || (B = 8); + (0, utils_ts_1.anumber)(B); + this.chunkLen = B; + super.update(leftEncode(B)); + // Change update after cshake processed + this.update = (data) => { + data = (0, utils_ts_1.toBytes)(data); + (0, utils_ts_1.abytes)(data); + const { chunkLen, leafCons } = this; + for (let pos = 0, len = data.length; pos < len;) { + if (this.chunkPos == chunkLen || !this.leafHash) { + if (this.leafHash) { + super.update(this.leafHash.digest()); + this.chunksDone++; + } + this.leafHash = leafCons(); + this.chunkPos = 0; + } + const take = Math.min(chunkLen - this.chunkPos, len - pos); + this.leafHash.update(data.subarray(pos, pos + take)); + this.chunkPos += take; + pos += take; + } + return this; + }; + } + finish() { + if (this.finished) + return; + if (this.leafHash) { + super.update(this.leafHash.digest()); + this.chunksDone++; + } + super.update(rightEncode(this.chunksDone)); + super.update(rightEncode(this.enableXOF ? 0 : _8n * BigInt(this.outputLen))); // outputLen in bits + super.finish(); + } + _cloneInto(to) { + to || (to = new ParallelHash(this.blockLen, this.outputLen, this.leafCons, this.enableXOF)); + if (this.leafHash) + to.leafHash = this.leafHash._cloneInto(to.leafHash); + to.chunkPos = this.chunkPos; + to.chunkLen = this.chunkLen; + to.chunksDone = this.chunksDone; + return super._cloneInto(to); + } + destroy() { + super.destroy.call(this); + if (this.leafHash) + this.leafHash.destroy(); + } + clone() { + return this._cloneInto(); + } +} +exports.ParallelHash = ParallelHash; +function genPrl(blockLen, outputLen, leaf, xof = false) { + const parallel = (message, opts) => parallel.create(opts).update(message).digest(); + parallel.create = (opts = {}) => new ParallelHash(blockLen, chooseLen(opts, outputLen), () => leaf.create({ dkLen: 2 * outputLen }), xof, opts); + return parallel; +} +/** 128-bit ParallelHash. In JS, it is not parallel. */ +exports.parallelhash128 = (() => genPrl(168, 128 / 8, exports.cshake128))(); +/** 256-bit ParallelHash. In JS, it is not parallel. */ +exports.parallelhash256 = (() => genPrl(136, 256 / 8, exports.cshake256))(); +/** 128-bit ParallelHash XOF. In JS, it is not parallel. */ +exports.parallelhash128xof = (() => genPrl(168, 128 / 8, exports.cshake128, true))(); +/** 256-bit ParallelHash. In JS, it is not parallel. */ +exports.parallelhash256xof = (() => genPrl(136, 256 / 8, exports.cshake256, true))(); +const genTurboshake = (blockLen, outputLen) => (0, utils_ts_1.createXOFer)((opts = {}) => { + const D = opts.D === undefined ? 0x1f : opts.D; + // Section 2.1 of https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/ + if (!Number.isSafeInteger(D) || D < 0x01 || D > 0x7f) + throw new Error('invalid domain separation byte must be 0x01..0x7f, got: ' + D); + return new sha3_ts_1.Keccak(blockLen, D, opts.dkLen === undefined ? outputLen : opts.dkLen, true, 12); +}); +/** TurboSHAKE 128-bit: reduced 12-round keccak. */ +exports.turboshake128 = genTurboshake(168, 256 / 8); +/** TurboSHAKE 256-bit: reduced 12-round keccak. */ +exports.turboshake256 = genTurboshake(136, 512 / 8); +// Kangaroo +// Same as NIST rightEncode, but returns [0] for zero string +function rightEncodeK12(n) { + n = BigInt(n); + const res = []; + for (; n > 0; n >>= _8n) + res.unshift(Number(n & _ffn)); + res.push(res.length); + return Uint8Array.from(res); +} +const EMPTY_BUFFER = /* @__PURE__ */ Uint8Array.of(); +class KangarooTwelve extends sha3_ts_1.Keccak { + constructor(blockLen, leafLen, outputLen, rounds, opts) { + super(blockLen, 0x07, outputLen, true, rounds); + this.chunkLen = 8192; + this.chunkPos = 0; // Position of current block in chunk + this.chunksDone = 0; // How many chunks we already have + this.leafLen = leafLen; + this.personalization = abytesOrZero(opts.personalization); + } + update(data) { + data = (0, utils_ts_1.toBytes)(data); + (0, utils_ts_1.abytes)(data); + const { chunkLen, blockLen, leafLen, rounds } = this; + for (let pos = 0, len = data.length; pos < len;) { + if (this.chunkPos == chunkLen) { + if (this.leafHash) + super.update(this.leafHash.digest()); + else { + this.suffix = 0x06; // Its safe to change suffix here since its used only in digest() + super.update(Uint8Array.from([3, 0, 0, 0, 0, 0, 0, 0])); + } + this.leafHash = new sha3_ts_1.Keccak(blockLen, 0x0b, leafLen, false, rounds); + this.chunksDone++; + this.chunkPos = 0; + } + const take = Math.min(chunkLen - this.chunkPos, len - pos); + const chunk = data.subarray(pos, pos + take); + if (this.leafHash) + this.leafHash.update(chunk); + else + super.update(chunk); + this.chunkPos += take; + pos += take; + } + return this; + } + finish() { + if (this.finished) + return; + const { personalization } = this; + this.update(personalization).update(rightEncodeK12(personalization.length)); + // Leaf hash + if (this.leafHash) { + super.update(this.leafHash.digest()); + super.update(rightEncodeK12(this.chunksDone)); + super.update(Uint8Array.from([0xff, 0xff])); + } + super.finish.call(this); + } + destroy() { + super.destroy.call(this); + if (this.leafHash) + this.leafHash.destroy(); + // We cannot zero personalization buffer since it is user provided and we don't want to mutate user input + this.personalization = EMPTY_BUFFER; + } + _cloneInto(to) { + const { blockLen, leafLen, leafHash, outputLen, rounds } = this; + to || (to = new KangarooTwelve(blockLen, leafLen, outputLen, rounds, {})); + super._cloneInto(to); + if (leafHash) + to.leafHash = leafHash._cloneInto(to.leafHash); + to.personalization.set(this.personalization); + to.leafLen = this.leafLen; + to.chunkPos = this.chunkPos; + to.chunksDone = this.chunksDone; + return to; + } + clone() { + return this._cloneInto(); + } +} +exports.KangarooTwelve = KangarooTwelve; +/** KangarooTwelve: reduced 12-round keccak. */ +exports.k12 = (() => (0, utils_ts_1.createOptHasher)((opts = {}) => new KangarooTwelve(168, 32, chooseLen(opts, 32), 12, opts)))(); +/** MarsupilamiFourteen: reduced 14-round keccak. */ +exports.m14 = (() => (0, utils_ts_1.createOptHasher)((opts = {}) => new KangarooTwelve(136, 64, chooseLen(opts, 64), 14, opts)))(); +/** + * More at https://github.com/XKCP/XKCP/tree/master/lib/high/Keccak/PRG. + */ +class KeccakPRG extends sha3_ts_1.Keccak { + constructor(capacity) { + (0, utils_ts_1.anumber)(capacity); + // Rho should be full bytes + if (capacity < 0 || capacity > 1600 - 10 || (1600 - capacity - 2) % 8) + throw new Error('invalid capacity'); + // blockLen = rho in bytes + super((1600 - capacity - 2) / 8, 0, 0, true); + this.rate = 1600 - capacity; + this.posOut = Math.floor((this.rate + 7) / 8); + } + keccak() { + // Duplex padding + this.state[this.pos] ^= 0x01; + this.state[this.blockLen] ^= 0x02; // Rho is full bytes + super.keccak(); + this.pos = 0; + this.posOut = 0; + } + update(data) { + super.update(data); + this.posOut = this.blockLen; + return this; + } + feed(data) { + return this.update(data); + } + finish() { } + digestInto(_out) { + throw new Error('digest is not allowed, use .fetch instead'); + } + fetch(bytes) { + return this.xof(bytes); + } + // Ensure irreversibility (even if state leaked previous outputs cannot be computed) + forget() { + if (this.rate < 1600 / 2 + 1) + throw new Error('rate is too low to use .forget()'); + this.keccak(); + for (let i = 0; i < this.blockLen; i++) + this.state[i] = 0; + this.pos = this.blockLen; + this.keccak(); + this.posOut = this.blockLen; + } + _cloneInto(to) { + const { rate } = this; + to || (to = new KeccakPRG(1600 - rate)); + super._cloneInto(to); + to.rate = rate; + return to; + } + clone() { + return this._cloneInto(); + } +} +exports.KeccakPRG = KeccakPRG; +/** KeccakPRG: Pseudo-random generator based on Keccak. https://keccak.team/files/CSF-0.1.pdf */ +const keccakprg = (capacity = 254) => new KeccakPRG(capacity); +exports.keccakprg = keccakprg; +//# sourceMappingURL=sha3-addons.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha3-addons.js.map b/node_modules/@noble/hashes/sha3-addons.js.map new file mode 100644 index 0000000..b37cd19 --- /dev/null +++ b/node_modules/@noble/hashes/sha3-addons.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha3-addons.js","sourceRoot":"","sources":["src/sha3-addons.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha3.d.ts b/node_modules/@noble/hashes/sha3.d.ts new file mode 100644 index 0000000..9df47b1 --- /dev/null +++ b/node_modules/@noble/hashes/sha3.d.ts @@ -0,0 +1,53 @@ +import { Hash, type CHash, type CHashXO, type HashXOF, type Input } from './utils.ts'; +/** `keccakf1600` internal function, additionally allows to adjust round count. */ +export declare function keccakP(s: Uint32Array, rounds?: number): void; +/** Keccak sponge function. */ +export declare class Keccak extends Hash implements HashXOF { + protected state: Uint8Array; + protected pos: number; + protected posOut: number; + protected finished: boolean; + protected state32: Uint32Array; + protected destroyed: boolean; + blockLen: number; + suffix: number; + outputLen: number; + protected enableXOF: boolean; + protected rounds: number; + constructor(blockLen: number, suffix: number, outputLen: number, enableXOF?: boolean, rounds?: number); + clone(): Keccak; + protected keccak(): void; + update(data: Input): this; + protected finish(): void; + protected writeInto(out: Uint8Array): Uint8Array; + xofInto(out: Uint8Array): Uint8Array; + xof(bytes: number): Uint8Array; + digestInto(out: Uint8Array): Uint8Array; + digest(): Uint8Array; + destroy(): void; + _cloneInto(to?: Keccak): Keccak; +} +/** SHA3-224 hash function. */ +export declare const sha3_224: CHash; +/** SHA3-256 hash function. Different from keccak-256. */ +export declare const sha3_256: CHash; +/** SHA3-384 hash function. */ +export declare const sha3_384: CHash; +/** SHA3-512 hash function. */ +export declare const sha3_512: CHash; +/** keccak-224 hash function. */ +export declare const keccak_224: CHash; +/** keccak-256 hash function. Different from SHA3-256. */ +export declare const keccak_256: CHash; +/** keccak-384 hash function. */ +export declare const keccak_384: CHash; +/** keccak-512 hash function. */ +export declare const keccak_512: CHash; +export type ShakeOpts = { + dkLen?: number; +}; +/** SHAKE128 XOF with 128-bit security. */ +export declare const shake128: CHashXO; +/** SHAKE256 XOF with 256-bit security. */ +export declare const shake256: CHashXO; +//# sourceMappingURL=sha3.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha3.d.ts.map b/node_modules/@noble/hashes/sha3.d.ts.map new file mode 100644 index 0000000..979f89d --- /dev/null +++ b/node_modules/@noble/hashes/sha3.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha3.d.ts","sourceRoot":"","sources":["src/sha3.ts"],"names":[],"mappings":"AAaA,OAAO,EAE6B,IAAI,EAGtC,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EACnD,MAAM,YAAY,CAAC;AAoCpB,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CAyCjE;AAED,8BAA8B;AAC9B,qBAAa,MAAO,SAAQ,IAAI,CAAC,MAAM,CAAE,YAAW,OAAO,CAAC,MAAM,CAAC;IACjE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC;IAC5B,SAAS,CAAC,GAAG,SAAK;IAClB,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;IAC/B,SAAS,CAAC,SAAS,UAAS;IAErB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAIvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,UAAQ,EACjB,MAAM,GAAE,MAAW;IAiBrB,KAAK,IAAI,MAAM;IAGf,SAAS,CAAC,MAAM,IAAI,IAAI;IAOxB,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAazB,SAAS,CAAC,MAAM,IAAI,IAAI;IAUxB,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAehD,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAKpC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAI9B,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAOvC,MAAM,IAAI,UAAU;IAGpB,OAAO,IAAI,IAAI;IAIf,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;CAehC;AAKD,8BAA8B;AAC9B,eAAO,MAAM,QAAQ,EAAE,KAAyD,CAAC;AACjF,yDAAyD;AACzD,eAAO,MAAM,QAAQ,EAAE,KAAyD,CAAC;AACjF,8BAA8B;AAC9B,eAAO,MAAM,QAAQ,EAAE,KAAyD,CAAC;AACjF,8BAA8B;AAC9B,eAAO,MAAM,QAAQ,EAAE,KAAwD,CAAC;AAEhF,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,KAAyD,CAAC;AACnF,yDAAyD;AACzD,eAAO,MAAM,UAAU,EAAE,KAAyD,CAAC;AACnF,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,KAAyD,CAAC;AACnF,gCAAgC;AAChC,eAAO,MAAM,UAAU,EAAE,KAAwD,CAAC;AAElF,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAQ3C,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,OAAgE,CAAC;AACxF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,OAAgE,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha3.js b/node_modules/@noble/hashes/sha3.js new file mode 100644 index 0000000..bc61228 --- /dev/null +++ b/node_modules/@noble/hashes/sha3.js @@ -0,0 +1,239 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = void 0; +exports.keccakP = keccakP; +/** + * SHA3 (keccak) hash function, based on a new "Sponge function" design. + * Different from older hashes, the internal state is bigger than output size. + * + * Check out [FIPS-202](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf), + * [Website](https://keccak.team/keccak.html), + * [the differences between SHA-3 and Keccak](https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub). + * + * Check out `sha3-addons` module for cSHAKE, k12, and others. + * @module + */ +const _u64_ts_1 = require("./_u64.js"); +// prettier-ignore +const utils_ts_1 = require("./utils.js"); +// No __PURE__ annotations in sha3 header: +// EVERYTHING is in fact used on every export. +// Various per round constants calculations +const _0n = BigInt(0); +const _1n = BigInt(1); +const _2n = BigInt(2); +const _7n = BigInt(7); +const _256n = BigInt(256); +const _0x71n = BigInt(0x71); +const SHA3_PI = []; +const SHA3_ROTL = []; +const _SHA3_IOTA = []; +for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) { + // Pi + [x, y] = [y, (2 * x + 3 * y) % 5]; + SHA3_PI.push(2 * (5 * y + x)); + // Rotational + SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64); + // Iota + let t = _0n; + for (let j = 0; j < 7; j++) { + R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n; + if (R & _2n) + t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n); + } + _SHA3_IOTA.push(t); +} +const IOTAS = (0, _u64_ts_1.split)(_SHA3_IOTA, true); +const SHA3_IOTA_H = IOTAS[0]; +const SHA3_IOTA_L = IOTAS[1]; +// Left rotation (without 0, 32, 64) +const rotlH = (h, l, s) => (s > 32 ? (0, _u64_ts_1.rotlBH)(h, l, s) : (0, _u64_ts_1.rotlSH)(h, l, s)); +const rotlL = (h, l, s) => (s > 32 ? (0, _u64_ts_1.rotlBL)(h, l, s) : (0, _u64_ts_1.rotlSL)(h, l, s)); +/** `keccakf1600` internal function, additionally allows to adjust round count. */ +function keccakP(s, rounds = 24) { + const B = new Uint32Array(5 * 2); + // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js) + for (let round = 24 - rounds; round < 24; round++) { + // Theta θ + for (let x = 0; x < 10; x++) + B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40]; + for (let x = 0; x < 10; x += 2) { + const idx1 = (x + 8) % 10; + const idx0 = (x + 2) % 10; + const B0 = B[idx0]; + const B1 = B[idx0 + 1]; + const Th = rotlH(B0, B1, 1) ^ B[idx1]; + const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1]; + for (let y = 0; y < 50; y += 10) { + s[x + y] ^= Th; + s[x + y + 1] ^= Tl; + } + } + // Rho (ρ) and Pi (π) + let curH = s[2]; + let curL = s[3]; + for (let t = 0; t < 24; t++) { + const shift = SHA3_ROTL[t]; + const Th = rotlH(curH, curL, shift); + const Tl = rotlL(curH, curL, shift); + const PI = SHA3_PI[t]; + curH = s[PI]; + curL = s[PI + 1]; + s[PI] = Th; + s[PI + 1] = Tl; + } + // Chi (χ) + for (let y = 0; y < 50; y += 10) { + for (let x = 0; x < 10; x++) + B[x] = s[y + x]; + for (let x = 0; x < 10; x++) + s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10]; + } + // Iota (ι) + s[0] ^= SHA3_IOTA_H[round]; + s[1] ^= SHA3_IOTA_L[round]; + } + (0, utils_ts_1.clean)(B); +} +/** Keccak sponge function. */ +class Keccak extends utils_ts_1.Hash { + // NOTE: we accept arguments in bytes instead of bits here. + constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) { + super(); + this.pos = 0; + this.posOut = 0; + this.finished = false; + this.destroyed = false; + this.enableXOF = false; + this.blockLen = blockLen; + this.suffix = suffix; + this.outputLen = outputLen; + this.enableXOF = enableXOF; + this.rounds = rounds; + // Can be passed from user as dkLen + (0, utils_ts_1.anumber)(outputLen); + // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes + // 0 < blockLen < 200 + if (!(0 < blockLen && blockLen < 200)) + throw new Error('only keccak-f1600 function is supported'); + this.state = new Uint8Array(200); + this.state32 = (0, utils_ts_1.u32)(this.state); + } + clone() { + return this._cloneInto(); + } + keccak() { + (0, utils_ts_1.swap32IfBE)(this.state32); + keccakP(this.state32, this.rounds); + (0, utils_ts_1.swap32IfBE)(this.state32); + this.posOut = 0; + this.pos = 0; + } + update(data) { + (0, utils_ts_1.aexists)(this); + data = (0, utils_ts_1.toBytes)(data); + (0, utils_ts_1.abytes)(data); + const { blockLen, state } = this; + const len = data.length; + for (let pos = 0; pos < len;) { + const take = Math.min(blockLen - this.pos, len - pos); + for (let i = 0; i < take; i++) + state[this.pos++] ^= data[pos++]; + if (this.pos === blockLen) + this.keccak(); + } + return this; + } + finish() { + if (this.finished) + return; + this.finished = true; + const { state, suffix, pos, blockLen } = this; + // Do the padding + state[pos] ^= suffix; + if ((suffix & 0x80) !== 0 && pos === blockLen - 1) + this.keccak(); + state[blockLen - 1] ^= 0x80; + this.keccak(); + } + writeInto(out) { + (0, utils_ts_1.aexists)(this, false); + (0, utils_ts_1.abytes)(out); + this.finish(); + const bufferOut = this.state; + const { blockLen } = this; + for (let pos = 0, len = out.length; pos < len;) { + if (this.posOut >= blockLen) + this.keccak(); + const take = Math.min(blockLen - this.posOut, len - pos); + out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos); + this.posOut += take; + pos += take; + } + return out; + } + xofInto(out) { + // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF + if (!this.enableXOF) + throw new Error('XOF is not possible for this instance'); + return this.writeInto(out); + } + xof(bytes) { + (0, utils_ts_1.anumber)(bytes); + return this.xofInto(new Uint8Array(bytes)); + } + digestInto(out) { + (0, utils_ts_1.aoutput)(out, this); + if (this.finished) + throw new Error('digest() was already called'); + this.writeInto(out); + this.destroy(); + return out; + } + digest() { + return this.digestInto(new Uint8Array(this.outputLen)); + } + destroy() { + this.destroyed = true; + (0, utils_ts_1.clean)(this.state); + } + _cloneInto(to) { + const { blockLen, suffix, outputLen, rounds, enableXOF } = this; + to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds)); + to.state32.set(this.state32); + to.pos = this.pos; + to.posOut = this.posOut; + to.finished = this.finished; + to.rounds = rounds; + // Suffix can change in cSHAKE + to.suffix = suffix; + to.outputLen = outputLen; + to.enableXOF = enableXOF; + to.destroyed = this.destroyed; + return to; + } +} +exports.Keccak = Keccak; +const gen = (suffix, blockLen, outputLen) => (0, utils_ts_1.createHasher)(() => new Keccak(blockLen, suffix, outputLen)); +/** SHA3-224 hash function. */ +exports.sha3_224 = (() => gen(0x06, 144, 224 / 8))(); +/** SHA3-256 hash function. Different from keccak-256. */ +exports.sha3_256 = (() => gen(0x06, 136, 256 / 8))(); +/** SHA3-384 hash function. */ +exports.sha3_384 = (() => gen(0x06, 104, 384 / 8))(); +/** SHA3-512 hash function. */ +exports.sha3_512 = (() => gen(0x06, 72, 512 / 8))(); +/** keccak-224 hash function. */ +exports.keccak_224 = (() => gen(0x01, 144, 224 / 8))(); +/** keccak-256 hash function. Different from SHA3-256. */ +exports.keccak_256 = (() => gen(0x01, 136, 256 / 8))(); +/** keccak-384 hash function. */ +exports.keccak_384 = (() => gen(0x01, 104, 384 / 8))(); +/** keccak-512 hash function. */ +exports.keccak_512 = (() => gen(0x01, 72, 512 / 8))(); +const genShake = (suffix, blockLen, outputLen) => (0, utils_ts_1.createXOFer)((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true)); +/** SHAKE128 XOF with 128-bit security. */ +exports.shake128 = (() => genShake(0x1f, 168, 128 / 8))(); +/** SHAKE256 XOF with 256-bit security. */ +exports.shake256 = (() => genShake(0x1f, 136, 256 / 8))(); +//# sourceMappingURL=sha3.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha3.js.map b/node_modules/@noble/hashes/sha3.js.map new file mode 100644 index 0000000..42b47f3 --- /dev/null +++ b/node_modules/@noble/hashes/sha3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha3.js","sourceRoot":"","sources":["src/sha3.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha512.d.ts b/node_modules/@noble/hashes/sha512.d.ts new file mode 100644 index 0000000..46a27d0 --- /dev/null +++ b/node_modules/@noble/hashes/sha512.d.ts @@ -0,0 +1,26 @@ +/** + * SHA2-512 a.k.a. sha512 and sha384. It is slower than sha256 in js because u64 operations are slow. + * + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [the paper on truncated SHA512/256](https://eprint.iacr.org/2010/548.pdf). + * @module + * @deprecated + */ +import { SHA384 as SHA384n, sha384 as sha384n, sha512_224 as sha512_224n, SHA512_224 as SHA512_224n, sha512_256 as sha512_256n, SHA512_256 as SHA512_256n, SHA512 as SHA512n, sha512 as sha512n } from './sha2.ts'; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA512: typeof SHA512n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha512: typeof sha512n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA384: typeof SHA384n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha384: typeof sha384n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA512_224: typeof SHA512_224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha512_224: typeof sha512_224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const SHA512_256: typeof SHA512_256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export declare const sha512_256: typeof sha512_256n; +//# sourceMappingURL=sha512.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha512.d.ts.map b/node_modules/@noble/hashes/sha512.d.ts.map new file mode 100644 index 0000000..4ed35ec --- /dev/null +++ b/node_modules/@noble/hashes/sha512.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"sha512.d.ts","sourceRoot":"","sources":["src/sha512.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EAClB,MAAM,WAAW,CAAC;AACnB,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,OAAO,OAAiB,CAAC;AAC9C,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,OAAO,WAAyB,CAAC;AAC1D,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,OAAO,WAAyB,CAAC;AAC1D,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,OAAO,WAAyB,CAAC;AAC1D,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,OAAO,WAAyB,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha512.js b/node_modules/@noble/hashes/sha512.js new file mode 100644 index 0000000..31cbbca --- /dev/null +++ b/node_modules/@noble/hashes/sha512.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sha512_256 = exports.SHA512_256 = exports.sha512_224 = exports.SHA512_224 = exports.sha384 = exports.SHA384 = exports.sha512 = exports.SHA512 = void 0; +/** + * SHA2-512 a.k.a. sha512 and sha384. It is slower than sha256 in js because u64 operations are slow. + * + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [the paper on truncated SHA512/256](https://eprint.iacr.org/2010/548.pdf). + * @module + * @deprecated + */ +const sha2_ts_1 = require("./sha2.js"); +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.SHA512 = sha2_ts_1.SHA512; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.sha512 = sha2_ts_1.sha512; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.SHA384 = sha2_ts_1.SHA384; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.sha384 = sha2_ts_1.sha384; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.SHA512_224 = sha2_ts_1.SHA512_224; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.sha512_224 = sha2_ts_1.sha512_224; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.SHA512_256 = sha2_ts_1.SHA512_256; +/** @deprecated Use import from `noble/hashes/sha2` module */ +exports.sha512_256 = sha2_ts_1.sha512_256; +//# sourceMappingURL=sha512.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/sha512.js.map b/node_modules/@noble/hashes/sha512.js.map new file mode 100644 index 0000000..e685b20 --- /dev/null +++ b/node_modules/@noble/hashes/sha512.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha512.js","sourceRoot":"","sources":["src/sha512.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,uCASmB;AACnB,6DAA6D;AAChD,QAAA,MAAM,GAAmB,gBAAO,CAAC;AAC9C,6DAA6D;AAChD,QAAA,MAAM,GAAmB,gBAAO,CAAC;AAC9C,6DAA6D;AAChD,QAAA,MAAM,GAAmB,gBAAO,CAAC;AAC9C,6DAA6D;AAChD,QAAA,MAAM,GAAmB,gBAAO,CAAC;AAC9C,6DAA6D;AAChD,QAAA,UAAU,GAAuB,oBAAW,CAAC;AAC1D,6DAA6D;AAChD,QAAA,UAAU,GAAuB,oBAAW,CAAC;AAC1D,6DAA6D;AAChD,QAAA,UAAU,GAAuB,oBAAW,CAAC;AAC1D,6DAA6D;AAChD,QAAA,UAAU,GAAuB,oBAAW,CAAC"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/src/_assert.ts b/node_modules/@noble/hashes/src/_assert.ts new file mode 100644 index 0000000..3da1eb1 --- /dev/null +++ b/node_modules/@noble/hashes/src/_assert.ts @@ -0,0 +1,22 @@ +/** + * Internal assertion helpers. + * @module + * @deprecated + */ +import { + abytes as ab, + aexists as ae, + anumber as an, + aoutput as ao, + type IHash as H, +} from './utils.ts'; +/** @deprecated Use import from `noble/hashes/utils` module */ +export const abytes: typeof ab = ab; +/** @deprecated Use import from `noble/hashes/utils` module */ +export const aexists: typeof ae = ae; +/** @deprecated Use import from `noble/hashes/utils` module */ +export const anumber: typeof an = an; +/** @deprecated Use import from `noble/hashes/utils` module */ +export const aoutput: typeof ao = ao; +/** @deprecated Use import from `noble/hashes/utils` module */ +export type Hash = H; diff --git a/node_modules/@noble/hashes/src/_blake.ts b/node_modules/@noble/hashes/src/_blake.ts new file mode 100644 index 0000000..2df27be --- /dev/null +++ b/node_modules/@noble/hashes/src/_blake.ts @@ -0,0 +1,50 @@ +/** + * Internal helpers for blake hash. + * @module + */ +import { rotr } from './utils.ts'; + +/** + * Internal blake variable. + * For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1]. + */ +// prettier-ignore +export const BSIGMA: Uint8Array = /* @__PURE__ */ Uint8Array.from([ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3, + 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4, + 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, + 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13, + 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9, + 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11, + 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10, + 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5, + 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3, + // Blake1, unused in others + 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4, + 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, + 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13, + 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9, +]); + +// prettier-ignore +export type Num4 = { a: number; b: number; c: number; d: number; }; + +// Mixing function G splitted in two halfs +export function G1s(a: number, b: number, c: number, d: number, x: number): Num4 { + a = (a + b + x) | 0; + d = rotr(d ^ a, 16); + c = (c + d) | 0; + b = rotr(b ^ c, 12); + return { a, b, c, d }; +} + +export function G2s(a: number, b: number, c: number, d: number, x: number): Num4 { + a = (a + b + x) | 0; + d = rotr(d ^ a, 8); + c = (c + d) | 0; + b = rotr(b ^ c, 7); + return { a, b, c, d }; +} diff --git a/node_modules/@noble/hashes/src/_md.ts b/node_modules/@noble/hashes/src/_md.ts new file mode 100644 index 0000000..469b781 --- /dev/null +++ b/node_modules/@noble/hashes/src/_md.ts @@ -0,0 +1,176 @@ +/** + * Internal Merkle-Damgard hash utils. + * @module + */ +import { type Input, Hash, abytes, aexists, aoutput, clean, createView, toBytes } from './utils.ts'; + +/** Polyfill for Safari 14. https://caniuse.com/mdn-javascript_builtins_dataview_setbiguint64 */ +export function setBigUint64( + view: DataView, + byteOffset: number, + value: bigint, + isLE: boolean +): void { + if (typeof view.setBigUint64 === 'function') return view.setBigUint64(byteOffset, value, isLE); + const _32n = BigInt(32); + const _u32_max = BigInt(0xffffffff); + const wh = Number((value >> _32n) & _u32_max); + const wl = Number(value & _u32_max); + const h = isLE ? 4 : 0; + const l = isLE ? 0 : 4; + view.setUint32(byteOffset + h, wh, isLE); + view.setUint32(byteOffset + l, wl, isLE); +} + +/** Choice: a ? b : c */ +export function Chi(a: number, b: number, c: number): number { + return (a & b) ^ (~a & c); +} + +/** Majority function, true if any two inputs is true. */ +export function Maj(a: number, b: number, c: number): number { + return (a & b) ^ (a & c) ^ (b & c); +} + +/** + * Merkle-Damgard hash construction base class. + * Could be used to create MD5, RIPEMD, SHA1, SHA2. + */ +export abstract class HashMD> extends Hash { + protected abstract process(buf: DataView, offset: number): void; + protected abstract get(): number[]; + protected abstract set(...args: number[]): void; + abstract destroy(): void; + protected abstract roundClean(): void; + + readonly blockLen: number; + readonly outputLen: number; + readonly padOffset: number; + readonly isLE: boolean; + + // For partial updates less than block size + protected buffer: Uint8Array; + protected view: DataView; + protected finished = false; + protected length = 0; + protected pos = 0; + protected destroyed = false; + + constructor(blockLen: number, outputLen: number, padOffset: number, isLE: boolean) { + super(); + this.blockLen = blockLen; + this.outputLen = outputLen; + this.padOffset = padOffset; + this.isLE = isLE; + this.buffer = new Uint8Array(blockLen); + this.view = createView(this.buffer); + } + update(data: Input): this { + aexists(this); + data = toBytes(data); + abytes(data); + const { view, buffer, blockLen } = this; + const len = data.length; + for (let pos = 0; pos < len; ) { + const take = Math.min(blockLen - this.pos, len - pos); + // Fast path: we have at least one block in input, cast it to view and process + if (take === blockLen) { + const dataView = createView(data); + for (; blockLen <= len - pos; pos += blockLen) this.process(dataView, pos); + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + pos += take; + if (this.pos === blockLen) { + this.process(view, 0); + this.pos = 0; + } + } + this.length += data.length; + this.roundClean(); + return this; + } + digestInto(out: Uint8Array): void { + aexists(this); + aoutput(out, this); + this.finished = true; + // Padding + // We can avoid allocation of buffer for padding completely if it + // was previously not allocated here. But it won't change performance. + const { buffer, view, blockLen, isLE } = this; + let { pos } = this; + // append the bit '1' to the message + buffer[pos++] = 0b10000000; + clean(this.buffer.subarray(pos)); + // we have less than padOffset left in buffer, so we cannot put length in + // current block, need process it and pad again + if (this.padOffset > blockLen - pos) { + this.process(view, 0); + pos = 0; + } + // Pad until full block byte with zeros + for (let i = pos; i < blockLen; i++) buffer[i] = 0; + // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that + // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen. + // So we just write lowest 64 bits of that value. + setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE); + this.process(view, 0); + const oview = createView(out); + const len = this.outputLen; + // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT + if (len % 4) throw new Error('_sha2: outputLen should be aligned to 32bit'); + const outLen = len / 4; + const state = this.get(); + if (outLen > state.length) throw new Error('_sha2: outputLen bigger than state'); + for (let i = 0; i < outLen; i++) oview.setUint32(4 * i, state[i], isLE); + } + digest(): Uint8Array { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } + _cloneInto(to?: T): T { + to ||= new (this.constructor as any)() as T; + to.set(...this.get()); + const { blockLen, buffer, length, finished, destroyed, pos } = this; + to.destroyed = destroyed; + to.finished = finished; + to.length = length; + to.pos = pos; + if (length % blockLen) to.buffer.set(buffer); + return to; + } + clone(): T { + return this._cloneInto(); + } +} + +/** + * Initial SHA-2 state: fractional parts of square roots of first 16 primes 2..53. + * Check out `test/misc/sha2-gen-iv.js` for recomputation guide. + */ + +/** Initial SHA256 state. Bits 0..32 of frac part of sqrt of primes 2..19 */ +export const SHA256_IV: Uint32Array = /* @__PURE__ */ Uint32Array.from([ + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19, +]); + +/** Initial SHA224 state. Bits 32..64 of frac part of sqrt of primes 23..53 */ +export const SHA224_IV: Uint32Array = /* @__PURE__ */ Uint32Array.from([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4, +]); + +/** Initial SHA384 state. Bits 0..64 of frac part of sqrt of primes 23..53 */ +export const SHA384_IV: Uint32Array = /* @__PURE__ */ Uint32Array.from([ + 0xcbbb9d5d, 0xc1059ed8, 0x629a292a, 0x367cd507, 0x9159015a, 0x3070dd17, 0x152fecd8, 0xf70e5939, + 0x67332667, 0xffc00b31, 0x8eb44a87, 0x68581511, 0xdb0c2e0d, 0x64f98fa7, 0x47b5481d, 0xbefa4fa4, +]); + +/** Initial SHA512 state. Bits 0..64 of frac part of sqrt of primes 2..19 */ +export const SHA512_IV: Uint32Array = /* @__PURE__ */ Uint32Array.from([ + 0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1, + 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179, +]); diff --git a/node_modules/@noble/hashes/src/_u64.ts b/node_modules/@noble/hashes/src/_u64.ts new file mode 100644 index 0000000..703c7da --- /dev/null +++ b/node_modules/@noble/hashes/src/_u64.ts @@ -0,0 +1,91 @@ +/** + * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array. + * @todo re-check https://issues.chromium.org/issues/42212588 + * @module + */ +const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1); +const _32n = /* @__PURE__ */ BigInt(32); + +function fromBig( + n: bigint, + le = false +): { + h: number; + l: number; +} { + if (le) return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) }; + return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 }; +} + +function split(lst: bigint[], le = false): Uint32Array[] { + const len = lst.length; + let Ah = new Uint32Array(len); + let Al = new Uint32Array(len); + for (let i = 0; i < len; i++) { + const { h, l } = fromBig(lst[i], le); + [Ah[i], Al[i]] = [h, l]; + } + return [Ah, Al]; +} + +const toBig = (h: number, l: number): bigint => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0); +// for Shift in [0, 32) +const shrSH = (h: number, _l: number, s: number): number => h >>> s; +const shrSL = (h: number, l: number, s: number): number => (h << (32 - s)) | (l >>> s); +// Right rotate for Shift in [1, 32) +const rotrSH = (h: number, l: number, s: number): number => (h >>> s) | (l << (32 - s)); +const rotrSL = (h: number, l: number, s: number): number => (h << (32 - s)) | (l >>> s); +// Right rotate for Shift in (32, 64), NOTE: 32 is special case. +const rotrBH = (h: number, l: number, s: number): number => (h << (64 - s)) | (l >>> (s - 32)); +const rotrBL = (h: number, l: number, s: number): number => (h >>> (s - 32)) | (l << (64 - s)); +// Right rotate for shift===32 (just swaps l&h) +const rotr32H = (_h: number, l: number): number => l; +const rotr32L = (h: number, _l: number): number => h; +// Left rotate for Shift in [1, 32) +const rotlSH = (h: number, l: number, s: number): number => (h << s) | (l >>> (32 - s)); +const rotlSL = (h: number, l: number, s: number): number => (l << s) | (h >>> (32 - s)); +// Left rotate for Shift in (32, 64), NOTE: 32 is special case. +const rotlBH = (h: number, l: number, s: number): number => (l << (s - 32)) | (h >>> (64 - s)); +const rotlBL = (h: number, l: number, s: number): number => (h << (s - 32)) | (l >>> (64 - s)); + +// JS uses 32-bit signed integers for bitwise operations which means we cannot +// simple take carry out of low bit sum by shift, we need to use division. +function add( + Ah: number, + Al: number, + Bh: number, + Bl: number +): { + h: number; + l: number; +} { + const l = (Al >>> 0) + (Bl >>> 0); + return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 }; +} +// Addition with more than 2 elements +const add3L = (Al: number, Bl: number, Cl: number): number => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0); +const add3H = (low: number, Ah: number, Bh: number, Ch: number): number => + (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0; +const add4L = (Al: number, Bl: number, Cl: number, Dl: number): number => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); +const add4H = (low: number, Ah: number, Bh: number, Ch: number, Dh: number): number => + (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0; +const add5L = (Al: number, Bl: number, Cl: number, Dl: number, El: number): number => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); +const add5H = (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number): number => + (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0; + +// prettier-ignore +export { + add, add3H, add3L, add4H, add4L, add5H, add5L, fromBig, rotlBH, rotlBL, rotlSH, rotlSL, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL, shrSH, shrSL, split, toBig +}; +// prettier-ignore +const u64: { fromBig: typeof fromBig; split: typeof split; toBig: (h: number, l: number) => bigint; shrSH: (h: number, _l: number, s: number) => number; shrSL: (h: number, l: number, s: number) => number; rotrSH: (h: number, l: number, s: number) => number; rotrSL: (h: number, l: number, s: number) => number; rotrBH: (h: number, l: number, s: number) => number; rotrBL: (h: number, l: number, s: number) => number; rotr32H: (_h: number, l: number) => number; rotr32L: (h: number, _l: number) => number; rotlSH: (h: number, l: number, s: number) => number; rotlSL: (h: number, l: number, s: number) => number; rotlBH: (h: number, l: number, s: number) => number; rotlBL: (h: number, l: number, s: number) => number; add: typeof add; add3L: (Al: number, Bl: number, Cl: number) => number; add3H: (low: number, Ah: number, Bh: number, Ch: number) => number; add4L: (Al: number, Bl: number, Cl: number, Dl: number) => number; add4H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number) => number; add5H: (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) => number; add5L: (Al: number, Bl: number, Cl: number, Dl: number, El: number) => number; } = { + fromBig, split, toBig, + shrSH, shrSL, + rotrSH, rotrSL, rotrBH, rotrBL, + rotr32H, rotr32L, + rotlSH, rotlSL, rotlBH, rotlBL, + add, add3L, add3H, add4L, add4H, add5H, add5L, +}; +export default u64; diff --git a/node_modules/@noble/hashes/src/argon2.ts b/node_modules/@noble/hashes/src/argon2.ts new file mode 100644 index 0000000..9bf7a7e --- /dev/null +++ b/node_modules/@noble/hashes/src/argon2.ts @@ -0,0 +1,497 @@ +/** + * Argon2 KDF from RFC 9106. Can be used to create a key from password and salt. + * We suggest to use Scrypt. JS Argon is 2-10x slower than native code because of 64-bitness: + * * argon uses uint64, but JS doesn't have fast uint64array + * * uint64 multiplication is 1/3 of time + * * `P` function would be very nice with u64, because most of value will be in registers, + * hovewer with u32 it will require 32 registers, which is too much. + * * JS arrays do slow bound checks, so reading from `A2_BUF` slows it down + * @module + */ +import { add3H, add3L, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL } from './_u64.ts'; +import { blake2b } from './blake2.ts'; +import { abytes, clean, kdfInputToBytes, nextTick, u32, u8, type KDFInput } from './utils.ts'; + +const AT = { Argond2d: 0, Argon2i: 1, Argon2id: 2 } as const; +type Types = (typeof AT)[keyof typeof AT]; + +const ARGON2_SYNC_POINTS = 4; +const abytesOrZero = (buf?: KDFInput) => { + if (buf === undefined) return Uint8Array.of(); + return kdfInputToBytes(buf); +}; + +// u32 * u32 = u64 +function mul(a: number, b: number) { + const aL = a & 0xffff; + const aH = a >>> 16; + const bL = b & 0xffff; + const bH = b >>> 16; + const ll = Math.imul(aL, bL); + const hl = Math.imul(aH, bL); + const lh = Math.imul(aL, bH); + const hh = Math.imul(aH, bH); + const carry = (ll >>> 16) + (hl & 0xffff) + lh; + const high = (hh + (hl >>> 16) + (carry >>> 16)) | 0; + const low = (carry << 16) | (ll & 0xffff); + return { h: high, l: low }; +} + +function mul2(a: number, b: number) { + // 2 * a * b (via shifts) + const { h, l } = mul(a, b); + return { h: ((h << 1) | (l >>> 31)) & 0xffff_ffff, l: (l << 1) & 0xffff_ffff }; +} + +// BlaMka permutation for Argon2 +// A + B + (2 * u32(A) * u32(B)) +function blamka(Ah: number, Al: number, Bh: number, Bl: number) { + const { h: Ch, l: Cl } = mul2(Al, Bl); + // A + B + (2 * A * B) + const Rll = add3L(Al, Bl, Cl); + return { h: add3H(Rll, Ah, Bh, Ch), l: Rll | 0 }; +} + +// Temporary block buffer +const A2_BUF = new Uint32Array(256); // 1024 bytes (matrix 16x16) + +function G(a: number, b: number, c: number, d: number) { + let Al = A2_BUF[2*a], Ah = A2_BUF[2*a + 1]; // prettier-ignore + let Bl = A2_BUF[2*b], Bh = A2_BUF[2*b + 1]; // prettier-ignore + let Cl = A2_BUF[2*c], Ch = A2_BUF[2*c + 1]; // prettier-ignore + let Dl = A2_BUF[2*d], Dh = A2_BUF[2*d + 1]; // prettier-ignore + + ({ h: Ah, l: Al } = blamka(Ah, Al, Bh, Bl)); + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: rotr32H(Dh, Dl), Dl: rotr32L(Dh, Dl) }); + + ({ h: Ch, l: Cl } = blamka(Ch, Cl, Dh, Dl)); + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: rotrSH(Bh, Bl, 24), Bl: rotrSL(Bh, Bl, 24) }); + + ({ h: Ah, l: Al } = blamka(Ah, Al, Bh, Bl)); + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: rotrSH(Dh, Dl, 16), Dl: rotrSL(Dh, Dl, 16) }); + + ({ h: Ch, l: Cl } = blamka(Ch, Cl, Dh, Dl)); + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: rotrBH(Bh, Bl, 63), Bl: rotrBL(Bh, Bl, 63) }); + + (A2_BUF[2 * a] = Al), (A2_BUF[2 * a + 1] = Ah); + (A2_BUF[2 * b] = Bl), (A2_BUF[2 * b + 1] = Bh); + (A2_BUF[2 * c] = Cl), (A2_BUF[2 * c + 1] = Ch); + (A2_BUF[2 * d] = Dl), (A2_BUF[2 * d + 1] = Dh); +} + +// prettier-ignore +function P( + v00: number, v01: number, v02: number, v03: number, v04: number, v05: number, v06: number, v07: number, + v08: number, v09: number, v10: number, v11: number, v12: number, v13: number, v14: number, v15: number, +) { + G(v00, v04, v08, v12); + G(v01, v05, v09, v13); + G(v02, v06, v10, v14); + G(v03, v07, v11, v15); + G(v00, v05, v10, v15); + G(v01, v06, v11, v12); + G(v02, v07, v08, v13); + G(v03, v04, v09, v14); +} + +function block(x: Uint32Array, xPos: number, yPos: number, outPos: number, needXor: boolean) { + for (let i = 0; i < 256; i++) A2_BUF[i] = x[xPos + i] ^ x[yPos + i]; + // columns (8) + for (let i = 0; i < 128; i += 16) { + // prettier-ignore + P( + i, i + 1, i + 2, i + 3, i + 4, i + 5, i + 6, i + 7, + i + 8, i + 9, i + 10, i + 11, i + 12, i + 13, i + 14, i + 15 + ); + } + // rows (8) + for (let i = 0; i < 16; i += 2) { + // prettier-ignore + P( + i, i + 1, i + 16, i + 17, i + 32, i + 33, i + 48, i + 49, + i + 64, i + 65, i + 80, i + 81, i + 96, i + 97, i + 112, i + 113 + ); + } + + if (needXor) for (let i = 0; i < 256; i++) x[outPos + i] ^= A2_BUF[i] ^ x[xPos + i] ^ x[yPos + i]; + else for (let i = 0; i < 256; i++) x[outPos + i] = A2_BUF[i] ^ x[xPos + i] ^ x[yPos + i]; + clean(A2_BUF); +} + +// Variable-Length Hash Function H' +function Hp(A: Uint32Array, dkLen: number) { + const A8 = u8(A); + const T = new Uint32Array(1); + const T8 = u8(T); + T[0] = dkLen; + // Fast path + if (dkLen <= 64) return blake2b.create({ dkLen }).update(T8).update(A8).digest(); + const out = new Uint8Array(dkLen); + let V = blake2b.create({}).update(T8).update(A8).digest(); + let pos = 0; + // First block + out.set(V.subarray(0, 32)); + pos += 32; + // Rest blocks + for (; dkLen - pos > 64; pos += 32) { + const Vh = blake2b.create({}).update(V); + Vh.digestInto(V); + Vh.destroy(); + out.set(V.subarray(0, 32), pos); + } + // Last block + out.set(blake2b(V, { dkLen: dkLen - pos }), pos); + clean(V, T); + return u32(out); +} + +// Used only inside process block! +function indexAlpha( + r: number, + s: number, + laneLen: number, + segmentLen: number, + index: number, + randL: number, + sameLane: boolean = false +) { + // This is ugly, but close enough to reference implementation. + let area: number; + if (r === 0) { + if (s === 0) area = index - 1; + else if (sameLane) area = s * segmentLen + index - 1; + else area = s * segmentLen + (index == 0 ? -1 : 0); + } else if (sameLane) area = laneLen - segmentLen + index - 1; + else area = laneLen - segmentLen + (index == 0 ? -1 : 0); + const startPos = r !== 0 && s !== ARGON2_SYNC_POINTS - 1 ? (s + 1) * segmentLen : 0; + const rel = area - 1 - mul(area, mul(randL, randL).h).h; + return (startPos + rel) % laneLen; +} + +/** + * Argon2 options. + * * t: time cost, m: mem cost in kb, p: parallelization. + * * key: optional key. personalization: arbitrary extra data. + * * dkLen: desired number of output bytes. + */ +export type ArgonOpts = { + t: number; // Time cost, iterations count + m: number; // Memory cost (in KB) + p: number; // Parallelization parameter + version?: number; // Default: 0x13 (19) + key?: KDFInput; // Optional key + personalization?: KDFInput; // Optional arbitrary extra data + dkLen?: number; // Desired number of returned bytes + asyncTick?: number; // Maximum time in ms for which async function can block execution + maxmem?: number; + onProgress?: (progress: number) => void; +}; + +const maxUint32 = Math.pow(2, 32); +function isU32(num: number) { + return Number.isSafeInteger(num) && num >= 0 && num < maxUint32; +} + +function argon2Opts(opts: ArgonOpts) { + const merged: any = { + version: 0x13, + dkLen: 32, + maxmem: maxUint32 - 1, + asyncTick: 10, + }; + for (let [k, v] of Object.entries(opts)) if (v != null) merged[k] = v; + + const { dkLen, p, m, t, version, onProgress } = merged; + if (!isU32(dkLen) || dkLen < 4) throw new Error('dkLen should be at least 4 bytes'); + if (!isU32(p) || p < 1 || p >= Math.pow(2, 24)) throw new Error('p should be 1 <= p < 2^24'); + if (!isU32(m)) throw new Error('m should be 0 <= m < 2^32'); + if (!isU32(t) || t < 1) throw new Error('t (iterations) should be 1 <= t < 2^32'); + if (onProgress !== undefined && typeof onProgress !== 'function') + throw new Error('progressCb should be function'); + /* + Memory size m MUST be an integer number of kibibytes from 8*p to 2^(32)-1. The actual number of blocks is m', which is m rounded down to the nearest multiple of 4*p. + */ + if (!isU32(m) || m < 8 * p) throw new Error('memory should be at least 8*p bytes'); + if (version !== 0x10 && version !== 0x13) throw new Error('unknown version=' + version); + return merged; +} + +function argon2Init(password: KDFInput, salt: KDFInput, type: Types, opts: ArgonOpts) { + password = kdfInputToBytes(password); + salt = kdfInputToBytes(salt); + abytes(password); + abytes(salt); + if (!isU32(password.length)) throw new Error('password should be less than 4 GB'); + if (!isU32(salt.length) || salt.length < 8) + throw new Error('salt should be at least 8 bytes and less than 4 GB'); + if (!Object.values(AT).includes(type)) throw new Error('invalid type'); + let { p, dkLen, m, t, version, key, personalization, maxmem, onProgress, asyncTick } = + argon2Opts(opts); + + // Validation + key = abytesOrZero(key); + personalization = abytesOrZero(personalization); + // H_0 = H^(64)(LE32(p) || LE32(T) || LE32(m) || LE32(t) || + // LE32(v) || LE32(y) || LE32(length(P)) || P || + // LE32(length(S)) || S || LE32(length(K)) || K || + // LE32(length(X)) || X) + const h = blake2b.create({}); + const BUF = new Uint32Array(1); + const BUF8 = u8(BUF); + for (let item of [p, dkLen, m, t, version, type]) { + BUF[0] = item; + h.update(BUF8); + } + for (let i of [password, salt, key, personalization]) { + BUF[0] = i.length; // BUF is u32 array, this is valid + h.update(BUF8).update(i); + } + const H0 = new Uint32Array(18); + const H0_8 = u8(H0); + h.digestInto(H0_8); + // 256 u32 = 1024 (BLOCK_SIZE), fills A2_BUF on processing + + // Params + const lanes = p; + // m' = 4 * p * floor (m / 4p) + const mP = 4 * p * Math.floor(m / (ARGON2_SYNC_POINTS * p)); + //q = m' / p columns + const laneLen = Math.floor(mP / p); + const segmentLen = Math.floor(laneLen / ARGON2_SYNC_POINTS); + const memUsed = mP * 256; + if (!isU32(maxmem) || memUsed > maxmem) + throw new Error( + 'mem should be less than 2**32, got: maxmem=' + maxmem + ', memused=' + memUsed + ); + const B = new Uint32Array(memUsed); + // Fill first blocks + for (let l = 0; l < p; l++) { + const i = 256 * laneLen * l; + // B[i][0] = H'^(1024)(H_0 || LE32(0) || LE32(i)) + H0[17] = l; + H0[16] = 0; + B.set(Hp(H0, 1024), i); + // B[i][1] = H'^(1024)(H_0 || LE32(1) || LE32(i)) + H0[16] = 1; + B.set(Hp(H0, 1024), i + 256); + } + let perBlock = () => {}; + if (onProgress) { + const totalBlock = t * ARGON2_SYNC_POINTS * p * segmentLen; + // Invoke callback if progress changes from 10.01 to 10.02 + // Allows to draw smooth progress bar on up to 8K screen + const callbackPer = Math.max(Math.floor(totalBlock / 10000), 1); + let blockCnt = 0; + perBlock = () => { + blockCnt++; + if (onProgress && (!(blockCnt % callbackPer) || blockCnt === totalBlock)) + onProgress(blockCnt / totalBlock); + }; + } + clean(BUF, H0); + return { type, mP, p, t, version, B, laneLen, lanes, segmentLen, dkLen, perBlock, asyncTick }; +} + +function argon2Output(B: Uint32Array, p: number, laneLen: number, dkLen: number) { + const B_final = new Uint32Array(256); + for (let l = 0; l < p; l++) + for (let j = 0; j < 256; j++) B_final[j] ^= B[256 * (laneLen * l + laneLen - 1) + j]; + const res = u8(Hp(B_final, dkLen)); + clean(B_final); + return res; +} + +function processBlock( + B: Uint32Array, + address: Uint32Array, + l: number, + r: number, + s: number, + index: number, + laneLen: number, + segmentLen: number, + lanes: number, + offset: number, + prev: number, + dataIndependent: boolean, + needXor: boolean +) { + if (offset % laneLen) prev = offset - 1; + let randL, randH; + if (dataIndependent) { + let i128 = index % 128; + if (i128 === 0) { + address[256 + 12]++; + block(address, 256, 2 * 256, 0, false); + block(address, 0, 2 * 256, 0, false); + } + randL = address[2 * i128]; + randH = address[2 * i128 + 1]; + } else { + const T = 256 * prev; + randL = B[T]; + randH = B[T + 1]; + } + // address block + const refLane = r === 0 && s === 0 ? l : randH % lanes; + const refPos = indexAlpha(r, s, laneLen, segmentLen, index, randL, refLane == l); + const refBlock = laneLen * refLane + refPos; + // B[i][j] = G(B[i][j-1], B[l][z]) + block(B, 256 * prev, 256 * refBlock, offset * 256, needXor); +} + +function argon2(type: Types, password: KDFInput, salt: KDFInput, opts: ArgonOpts) { + const { mP, p, t, version, B, laneLen, lanes, segmentLen, dkLen, perBlock } = argon2Init( + password, + salt, + type, + opts + ); + // Pre-loop setup + // [address, input, zero_block] format so we can pass single U32 to block function + const address = new Uint32Array(3 * 256); + address[256 + 6] = mP; + address[256 + 8] = t; + address[256 + 10] = type; + for (let r = 0; r < t; r++) { + const needXor = r !== 0 && version === 0x13; + address[256 + 0] = r; + for (let s = 0; s < ARGON2_SYNC_POINTS; s++) { + address[256 + 4] = s; + const dataIndependent = type == AT.Argon2i || (type == AT.Argon2id && r === 0 && s < 2); + for (let l = 0; l < p; l++) { + address[256 + 2] = l; + address[256 + 12] = 0; + let startPos = 0; + if (r === 0 && s === 0) { + startPos = 2; + if (dataIndependent) { + address[256 + 12]++; + block(address, 256, 2 * 256, 0, false); + block(address, 0, 2 * 256, 0, false); + } + } + // current block postion + let offset = l * laneLen + s * segmentLen + startPos; + // previous block position + let prev = offset % laneLen ? offset - 1 : offset + laneLen - 1; + for (let index = startPos; index < segmentLen; index++, offset++, prev++) { + perBlock(); + processBlock( + B, + address, + l, + r, + s, + index, + laneLen, + segmentLen, + lanes, + offset, + prev, + dataIndependent, + needXor + ); + } + } + } + } + clean(address); + return argon2Output(B, p, laneLen, dkLen); +} + +/** argon2d GPU-resistant version. */ +export const argon2d = (password: KDFInput, salt: KDFInput, opts: ArgonOpts): Uint8Array => + argon2(AT.Argond2d, password, salt, opts); +/** argon2i side-channel-resistant version. */ +export const argon2i = (password: KDFInput, salt: KDFInput, opts: ArgonOpts): Uint8Array => + argon2(AT.Argon2i, password, salt, opts); +/** argon2id, combining i+d, the most popular version from RFC 9106 */ +export const argon2id = (password: KDFInput, salt: KDFInput, opts: ArgonOpts): Uint8Array => + argon2(AT.Argon2id, password, salt, opts); + +async function argon2Async(type: Types, password: KDFInput, salt: KDFInput, opts: ArgonOpts) { + const { mP, p, t, version, B, laneLen, lanes, segmentLen, dkLen, perBlock, asyncTick } = + argon2Init(password, salt, type, opts); + // Pre-loop setup + // [address, input, zero_block] format so we can pass single U32 to block function + const address = new Uint32Array(3 * 256); + address[256 + 6] = mP; + address[256 + 8] = t; + address[256 + 10] = type; + let ts = Date.now(); + for (let r = 0; r < t; r++) { + const needXor = r !== 0 && version === 0x13; + address[256 + 0] = r; + for (let s = 0; s < ARGON2_SYNC_POINTS; s++) { + address[256 + 4] = s; + const dataIndependent = type == AT.Argon2i || (type == AT.Argon2id && r === 0 && s < 2); + for (let l = 0; l < p; l++) { + address[256 + 2] = l; + address[256 + 12] = 0; + let startPos = 0; + if (r === 0 && s === 0) { + startPos = 2; + if (dataIndependent) { + address[256 + 12]++; + block(address, 256, 2 * 256, 0, false); + block(address, 0, 2 * 256, 0, false); + } + } + // current block postion + let offset = l * laneLen + s * segmentLen + startPos; + // previous block position + let prev = offset % laneLen ? offset - 1 : offset + laneLen - 1; + for (let index = startPos; index < segmentLen; index++, offset++, prev++) { + perBlock(); + processBlock( + B, + address, + l, + r, + s, + index, + laneLen, + segmentLen, + lanes, + offset, + prev, + dataIndependent, + needXor + ); + // Date.now() is not monotonic, so in case if clock goes backwards we return return control too + const diff = Date.now() - ts; + if (!(diff >= 0 && diff < asyncTick)) { + await nextTick(); + ts += diff; + } + } + } + } + } + clean(address); + return argon2Output(B, p, laneLen, dkLen); +} + +/** argon2d async GPU-resistant version. */ +export const argon2dAsync = ( + password: KDFInput, + salt: KDFInput, + opts: ArgonOpts +): Promise => argon2Async(AT.Argond2d, password, salt, opts); +/** argon2i async side-channel-resistant version. */ +export const argon2iAsync = ( + password: KDFInput, + salt: KDFInput, + opts: ArgonOpts +): Promise => argon2Async(AT.Argon2i, password, salt, opts); +/** argon2id async, combining i+d, the most popular version from RFC 9106 */ +export const argon2idAsync = ( + password: KDFInput, + salt: KDFInput, + opts: ArgonOpts +): Promise => argon2Async(AT.Argon2id, password, salt, opts); diff --git a/node_modules/@noble/hashes/src/blake1.ts b/node_modules/@noble/hashes/src/blake1.ts new file mode 100644 index 0000000..d43ad26 --- /dev/null +++ b/node_modules/@noble/hashes/src/blake1.ts @@ -0,0 +1,534 @@ +/** + * Blake1 legacy hash function, one of SHA3 proposals. + * Rarely used. Check out blake2 or blake3 instead. + * https://www.aumasson.jp/blake/blake.pdf + * + * In the best case, there are 0 allocations. + * + * Differences from blake2: + * + * - BE instead of LE + * - Paddings, similar to MD5, RIPEMD, SHA1, SHA2, but: + * - length flag is located before actual length + * - padding block is compressed differently (no lengths) + * Instead of msg[sigma[k]], we have `msg[sigma[k]] ^ constants[sigma[k-1]]` + * (-1 for g1, g2 without -1) + * - Salt is XOR-ed into constants instead of state + * - Salt is XOR-ed with output in `compress` + * - Additional rows (+64 bytes) in SIGMA for new rounds + * - Different round count: + * - 14 / 10 rounds in blake256 / blake2s + * - 16 / 12 rounds in blake512 / blake2b + * - blake512: G1b: rotr 24 -> 25, G2b: rotr 63 -> 11 + * @module + */ +import { BSIGMA, G1s, G2s } from './_blake.ts'; +import { setBigUint64, SHA224_IV, SHA256_IV, SHA384_IV, SHA512_IV } from './_md.ts'; +import * as u64 from './_u64.ts'; +// prettier-ignore +import { + abytes, aexists, aoutput, + clean, createOptHasher, + createView, Hash, toBytes, + type CHashO, type Input, +} from './utils.ts'; + +/** Blake1 options. Basically just "salt" */ +export type BlakeOpts = { + salt?: Uint8Array; +}; + +// Empty zero-filled salt +const EMPTY_SALT = /* @__PURE__ */ new Uint32Array(8); + +abstract class BLAKE1> extends Hash { + protected finished = false; + protected length = 0; + protected pos = 0; + protected destroyed = false; + // For partial updates less than block size + protected buffer: Uint8Array; + protected view: DataView; + protected salt: Uint32Array; + abstract compress(view: DataView, offset: number, withLength?: boolean): void; + protected abstract get(): number[]; + protected abstract set(...args: number[]): void; + + readonly blockLen: number; + readonly outputLen: number; + private lengthFlag: number; + private counterLen: number; + protected constants: Uint32Array; + + constructor( + blockLen: number, + outputLen: number, + lengthFlag: number, + counterLen: number, + saltLen: number, + constants: Uint32Array, + opts: BlakeOpts = {} + ) { + super(); + const { salt } = opts; + this.blockLen = blockLen; + this.outputLen = outputLen; + this.lengthFlag = lengthFlag; + this.counterLen = counterLen; + this.buffer = new Uint8Array(blockLen); + this.view = createView(this.buffer); + if (salt) { + let slt = salt; + slt = toBytes(slt); + abytes(slt); + if (slt.length !== 4 * saltLen) throw new Error('wrong salt length'); + const salt32 = (this.salt = new Uint32Array(saltLen)); + const sv = createView(slt); + this.constants = constants.slice(); + for (let i = 0, offset = 0; i < salt32.length; i++, offset += 4) { + salt32[i] = sv.getUint32(offset, false); + this.constants[i] ^= salt32[i]; + } + } else { + this.salt = EMPTY_SALT; + this.constants = constants; + } + } + update(data: Input): this { + aexists(this); + data = toBytes(data); + abytes(data); + // From _md, but update length before each compress + const { view, buffer, blockLen } = this; + const len = data.length; + let dataView; + for (let pos = 0; pos < len; ) { + const take = Math.min(blockLen - this.pos, len - pos); + // Fast path: we have at least one block in input, cast it to view and process + if (take === blockLen) { + if (!dataView) dataView = createView(data); + for (; blockLen <= len - pos; pos += blockLen) { + this.length += blockLen; + this.compress(dataView, pos); + } + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + pos += take; + if (this.pos === blockLen) { + this.length += blockLen; + this.compress(view, 0, true); + this.pos = 0; + } + } + return this; + } + destroy(): void { + this.destroyed = true; + if (this.salt !== EMPTY_SALT) { + clean(this.salt, this.constants); + } + } + _cloneInto(to?: T): T { + to ||= new (this.constructor as any)() as T; + to.set(...this.get()); + const { buffer, length, finished, destroyed, constants, salt, pos } = this; + to.buffer.set(buffer); + to.constants = constants.slice(); + to.destroyed = destroyed; + to.finished = finished; + to.length = length; + to.pos = pos; + to.salt = salt.slice(); + return to; + } + clone(): T { + return this._cloneInto(); + } + digestInto(out: Uint8Array): void { + aexists(this); + aoutput(out, this); + this.finished = true; + // Padding + const { buffer, blockLen, counterLen, lengthFlag, view } = this; + clean(buffer.subarray(this.pos)); // clean buf + const counter = BigInt((this.length + this.pos) * 8); + const counterPos = blockLen - counterLen - 1; + buffer[this.pos] |= 0b1000_0000; // End block flag + this.length += this.pos; // add unwritten length + // Not enough in buffer for length: write what we have. + if (this.pos > counterPos) { + this.compress(view, 0); + clean(buffer); + this.pos = 0; + } + // Difference with md: here we have lengthFlag! + buffer[counterPos] |= lengthFlag; // Length flag + // We always set 8 byte length flag. Because length will overflow significantly sooner. + setBigUint64(view, blockLen - 8, counter, false); + this.compress(view, 0, this.pos !== 0); // don't add length if length is not empty block? + // Write output + clean(buffer); + const v = createView(out); + const state = this.get(); + for (let i = 0; i < this.outputLen / 4; ++i) v.setUint32(i * 4, state[i]); + } + digest(): Uint8Array { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } +} + +// Constants +const B64C = /* @__PURE__ */ Uint32Array.from([ + 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, + 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, + 0x9216d5d9, 0x8979fb1b, 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, + 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, +]); +// first half of C512 +const B32C = B64C.slice(0, 16); + +const B256_IV = SHA256_IV.slice(); +const B224_IV = SHA224_IV.slice(); +const B384_IV = SHA384_IV.slice(); +const B512_IV = SHA512_IV.slice(); + +function generateTBL256() { + const TBL = []; + for (let i = 0, j = 0; i < 14; i++, j += 16) { + for (let offset = 1; offset < 16; offset += 2) { + TBL.push(B32C[BSIGMA[j + offset]]); + TBL.push(B32C[BSIGMA[j + offset - 1]]); + } + } + return new Uint32Array(TBL); +} +const TBL256 = /* @__PURE__ */ generateTBL256(); // C256[SIGMA[X]] precompute + +// Reusable temporary buffer +const BLAKE256_W = /* @__PURE__ */ new Uint32Array(16); + +class Blake1_32 extends BLAKE1 { + private v0: number; + private v1: number; + private v2: number; + private v3: number; + private v4: number; + private v5: number; + private v6: number; + private v7: number; + constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts: BlakeOpts = {}) { + super(64, outputLen, lengthFlag, 8, 4, B32C, opts); + this.v0 = IV[0] | 0; + this.v1 = IV[1] | 0; + this.v2 = IV[2] | 0; + this.v3 = IV[3] | 0; + this.v4 = IV[4] | 0; + this.v5 = IV[5] | 0; + this.v6 = IV[6] | 0; + this.v7 = IV[7] | 0; + } + protected get(): [number, number, number, number, number, number, number, number] { + const { v0, v1, v2, v3, v4, v5, v6, v7 } = this; + return [v0, v1, v2, v3, v4, v5, v6, v7]; + } + // prettier-ignore + protected set( + v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number + ): void { + this.v0 = v0 | 0; + this.v1 = v1 | 0; + this.v2 = v2 | 0; + this.v3 = v3 | 0; + this.v4 = v4 | 0; + this.v5 = v5 | 0; + this.v6 = v6 | 0; + this.v7 = v7 | 0; + } + destroy(): void { + super.destroy(); + this.set(0, 0, 0, 0, 0, 0, 0, 0); + } + compress(view: DataView, offset: number, withLength = true): void { + for (let i = 0; i < 16; i++, offset += 4) BLAKE256_W[i] = view.getUint32(offset, false); + // NOTE: we cannot re-use compress from blake2s, since there is additional xor over u256[SIGMA[e]] + let v00 = this.v0 | 0; + let v01 = this.v1 | 0; + let v02 = this.v2 | 0; + let v03 = this.v3 | 0; + let v04 = this.v4 | 0; + let v05 = this.v5 | 0; + let v06 = this.v6 | 0; + let v07 = this.v7 | 0; + let v08 = this.constants[0] | 0; + let v09 = this.constants[1] | 0; + let v10 = this.constants[2] | 0; + let v11 = this.constants[3] | 0; + const { h, l } = u64.fromBig(BigInt(withLength ? this.length * 8 : 0)); + let v12 = (this.constants[4] ^ l) >>> 0; + let v13 = (this.constants[5] ^ l) >>> 0; + let v14 = (this.constants[6] ^ h) >>> 0; + let v15 = (this.constants[7] ^ h) >>> 0; + // prettier-ignore + for (let i = 0, k = 0, j = 0; i < 14; i++) { + ({ a: v00, b: v04, c: v08, d: v12 } = G1s(v00, v04, v08, v12, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v00, b: v04, c: v08, d: v12 } = G2s(v00, v04, v08, v12, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v05, c: v09, d: v13 } = G1s(v01, v05, v09, v13, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v05, c: v09, d: v13 } = G2s(v01, v05, v09, v13, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v06, c: v10, d: v14 } = G1s(v02, v06, v10, v14, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v06, c: v10, d: v14 } = G2s(v02, v06, v10, v14, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v07, c: v11, d: v15 } = G1s(v03, v07, v11, v15, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v07, c: v11, d: v15 } = G2s(v03, v07, v11, v15, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v00, b: v05, c: v10, d: v15 } = G1s(v00, v05, v10, v15, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v00, b: v05, c: v10, d: v15 } = G2s(v00, v05, v10, v15, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v06, c: v11, d: v12 } = G1s(v01, v06, v11, v12, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v01, b: v06, c: v11, d: v12 } = G2s(v01, v06, v11, v12, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v07, c: v08, d: v13 } = G1s(v02, v07, v08, v13, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v02, b: v07, c: v08, d: v13 } = G2s(v02, v07, v08, v13, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v04, c: v09, d: v14 } = G1s(v03, v04, v09, v14, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + ({ a: v03, b: v04, c: v09, d: v14 } = G2s(v03, v04, v09, v14, BLAKE256_W[BSIGMA[k++]] ^ TBL256[j++])); + } + this.v0 = (this.v0 ^ v00 ^ v08 ^ this.salt[0]) >>> 0; + this.v1 = (this.v1 ^ v01 ^ v09 ^ this.salt[1]) >>> 0; + this.v2 = (this.v2 ^ v02 ^ v10 ^ this.salt[2]) >>> 0; + this.v3 = (this.v3 ^ v03 ^ v11 ^ this.salt[3]) >>> 0; + this.v4 = (this.v4 ^ v04 ^ v12 ^ this.salt[0]) >>> 0; + this.v5 = (this.v5 ^ v05 ^ v13 ^ this.salt[1]) >>> 0; + this.v6 = (this.v6 ^ v06 ^ v14 ^ this.salt[2]) >>> 0; + this.v7 = (this.v7 ^ v07 ^ v15 ^ this.salt[3]) >>> 0; + clean(BLAKE256_W); + } +} + +const BBUF = /* @__PURE__ */ new Uint32Array(32); +const BLAKE512_W = /* @__PURE__ */ new Uint32Array(32); + +function generateTBL512() { + const TBL = []; + for (let r = 0, k = 0; r < 16; r++, k += 16) { + for (let offset = 1; offset < 16; offset += 2) { + TBL.push(B64C[BSIGMA[k + offset] * 2 + 0]); + TBL.push(B64C[BSIGMA[k + offset] * 2 + 1]); + TBL.push(B64C[BSIGMA[k + offset - 1] * 2 + 0]); + TBL.push(B64C[BSIGMA[k + offset - 1] * 2 + 1]); + } + } + return new Uint32Array(TBL); +} +const TBL512 = /* @__PURE__ */ generateTBL512(); // C512[SIGMA[X]] precompute + +// Mixing function G splitted in two halfs +function G1b(a: number, b: number, c: number, d: number, msg: Uint32Array, k: number) { + const Xpos = 2 * BSIGMA[k]; + const Xl = msg[Xpos + 1] ^ TBL512[k * 2 + 1], Xh = msg[Xpos] ^ TBL512[k * 2]; // prettier-ignore + let Al = BBUF[2 * a + 1], Ah = BBUF[2 * a]; // prettier-ignore + let Bl = BBUF[2 * b + 1], Bh = BBUF[2 * b]; // prettier-ignore + let Cl = BBUF[2 * c + 1], Ch = BBUF[2 * c]; // prettier-ignore + let Dl = BBUF[2 * d + 1], Dh = BBUF[2 * d]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh) >>> 0; + Al = (ll | 0) >>> 0; + // v[d] = rotr(v[d] ^ v[a], 32) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotr32H(Dh, Dl), Dl: u64.rotr32L(Dh, Dl) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 25) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 25), Bl: u64.rotrSL(Bh, Bl, 25) }); + (BBUF[2 * a + 1] = Al), (BBUF[2 * a] = Ah); + (BBUF[2 * b + 1] = Bl), (BBUF[2 * b] = Bh); + (BBUF[2 * c + 1] = Cl), (BBUF[2 * c] = Ch); + (BBUF[2 * d + 1] = Dl), (BBUF[2 * d] = Dh); +} + +function G2b(a: number, b: number, c: number, d: number, msg: Uint32Array, k: number) { + const Xpos = 2 * BSIGMA[k]; + const Xl = msg[Xpos + 1] ^ TBL512[k * 2 + 1], Xh = msg[Xpos] ^ TBL512[k * 2]; // prettier-ignore + let Al = BBUF[2 * a + 1], Ah = BBUF[2 * a]; // prettier-ignore + let Bl = BBUF[2 * b + 1], Bh = BBUF[2 * b]; // prettier-ignore + let Cl = BBUF[2 * c + 1], Ch = BBUF[2 * c]; // prettier-ignore + let Dl = BBUF[2 * d + 1], Dh = BBUF[2 * d]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh); + Al = ll | 0; + // v[d] = rotr(v[d] ^ v[a], 16) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotrSH(Dh, Dl, 16), Dl: u64.rotrSL(Dh, Dl, 16) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 11) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 11), Bl: u64.rotrSL(Bh, Bl, 11) }); + (BBUF[2 * a + 1] = Al), (BBUF[2 * a] = Ah); + (BBUF[2 * b + 1] = Bl), (BBUF[2 * b] = Bh); + (BBUF[2 * c + 1] = Cl), (BBUF[2 * c] = Ch); + (BBUF[2 * d + 1] = Dl), (BBUF[2 * d] = Dh); +} + +class Blake1_64 extends BLAKE1 { + private v0l: number; + private v0h: number; + private v1l: number; + private v1h: number; + private v2l: number; + private v2h: number; + private v3l: number; + private v3h: number; + private v4l: number; + private v4h: number; + private v5l: number; + private v5h: number; + private v6l: number; + private v6h: number; + private v7l: number; + private v7h: number; + constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts: BlakeOpts = {}) { + super(128, outputLen, lengthFlag, 16, 8, B64C, opts); + this.v0l = IV[0] | 0; + this.v0h = IV[1] | 0; + this.v1l = IV[2] | 0; + this.v1h = IV[3] | 0; + this.v2l = IV[4] | 0; + this.v2h = IV[5] | 0; + this.v3l = IV[6] | 0; + this.v3h = IV[7] | 0; + this.v4l = IV[8] | 0; + this.v4h = IV[9] | 0; + this.v5l = IV[10] | 0; + this.v5h = IV[11] | 0; + this.v6l = IV[12] | 0; + this.v6h = IV[13] | 0; + this.v7l = IV[14] | 0; + this.v7h = IV[15] | 0; + } + // prettier-ignore + protected get(): [ + number, number, number, number, number, number, number, number, + number, number, number, number, number, number, number, number + ] { + let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this; + return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h]; + } + // prettier-ignore + protected set( + v0l: number, v0h: number, v1l: number, v1h: number, + v2l: number, v2h: number, v3l: number, v3h: number, + v4l: number, v4h: number, v5l: number, v5h: number, + v6l: number, v6h: number, v7l: number, v7h: number + ): void { + this.v0l = v0l | 0; + this.v0h = v0h | 0; + this.v1l = v1l | 0; + this.v1h = v1h | 0; + this.v2l = v2l | 0; + this.v2h = v2h | 0; + this.v3l = v3l | 0; + this.v3h = v3h | 0; + this.v4l = v4l | 0; + this.v4h = v4h | 0; + this.v5l = v5l | 0; + this.v5h = v5h | 0; + this.v6l = v6l | 0; + this.v6h = v6h | 0; + this.v7l = v7l | 0; + this.v7h = v7h | 0; + } + destroy(): void { + super.destroy(); + this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + } + compress(view: DataView, offset: number, withLength = true): void { + for (let i = 0; i < 32; i++, offset += 4) BLAKE512_W[i] = view.getUint32(offset, false); + + this.get().forEach((v, i) => (BBUF[i] = v)); // First half from state. + BBUF.set(this.constants.subarray(0, 16), 16); + if (withLength) { + const { h, l } = u64.fromBig(BigInt(this.length * 8)); + BBUF[24] = (BBUF[24] ^ h) >>> 0; + BBUF[25] = (BBUF[25] ^ l) >>> 0; + BBUF[26] = (BBUF[26] ^ h) >>> 0; + BBUF[27] = (BBUF[27] ^ l) >>> 0; + } + for (let i = 0, k = 0; i < 16; i++) { + G1b(0, 4, 8, 12, BLAKE512_W, k++); + G2b(0, 4, 8, 12, BLAKE512_W, k++); + G1b(1, 5, 9, 13, BLAKE512_W, k++); + G2b(1, 5, 9, 13, BLAKE512_W, k++); + G1b(2, 6, 10, 14, BLAKE512_W, k++); + G2b(2, 6, 10, 14, BLAKE512_W, k++); + G1b(3, 7, 11, 15, BLAKE512_W, k++); + G2b(3, 7, 11, 15, BLAKE512_W, k++); + + G1b(0, 5, 10, 15, BLAKE512_W, k++); + G2b(0, 5, 10, 15, BLAKE512_W, k++); + G1b(1, 6, 11, 12, BLAKE512_W, k++); + G2b(1, 6, 11, 12, BLAKE512_W, k++); + G1b(2, 7, 8, 13, BLAKE512_W, k++); + G2b(2, 7, 8, 13, BLAKE512_W, k++); + G1b(3, 4, 9, 14, BLAKE512_W, k++); + G2b(3, 4, 9, 14, BLAKE512_W, k++); + } + this.v0l ^= BBUF[0] ^ BBUF[16] ^ this.salt[0]; + this.v0h ^= BBUF[1] ^ BBUF[17] ^ this.salt[1]; + this.v1l ^= BBUF[2] ^ BBUF[18] ^ this.salt[2]; + this.v1h ^= BBUF[3] ^ BBUF[19] ^ this.salt[3]; + this.v2l ^= BBUF[4] ^ BBUF[20] ^ this.salt[4]; + this.v2h ^= BBUF[5] ^ BBUF[21] ^ this.salt[5]; + this.v3l ^= BBUF[6] ^ BBUF[22] ^ this.salt[6]; + this.v3h ^= BBUF[7] ^ BBUF[23] ^ this.salt[7]; + this.v4l ^= BBUF[8] ^ BBUF[24] ^ this.salt[0]; + this.v4h ^= BBUF[9] ^ BBUF[25] ^ this.salt[1]; + this.v5l ^= BBUF[10] ^ BBUF[26] ^ this.salt[2]; + this.v5h ^= BBUF[11] ^ BBUF[27] ^ this.salt[3]; + this.v6l ^= BBUF[12] ^ BBUF[28] ^ this.salt[4]; + this.v6h ^= BBUF[13] ^ BBUF[29] ^ this.salt[5]; + this.v7l ^= BBUF[14] ^ BBUF[30] ^ this.salt[6]; + this.v7h ^= BBUF[15] ^ BBUF[31] ^ this.salt[7]; + clean(BBUF, BLAKE512_W); + } +} + +export class BLAKE224 extends Blake1_32 { + constructor(opts: BlakeOpts = {}) { + super(28, B224_IV, 0b0000_0000, opts); + } +} +export class BLAKE256 extends Blake1_32 { + constructor(opts: BlakeOpts = {}) { + super(32, B256_IV, 0b0000_0001, opts); + } +} +export class BLAKE384 extends Blake1_64 { + constructor(opts: BlakeOpts = {}) { + super(48, B384_IV, 0b0000_0000, opts); + } +} +export class BLAKE512 extends Blake1_64 { + constructor(opts: BlakeOpts = {}) { + super(64, B512_IV, 0b0000_0001, opts); + } +} +/** blake1-224 hash function */ +export const blake224: CHashO = /* @__PURE__ */ createOptHasher( + (opts) => new BLAKE224(opts) +); +/** blake1-256 hash function */ +export const blake256: CHashO = /* @__PURE__ */ createOptHasher( + (opts) => new BLAKE256(opts) +); +/** blake1-384 hash function */ +export const blake384: CHashO = /* @__PURE__ */ createOptHasher( + (opts) => new BLAKE384(opts) +); +/** blake1-512 hash function */ +export const blake512: CHashO = /* @__PURE__ */ createOptHasher( + (opts) => new BLAKE512(opts) +); diff --git a/node_modules/@noble/hashes/src/blake2.ts b/node_modules/@noble/hashes/src/blake2.ts new file mode 100644 index 0000000..3f8509f --- /dev/null +++ b/node_modules/@noble/hashes/src/blake2.ts @@ -0,0 +1,486 @@ +/** + * blake2b (64-bit) & blake2s (8 to 32-bit) hash functions. + * b could have been faster, but there is no fast u64 in js, so s is 1.5x faster. + * @module + */ +import { BSIGMA, G1s, G2s } from './_blake.ts'; +import { SHA256_IV } from './_md.ts'; +import * as u64 from './_u64.ts'; +// prettier-ignore +import { + abytes, aexists, anumber, aoutput, + clean, createOptHasher, Hash, swap32IfBE, swap8IfBE, toBytes, u32, + type CHashO, type Input +} from './utils.ts'; + +/** Blake hash options. dkLen is output length. key is used in MAC mode. salt is used in KDF mode. */ +export type Blake2Opts = { + dkLen?: number; + key?: Input; + salt?: Input; + personalization?: Input; +}; + +// Same as SHA512_IV, but swapped endianness: LE instead of BE. iv[1] is iv[0], etc. +const B2B_IV = /* @__PURE__ */ Uint32Array.from([ + 0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372, 0x5f1d36f1, 0xa54ff53a, + 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c, 0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19, +]); +// Temporary buffer +const BBUF = /* @__PURE__ */ new Uint32Array(32); + +// Mixing function G splitted in two halfs +function G1b(a: number, b: number, c: number, d: number, msg: Uint32Array, x: number) { + // NOTE: V is LE here + const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore + let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore + let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore + let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore + let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh); + Al = ll | 0; + // v[d] = rotr(v[d] ^ v[a], 32) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotr32H(Dh, Dl), Dl: u64.rotr32L(Dh, Dl) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 24) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 24), Bl: u64.rotrSL(Bh, Bl, 24) }); + (BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah); + (BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh); + (BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch); + (BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh); +} + +function G2b(a: number, b: number, c: number, d: number, msg: Uint32Array, x: number) { + // NOTE: V is LE here + const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore + let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore + let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore + let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore + let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore + // v[a] = (v[a] + v[b] + x) | 0; + let ll = u64.add3L(Al, Bl, Xl); + Ah = u64.add3H(ll, Ah, Bh, Xh); + Al = ll | 0; + // v[d] = rotr(v[d] ^ v[a], 16) + ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al }); + ({ Dh, Dl } = { Dh: u64.rotrSH(Dh, Dl, 16), Dl: u64.rotrSL(Dh, Dl, 16) }); + // v[c] = (v[c] + v[d]) | 0; + ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl)); + // v[b] = rotr(v[b] ^ v[c], 63) + ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl }); + ({ Bh, Bl } = { Bh: u64.rotrBH(Bh, Bl, 63), Bl: u64.rotrBL(Bh, Bl, 63) }); + (BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah); + (BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh); + (BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch); + (BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh); +} + +function checkBlake2Opts( + outputLen: number, + opts: Blake2Opts | undefined = {}, + keyLen: number, + saltLen: number, + persLen: number +) { + anumber(keyLen); + if (outputLen < 0 || outputLen > keyLen) throw new Error('outputLen bigger than keyLen'); + const { key, salt, personalization } = opts; + if (key !== undefined && (key.length < 1 || key.length > keyLen)) + throw new Error('key length must be undefined or 1..' + keyLen); + if (salt !== undefined && salt.length !== saltLen) + throw new Error('salt must be undefined or ' + saltLen); + if (personalization !== undefined && personalization.length !== persLen) + throw new Error('personalization must be undefined or ' + persLen); +} + +/** Class, from which others are subclassed. */ +export abstract class BLAKE2> extends Hash { + protected abstract compress(msg: Uint32Array, offset: number, isLast: boolean): void; + protected abstract get(): number[]; + protected abstract set(...args: number[]): void; + abstract destroy(): void; + protected buffer: Uint8Array; + protected buffer32: Uint32Array; + protected finished = false; + protected destroyed = false; + protected length: number = 0; + protected pos: number = 0; + readonly blockLen: number; + readonly outputLen: number; + + constructor(blockLen: number, outputLen: number) { + super(); + anumber(blockLen); + anumber(outputLen); + this.blockLen = blockLen; + this.outputLen = outputLen; + this.buffer = new Uint8Array(blockLen); + this.buffer32 = u32(this.buffer); + } + update(data: Input): this { + aexists(this); + data = toBytes(data); + abytes(data); + // Main difference with other hashes: there is flag for last block, + // so we cannot process current block before we know that there + // is the next one. This significantly complicates logic and reduces ability + // to do zero-copy processing + const { blockLen, buffer, buffer32 } = this; + const len = data.length; + const offset = data.byteOffset; + const buf = data.buffer; + for (let pos = 0; pos < len; ) { + // If buffer is full and we still have input (don't process last block, same as blake2s) + if (this.pos === blockLen) { + swap32IfBE(buffer32); + this.compress(buffer32, 0, false); + swap32IfBE(buffer32); + this.pos = 0; + } + const take = Math.min(blockLen - this.pos, len - pos); + const dataOffset = offset + pos; + // full block && aligned to 4 bytes && not last in input + if (take === blockLen && !(dataOffset % 4) && pos + take < len) { + const data32 = new Uint32Array(buf, dataOffset, Math.floor((len - pos) / 4)); + swap32IfBE(data32); + for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) { + this.length += blockLen; + this.compress(data32, pos32, false); + } + swap32IfBE(data32); + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + this.length += take; + pos += take; + } + return this; + } + digestInto(out: Uint8Array): void { + aexists(this); + aoutput(out, this); + const { pos, buffer32 } = this; + this.finished = true; + // Padding + clean(this.buffer.subarray(pos)); + swap32IfBE(buffer32); + this.compress(buffer32, 0, true); + swap32IfBE(buffer32); + const out32 = u32(out); + this.get().forEach((v, i) => (out32[i] = swap8IfBE(v))); + } + digest(): Uint8Array { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } + _cloneInto(to?: T): T { + const { buffer, length, finished, destroyed, outputLen, pos } = this; + to ||= new (this.constructor as any)({ dkLen: outputLen }) as T; + to.set(...this.get()); + to.buffer.set(buffer); + to.destroyed = destroyed; + to.finished = finished; + to.length = length; + to.pos = pos; + // @ts-ignore + to.outputLen = outputLen; + return to; + } + clone(): T { + return this._cloneInto(); + } +} + +export class BLAKE2b extends BLAKE2 { + // Same as SHA-512, but LE + private v0l = B2B_IV[0] | 0; + private v0h = B2B_IV[1] | 0; + private v1l = B2B_IV[2] | 0; + private v1h = B2B_IV[3] | 0; + private v2l = B2B_IV[4] | 0; + private v2h = B2B_IV[5] | 0; + private v3l = B2B_IV[6] | 0; + private v3h = B2B_IV[7] | 0; + private v4l = B2B_IV[8] | 0; + private v4h = B2B_IV[9] | 0; + private v5l = B2B_IV[10] | 0; + private v5h = B2B_IV[11] | 0; + private v6l = B2B_IV[12] | 0; + private v6h = B2B_IV[13] | 0; + private v7l = B2B_IV[14] | 0; + private v7h = B2B_IV[15] | 0; + + constructor(opts: Blake2Opts = {}) { + const olen = opts.dkLen === undefined ? 64 : opts.dkLen; + super(128, olen); + checkBlake2Opts(olen, opts, 64, 16, 16); + let { key, personalization, salt } = opts; + let keyLength = 0; + if (key !== undefined) { + key = toBytes(key); + keyLength = key.length; + } + this.v0l ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24); + if (salt !== undefined) { + salt = toBytes(salt); + const slt = u32(salt); + this.v4l ^= swap8IfBE(slt[0]); + this.v4h ^= swap8IfBE(slt[1]); + this.v5l ^= swap8IfBE(slt[2]); + this.v5h ^= swap8IfBE(slt[3]); + } + if (personalization !== undefined) { + personalization = toBytes(personalization); + const pers = u32(personalization); + this.v6l ^= swap8IfBE(pers[0]); + this.v6h ^= swap8IfBE(pers[1]); + this.v7l ^= swap8IfBE(pers[2]); + this.v7h ^= swap8IfBE(pers[3]); + } + if (key !== undefined) { + // Pad to blockLen and update + const tmp = new Uint8Array(this.blockLen); + tmp.set(key); + this.update(tmp); + } + } + // prettier-ignore + protected get(): [ + number, number, number, number, number, number, number, number, + number, number, number, number, number, number, number, number + ] { + let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this; + return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h]; + } + // prettier-ignore + protected set( + v0l: number, v0h: number, v1l: number, v1h: number, + v2l: number, v2h: number, v3l: number, v3h: number, + v4l: number, v4h: number, v5l: number, v5h: number, + v6l: number, v6h: number, v7l: number, v7h: number + ): void { + this.v0l = v0l | 0; + this.v0h = v0h | 0; + this.v1l = v1l | 0; + this.v1h = v1h | 0; + this.v2l = v2l | 0; + this.v2h = v2h | 0; + this.v3l = v3l | 0; + this.v3h = v3h | 0; + this.v4l = v4l | 0; + this.v4h = v4h | 0; + this.v5l = v5l | 0; + this.v5h = v5h | 0; + this.v6l = v6l | 0; + this.v6h = v6h | 0; + this.v7l = v7l | 0; + this.v7h = v7h | 0; + } + protected compress(msg: Uint32Array, offset: number, isLast: boolean): void { + this.get().forEach((v, i) => (BBUF[i] = v)); // First half from state. + BBUF.set(B2B_IV, 16); // Second half from IV. + let { h, l } = u64.fromBig(BigInt(this.length)); + BBUF[24] = B2B_IV[8] ^ l; // Low word of the offset. + BBUF[25] = B2B_IV[9] ^ h; // High word. + // Invert all bits for last block + if (isLast) { + BBUF[28] = ~BBUF[28]; + BBUF[29] = ~BBUF[29]; + } + let j = 0; + const s = BSIGMA; + for (let i = 0; i < 12; i++) { + G1b(0, 4, 8, 12, msg, offset + 2 * s[j++]); + G2b(0, 4, 8, 12, msg, offset + 2 * s[j++]); + G1b(1, 5, 9, 13, msg, offset + 2 * s[j++]); + G2b(1, 5, 9, 13, msg, offset + 2 * s[j++]); + G1b(2, 6, 10, 14, msg, offset + 2 * s[j++]); + G2b(2, 6, 10, 14, msg, offset + 2 * s[j++]); + G1b(3, 7, 11, 15, msg, offset + 2 * s[j++]); + G2b(3, 7, 11, 15, msg, offset + 2 * s[j++]); + + G1b(0, 5, 10, 15, msg, offset + 2 * s[j++]); + G2b(0, 5, 10, 15, msg, offset + 2 * s[j++]); + G1b(1, 6, 11, 12, msg, offset + 2 * s[j++]); + G2b(1, 6, 11, 12, msg, offset + 2 * s[j++]); + G1b(2, 7, 8, 13, msg, offset + 2 * s[j++]); + G2b(2, 7, 8, 13, msg, offset + 2 * s[j++]); + G1b(3, 4, 9, 14, msg, offset + 2 * s[j++]); + G2b(3, 4, 9, 14, msg, offset + 2 * s[j++]); + } + this.v0l ^= BBUF[0] ^ BBUF[16]; + this.v0h ^= BBUF[1] ^ BBUF[17]; + this.v1l ^= BBUF[2] ^ BBUF[18]; + this.v1h ^= BBUF[3] ^ BBUF[19]; + this.v2l ^= BBUF[4] ^ BBUF[20]; + this.v2h ^= BBUF[5] ^ BBUF[21]; + this.v3l ^= BBUF[6] ^ BBUF[22]; + this.v3h ^= BBUF[7] ^ BBUF[23]; + this.v4l ^= BBUF[8] ^ BBUF[24]; + this.v4h ^= BBUF[9] ^ BBUF[25]; + this.v5l ^= BBUF[10] ^ BBUF[26]; + this.v5h ^= BBUF[11] ^ BBUF[27]; + this.v6l ^= BBUF[12] ^ BBUF[28]; + this.v6h ^= BBUF[13] ^ BBUF[29]; + this.v7l ^= BBUF[14] ^ BBUF[30]; + this.v7h ^= BBUF[15] ^ BBUF[31]; + clean(BBUF); + } + destroy(): void { + this.destroyed = true; + clean(this.buffer32); + this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + } +} + +/** + * Blake2b hash function. 64-bit. 1.5x slower than blake2s in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +export const blake2b: CHashO = /* @__PURE__ */ createOptHasher( + (opts) => new BLAKE2b(opts) +); + +// ================= +// Blake2S +// ================= + +// prettier-ignore +export type Num16 = { + v0: number; v1: number; v2: number; v3: number; + v4: number; v5: number; v6: number; v7: number; + v8: number; v9: number; v10: number; v11: number; + v12: number; v13: number; v14: number; v15: number; +}; + +// prettier-ignore +export function compress(s: Uint8Array, offset: number, msg: Uint32Array, rounds: number, + v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, + v8: number, v9: number, v10: number, v11: number, v12: number, v13: number, v14: number, v15: number, +): Num16 { + let j = 0; + for (let i = 0; i < rounds; i++) { + ({ a: v0, b: v4, c: v8, d: v12 } = G1s(v0, v4, v8, v12, msg[offset + s[j++]])); + ({ a: v0, b: v4, c: v8, d: v12 } = G2s(v0, v4, v8, v12, msg[offset + s[j++]])); + ({ a: v1, b: v5, c: v9, d: v13 } = G1s(v1, v5, v9, v13, msg[offset + s[j++]])); + ({ a: v1, b: v5, c: v9, d: v13 } = G2s(v1, v5, v9, v13, msg[offset + s[j++]])); + ({ a: v2, b: v6, c: v10, d: v14 } = G1s(v2, v6, v10, v14, msg[offset + s[j++]])); + ({ a: v2, b: v6, c: v10, d: v14 } = G2s(v2, v6, v10, v14, msg[offset + s[j++]])); + ({ a: v3, b: v7, c: v11, d: v15 } = G1s(v3, v7, v11, v15, msg[offset + s[j++]])); + ({ a: v3, b: v7, c: v11, d: v15 } = G2s(v3, v7, v11, v15, msg[offset + s[j++]])); + + ({ a: v0, b: v5, c: v10, d: v15 } = G1s(v0, v5, v10, v15, msg[offset + s[j++]])); + ({ a: v0, b: v5, c: v10, d: v15 } = G2s(v0, v5, v10, v15, msg[offset + s[j++]])); + ({ a: v1, b: v6, c: v11, d: v12 } = G1s(v1, v6, v11, v12, msg[offset + s[j++]])); + ({ a: v1, b: v6, c: v11, d: v12 } = G2s(v1, v6, v11, v12, msg[offset + s[j++]])); + ({ a: v2, b: v7, c: v8, d: v13 } = G1s(v2, v7, v8, v13, msg[offset + s[j++]])); + ({ a: v2, b: v7, c: v8, d: v13 } = G2s(v2, v7, v8, v13, msg[offset + s[j++]])); + ({ a: v3, b: v4, c: v9, d: v14 } = G1s(v3, v4, v9, v14, msg[offset + s[j++]])); + ({ a: v3, b: v4, c: v9, d: v14 } = G2s(v3, v4, v9, v14, msg[offset + s[j++]])); + } + return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 }; +} + +const B2S_IV = SHA256_IV; +export class BLAKE2s extends BLAKE2 { + // Internal state, same as SHA-256 + private v0 = B2S_IV[0] | 0; + private v1 = B2S_IV[1] | 0; + private v2 = B2S_IV[2] | 0; + private v3 = B2S_IV[3] | 0; + private v4 = B2S_IV[4] | 0; + private v5 = B2S_IV[5] | 0; + private v6 = B2S_IV[6] | 0; + private v7 = B2S_IV[7] | 0; + + constructor(opts: Blake2Opts = {}) { + const olen = opts.dkLen === undefined ? 32 : opts.dkLen; + super(64, olen); + checkBlake2Opts(olen, opts, 32, 8, 8); + let { key, personalization, salt } = opts; + let keyLength = 0; + if (key !== undefined) { + key = toBytes(key); + keyLength = key.length; + } + this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24); + if (salt !== undefined) { + salt = toBytes(salt); + const slt = u32(salt as Uint8Array); + this.v4 ^= swap8IfBE(slt[0]); + this.v5 ^= swap8IfBE(slt[1]); + } + if (personalization !== undefined) { + personalization = toBytes(personalization); + const pers = u32(personalization as Uint8Array); + this.v6 ^= swap8IfBE(pers[0]); + this.v7 ^= swap8IfBE(pers[1]); + } + if (key !== undefined) { + // Pad to blockLen and update + abytes(key); + const tmp = new Uint8Array(this.blockLen); + tmp.set(key); + this.update(tmp); + } + } + protected get(): [number, number, number, number, number, number, number, number] { + const { v0, v1, v2, v3, v4, v5, v6, v7 } = this; + return [v0, v1, v2, v3, v4, v5, v6, v7]; + } + // prettier-ignore + protected set( + v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number + ): void { + this.v0 = v0 | 0; + this.v1 = v1 | 0; + this.v2 = v2 | 0; + this.v3 = v3 | 0; + this.v4 = v4 | 0; + this.v5 = v5 | 0; + this.v6 = v6 | 0; + this.v7 = v7 | 0; + } + protected compress(msg: Uint32Array, offset: number, isLast: boolean): void { + const { h, l } = u64.fromBig(BigInt(this.length)); + // prettier-ignore + const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = + compress( + BSIGMA, offset, msg, 10, + this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, + B2S_IV[0], B2S_IV[1], B2S_IV[2], B2S_IV[3], l ^ B2S_IV[4], h ^ B2S_IV[5], isLast ? ~B2S_IV[6] : B2S_IV[6], B2S_IV[7] + ); + this.v0 ^= v0 ^ v8; + this.v1 ^= v1 ^ v9; + this.v2 ^= v2 ^ v10; + this.v3 ^= v3 ^ v11; + this.v4 ^= v4 ^ v12; + this.v5 ^= v5 ^ v13; + this.v6 ^= v6 ^ v14; + this.v7 ^= v7 ^ v15; + } + destroy(): void { + this.destroyed = true; + clean(this.buffer32); + this.set(0, 0, 0, 0, 0, 0, 0, 0); + } +} + +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. 1.5x faster than blake2b in JS. + * @param msg - message that would be hashed + * @param opts - dkLen output length, key for MAC mode, salt, personalization + */ +export const blake2s: CHashO = /* @__PURE__ */ createOptHasher( + (opts) => new BLAKE2s(opts) +); diff --git a/node_modules/@noble/hashes/src/blake2b.ts b/node_modules/@noble/hashes/src/blake2b.ts new file mode 100644 index 0000000..ddfeadf --- /dev/null +++ b/node_modules/@noble/hashes/src/blake2b.ts @@ -0,0 +1,10 @@ +/** + * Blake2b hash function. Focuses on 64-bit platforms, but in JS speed different from Blake2s is negligible. + * @module + * @deprecated + */ +import { BLAKE2b as B2B, blake2b as b2b } from './blake2.ts'; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const BLAKE2b: typeof B2B = B2B; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const blake2b: typeof b2b = b2b; diff --git a/node_modules/@noble/hashes/src/blake2s.ts b/node_modules/@noble/hashes/src/blake2s.ts new file mode 100644 index 0000000..7c753b7 --- /dev/null +++ b/node_modules/@noble/hashes/src/blake2s.ts @@ -0,0 +1,20 @@ +/** + * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. blake2b for 64-bit, but in JS it is slower. + * @module + * @deprecated + */ +import { G1s as G1s_n, G2s as G2s_n } from './_blake.ts'; +import { SHA256_IV } from './_md.ts'; +import { BLAKE2s as B2S, blake2s as b2s, compress as compress_n } from './blake2.ts'; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const B2S_IV: Uint32Array = SHA256_IV; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const G1s: typeof G1s_n = G1s_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const G2s: typeof G2s_n = G2s_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const compress: typeof compress_n = compress_n; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const BLAKE2s: typeof B2S = B2S; +/** @deprecated Use import from `noble/hashes/blake2` module */ +export const blake2s: typeof b2s = b2s; diff --git a/node_modules/@noble/hashes/src/blake3.ts b/node_modules/@noble/hashes/src/blake3.ts new file mode 100644 index 0000000..e08395b --- /dev/null +++ b/node_modules/@noble/hashes/src/blake3.ts @@ -0,0 +1,272 @@ +/** + * Blake3 fast hash is Blake2 with reduced security (round count). Can also be used as MAC & KDF. + * + * It is advertised as "the fastest cryptographic hash". However, it isn't true in JS. + * Why is this so slow? While it should be 6x faster than blake2b, perf diff is only 20%: + * + * * There is only 30% reduction in number of rounds from blake2s + * * Speed-up comes from tree structure, which is parallelized using SIMD & threading. + * These features are not present in JS, so we only get overhead from trees. + * * Parallelization only happens on 1024-byte chunks: there is no benefit for small inputs. + * * It is still possible to make it faster using: a) loop unrolling b) web workers c) wasm + * @module + */ +import { SHA256_IV } from './_md.ts'; +import { fromBig } from './_u64.ts'; +import { BLAKE2, compress } from './blake2.ts'; +// prettier-ignore +import { + abytes, aexists, anumber, aoutput, + clean, createXOFer, swap32IfBE, toBytes, u32, u8, + type CHashXO, type HashXOF, type Input +} from './utils.ts'; + +// Flag bitset +const B3_Flags = { + CHUNK_START: 0b1, + CHUNK_END: 0b10, + PARENT: 0b100, + ROOT: 0b1000, + KEYED_HASH: 0b10000, + DERIVE_KEY_CONTEXT: 0b100000, + DERIVE_KEY_MATERIAL: 0b1000000, +} as const; + +const B3_IV = SHA256_IV.slice(); + +const B3_SIGMA: Uint8Array = /* @__PURE__ */ (() => { + const Id = Array.from({ length: 16 }, (_, i) => i); + const permute = (arr: number[]) => + [2, 6, 3, 10, 7, 0, 4, 13, 1, 11, 12, 5, 9, 14, 15, 8].map((i) => arr[i]); + const res: number[] = []; + for (let i = 0, v = Id; i < 7; i++, v = permute(v)) res.push(...v); + return Uint8Array.from(res); +})(); + +/** + * Ensure to use EITHER `key` OR `context`, not both. + * + * * `key`: 32-byte MAC key. + * * `context`: string for KDF. Should be hardcoded, globally unique, and application - specific. + * A good default format for the context string is "[application] [commit timestamp] [purpose]". + */ +export type Blake3Opts = { dkLen?: number; key?: Input; context?: Input }; + +/** Blake3 hash. Can be used as MAC and KDF. */ +export class BLAKE3 extends BLAKE2 implements HashXOF { + private chunkPos = 0; // Position of current block in chunk + private chunksDone = 0; // How many chunks we already have + private flags = 0 | 0; + private IV: Uint32Array; + private state: Uint32Array; + private stack: Uint32Array[] = []; + // Output + private posOut = 0; + private bufferOut32 = new Uint32Array(16); + private bufferOut: Uint8Array; + private chunkOut = 0; // index of output chunk + private enableXOF = true; + + constructor(opts: Blake3Opts = {}, flags = 0) { + super(64, opts.dkLen === undefined ? 32 : opts.dkLen); + const { key, context } = opts; + const hasContext = context !== undefined; + if (key !== undefined) { + if (hasContext) throw new Error('Only "key" or "context" can be specified at same time'); + const k = toBytes(key).slice(); + abytes(k, 32); + this.IV = u32(k); + swap32IfBE(this.IV); + this.flags = flags | B3_Flags.KEYED_HASH; + } else if (hasContext) { + const ctx = toBytes(context); + const contextKey = new BLAKE3({ dkLen: 32 }, B3_Flags.DERIVE_KEY_CONTEXT) + .update(ctx) + .digest(); + this.IV = u32(contextKey); + swap32IfBE(this.IV); + this.flags = flags | B3_Flags.DERIVE_KEY_MATERIAL; + } else { + this.IV = B3_IV.slice(); + this.flags = flags; + } + this.state = this.IV.slice(); + this.bufferOut = u8(this.bufferOut32); + } + // Unused + protected get(): [] { + return []; + } + protected set(): void {} + private b2Compress(counter: number, flags: number, buf: Uint32Array, bufPos: number = 0) { + const { state: s, pos } = this; + const { h, l } = fromBig(BigInt(counter), true); + // prettier-ignore + const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = + compress( + B3_SIGMA, bufPos, buf, 7, + s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], + B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], h, l, pos, flags + ); + s[0] = v0 ^ v8; + s[1] = v1 ^ v9; + s[2] = v2 ^ v10; + s[3] = v3 ^ v11; + s[4] = v4 ^ v12; + s[5] = v5 ^ v13; + s[6] = v6 ^ v14; + s[7] = v7 ^ v15; + } + protected compress(buf: Uint32Array, bufPos: number = 0, isLast: boolean = false): void { + // Compress last block + let flags = this.flags; + if (!this.chunkPos) flags |= B3_Flags.CHUNK_START; + if (this.chunkPos === 15 || isLast) flags |= B3_Flags.CHUNK_END; + if (!isLast) this.pos = this.blockLen; + this.b2Compress(this.chunksDone, flags, buf, bufPos); + this.chunkPos += 1; + // If current block is last in chunk (16 blocks), then compress chunks + if (this.chunkPos === 16 || isLast) { + let chunk = this.state; + this.state = this.IV.slice(); + // If not the last one, compress only when there are trailing zeros in chunk counter + // chunks used as binary tree where current stack is path. Zero means current leaf is finished and can be compressed. + // 1 (001) - leaf not finished (just push current chunk to stack) + // 2 (010) - leaf finished at depth=1 (merge with last elm on stack and push back) + // 3 (011) - last leaf not finished + // 4 (100) - leafs finished at depth=1 and depth=2 + for (let last, chunks = this.chunksDone + 1; isLast || !(chunks & 1); chunks >>= 1) { + if (!(last = this.stack.pop())) break; + this.buffer32.set(last, 0); + this.buffer32.set(chunk, 8); + this.pos = this.blockLen; + this.b2Compress(0, this.flags | B3_Flags.PARENT, this.buffer32, 0); + chunk = this.state; + this.state = this.IV.slice(); + } + this.chunksDone++; + this.chunkPos = 0; + this.stack.push(chunk); + } + this.pos = 0; + } + _cloneInto(to?: BLAKE3): BLAKE3 { + to = super._cloneInto(to) as BLAKE3; + const { IV, flags, state, chunkPos, posOut, chunkOut, stack, chunksDone } = this; + to.state.set(state.slice()); + to.stack = stack.map((i) => Uint32Array.from(i)); + to.IV.set(IV); + to.flags = flags; + to.chunkPos = chunkPos; + to.chunksDone = chunksDone; + to.posOut = posOut; + to.chunkOut = chunkOut; + to.enableXOF = this.enableXOF; + to.bufferOut32.set(this.bufferOut32); + return to; + } + destroy(): void { + this.destroyed = true; + clean(this.state, this.buffer32, this.IV, this.bufferOut32); + clean(...this.stack); + } + // Same as b2Compress, but doesn't modify state and returns 16 u32 array (instead of 8) + private b2CompressOut() { + const { state: s, pos, flags, buffer32, bufferOut32: out32 } = this; + const { h, l } = fromBig(BigInt(this.chunkOut++)); + swap32IfBE(buffer32); + // prettier-ignore + const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = + compress( + B3_SIGMA, 0, buffer32, 7, + s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], + B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], l, h, pos, flags + ); + out32[0] = v0 ^ v8; + out32[1] = v1 ^ v9; + out32[2] = v2 ^ v10; + out32[3] = v3 ^ v11; + out32[4] = v4 ^ v12; + out32[5] = v5 ^ v13; + out32[6] = v6 ^ v14; + out32[7] = v7 ^ v15; + out32[8] = s[0] ^ v8; + out32[9] = s[1] ^ v9; + out32[10] = s[2] ^ v10; + out32[11] = s[3] ^ v11; + out32[12] = s[4] ^ v12; + out32[13] = s[5] ^ v13; + out32[14] = s[6] ^ v14; + out32[15] = s[7] ^ v15; + swap32IfBE(buffer32); + swap32IfBE(out32); + this.posOut = 0; + } + protected finish(): void { + if (this.finished) return; + this.finished = true; + // Padding + clean(this.buffer.subarray(this.pos)); + // Process last chunk + let flags = this.flags | B3_Flags.ROOT; + if (this.stack.length) { + flags |= B3_Flags.PARENT; + swap32IfBE(this.buffer32); + this.compress(this.buffer32, 0, true); + swap32IfBE(this.buffer32); + this.chunksDone = 0; + this.pos = this.blockLen; + } else { + flags |= (!this.chunkPos ? B3_Flags.CHUNK_START : 0) | B3_Flags.CHUNK_END; + } + this.flags = flags; + this.b2CompressOut(); + } + private writeInto(out: Uint8Array) { + aexists(this, false); + abytes(out); + this.finish(); + const { blockLen, bufferOut } = this; + for (let pos = 0, len = out.length; pos < len; ) { + if (this.posOut >= blockLen) this.b2CompressOut(); + const take = Math.min(blockLen - this.posOut, len - pos); + out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos); + this.posOut += take; + pos += take; + } + return out; + } + xofInto(out: Uint8Array): Uint8Array { + if (!this.enableXOF) throw new Error('XOF is not possible after digest call'); + return this.writeInto(out); + } + xof(bytes: number): Uint8Array { + anumber(bytes); + return this.xofInto(new Uint8Array(bytes)); + } + digestInto(out: Uint8Array): Uint8Array { + aoutput(out, this); + if (this.finished) throw new Error('digest() was already called'); + this.enableXOF = false; + this.writeInto(out); + this.destroy(); + return out; + } + digest(): Uint8Array { + return this.digestInto(new Uint8Array(this.outputLen)); + } +} + +/** + * BLAKE3 hash function. Can be used as MAC and KDF. + * @param msg - message that would be hashed + * @param opts - `dkLen` for output length, `key` for MAC mode, `context` for KDF mode + * @example + * const data = new Uint8Array(32); + * const hash = blake3(data); + * const mac = blake3(data, { key: new Uint8Array(32) }); + * const kdf = blake3(data, { context: 'application name' }); + */ +export const blake3: CHashXO = /* @__PURE__ */ createXOFer( + (opts) => new BLAKE3(opts) +); diff --git a/node_modules/@noble/hashes/src/crypto.ts b/node_modules/@noble/hashes/src/crypto.ts new file mode 100644 index 0000000..61a59cf --- /dev/null +++ b/node_modules/@noble/hashes/src/crypto.ts @@ -0,0 +1,9 @@ +/** + * Internal webcrypto alias. + * We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+. + * See utils.ts for details. + * @module + */ +declare const globalThis: Record | undefined; +export const crypto: any = + typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined; diff --git a/node_modules/@noble/hashes/src/cryptoNode.ts b/node_modules/@noble/hashes/src/cryptoNode.ts new file mode 100644 index 0000000..53a3cc7 --- /dev/null +++ b/node_modules/@noble/hashes/src/cryptoNode.ts @@ -0,0 +1,15 @@ +/** + * Internal webcrypto alias. + * We prefer WebCrypto aka globalThis.crypto, which exists in node.js 16+. + * Falls back to Node.js built-in crypto for Node.js <=v14. + * See utils.ts for details. + * @module + */ +// @ts-ignore +import * as nc from 'node:crypto'; +export const crypto: any = + nc && typeof nc === 'object' && 'webcrypto' in nc + ? (nc.webcrypto as any) + : nc && typeof nc === 'object' && 'randomBytes' in nc + ? nc + : undefined; diff --git a/node_modules/@noble/hashes/src/eskdf.ts b/node_modules/@noble/hashes/src/eskdf.ts new file mode 100644 index 0000000..58707d1 --- /dev/null +++ b/node_modules/@noble/hashes/src/eskdf.ts @@ -0,0 +1,187 @@ +/** + * Experimental KDF for AES. + */ +import { hkdf } from './hkdf.ts'; +import { pbkdf2 as _pbkdf2 } from './pbkdf2.ts'; +import { scrypt as _scrypt } from './scrypt.ts'; +import { sha256 } from './sha256.ts'; +import { abytes, bytesToHex, clean, createView, hexToBytes, kdfInputToBytes } from './utils.ts'; + +// A tiny KDF for various applications like AES key-gen. +// Uses HKDF in a non-standard way, so it's not "KDF-secure", only "PRF-secure". +// Which is good enough: assume sha2-256 retained preimage resistance. + +const SCRYPT_FACTOR = 2 ** 19; +const PBKDF2_FACTOR = 2 ** 17; + +// Scrypt KDF +export function scrypt(password: string, salt: string): Uint8Array { + return _scrypt(password, salt, { N: SCRYPT_FACTOR, r: 8, p: 1, dkLen: 32 }); +} + +// PBKDF2-HMAC-SHA256 +export function pbkdf2(password: string, salt: string): Uint8Array { + return _pbkdf2(sha256, password, salt, { c: PBKDF2_FACTOR, dkLen: 32 }); +} + +// Combines two 32-byte byte arrays +function xor32(a: Uint8Array, b: Uint8Array): Uint8Array { + abytes(a, 32); + abytes(b, 32); + const arr = new Uint8Array(32); + for (let i = 0; i < 32; i++) { + arr[i] = a[i] ^ b[i]; + } + return arr; +} + +function strHasLength(str: string, min: number, max: number): boolean { + return typeof str === 'string' && str.length >= min && str.length <= max; +} + +/** + * Derives main seed. Takes a lot of time. Prefer `eskdf` method instead. + */ +export function deriveMainSeed(username: string, password: string): Uint8Array { + if (!strHasLength(username, 8, 255)) throw new Error('invalid username'); + if (!strHasLength(password, 8, 255)) throw new Error('invalid password'); + // Declared like this to throw off minifiers which auto-convert .fromCharCode(1) to actual string. + // String with non-ascii may be problematic in some envs + const codes = { _1: 1, _2: 2 }; + const sep = { s: String.fromCharCode(codes._1), p: String.fromCharCode(codes._2) }; + const scr = scrypt(password + sep.s, username + sep.s); + const pbk = pbkdf2(password + sep.p, username + sep.p); + const res = xor32(scr, pbk); + clean(scr, pbk); + return res; +} + +type AccountID = number | string; + +/** + * Converts protocol & accountId pair to HKDF salt & info params. + */ +function getSaltInfo(protocol: string, accountId: AccountID = 0) { + // Note that length here also repeats two lines below + // We do an additional length check here to reduce the scope of DoS attacks + if (!(strHasLength(protocol, 3, 15) && /^[a-z0-9]{3,15}$/.test(protocol))) { + throw new Error('invalid protocol'); + } + + // Allow string account ids for some protocols + const allowsStr = /^password\d{0,3}|ssh|tor|file$/.test(protocol); + let salt: Uint8Array; // Extract salt. Default is undefined. + if (typeof accountId === 'string') { + if (!allowsStr) throw new Error('accountId must be a number'); + if (!strHasLength(accountId, 1, 255)) + throw new Error('accountId must be string of length 1..255'); + salt = kdfInputToBytes(accountId); + } else if (Number.isSafeInteger(accountId)) { + if (accountId < 0 || accountId > Math.pow(2, 32) - 1) throw new Error('invalid accountId'); + // Convert to Big Endian Uint32 + salt = new Uint8Array(4); + createView(salt).setUint32(0, accountId, false); + } else { + throw new Error('accountId must be a number' + (allowsStr ? ' or string' : '')); + } + const info = kdfInputToBytes(protocol); + return { salt, info }; +} + +type OptsLength = { keyLength: number }; +type OptsMod = { modulus: bigint }; +type KeyOpts = undefined | OptsLength | OptsMod; + +function countBytes(num: bigint): number { + if (typeof num !== 'bigint' || num <= BigInt(128)) throw new Error('invalid number'); + return Math.ceil(num.toString(2).length / 8); +} + +/** + * Parses keyLength and modulus options to extract length of result key. + * If modulus is used, adds 64 bits to it as per FIPS 186 B.4.1 to combat modulo bias. + */ +function getKeyLength(options: KeyOpts): number { + if (!options || typeof options !== 'object') return 32; + const hasLen = 'keyLength' in options; + const hasMod = 'modulus' in options; + if (hasLen && hasMod) throw new Error('cannot combine keyLength and modulus options'); + if (!hasLen && !hasMod) throw new Error('must have either keyLength or modulus option'); + // FIPS 186 B.4.1 requires at least 64 more bits + const l = hasMod ? countBytes(options.modulus) + 8 : options.keyLength; + if (!(typeof l === 'number' && l >= 16 && l <= 8192)) throw new Error('invalid keyLength'); + return l; +} + +/** + * Converts key to bigint and divides it by modulus. Big Endian. + * Implements FIPS 186 B.4.1, which removes 0 and modulo bias from output. + */ +function modReduceKey(key: Uint8Array, modulus: bigint): Uint8Array { + const _1 = BigInt(1); + const num = BigInt('0x' + bytesToHex(key)); // check for ui8a, then bytesToNumber() + const res = (num % (modulus - _1)) + _1; // Remove 0 from output + if (res < _1) throw new Error('expected positive number'); // Guard against bad values + const len = key.length - 8; // FIPS requires 64 more bits = 8 bytes + const hex = res.toString(16).padStart(len * 2, '0'); // numberToHex() + const bytes = hexToBytes(hex); + if (bytes.length !== len) throw new Error('invalid length of result key'); + return bytes; +} + +// We are not using classes because constructor cannot be async +export interface ESKDF { + /** + * Derives a child key. Child key will not be associated with any + * other child key because of properties of underlying KDF. + * + * @param protocol - 3-15 character protocol name + * @param accountId - numeric identifier of account + * @param options - `keyLength: 64` or `modulus: 41920438n` + * @example deriveChildKey('aes', 0) + */ + deriveChildKey: (protocol: string, accountId: AccountID, options?: KeyOpts) => Uint8Array; + /** + * Deletes the main seed from eskdf instance + */ + expire: () => void; + /** + * Account fingerprint + */ + fingerprint: string; +} + +/** + * ESKDF + * @param username - username, email, or identifier, min: 8 characters, should have enough entropy + * @param password - password, min: 8 characters, should have enough entropy + * @example + * const kdf = await eskdf('example-university', 'beginning-new-example'); + * const key = kdf.deriveChildKey('aes', 0); + * console.log(kdf.fingerprint); + * kdf.expire(); + */ +export async function eskdf(username: string, password: string): Promise { + // We are using closure + object instead of class because + // we want to make `seed` non-accessible for any external function. + let seed: Uint8Array | undefined = deriveMainSeed(username, password); + + function deriveCK(protocol: string, accountId: AccountID = 0, options?: KeyOpts): Uint8Array { + abytes(seed, 32); + const { salt, info } = getSaltInfo(protocol, accountId); // validate protocol & accountId + const keyLength = getKeyLength(options); // validate options + const key = hkdf(sha256, seed!, salt, info, keyLength); + // Modulus has already been validated + return options && 'modulus' in options ? modReduceKey(key, options.modulus) : key; + } + function expire() { + if (seed) seed.fill(1); + seed = undefined; + } + // prettier-ignore + const fingerprint = Array.from(deriveCK('fingerprint', 0)) + .slice(0, 6) + .map((char) => char.toString(16).padStart(2, '0').toUpperCase()) + .join(':'); + return Object.freeze({ deriveChildKey: deriveCK, expire, fingerprint }); +} diff --git a/node_modules/@noble/hashes/src/hkdf.ts b/node_modules/@noble/hashes/src/hkdf.ts new file mode 100644 index 0000000..acdc24e --- /dev/null +++ b/node_modules/@noble/hashes/src/hkdf.ts @@ -0,0 +1,88 @@ +/** + * HKDF (RFC 5869): extract + expand in one step. + * See https://soatok.blog/2021/11/17/understanding-hkdf/. + * @module + */ +import { hmac } from './hmac.ts'; +import { ahash, anumber, type CHash, clean, type Input, toBytes } from './utils.ts'; + +/** + * HKDF-extract from spec. Less important part. `HKDF-Extract(IKM, salt) -> PRK` + * Arguments position differs from spec (IKM is first one, since it is not optional) + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + */ +export function extract(hash: CHash, ikm: Input, salt?: Input): Uint8Array { + ahash(hash); + // NOTE: some libraries treat zero-length array as 'not provided'; + // we don't, since we have undefined as 'not provided' + // https://github.com/RustCrypto/KDFs/issues/15 + if (salt === undefined) salt = new Uint8Array(hash.outputLen); + return hmac(hash, toBytes(salt), toBytes(ikm)); +} + +const HKDF_COUNTER = /* @__PURE__ */ Uint8Array.from([0]); +const EMPTY_BUFFER = /* @__PURE__ */ Uint8Array.of(); + +/** + * HKDF-expand from the spec. The most important part. `HKDF-Expand(PRK, info, L) -> OKM` + * @param hash - hash function that would be used (e.g. sha256) + * @param prk - a pseudorandom key of at least HashLen octets (usually, the output from the extract step) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + */ +export function expand(hash: CHash, prk: Input, info?: Input, length: number = 32): Uint8Array { + ahash(hash); + anumber(length); + const olen = hash.outputLen; + if (length > 255 * olen) throw new Error('Length should be <= 255*HashLen'); + const blocks = Math.ceil(length / olen); + if (info === undefined) info = EMPTY_BUFFER; + // first L(ength) octets of T + const okm = new Uint8Array(blocks * olen); + // Re-use HMAC instance between blocks + const HMAC = hmac.create(hash, prk); + const HMACTmp = HMAC._cloneInto(); + const T = new Uint8Array(HMAC.outputLen); + for (let counter = 0; counter < blocks; counter++) { + HKDF_COUNTER[0] = counter + 1; + // T(0) = empty string (zero length) + // T(N) = HMAC-Hash(PRK, T(N-1) | info | N) + HMACTmp.update(counter === 0 ? EMPTY_BUFFER : T) + .update(info) + .update(HKDF_COUNTER) + .digestInto(T); + okm.set(T, olen * counter); + HMAC._cloneInto(HMACTmp); + } + HMAC.destroy(); + HMACTmp.destroy(); + clean(T, HKDF_COUNTER); + return okm.slice(0, length); +} + +/** + * HKDF (RFC 5869): derive keys from an initial input. + * Combines hkdf_extract + hkdf_expand in one step + * @param hash - hash function that would be used (e.g. sha256) + * @param ikm - input keying material, the initial key + * @param salt - optional salt value (a non-secret random value) + * @param info - optional context and application specific information (can be a zero-length string) + * @param length - length of output keying material in bytes + * @example + * import { hkdf } from '@noble/hashes/hkdf'; + * import { sha256 } from '@noble/hashes/sha2'; + * import { randomBytes } from '@noble/hashes/utils'; + * const inputKey = randomBytes(32); + * const salt = randomBytes(32); + * const info = 'application-key'; + * const hk1 = hkdf(sha256, inputKey, salt, info, 32); + */ +export const hkdf = ( + hash: CHash, + ikm: Input, + salt: Input | undefined, + info: Input | undefined, + length: number +): Uint8Array => expand(hash, extract(hash, ikm, salt), info, length); diff --git a/node_modules/@noble/hashes/src/hmac.ts b/node_modules/@noble/hashes/src/hmac.ts new file mode 100644 index 0000000..7cf028a --- /dev/null +++ b/node_modules/@noble/hashes/src/hmac.ts @@ -0,0 +1,94 @@ +/** + * HMAC: RFC2104 message authentication code. + * @module + */ +import { abytes, aexists, ahash, clean, Hash, toBytes, type CHash, type Input } from './utils.ts'; + +export class HMAC> extends Hash> { + oHash: T; + iHash: T; + blockLen: number; + outputLen: number; + private finished = false; + private destroyed = false; + + constructor(hash: CHash, _key: Input) { + super(); + ahash(hash); + const key = toBytes(_key); + this.iHash = hash.create() as T; + if (typeof this.iHash.update !== 'function') + throw new Error('Expected instance of class which extends utils.Hash'); + this.blockLen = this.iHash.blockLen; + this.outputLen = this.iHash.outputLen; + const blockLen = this.blockLen; + const pad = new Uint8Array(blockLen); + // blockLen can be bigger than outputLen + pad.set(key.length > blockLen ? hash.create().update(key).digest() : key); + for (let i = 0; i < pad.length; i++) pad[i] ^= 0x36; + this.iHash.update(pad); + // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone + this.oHash = hash.create() as T; + // Undo internal XOR && apply outer XOR + for (let i = 0; i < pad.length; i++) pad[i] ^= 0x36 ^ 0x5c; + this.oHash.update(pad); + clean(pad); + } + update(buf: Input): this { + aexists(this); + this.iHash.update(buf); + return this; + } + digestInto(out: Uint8Array): void { + aexists(this); + abytes(out, this.outputLen); + this.finished = true; + this.iHash.digestInto(out); + this.oHash.update(out); + this.oHash.digestInto(out); + this.destroy(); + } + digest(): Uint8Array { + const out = new Uint8Array(this.oHash.outputLen); + this.digestInto(out); + return out; + } + _cloneInto(to?: HMAC): HMAC { + // Create new instance without calling constructor since key already in state and we don't know it. + to ||= Object.create(Object.getPrototypeOf(this), {}); + const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this; + to = to as this; + to.finished = finished; + to.destroyed = destroyed; + to.blockLen = blockLen; + to.outputLen = outputLen; + to.oHash = oHash._cloneInto(to.oHash); + to.iHash = iHash._cloneInto(to.iHash); + return to; + } + clone(): HMAC { + return this._cloneInto(); + } + destroy(): void { + this.destroyed = true; + this.oHash.destroy(); + this.iHash.destroy(); + } +} + +/** + * HMAC: RFC2104 message authentication code. + * @param hash - function that would be used e.g. sha256 + * @param key - message key + * @param message - message data + * @example + * import { hmac } from '@noble/hashes/hmac'; + * import { sha256 } from '@noble/hashes/sha2'; + * const mac1 = hmac(sha256, 'key', 'message'); + */ +export const hmac: { + (hash: CHash, key: Input, message: Input): Uint8Array; + create(hash: CHash, key: Input): HMAC; +} = (hash: CHash, key: Input, message: Input): Uint8Array => + new HMAC(hash, key).update(message).digest(); +hmac.create = (hash: CHash, key: Input) => new HMAC(hash, key); diff --git a/node_modules/@noble/hashes/src/index.ts b/node_modules/@noble/hashes/src/index.ts new file mode 100644 index 0000000..485d762 --- /dev/null +++ b/node_modules/@noble/hashes/src/index.ts @@ -0,0 +1,31 @@ +/** + * Audited & minimal JS implementation of hash functions, MACs and KDFs. Check out individual modules. + * @module + * @example +```js +import { + sha256, sha384, sha512, sha224, sha512_224, sha512_256 +} from '@noble/hashes/sha2'; +import { + sha3_224, sha3_256, sha3_384, sha3_512, + keccak_224, keccak_256, keccak_384, keccak_512, + shake128, shake256 +} from '@noble/hashes/sha3'; +import { + cshake128, cshake256, + turboshake128, turboshake256, + kmac128, kmac256, + tuplehash256, parallelhash256, + k12, m14, keccakprg +} from '@noble/hashes/sha3-addons'; +import { blake3 } from '@noble/hashes/blake3'; +import { blake2b, blake2s } from '@noble/hashes/blake2'; +import { hmac } from '@noble/hashes/hmac'; +import { hkdf } from '@noble/hashes/hkdf'; +import { pbkdf2, pbkdf2Async } from '@noble/hashes/pbkdf2'; +import { scrypt, scryptAsync } from '@noble/hashes/scrypt'; +import { md5, ripemd160, sha1 } from '@noble/hashes/legacy'; +import * as utils from '@noble/hashes/utils'; +``` + */ +throw new Error('root module cannot be imported: import submodules instead. Check out README'); diff --git a/node_modules/@noble/hashes/src/legacy.ts b/node_modules/@noble/hashes/src/legacy.ts new file mode 100644 index 0000000..47eaddc --- /dev/null +++ b/node_modules/@noble/hashes/src/legacy.ts @@ -0,0 +1,293 @@ +/** + +SHA1 (RFC 3174), MD5 (RFC 1321) and RIPEMD160 (RFC 2286) legacy, weak hash functions. +Don't use them in a new protocol. What "weak" means: + +- Collisions can be made with 2^18 effort in MD5, 2^60 in SHA1, 2^80 in RIPEMD160. +- No practical pre-image attacks (only theoretical, 2^123.4) +- HMAC seems kinda ok: https://datatracker.ietf.org/doc/html/rfc6151 + * @module + */ +import { Chi, HashMD, Maj } from './_md.ts'; +import { type CHash, clean, createHasher, rotl } from './utils.ts'; + +/** Initial SHA1 state */ +const SHA1_IV = /* @__PURE__ */ Uint32Array.from([ + 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0, +]); + +// Reusable temporary buffer +const SHA1_W = /* @__PURE__ */ new Uint32Array(80); + +/** SHA1 legacy hash class. */ +export class SHA1 extends HashMD { + private A = SHA1_IV[0] | 0; + private B = SHA1_IV[1] | 0; + private C = SHA1_IV[2] | 0; + private D = SHA1_IV[3] | 0; + private E = SHA1_IV[4] | 0; + + constructor() { + super(64, 20, 8, false); + } + protected get(): [number, number, number, number, number] { + const { A, B, C, D, E } = this; + return [A, B, C, D, E]; + } + protected set(A: number, B: number, C: number, D: number, E: number): void { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + this.E = E | 0; + } + protected process(view: DataView, offset: number): void { + for (let i = 0; i < 16; i++, offset += 4) SHA1_W[i] = view.getUint32(offset, false); + for (let i = 16; i < 80; i++) + SHA1_W[i] = rotl(SHA1_W[i - 3] ^ SHA1_W[i - 8] ^ SHA1_W[i - 14] ^ SHA1_W[i - 16], 1); + // Compression function main loop, 80 rounds + let { A, B, C, D, E } = this; + for (let i = 0; i < 80; i++) { + let F, K; + if (i < 20) { + F = Chi(B, C, D); + K = 0x5a827999; + } else if (i < 40) { + F = B ^ C ^ D; + K = 0x6ed9eba1; + } else if (i < 60) { + F = Maj(B, C, D); + K = 0x8f1bbcdc; + } else { + F = B ^ C ^ D; + K = 0xca62c1d6; + } + const T = (rotl(A, 5) + F + E + K + SHA1_W[i]) | 0; + E = D; + D = C; + C = rotl(B, 30); + B = A; + A = T; + } + // Add the compressed chunk to the current hash value + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + this.set(A, B, C, D, E); + } + protected roundClean(): void { + clean(SHA1_W); + } + destroy(): void { + this.set(0, 0, 0, 0, 0); + clean(this.buffer); + } +} + +/** SHA1 (RFC 3174) legacy hash function. It was cryptographically broken. */ +export const sha1: CHash = /* @__PURE__ */ createHasher(() => new SHA1()); + +/** Per-round constants */ +const p32 = /* @__PURE__ */ Math.pow(2, 32); +const K = /* @__PURE__ */ Array.from({ length: 64 }, (_, i) => + Math.floor(p32 * Math.abs(Math.sin(i + 1))) +); + +/** md5 initial state: same as sha1, but 4 u32 instead of 5. */ +const MD5_IV = /* @__PURE__ */ SHA1_IV.slice(0, 4); + +// Reusable temporary buffer +const MD5_W = /* @__PURE__ */ new Uint32Array(16); +/** MD5 legacy hash class. */ +export class MD5 extends HashMD { + private A = MD5_IV[0] | 0; + private B = MD5_IV[1] | 0; + private C = MD5_IV[2] | 0; + private D = MD5_IV[3] | 0; + + constructor() { + super(64, 16, 8, true); + } + protected get(): [number, number, number, number] { + const { A, B, C, D } = this; + return [A, B, C, D]; + } + protected set(A: number, B: number, C: number, D: number): void { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + } + protected process(view: DataView, offset: number): void { + for (let i = 0; i < 16; i++, offset += 4) MD5_W[i] = view.getUint32(offset, true); + // Compression function main loop, 64 rounds + let { A, B, C, D } = this; + for (let i = 0; i < 64; i++) { + let F, g, s; + if (i < 16) { + F = Chi(B, C, D); + g = i; + s = [7, 12, 17, 22]; + } else if (i < 32) { + F = Chi(D, B, C); + g = (5 * i + 1) % 16; + s = [5, 9, 14, 20]; + } else if (i < 48) { + F = B ^ C ^ D; + g = (3 * i + 5) % 16; + s = [4, 11, 16, 23]; + } else { + F = C ^ (B | ~D); + g = (7 * i) % 16; + s = [6, 10, 15, 21]; + } + F = F + A + K[i] + MD5_W[g]; + A = D; + D = C; + C = B; + B = B + rotl(F, s[i % 4]); + } + // Add the compressed chunk to the current hash value + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + this.set(A, B, C, D); + } + protected roundClean(): void { + clean(MD5_W); + } + destroy(): void { + this.set(0, 0, 0, 0); + clean(this.buffer); + } +} + +/** + * MD5 (RFC 1321) legacy hash function. It was cryptographically broken. + * MD5 architecture is similar to SHA1, with some differences: + * - Reduced output length: 16 bytes (128 bit) instead of 20 + * - 64 rounds, instead of 80 + * - Little-endian: could be faster, but will require more code + * - Non-linear index selection: huge speed-up for unroll + * - Per round constants: more memory accesses, additional speed-up for unroll + */ +export const md5: CHash = /* @__PURE__ */ createHasher(() => new MD5()); + +// RIPEMD-160 + +const Rho160 = /* @__PURE__ */ Uint8Array.from([ + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, +]); +const Id160 = /* @__PURE__ */ (() => Uint8Array.from(new Array(16).fill(0).map((_, i) => i)))(); +const Pi160 = /* @__PURE__ */ (() => Id160.map((i) => (9 * i + 5) % 16))(); +const idxLR = /* @__PURE__ */ (() => { + const L = [Id160]; + const R = [Pi160]; + const res = [L, R]; + for (let i = 0; i < 4; i++) for (let j of res) j.push(j[i].map((k) => Rho160[k])); + return res; +})(); +const idxL = /* @__PURE__ */ (() => idxLR[0])(); +const idxR = /* @__PURE__ */ (() => idxLR[1])(); +// const [idxL, idxR] = idxLR; + +const shifts160 = /* @__PURE__ */ [ + [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8], + [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7], + [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9], + [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6], + [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5], +].map((i) => Uint8Array.from(i)); +const shiftsL160 = /* @__PURE__ */ idxL.map((idx, i) => idx.map((j) => shifts160[i][j])); +const shiftsR160 = /* @__PURE__ */ idxR.map((idx, i) => idx.map((j) => shifts160[i][j])); +const Kl160 = /* @__PURE__ */ Uint32Array.from([ + 0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e, +]); +const Kr160 = /* @__PURE__ */ Uint32Array.from([ + 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000, +]); +// It's called f() in spec. +function ripemd_f(group: number, x: number, y: number, z: number): number { + if (group === 0) return x ^ y ^ z; + if (group === 1) return (x & y) | (~x & z); + if (group === 2) return (x | ~y) ^ z; + if (group === 3) return (x & z) | (y & ~z); + return x ^ (y | ~z); +} +// Reusable temporary buffer +const BUF_160 = /* @__PURE__ */ new Uint32Array(16); +export class RIPEMD160 extends HashMD { + private h0 = 0x67452301 | 0; + private h1 = 0xefcdab89 | 0; + private h2 = 0x98badcfe | 0; + private h3 = 0x10325476 | 0; + private h4 = 0xc3d2e1f0 | 0; + + constructor() { + super(64, 20, 8, true); + } + protected get(): [number, number, number, number, number] { + const { h0, h1, h2, h3, h4 } = this; + return [h0, h1, h2, h3, h4]; + } + protected set(h0: number, h1: number, h2: number, h3: number, h4: number): void { + this.h0 = h0 | 0; + this.h1 = h1 | 0; + this.h2 = h2 | 0; + this.h3 = h3 | 0; + this.h4 = h4 | 0; + } + protected process(view: DataView, offset: number): void { + for (let i = 0; i < 16; i++, offset += 4) BUF_160[i] = view.getUint32(offset, true); + // prettier-ignore + let al = this.h0 | 0, ar = al, + bl = this.h1 | 0, br = bl, + cl = this.h2 | 0, cr = cl, + dl = this.h3 | 0, dr = dl, + el = this.h4 | 0, er = el; + + // Instead of iterating 0 to 80, we split it into 5 groups + // And use the groups in constants, functions, etc. Much simpler + for (let group = 0; group < 5; group++) { + const rGroup = 4 - group; + const hbl = Kl160[group], hbr = Kr160[group]; // prettier-ignore + const rl = idxL[group], rr = idxR[group]; // prettier-ignore + const sl = shiftsL160[group], sr = shiftsR160[group]; // prettier-ignore + for (let i = 0; i < 16; i++) { + const tl = (rotl(al + ripemd_f(group, bl, cl, dl) + BUF_160[rl[i]] + hbl, sl[i]) + el) | 0; + al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; // prettier-ignore + } + // 2 loops are 10% faster + for (let i = 0; i < 16; i++) { + const tr = (rotl(ar + ripemd_f(rGroup, br, cr, dr) + BUF_160[rr[i]] + hbr, sr[i]) + er) | 0; + ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; // prettier-ignore + } + } + // Add the compressed chunk to the current hash value + this.set( + (this.h1 + cl + dr) | 0, + (this.h2 + dl + er) | 0, + (this.h3 + el + ar) | 0, + (this.h4 + al + br) | 0, + (this.h0 + bl + cr) | 0 + ); + } + protected roundClean(): void { + clean(BUF_160); + } + destroy(): void { + this.destroyed = true; + clean(this.buffer); + this.set(0, 0, 0, 0, 0); + } +} + +/** + * RIPEMD-160 - a legacy hash function from 1990s. + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + */ +export const ripemd160: CHash = /* @__PURE__ */ createHasher(() => new RIPEMD160()); diff --git a/node_modules/@noble/hashes/src/pbkdf2.ts b/node_modules/@noble/hashes/src/pbkdf2.ts new file mode 100644 index 0000000..ba2007c --- /dev/null +++ b/node_modules/@noble/hashes/src/pbkdf2.ts @@ -0,0 +1,122 @@ +/** + * PBKDF (RFC 2898). Can be used to create a key from password and salt. + * @module + */ +import { hmac } from './hmac.ts'; +// prettier-ignore +import { + ahash, anumber, + asyncLoop, checkOpts, clean, createView, Hash, kdfInputToBytes, + type CHash, + type KDFInput +} from './utils.ts'; + +export type Pbkdf2Opt = { + c: number; // Iterations + dkLen?: number; // Desired key length in bytes (Intended output length in octets of the derived key + asyncTick?: number; // Maximum time in ms for which async function can block execution +}; +// Common prologue and epilogue for sync/async functions +function pbkdf2Init(hash: CHash, _password: KDFInput, _salt: KDFInput, _opts: Pbkdf2Opt) { + ahash(hash); + const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts); + const { c, dkLen, asyncTick } = opts; + anumber(c); + anumber(dkLen); + anumber(asyncTick); + if (c < 1) throw new Error('iterations (c) should be >= 1'); + const password = kdfInputToBytes(_password); + const salt = kdfInputToBytes(_salt); + // DK = PBKDF2(PRF, Password, Salt, c, dkLen); + const DK = new Uint8Array(dkLen); + // U1 = PRF(Password, Salt + INT_32_BE(i)) + const PRF = hmac.create(hash, password); + const PRFSalt = PRF._cloneInto().update(salt); + return { c, dkLen, asyncTick, DK, PRF, PRFSalt }; +} + +function pbkdf2Output>( + PRF: Hash, + PRFSalt: Hash, + DK: Uint8Array, + prfW: Hash, + u: Uint8Array +) { + PRF.destroy(); + PRFSalt.destroy(); + if (prfW) prfW.destroy(); + clean(u); + return DK; +} + +/** + * PBKDF2-HMAC: RFC 2898 key derivation function + * @param hash - hash function that would be used e.g. sha256 + * @param password - password from which a derived key is generated + * @param salt - cryptographic salt + * @param opts - {c, dkLen} where c is work factor and dkLen is output message size + * @example + * const key = pbkdf2(sha256, 'password', 'salt', { dkLen: 32, c: Math.pow(2, 18) }); + */ +export function pbkdf2( + hash: CHash, + password: KDFInput, + salt: KDFInput, + opts: Pbkdf2Opt +): Uint8Array { + const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts); + let prfW: any; // Working copy + const arr = new Uint8Array(4); + const view = createView(arr); + const u = new Uint8Array(PRF.outputLen); + // DK = T1 + T2 + ⋯ + Tdklen/hlen + for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) { + // Ti = F(Password, Salt, c, i) + const Ti = DK.subarray(pos, pos + PRF.outputLen); + view.setInt32(0, ti, false); + // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc + // U1 = PRF(Password, Salt + INT_32_BE(i)) + (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u); + Ti.set(u.subarray(0, Ti.length)); + for (let ui = 1; ui < c; ui++) { + // Uc = PRF(Password, Uc−1) + PRF._cloneInto(prfW).update(u).digestInto(u); + for (let i = 0; i < Ti.length; i++) Ti[i] ^= u[i]; + } + } + return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); +} + +/** + * PBKDF2-HMAC: RFC 2898 key derivation function. Async version. + * @example + * await pbkdf2Async(sha256, 'password', 'salt', { dkLen: 32, c: 500_000 }); + */ +export async function pbkdf2Async( + hash: CHash, + password: KDFInput, + salt: KDFInput, + opts: Pbkdf2Opt +): Promise { + const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts); + let prfW: any; // Working copy + const arr = new Uint8Array(4); + const view = createView(arr); + const u = new Uint8Array(PRF.outputLen); + // DK = T1 + T2 + ⋯ + Tdklen/hlen + for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) { + // Ti = F(Password, Salt, c, i) + const Ti = DK.subarray(pos, pos + PRF.outputLen); + view.setInt32(0, ti, false); + // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc + // U1 = PRF(Password, Salt + INT_32_BE(i)) + (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u); + Ti.set(u.subarray(0, Ti.length)); + await asyncLoop(c - 1, asyncTick, () => { + // Uc = PRF(Password, Uc−1) + PRF._cloneInto(prfW).update(u).digestInto(u); + for (let i = 0; i < Ti.length; i++) Ti[i] ^= u[i]; + }); + } + return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); +} diff --git a/node_modules/@noble/hashes/src/ripemd160.ts b/node_modules/@noble/hashes/src/ripemd160.ts new file mode 100644 index 0000000..73f72a5 --- /dev/null +++ b/node_modules/@noble/hashes/src/ripemd160.ts @@ -0,0 +1,12 @@ +/** + * RIPEMD-160 legacy hash function. + * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf + * @module + * @deprecated + */ +import { RIPEMD160 as RIPEMD160n, ripemd160 as ripemd160n } from './legacy.ts'; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export const RIPEMD160: typeof RIPEMD160n = RIPEMD160n; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export const ripemd160: typeof ripemd160n = ripemd160n; diff --git a/node_modules/@noble/hashes/src/scrypt.ts b/node_modules/@noble/hashes/src/scrypt.ts new file mode 100644 index 0000000..143054e --- /dev/null +++ b/node_modules/@noble/hashes/src/scrypt.ts @@ -0,0 +1,257 @@ +/** + * RFC 7914 Scrypt KDF. Can be used to create a key from password and salt. + * @module + */ +import { pbkdf2 } from './pbkdf2.ts'; +import { sha256 } from './sha2.ts'; +// prettier-ignore +import { + anumber, asyncLoop, + checkOpts, clean, + type KDFInput, rotl, + swap32IfBE, + u32 +} from './utils.ts'; + +// The main Scrypt loop: uses Salsa extensively. +// Six versions of the function were tried, this is the fastest one. +// prettier-ignore +function XorAndSalsa( + prev: Uint32Array, + pi: number, + input: Uint32Array, + ii: number, + out: Uint32Array, + oi: number +) { + // Based on https://cr.yp.to/salsa20.html + // Xor blocks + let y00 = prev[pi++] ^ input[ii++], y01 = prev[pi++] ^ input[ii++]; + let y02 = prev[pi++] ^ input[ii++], y03 = prev[pi++] ^ input[ii++]; + let y04 = prev[pi++] ^ input[ii++], y05 = prev[pi++] ^ input[ii++]; + let y06 = prev[pi++] ^ input[ii++], y07 = prev[pi++] ^ input[ii++]; + let y08 = prev[pi++] ^ input[ii++], y09 = prev[pi++] ^ input[ii++]; + let y10 = prev[pi++] ^ input[ii++], y11 = prev[pi++] ^ input[ii++]; + let y12 = prev[pi++] ^ input[ii++], y13 = prev[pi++] ^ input[ii++]; + let y14 = prev[pi++] ^ input[ii++], y15 = prev[pi++] ^ input[ii++]; + // Save state to temporary variables (salsa) + let x00 = y00, x01 = y01, x02 = y02, x03 = y03, + x04 = y04, x05 = y05, x06 = y06, x07 = y07, + x08 = y08, x09 = y09, x10 = y10, x11 = y11, + x12 = y12, x13 = y13, x14 = y14, x15 = y15; + // Main loop (salsa) + for (let i = 0; i < 8; i += 2) { + x04 ^= rotl(x00 + x12 | 0, 7); x08 ^= rotl(x04 + x00 | 0, 9); + x12 ^= rotl(x08 + x04 | 0, 13); x00 ^= rotl(x12 + x08 | 0, 18); + x09 ^= rotl(x05 + x01 | 0, 7); x13 ^= rotl(x09 + x05 | 0, 9); + x01 ^= rotl(x13 + x09 | 0, 13); x05 ^= rotl(x01 + x13 | 0, 18); + x14 ^= rotl(x10 + x06 | 0, 7); x02 ^= rotl(x14 + x10 | 0, 9); + x06 ^= rotl(x02 + x14 | 0, 13); x10 ^= rotl(x06 + x02 | 0, 18); + x03 ^= rotl(x15 + x11 | 0, 7); x07 ^= rotl(x03 + x15 | 0, 9); + x11 ^= rotl(x07 + x03 | 0, 13); x15 ^= rotl(x11 + x07 | 0, 18); + x01 ^= rotl(x00 + x03 | 0, 7); x02 ^= rotl(x01 + x00 | 0, 9); + x03 ^= rotl(x02 + x01 | 0, 13); x00 ^= rotl(x03 + x02 | 0, 18); + x06 ^= rotl(x05 + x04 | 0, 7); x07 ^= rotl(x06 + x05 | 0, 9); + x04 ^= rotl(x07 + x06 | 0, 13); x05 ^= rotl(x04 + x07 | 0, 18); + x11 ^= rotl(x10 + x09 | 0, 7); x08 ^= rotl(x11 + x10 | 0, 9); + x09 ^= rotl(x08 + x11 | 0, 13); x10 ^= rotl(x09 + x08 | 0, 18); + x12 ^= rotl(x15 + x14 | 0, 7); x13 ^= rotl(x12 + x15 | 0, 9); + x14 ^= rotl(x13 + x12 | 0, 13); x15 ^= rotl(x14 + x13 | 0, 18); + } + // Write output (salsa) + out[oi++] = (y00 + x00) | 0; out[oi++] = (y01 + x01) | 0; + out[oi++] = (y02 + x02) | 0; out[oi++] = (y03 + x03) | 0; + out[oi++] = (y04 + x04) | 0; out[oi++] = (y05 + x05) | 0; + out[oi++] = (y06 + x06) | 0; out[oi++] = (y07 + x07) | 0; + out[oi++] = (y08 + x08) | 0; out[oi++] = (y09 + x09) | 0; + out[oi++] = (y10 + x10) | 0; out[oi++] = (y11 + x11) | 0; + out[oi++] = (y12 + x12) | 0; out[oi++] = (y13 + x13) | 0; + out[oi++] = (y14 + x14) | 0; out[oi++] = (y15 + x15) | 0; +} + +function BlockMix(input: Uint32Array, ii: number, out: Uint32Array, oi: number, r: number) { + // The block B is r 128-byte chunks (which is equivalent of 2r 64-byte chunks) + let head = oi + 0; + let tail = oi + 16 * r; + for (let i = 0; i < 16; i++) out[tail + i] = input[ii + (2 * r - 1) * 16 + i]; // X ← B[2r−1] + for (let i = 0; i < r; i++, head += 16, ii += 16) { + // We write odd & even Yi at same time. Even: 0bXXXXX0 Odd: 0bXXXXX1 + XorAndSalsa(out, tail, input, ii, out, head); // head[i] = Salsa(blockIn[2*i] ^ tail[i-1]) + if (i > 0) tail += 16; // First iteration overwrites tmp value in tail + XorAndSalsa(out, head, input, (ii += 16), out, tail); // tail[i] = Salsa(blockIn[2*i+1] ^ head[i]) + } +} + +export type ScryptOpts = { + N: number; // cost factor + r: number; // block size + p: number; // parallelization + dkLen?: number; // key length + asyncTick?: number; // block execution max time + maxmem?: number; + onProgress?: (progress: number) => void; +}; + +// Common prologue and epilogue for sync/async functions +function scryptInit(password: KDFInput, salt: KDFInput, _opts?: ScryptOpts) { + // Maxmem - 1GB+1KB by default + const opts = checkOpts( + { + dkLen: 32, + asyncTick: 10, + maxmem: 1024 ** 3 + 1024, + }, + _opts + ); + const { N, r, p, dkLen, asyncTick, maxmem, onProgress } = opts; + anumber(N); + anumber(r); + anumber(p); + anumber(dkLen); + anumber(asyncTick); + anumber(maxmem); + if (onProgress !== undefined && typeof onProgress !== 'function') + throw new Error('progressCb should be function'); + const blockSize = 128 * r; + const blockSize32 = blockSize / 4; + + // Max N is 2^32 (Integrify is 32-bit). Real limit is 2^22: JS engines Uint8Array limit is 4GB in 2024. + // Spec check `N >= 2^(blockSize / 8)` is not done for compat with popular libs, + // which used incorrect r: 1, p: 8. Also, the check seems to be a spec error: + // https://www.rfc-editor.org/errata_search.php?rfc=7914 + const pow32 = Math.pow(2, 32); + if (N <= 1 || (N & (N - 1)) !== 0 || N > pow32) { + throw new Error('Scrypt: N must be larger than 1, a power of 2, and less than 2^32'); + } + if (p < 0 || p > ((pow32 - 1) * 32) / blockSize) { + throw new Error( + 'Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)' + ); + } + if (dkLen < 0 || dkLen > (pow32 - 1) * 32) { + throw new Error( + 'Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32' + ); + } + const memUsed = blockSize * (N + p); + if (memUsed > maxmem) { + throw new Error( + 'Scrypt: memused is bigger than maxMem. Expected 128 * r * (N + p) > maxmem of ' + maxmem + ); + } + // [B0...Bp−1] ← PBKDF2HMAC-SHA256(Passphrase, Salt, 1, blockSize*ParallelizationFactor) + // Since it has only one iteration there is no reason to use async variant + const B = pbkdf2(sha256, password, salt, { c: 1, dkLen: blockSize * p }); + const B32 = u32(B); + // Re-used between parallel iterations. Array(iterations) of B + const V = u32(new Uint8Array(blockSize * N)); + const tmp = u32(new Uint8Array(blockSize)); + let blockMixCb = () => {}; + if (onProgress) { + const totalBlockMix = 2 * N * p; + // Invoke callback if progress changes from 10.01 to 10.02 + // Allows to draw smooth progress bar on up to 8K screen + const callbackPer = Math.max(Math.floor(totalBlockMix / 10000), 1); + let blockMixCnt = 0; + blockMixCb = () => { + blockMixCnt++; + if (onProgress && (!(blockMixCnt % callbackPer) || blockMixCnt === totalBlockMix)) + onProgress(blockMixCnt / totalBlockMix); + }; + } + return { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick }; +} + +function scryptOutput( + password: KDFInput, + dkLen: number, + B: Uint8Array, + V: Uint32Array, + tmp: Uint32Array +) { + const res = pbkdf2(sha256, password, B, { c: 1, dkLen }); + clean(B, V, tmp); + return res; +} + +/** + * Scrypt KDF from RFC 7914. + * @param password - pass + * @param salt - salt + * @param opts - parameters + * - `N` is cpu/mem work factor (power of 2 e.g. 2**18) + * - `r` is block size (8 is common), fine-tunes sequential memory read size and performance + * - `p` is parallelization factor (1 is common) + * - `dkLen` is output key length in bytes e.g. 32. + * - `asyncTick` - (default: 10) max time in ms for which async function can block execution + * - `maxmem` - (default: `1024 ** 3 + 1024` aka 1GB+1KB). A limit that the app could use for scrypt + * - `onProgress` - callback function that would be executed for progress report + * @returns Derived key + * @example + * scrypt('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +export function scrypt(password: KDFInput, salt: KDFInput, opts: ScryptOpts): Uint8Array { + const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb } = scryptInit( + password, + salt, + opts + ); + swap32IfBE(B32); + for (let pi = 0; pi < p; pi++) { + const Pi = blockSize32 * pi; + for (let i = 0; i < blockSize32; i++) V[i] = B32[Pi + i]; // V[0] = B[i] + for (let i = 0, pos = 0; i < N - 1; i++) { + BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]); + blockMixCb(); + } + BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element + blockMixCb(); + for (let i = 0; i < N; i++) { + // First u32 of the last 64-byte block (u32 is LE) + const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations + for (let k = 0; k < blockSize32; k++) tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j] + BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j]) + blockMixCb(); + } + } + swap32IfBE(B32); + return scryptOutput(password, dkLen, B, V, tmp); +} + +/** + * Scrypt KDF from RFC 7914. Async version. + * @example + * await scryptAsync('password', 'salt', { N: 2**18, r: 8, p: 1, dkLen: 32 }); + */ +export async function scryptAsync( + password: KDFInput, + salt: KDFInput, + opts: ScryptOpts +): Promise { + const { N, r, p, dkLen, blockSize32, V, B32, B, tmp, blockMixCb, asyncTick } = scryptInit( + password, + salt, + opts + ); + swap32IfBE(B32); + for (let pi = 0; pi < p; pi++) { + const Pi = blockSize32 * pi; + for (let i = 0; i < blockSize32; i++) V[i] = B32[Pi + i]; // V[0] = B[i] + let pos = 0; + await asyncLoop(N - 1, asyncTick, () => { + BlockMix(V, pos, V, (pos += blockSize32), r); // V[i] = BlockMix(V[i-1]); + blockMixCb(); + }); + BlockMix(V, (N - 1) * blockSize32, B32, Pi, r); // Process last element + blockMixCb(); + await asyncLoop(N, asyncTick, () => { + // First u32 of the last 64-byte block (u32 is LE) + const j = B32[Pi + blockSize32 - 16] % N; // j = Integrify(X) % iterations + for (let k = 0; k < blockSize32; k++) tmp[k] = B32[Pi + k] ^ V[j * blockSize32 + k]; // tmp = B ^ V[j] + BlockMix(tmp, 0, B32, Pi, r); // B = BlockMix(B ^ V[j]) + blockMixCb(); + }); + } + swap32IfBE(B32); + return scryptOutput(password, dkLen, B, V, tmp); +} diff --git a/node_modules/@noble/hashes/src/sha1.ts b/node_modules/@noble/hashes/src/sha1.ts new file mode 100644 index 0000000..9a18822 --- /dev/null +++ b/node_modules/@noble/hashes/src/sha1.ts @@ -0,0 +1,10 @@ +/** + * SHA1 (RFC 3174) legacy hash function. + * @module + * @deprecated + */ +import { SHA1 as SHA1n, sha1 as sha1n } from './legacy.ts'; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export const SHA1: typeof SHA1n = SHA1n; +/** @deprecated Use import from `noble/hashes/legacy` module */ +export const sha1: typeof sha1n = sha1n; diff --git a/node_modules/@noble/hashes/src/sha2.ts b/node_modules/@noble/hashes/src/sha2.ts new file mode 100644 index 0000000..7f1e722 --- /dev/null +++ b/node_modules/@noble/hashes/src/sha2.ts @@ -0,0 +1,402 @@ +/** + * SHA2 hash function. A.k.a. sha256, sha384, sha512, sha512_224, sha512_256. + * SHA256 is the fastest hash implementable in JS, even faster than Blake3. + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + */ +import { Chi, HashMD, Maj, SHA224_IV, SHA256_IV, SHA384_IV, SHA512_IV } from './_md.ts'; +import * as u64 from './_u64.ts'; +import { type CHash, clean, createHasher, rotr } from './utils.ts'; + +/** + * Round constants: + * First 32 bits of fractional parts of the cube roots of the first 64 primes 2..311) + */ +// prettier-ignore +const SHA256_K = /* @__PURE__ */ Uint32Array.from([ + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 +]); + +/** Reusable temporary buffer. "W" comes straight from spec. */ +const SHA256_W = /* @__PURE__ */ new Uint32Array(64); +export class SHA256 extends HashMD { + // We cannot use array here since array allows indexing by variable + // which means optimizer/compiler cannot use registers. + protected A: number = SHA256_IV[0] | 0; + protected B: number = SHA256_IV[1] | 0; + protected C: number = SHA256_IV[2] | 0; + protected D: number = SHA256_IV[3] | 0; + protected E: number = SHA256_IV[4] | 0; + protected F: number = SHA256_IV[5] | 0; + protected G: number = SHA256_IV[6] | 0; + protected H: number = SHA256_IV[7] | 0; + + constructor(outputLen: number = 32) { + super(64, outputLen, 8, false); + } + protected get(): [number, number, number, number, number, number, number, number] { + const { A, B, C, D, E, F, G, H } = this; + return [A, B, C, D, E, F, G, H]; + } + // prettier-ignore + protected set( + A: number, B: number, C: number, D: number, E: number, F: number, G: number, H: number + ): void { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + this.E = E | 0; + this.F = F | 0; + this.G = G | 0; + this.H = H | 0; + } + protected process(view: DataView, offset: number): void { + // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array + for (let i = 0; i < 16; i++, offset += 4) SHA256_W[i] = view.getUint32(offset, false); + for (let i = 16; i < 64; i++) { + const W15 = SHA256_W[i - 15]; + const W2 = SHA256_W[i - 2]; + const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3); + const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10); + SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0; + } + // Compression function main loop, 64 rounds + let { A, B, C, D, E, F, G, H } = this; + for (let i = 0; i < 64; i++) { + const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25); + const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0; + const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22); + const T2 = (sigma0 + Maj(A, B, C)) | 0; + H = G; + G = F; + F = E; + E = (D + T1) | 0; + D = C; + C = B; + B = A; + A = (T1 + T2) | 0; + } + // Add the compressed chunk to the current hash value + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + F = (F + this.F) | 0; + G = (G + this.G) | 0; + H = (H + this.H) | 0; + this.set(A, B, C, D, E, F, G, H); + } + protected roundClean(): void { + clean(SHA256_W); + } + destroy(): void { + this.set(0, 0, 0, 0, 0, 0, 0, 0); + clean(this.buffer); + } +} + +export class SHA224 extends SHA256 { + protected A: number = SHA224_IV[0] | 0; + protected B: number = SHA224_IV[1] | 0; + protected C: number = SHA224_IV[2] | 0; + protected D: number = SHA224_IV[3] | 0; + protected E: number = SHA224_IV[4] | 0; + protected F: number = SHA224_IV[5] | 0; + protected G: number = SHA224_IV[6] | 0; + protected H: number = SHA224_IV[7] | 0; + constructor() { + super(28); + } +} + +// SHA2-512 is slower than sha256 in js because u64 operations are slow. + +// Round contants +// First 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409 +// prettier-ignore +const K512 = /* @__PURE__ */ (() => u64.split([ + '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc', + '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118', + '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2', + '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694', + '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65', + '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5', + '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4', + '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70', + '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df', + '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b', + '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30', + '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8', + '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8', + '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3', + '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec', + '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b', + '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178', + '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b', + '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c', + '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817' +].map(n => BigInt(n))))(); +const SHA512_Kh = /* @__PURE__ */ (() => K512[0])(); +const SHA512_Kl = /* @__PURE__ */ (() => K512[1])(); + +// Reusable temporary buffers +const SHA512_W_H = /* @__PURE__ */ new Uint32Array(80); +const SHA512_W_L = /* @__PURE__ */ new Uint32Array(80); + +export class SHA512 extends HashMD { + // We cannot use array here since array allows indexing by variable + // which means optimizer/compiler cannot use registers. + // h -- high 32 bits, l -- low 32 bits + protected Ah: number = SHA512_IV[0] | 0; + protected Al: number = SHA512_IV[1] | 0; + protected Bh: number = SHA512_IV[2] | 0; + protected Bl: number = SHA512_IV[3] | 0; + protected Ch: number = SHA512_IV[4] | 0; + protected Cl: number = SHA512_IV[5] | 0; + protected Dh: number = SHA512_IV[6] | 0; + protected Dl: number = SHA512_IV[7] | 0; + protected Eh: number = SHA512_IV[8] | 0; + protected El: number = SHA512_IV[9] | 0; + protected Fh: number = SHA512_IV[10] | 0; + protected Fl: number = SHA512_IV[11] | 0; + protected Gh: number = SHA512_IV[12] | 0; + protected Gl: number = SHA512_IV[13] | 0; + protected Hh: number = SHA512_IV[14] | 0; + protected Hl: number = SHA512_IV[15] | 0; + + constructor(outputLen: number = 64) { + super(128, outputLen, 16, false); + } + // prettier-ignore + protected get(): [ + number, number, number, number, number, number, number, number, + number, number, number, number, number, number, number, number + ] { + const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl]; + } + // prettier-ignore + protected set( + Ah: number, Al: number, Bh: number, Bl: number, Ch: number, Cl: number, Dh: number, Dl: number, + Eh: number, El: number, Fh: number, Fl: number, Gh: number, Gl: number, Hh: number, Hl: number + ): void { + this.Ah = Ah | 0; + this.Al = Al | 0; + this.Bh = Bh | 0; + this.Bl = Bl | 0; + this.Ch = Ch | 0; + this.Cl = Cl | 0; + this.Dh = Dh | 0; + this.Dl = Dl | 0; + this.Eh = Eh | 0; + this.El = El | 0; + this.Fh = Fh | 0; + this.Fl = Fl | 0; + this.Gh = Gh | 0; + this.Gl = Gl | 0; + this.Hh = Hh | 0; + this.Hl = Hl | 0; + } + protected process(view: DataView, offset: number): void { + // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array + for (let i = 0; i < 16; i++, offset += 4) { + SHA512_W_H[i] = view.getUint32(offset); + SHA512_W_L[i] = view.getUint32((offset += 4)); + } + for (let i = 16; i < 80; i++) { + // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7) + const W15h = SHA512_W_H[i - 15] | 0; + const W15l = SHA512_W_L[i - 15] | 0; + const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7); + const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7); + // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6) + const W2h = SHA512_W_H[i - 2] | 0; + const W2l = SHA512_W_L[i - 2] | 0; + const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6); + const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6); + // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16]; + const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]); + const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]); + SHA512_W_H[i] = SUMh | 0; + SHA512_W_L[i] = SUMl | 0; + } + let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + // Compression function main loop, 80 rounds + for (let i = 0; i < 80; i++) { + // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41) + const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41); + const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41); + //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0; + const CHIh = (Eh & Fh) ^ (~Eh & Gh); + const CHIl = (El & Fl) ^ (~El & Gl); + // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i] + // prettier-ignore + const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]); + const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]); + const T1l = T1ll | 0; + // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39) + const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39); + const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39); + const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch); + const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl); + Hh = Gh | 0; + Hl = Gl | 0; + Gh = Fh | 0; + Gl = Fl | 0; + Fh = Eh | 0; + Fl = El | 0; + ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0)); + Dh = Ch | 0; + Dl = Cl | 0; + Ch = Bh | 0; + Cl = Bl | 0; + Bh = Ah | 0; + Bl = Al | 0; + const All = u64.add3L(T1l, sigma0l, MAJl); + Ah = u64.add3H(All, T1h, sigma0h, MAJh); + Al = All | 0; + } + // Add the compressed chunk to the current hash value + ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0)); + ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0)); + ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0)); + ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0)); + ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0)); + ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0)); + ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0)); + ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0)); + this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl); + } + protected roundClean(): void { + clean(SHA512_W_H, SHA512_W_L); + } + destroy(): void { + clean(this.buffer); + this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + } +} + +export class SHA384 extends SHA512 { + protected Ah: number = SHA384_IV[0] | 0; + protected Al: number = SHA384_IV[1] | 0; + protected Bh: number = SHA384_IV[2] | 0; + protected Bl: number = SHA384_IV[3] | 0; + protected Ch: number = SHA384_IV[4] | 0; + protected Cl: number = SHA384_IV[5] | 0; + protected Dh: number = SHA384_IV[6] | 0; + protected Dl: number = SHA384_IV[7] | 0; + protected Eh: number = SHA384_IV[8] | 0; + protected El: number = SHA384_IV[9] | 0; + protected Fh: number = SHA384_IV[10] | 0; + protected Fl: number = SHA384_IV[11] | 0; + protected Gh: number = SHA384_IV[12] | 0; + protected Gl: number = SHA384_IV[13] | 0; + protected Hh: number = SHA384_IV[14] | 0; + protected Hl: number = SHA384_IV[15] | 0; + + constructor() { + super(48); + } +} + +/** + * Truncated SHA512/256 and SHA512/224. + * SHA512_IV is XORed with 0xa5a5a5a5a5a5a5a5, then used as "intermediary" IV of SHA512/t. + * Then t hashes string to produce result IV. + * See `test/misc/sha2-gen-iv.js`. + */ + +/** SHA512/224 IV */ +const T224_IV = /* @__PURE__ */ Uint32Array.from([ + 0x8c3d37c8, 0x19544da2, 0x73e19966, 0x89dcd4d6, 0x1dfab7ae, 0x32ff9c82, 0x679dd514, 0x582f9fcf, + 0x0f6d2b69, 0x7bd44da8, 0x77e36f73, 0x04c48942, 0x3f9d85a8, 0x6a1d36c8, 0x1112e6ad, 0x91d692a1, +]); + +/** SHA512/256 IV */ +const T256_IV = /* @__PURE__ */ Uint32Array.from([ + 0x22312194, 0xfc2bf72c, 0x9f555fa3, 0xc84c64c2, 0x2393b86b, 0x6f53b151, 0x96387719, 0x5940eabd, + 0x96283ee2, 0xa88effe3, 0xbe5e1e25, 0x53863992, 0x2b0199fc, 0x2c85b8aa, 0x0eb72ddc, 0x81c52ca2, +]); + +export class SHA512_224 extends SHA512 { + protected Ah: number = T224_IV[0] | 0; + protected Al: number = T224_IV[1] | 0; + protected Bh: number = T224_IV[2] | 0; + protected Bl: number = T224_IV[3] | 0; + protected Ch: number = T224_IV[4] | 0; + protected Cl: number = T224_IV[5] | 0; + protected Dh: number = T224_IV[6] | 0; + protected Dl: number = T224_IV[7] | 0; + protected Eh: number = T224_IV[8] | 0; + protected El: number = T224_IV[9] | 0; + protected Fh: number = T224_IV[10] | 0; + protected Fl: number = T224_IV[11] | 0; + protected Gh: number = T224_IV[12] | 0; + protected Gl: number = T224_IV[13] | 0; + protected Hh: number = T224_IV[14] | 0; + protected Hl: number = T224_IV[15] | 0; + + constructor() { + super(28); + } +} + +export class SHA512_256 extends SHA512 { + protected Ah: number = T256_IV[0] | 0; + protected Al: number = T256_IV[1] | 0; + protected Bh: number = T256_IV[2] | 0; + protected Bl: number = T256_IV[3] | 0; + protected Ch: number = T256_IV[4] | 0; + protected Cl: number = T256_IV[5] | 0; + protected Dh: number = T256_IV[6] | 0; + protected Dl: number = T256_IV[7] | 0; + protected Eh: number = T256_IV[8] | 0; + protected El: number = T256_IV[9] | 0; + protected Fh: number = T256_IV[10] | 0; + protected Fl: number = T256_IV[11] | 0; + protected Gh: number = T256_IV[12] | 0; + protected Gl: number = T256_IV[13] | 0; + protected Hh: number = T256_IV[14] | 0; + protected Hl: number = T256_IV[15] | 0; + + constructor() { + super(32); + } +} + +/** + * SHA2-256 hash function from RFC 4634. + * + * It is the fastest JS hash, even faster than Blake3. + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + */ +export const sha256: CHash = /* @__PURE__ */ createHasher(() => new SHA256()); +/** SHA2-224 hash function from RFC 4634 */ +export const sha224: CHash = /* @__PURE__ */ createHasher(() => new SHA224()); + +/** SHA2-512 hash function from RFC 4634. */ +export const sha512: CHash = /* @__PURE__ */ createHasher(() => new SHA512()); +/** SHA2-384 hash function from RFC 4634. */ +export const sha384: CHash = /* @__PURE__ */ createHasher(() => new SHA384()); + +/** + * SHA2-512/256 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +export const sha512_256: CHash = /* @__PURE__ */ createHasher(() => new SHA512_256()); +/** + * SHA2-512/224 "truncated" hash function, with improved resistance to length extension attacks. + * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf). + */ +export const sha512_224: CHash = /* @__PURE__ */ createHasher(() => new SHA512_224()); diff --git a/node_modules/@noble/hashes/src/sha256.ts b/node_modules/@noble/hashes/src/sha256.ts new file mode 100644 index 0000000..61ea0eb --- /dev/null +++ b/node_modules/@noble/hashes/src/sha256.ts @@ -0,0 +1,24 @@ +/** + * SHA2-256 a.k.a. sha256. In JS, it is the fastest hash, even faster than Blake3. + * + * To break sha256 using birthday attack, attackers need to try 2^128 hashes. + * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025. + * + * Check out [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). + * @module + * @deprecated + */ +import { + SHA224 as SHA224n, + sha224 as sha224n, + SHA256 as SHA256n, + sha256 as sha256n, +} from './sha2.ts'; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA256: typeof SHA256n = SHA256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha256: typeof sha256n = sha256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA224: typeof SHA224n = SHA224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha224: typeof sha224n = sha224n; diff --git a/node_modules/@noble/hashes/src/sha3-addons.ts b/node_modules/@noble/hashes/src/sha3-addons.ts new file mode 100644 index 0000000..724a769 --- /dev/null +++ b/node_modules/@noble/hashes/src/sha3-addons.ts @@ -0,0 +1,499 @@ +/** + * SHA3 (keccak) addons. + * + * * Full [NIST SP 800-185](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf): + * cSHAKE, KMAC, TupleHash, ParallelHash + XOF variants + * * Reduced-round Keccak [(draft)](https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/): + * * 🦘 K12 aka KangarooTwelve + * * M14 aka MarsupilamiFourteen + * * TurboSHAKE + * * KeccakPRG: Pseudo-random generator based on Keccak [(pdf)](https://keccak.team/files/CSF-0.1.pdf) + * @module + */ +import { Keccak, type ShakeOpts } from './sha3.ts'; +import { + abytes, + anumber, + type CHashO, + type CHashXO, + createOptHasher, + createXOFer, + Hash, + type HashXOF, + type Input, + toBytes, + u32, +} from './utils.ts'; + +// cSHAKE && KMAC (NIST SP800-185) +const _8n = BigInt(8); +const _ffn = BigInt(0xff); + +// NOTE: it is safe to use bigints here, since they used only for length encoding (not actual data). +// We use bigints in sha256 for lengths too. +function leftEncode(n: number | bigint): Uint8Array { + n = BigInt(n); + const res = [Number(n & _ffn)]; + n >>= _8n; + for (; n > 0; n >>= _8n) res.unshift(Number(n & _ffn)); + res.unshift(res.length); + return new Uint8Array(res); +} + +function rightEncode(n: number | bigint): Uint8Array { + n = BigInt(n); + const res = [Number(n & _ffn)]; + n >>= _8n; + for (; n > 0; n >>= _8n) res.unshift(Number(n & _ffn)); + res.push(res.length); + return new Uint8Array(res); +} + +function chooseLen(opts: ShakeOpts, outputLen: number): number { + return opts.dkLen === undefined ? outputLen : opts.dkLen; +} + +const abytesOrZero = (buf?: Input) => { + if (buf === undefined) return Uint8Array.of(); + return toBytes(buf); +}; +// NOTE: second modulo is necessary since we don't need to add padding if current element takes whole block +const getPadding = (len: number, block: number) => new Uint8Array((block - (len % block)) % block); +export type cShakeOpts = ShakeOpts & { personalization?: Input; NISTfn?: Input }; + +// Personalization +function cshakePers(hash: Keccak, opts: cShakeOpts = {}): Keccak { + if (!opts || (!opts.personalization && !opts.NISTfn)) return hash; + // Encode and pad inplace to avoid unneccesary memory copies/slices (so we don't need to zero them later) + // bytepad(encode_string(N) || encode_string(S), 168) + const blockLenBytes = leftEncode(hash.blockLen); + const fn = abytesOrZero(opts.NISTfn); + const fnLen = leftEncode(_8n * BigInt(fn.length)); // length in bits + const pers = abytesOrZero(opts.personalization); + const persLen = leftEncode(_8n * BigInt(pers.length)); // length in bits + if (!fn.length && !pers.length) return hash; + hash.suffix = 0x04; + hash.update(blockLenBytes).update(fnLen).update(fn).update(persLen).update(pers); + let totalLen = blockLenBytes.length + fnLen.length + fn.length + persLen.length + pers.length; + hash.update(getPadding(totalLen, hash.blockLen)); + return hash; +} + +const gencShake = (suffix: number, blockLen: number, outputLen: number) => + createXOFer((opts: cShakeOpts = {}) => + cshakePers(new Keccak(blockLen, suffix, chooseLen(opts, outputLen), true), opts) + ); + +// TODO: refactor +export type ICShake = { + (msg: Input, opts?: cShakeOpts): Uint8Array; + outputLen: number; + blockLen: number; + create(opts: cShakeOpts): HashXOF; +}; +export type ITupleHash = { + (messages: Input[], opts?: cShakeOpts): Uint8Array; + create(opts?: cShakeOpts): TupleHash; +}; +export type IParHash = { + (message: Input, opts?: ParallelOpts): Uint8Array; + create(opts?: ParallelOpts): ParallelHash; +}; +export const cshake128: ICShake = /* @__PURE__ */ (() => gencShake(0x1f, 168, 128 / 8))(); +export const cshake256: ICShake = /* @__PURE__ */ (() => gencShake(0x1f, 136, 256 / 8))(); + +export class KMAC extends Keccak implements HashXOF { + constructor( + blockLen: number, + outputLen: number, + enableXOF: boolean, + key: Input, + opts: cShakeOpts = {} + ) { + super(blockLen, 0x1f, outputLen, enableXOF); + cshakePers(this, { NISTfn: 'KMAC', personalization: opts.personalization }); + key = toBytes(key); + abytes(key); + // 1. newX = bytepad(encode_string(K), 168) || X || right_encode(L). + const blockLenBytes = leftEncode(this.blockLen); + const keyLen = leftEncode(_8n * BigInt(key.length)); + this.update(blockLenBytes).update(keyLen).update(key); + const totalLen = blockLenBytes.length + keyLen.length + key.length; + this.update(getPadding(totalLen, this.blockLen)); + } + protected finish(): void { + if (!this.finished) this.update(rightEncode(this.enableXOF ? 0 : _8n * BigInt(this.outputLen))); // outputLen in bits + super.finish(); + } + _cloneInto(to?: KMAC): KMAC { + // Create new instance without calling constructor since key already in state and we don't know it. + // Force "to" to be instance of KMAC instead of Sha3. + if (!to) { + to = Object.create(Object.getPrototypeOf(this), {}) as KMAC; + to.state = this.state.slice(); + to.blockLen = this.blockLen; + to.state32 = u32(to.state); + } + return super._cloneInto(to) as KMAC; + } + clone(): KMAC { + return this._cloneInto(); + } +} + +function genKmac(blockLen: number, outputLen: number, xof = false) { + const kmac = (key: Input, message: Input, opts?: cShakeOpts): Uint8Array => + kmac.create(key, opts).update(message).digest(); + kmac.create = (key: Input, opts: cShakeOpts = {}) => + new KMAC(blockLen, chooseLen(opts, outputLen), xof, key, opts); + return kmac; +} + +export const kmac128: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +} = /* @__PURE__ */ (() => genKmac(168, 128 / 8))(); +export const kmac256: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +} = /* @__PURE__ */ (() => genKmac(136, 256 / 8))(); +export const kmac128xof: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +} = /* @__PURE__ */ (() => genKmac(168, 128 / 8, true))(); +export const kmac256xof: { + (key: Input, message: Input, opts?: cShakeOpts): Uint8Array; + create(key: Input, opts?: cShakeOpts): KMAC; +} = /* @__PURE__ */ (() => genKmac(136, 256 / 8, true))(); + +// TupleHash +// Usage: tuple(['ab', 'cd']) != tuple(['a', 'bcd']) +export class TupleHash extends Keccak implements HashXOF { + constructor(blockLen: number, outputLen: number, enableXOF: boolean, opts: cShakeOpts = {}) { + super(blockLen, 0x1f, outputLen, enableXOF); + cshakePers(this, { NISTfn: 'TupleHash', personalization: opts.personalization }); + // Change update after cshake processed + this.update = (data: Input) => { + data = toBytes(data); + abytes(data); + super.update(leftEncode(_8n * BigInt(data.length))); + super.update(data); + return this; + }; + } + protected finish(): void { + if (!this.finished) + super.update(rightEncode(this.enableXOF ? 0 : _8n * BigInt(this.outputLen))); // outputLen in bits + super.finish(); + } + _cloneInto(to?: TupleHash): TupleHash { + to ||= new TupleHash(this.blockLen, this.outputLen, this.enableXOF); + return super._cloneInto(to) as TupleHash; + } + clone(): TupleHash { + return this._cloneInto(); + } +} + +function genTuple(blockLen: number, outputLen: number, xof = false) { + const tuple = (messages: Input[], opts?: cShakeOpts): Uint8Array => { + const h = tuple.create(opts); + for (const msg of messages) h.update(msg); + return h.digest(); + }; + tuple.create = (opts: cShakeOpts = {}) => + new TupleHash(blockLen, chooseLen(opts, outputLen), xof, opts); + return tuple; +} + +/** 128-bit TupleHASH. */ +export const tuplehash128: ITupleHash = /* @__PURE__ */ (() => genTuple(168, 128 / 8))(); +/** 256-bit TupleHASH. */ +export const tuplehash256: ITupleHash = /* @__PURE__ */ (() => genTuple(136, 256 / 8))(); +/** 128-bit TupleHASH XOF. */ +export const tuplehash128xof: ITupleHash = /* @__PURE__ */ (() => genTuple(168, 128 / 8, true))(); +/** 256-bit TupleHASH XOF. */ +export const tuplehash256xof: ITupleHash = /* @__PURE__ */ (() => genTuple(136, 256 / 8, true))(); + +// ParallelHash (same as K12/M14, but without speedup for inputs less 8kb, reduced number of rounds and more simple) +type ParallelOpts = cShakeOpts & { blockLen?: number }; + +export class ParallelHash extends Keccak implements HashXOF { + private leafHash?: Hash; + protected leafCons: () => Hash; + private chunkPos = 0; // Position of current block in chunk + private chunksDone = 0; // How many chunks we already have + private chunkLen: number; + constructor( + blockLen: number, + outputLen: number, + leafCons: () => Hash, + enableXOF: boolean, + opts: ParallelOpts = {} + ) { + super(blockLen, 0x1f, outputLen, enableXOF); + cshakePers(this, { NISTfn: 'ParallelHash', personalization: opts.personalization }); + this.leafCons = leafCons; + let { blockLen: B } = opts; + B ||= 8; + anumber(B); + this.chunkLen = B; + super.update(leftEncode(B)); + // Change update after cshake processed + this.update = (data: Input) => { + data = toBytes(data); + abytes(data); + const { chunkLen, leafCons } = this; + for (let pos = 0, len = data.length; pos < len; ) { + if (this.chunkPos == chunkLen || !this.leafHash) { + if (this.leafHash) { + super.update(this.leafHash.digest()); + this.chunksDone++; + } + this.leafHash = leafCons(); + this.chunkPos = 0; + } + const take = Math.min(chunkLen - this.chunkPos, len - pos); + this.leafHash.update(data.subarray(pos, pos + take)); + this.chunkPos += take; + pos += take; + } + return this; + }; + } + protected finish(): void { + if (this.finished) return; + if (this.leafHash) { + super.update(this.leafHash.digest()); + this.chunksDone++; + } + super.update(rightEncode(this.chunksDone)); + super.update(rightEncode(this.enableXOF ? 0 : _8n * BigInt(this.outputLen))); // outputLen in bits + super.finish(); + } + _cloneInto(to?: ParallelHash): ParallelHash { + to ||= new ParallelHash(this.blockLen, this.outputLen, this.leafCons, this.enableXOF); + if (this.leafHash) to.leafHash = this.leafHash._cloneInto(to.leafHash as Keccak); + to.chunkPos = this.chunkPos; + to.chunkLen = this.chunkLen; + to.chunksDone = this.chunksDone; + return super._cloneInto(to) as ParallelHash; + } + destroy(): void { + super.destroy.call(this); + if (this.leafHash) this.leafHash.destroy(); + } + clone(): ParallelHash { + return this._cloneInto(); + } +} + +function genPrl( + blockLen: number, + outputLen: number, + leaf: ReturnType, + xof = false +) { + const parallel = (message: Input, opts?: ParallelOpts): Uint8Array => + parallel.create(opts).update(message).digest(); + parallel.create = (opts: ParallelOpts = {}) => + new ParallelHash( + blockLen, + chooseLen(opts, outputLen), + () => leaf.create({ dkLen: 2 * outputLen }), + xof, + opts + ); + return parallel; +} + +/** 128-bit ParallelHash. In JS, it is not parallel. */ +export const parallelhash128: IParHash = /* @__PURE__ */ (() => genPrl(168, 128 / 8, cshake128))(); +/** 256-bit ParallelHash. In JS, it is not parallel. */ +export const parallelhash256: IParHash = /* @__PURE__ */ (() => genPrl(136, 256 / 8, cshake256))(); +/** 128-bit ParallelHash XOF. In JS, it is not parallel. */ +export const parallelhash128xof: IParHash = /* @__PURE__ */ (() => + genPrl(168, 128 / 8, cshake128, true))(); +/** 256-bit ParallelHash. In JS, it is not parallel. */ +export const parallelhash256xof: IParHash = /* @__PURE__ */ (() => + genPrl(136, 256 / 8, cshake256, true))(); + +// Should be simple 'shake with 12 rounds', but no, we got whole new spec about Turbo SHAKE Pro MAX. +export type TurboshakeOpts = ShakeOpts & { + D?: number; // Domain separation byte +}; + +const genTurboshake = (blockLen: number, outputLen: number) => + createXOFer, TurboshakeOpts>((opts: TurboshakeOpts = {}) => { + const D = opts.D === undefined ? 0x1f : opts.D; + // Section 2.1 of https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/ + if (!Number.isSafeInteger(D) || D < 0x01 || D > 0x7f) + throw new Error('invalid domain separation byte must be 0x01..0x7f, got: ' + D); + return new Keccak(blockLen, D, opts.dkLen === undefined ? outputLen : opts.dkLen, true, 12); + }); + +/** TurboSHAKE 128-bit: reduced 12-round keccak. */ +export const turboshake128: CHashXO = /* @__PURE__ */ genTurboshake(168, 256 / 8); +/** TurboSHAKE 256-bit: reduced 12-round keccak. */ +export const turboshake256: CHashXO = /* @__PURE__ */ genTurboshake(136, 512 / 8); + +// Kangaroo +// Same as NIST rightEncode, but returns [0] for zero string +function rightEncodeK12(n: number | bigint): Uint8Array { + n = BigInt(n); + const res: number[] = []; + for (; n > 0; n >>= _8n) res.unshift(Number(n & _ffn)); + res.push(res.length); + return Uint8Array.from(res); +} + +export type KangarooOpts = { dkLen?: number; personalization?: Input }; +const EMPTY_BUFFER = /* @__PURE__ */ Uint8Array.of(); + +export class KangarooTwelve extends Keccak implements HashXOF { + readonly chunkLen = 8192; + private leafHash?: Keccak; + protected leafLen: number; + private personalization: Uint8Array; + private chunkPos = 0; // Position of current block in chunk + private chunksDone = 0; // How many chunks we already have + constructor( + blockLen: number, + leafLen: number, + outputLen: number, + rounds: number, + opts: KangarooOpts + ) { + super(blockLen, 0x07, outputLen, true, rounds); + this.leafLen = leafLen; + this.personalization = abytesOrZero(opts.personalization); + } + update(data: Input): this { + data = toBytes(data); + abytes(data); + const { chunkLen, blockLen, leafLen, rounds } = this; + for (let pos = 0, len = data.length; pos < len; ) { + if (this.chunkPos == chunkLen) { + if (this.leafHash) super.update(this.leafHash.digest()); + else { + this.suffix = 0x06; // Its safe to change suffix here since its used only in digest() + super.update(Uint8Array.from([3, 0, 0, 0, 0, 0, 0, 0])); + } + this.leafHash = new Keccak(blockLen, 0x0b, leafLen, false, rounds); + this.chunksDone++; + this.chunkPos = 0; + } + const take = Math.min(chunkLen - this.chunkPos, len - pos); + const chunk = data.subarray(pos, pos + take); + if (this.leafHash) this.leafHash.update(chunk); + else super.update(chunk); + this.chunkPos += take; + pos += take; + } + return this; + } + protected finish(): void { + if (this.finished) return; + const { personalization } = this; + this.update(personalization).update(rightEncodeK12(personalization.length)); + // Leaf hash + if (this.leafHash) { + super.update(this.leafHash.digest()); + super.update(rightEncodeK12(this.chunksDone)); + super.update(Uint8Array.from([0xff, 0xff])); + } + super.finish.call(this); + } + destroy(): void { + super.destroy.call(this); + if (this.leafHash) this.leafHash.destroy(); + // We cannot zero personalization buffer since it is user provided and we don't want to mutate user input + this.personalization = EMPTY_BUFFER; + } + _cloneInto(to?: KangarooTwelve): KangarooTwelve { + const { blockLen, leafLen, leafHash, outputLen, rounds } = this; + to ||= new KangarooTwelve(blockLen, leafLen, outputLen, rounds, {}); + super._cloneInto(to); + if (leafHash) to.leafHash = leafHash._cloneInto(to.leafHash); + to.personalization.set(this.personalization); + to.leafLen = this.leafLen; + to.chunkPos = this.chunkPos; + to.chunksDone = this.chunksDone; + return to; + } + clone(): KangarooTwelve { + return this._cloneInto(); + } +} +/** KangarooTwelve: reduced 12-round keccak. */ +export const k12: CHashO = /* @__PURE__ */ (() => + createOptHasher( + (opts: KangarooOpts = {}) => new KangarooTwelve(168, 32, chooseLen(opts, 32), 12, opts) + ))(); +/** MarsupilamiFourteen: reduced 14-round keccak. */ +export const m14: CHashO = /* @__PURE__ */ (() => + createOptHasher( + (opts: KangarooOpts = {}) => new KangarooTwelve(136, 64, chooseLen(opts, 64), 14, opts) + ))(); + +/** + * More at https://github.com/XKCP/XKCP/tree/master/lib/high/Keccak/PRG. + */ +export class KeccakPRG extends Keccak { + protected rate: number; + constructor(capacity: number) { + anumber(capacity); + // Rho should be full bytes + if (capacity < 0 || capacity > 1600 - 10 || (1600 - capacity - 2) % 8) + throw new Error('invalid capacity'); + // blockLen = rho in bytes + super((1600 - capacity - 2) / 8, 0, 0, true); + this.rate = 1600 - capacity; + this.posOut = Math.floor((this.rate + 7) / 8); + } + keccak(): void { + // Duplex padding + this.state[this.pos] ^= 0x01; + this.state[this.blockLen] ^= 0x02; // Rho is full bytes + super.keccak(); + this.pos = 0; + this.posOut = 0; + } + update(data: Input): this { + super.update(data); + this.posOut = this.blockLen; + return this; + } + feed(data: Input): this { + return this.update(data); + } + protected finish(): void {} + digestInto(_out: Uint8Array): Uint8Array { + throw new Error('digest is not allowed, use .fetch instead'); + } + fetch(bytes: number): Uint8Array { + return this.xof(bytes); + } + // Ensure irreversibility (even if state leaked previous outputs cannot be computed) + forget(): void { + if (this.rate < 1600 / 2 + 1) throw new Error('rate is too low to use .forget()'); + this.keccak(); + for (let i = 0; i < this.blockLen; i++) this.state[i] = 0; + this.pos = this.blockLen; + this.keccak(); + this.posOut = this.blockLen; + } + _cloneInto(to?: KeccakPRG): KeccakPRG { + const { rate } = this; + to ||= new KeccakPRG(1600 - rate); + super._cloneInto(to); + to.rate = rate; + return to; + } + clone(): KeccakPRG { + return this._cloneInto(); + } +} + +/** KeccakPRG: Pseudo-random generator based on Keccak. https://keccak.team/files/CSF-0.1.pdf */ +export const keccakprg = (capacity = 254): KeccakPRG => new KeccakPRG(capacity); diff --git a/node_modules/@noble/hashes/src/sha3.ts b/node_modules/@noble/hashes/src/sha3.ts new file mode 100644 index 0000000..bb7b676 --- /dev/null +++ b/node_modules/@noble/hashes/src/sha3.ts @@ -0,0 +1,258 @@ +/** + * SHA3 (keccak) hash function, based on a new "Sponge function" design. + * Different from older hashes, the internal state is bigger than output size. + * + * Check out [FIPS-202](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf), + * [Website](https://keccak.team/keccak.html), + * [the differences between SHA-3 and Keccak](https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub). + * + * Check out `sha3-addons` module for cSHAKE, k12, and others. + * @module + */ +import { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.ts'; +// prettier-ignore +import { + abytes, aexists, anumber, aoutput, + clean, createHasher, createXOFer, Hash, + swap32IfBE, + toBytes, u32, + type CHash, type CHashXO, type HashXOF, type Input +} from './utils.ts'; + +// No __PURE__ annotations in sha3 header: +// EVERYTHING is in fact used on every export. +// Various per round constants calculations +const _0n = BigInt(0); +const _1n = BigInt(1); +const _2n = BigInt(2); +const _7n = BigInt(7); +const _256n = BigInt(256); +const _0x71n = BigInt(0x71); +const SHA3_PI: number[] = []; +const SHA3_ROTL: number[] = []; +const _SHA3_IOTA: bigint[] = []; +for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) { + // Pi + [x, y] = [y, (2 * x + 3 * y) % 5]; + SHA3_PI.push(2 * (5 * y + x)); + // Rotational + SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64); + // Iota + let t = _0n; + for (let j = 0; j < 7; j++) { + R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n; + if (R & _2n) t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n); + } + _SHA3_IOTA.push(t); +} +const IOTAS = split(_SHA3_IOTA, true); +const SHA3_IOTA_H = IOTAS[0]; +const SHA3_IOTA_L = IOTAS[1]; + +// Left rotation (without 0, 32, 64) +const rotlH = (h: number, l: number, s: number) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s)); +const rotlL = (h: number, l: number, s: number) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s)); + +/** `keccakf1600` internal function, additionally allows to adjust round count. */ +export function keccakP(s: Uint32Array, rounds: number = 24): void { + const B = new Uint32Array(5 * 2); + // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js) + for (let round = 24 - rounds; round < 24; round++) { + // Theta θ + for (let x = 0; x < 10; x++) B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40]; + for (let x = 0; x < 10; x += 2) { + const idx1 = (x + 8) % 10; + const idx0 = (x + 2) % 10; + const B0 = B[idx0]; + const B1 = B[idx0 + 1]; + const Th = rotlH(B0, B1, 1) ^ B[idx1]; + const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1]; + for (let y = 0; y < 50; y += 10) { + s[x + y] ^= Th; + s[x + y + 1] ^= Tl; + } + } + // Rho (ρ) and Pi (π) + let curH = s[2]; + let curL = s[3]; + for (let t = 0; t < 24; t++) { + const shift = SHA3_ROTL[t]; + const Th = rotlH(curH, curL, shift); + const Tl = rotlL(curH, curL, shift); + const PI = SHA3_PI[t]; + curH = s[PI]; + curL = s[PI + 1]; + s[PI] = Th; + s[PI + 1] = Tl; + } + // Chi (χ) + for (let y = 0; y < 50; y += 10) { + for (let x = 0; x < 10; x++) B[x] = s[y + x]; + for (let x = 0; x < 10; x++) s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10]; + } + // Iota (ι) + s[0] ^= SHA3_IOTA_H[round]; + s[1] ^= SHA3_IOTA_L[round]; + } + clean(B); +} + +/** Keccak sponge function. */ +export class Keccak extends Hash implements HashXOF { + protected state: Uint8Array; + protected pos = 0; + protected posOut = 0; + protected finished = false; + protected state32: Uint32Array; + protected destroyed = false; + + public blockLen: number; + public suffix: number; + public outputLen: number; + protected enableXOF = false; + protected rounds: number; + + // NOTE: we accept arguments in bytes instead of bits here. + constructor( + blockLen: number, + suffix: number, + outputLen: number, + enableXOF = false, + rounds: number = 24 + ) { + super(); + this.blockLen = blockLen; + this.suffix = suffix; + this.outputLen = outputLen; + this.enableXOF = enableXOF; + this.rounds = rounds; + // Can be passed from user as dkLen + anumber(outputLen); + // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes + // 0 < blockLen < 200 + if (!(0 < blockLen && blockLen < 200)) + throw new Error('only keccak-f1600 function is supported'); + this.state = new Uint8Array(200); + this.state32 = u32(this.state); + } + clone(): Keccak { + return this._cloneInto(); + } + protected keccak(): void { + swap32IfBE(this.state32); + keccakP(this.state32, this.rounds); + swap32IfBE(this.state32); + this.posOut = 0; + this.pos = 0; + } + update(data: Input): this { + aexists(this); + data = toBytes(data); + abytes(data); + const { blockLen, state } = this; + const len = data.length; + for (let pos = 0; pos < len; ) { + const take = Math.min(blockLen - this.pos, len - pos); + for (let i = 0; i < take; i++) state[this.pos++] ^= data[pos++]; + if (this.pos === blockLen) this.keccak(); + } + return this; + } + protected finish(): void { + if (this.finished) return; + this.finished = true; + const { state, suffix, pos, blockLen } = this; + // Do the padding + state[pos] ^= suffix; + if ((suffix & 0x80) !== 0 && pos === blockLen - 1) this.keccak(); + state[blockLen - 1] ^= 0x80; + this.keccak(); + } + protected writeInto(out: Uint8Array): Uint8Array { + aexists(this, false); + abytes(out); + this.finish(); + const bufferOut = this.state; + const { blockLen } = this; + for (let pos = 0, len = out.length; pos < len; ) { + if (this.posOut >= blockLen) this.keccak(); + const take = Math.min(blockLen - this.posOut, len - pos); + out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos); + this.posOut += take; + pos += take; + } + return out; + } + xofInto(out: Uint8Array): Uint8Array { + // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF + if (!this.enableXOF) throw new Error('XOF is not possible for this instance'); + return this.writeInto(out); + } + xof(bytes: number): Uint8Array { + anumber(bytes); + return this.xofInto(new Uint8Array(bytes)); + } + digestInto(out: Uint8Array): Uint8Array { + aoutput(out, this); + if (this.finished) throw new Error('digest() was already called'); + this.writeInto(out); + this.destroy(); + return out; + } + digest(): Uint8Array { + return this.digestInto(new Uint8Array(this.outputLen)); + } + destroy(): void { + this.destroyed = true; + clean(this.state); + } + _cloneInto(to?: Keccak): Keccak { + const { blockLen, suffix, outputLen, rounds, enableXOF } = this; + to ||= new Keccak(blockLen, suffix, outputLen, enableXOF, rounds); + to.state32.set(this.state32); + to.pos = this.pos; + to.posOut = this.posOut; + to.finished = this.finished; + to.rounds = rounds; + // Suffix can change in cSHAKE + to.suffix = suffix; + to.outputLen = outputLen; + to.enableXOF = enableXOF; + to.destroyed = this.destroyed; + return to; + } +} + +const gen = (suffix: number, blockLen: number, outputLen: number) => + createHasher(() => new Keccak(blockLen, suffix, outputLen)); + +/** SHA3-224 hash function. */ +export const sha3_224: CHash = /* @__PURE__ */ (() => gen(0x06, 144, 224 / 8))(); +/** SHA3-256 hash function. Different from keccak-256. */ +export const sha3_256: CHash = /* @__PURE__ */ (() => gen(0x06, 136, 256 / 8))(); +/** SHA3-384 hash function. */ +export const sha3_384: CHash = /* @__PURE__ */ (() => gen(0x06, 104, 384 / 8))(); +/** SHA3-512 hash function. */ +export const sha3_512: CHash = /* @__PURE__ */ (() => gen(0x06, 72, 512 / 8))(); + +/** keccak-224 hash function. */ +export const keccak_224: CHash = /* @__PURE__ */ (() => gen(0x01, 144, 224 / 8))(); +/** keccak-256 hash function. Different from SHA3-256. */ +export const keccak_256: CHash = /* @__PURE__ */ (() => gen(0x01, 136, 256 / 8))(); +/** keccak-384 hash function. */ +export const keccak_384: CHash = /* @__PURE__ */ (() => gen(0x01, 104, 384 / 8))(); +/** keccak-512 hash function. */ +export const keccak_512: CHash = /* @__PURE__ */ (() => gen(0x01, 72, 512 / 8))(); + +export type ShakeOpts = { dkLen?: number }; + +const genShake = (suffix: number, blockLen: number, outputLen: number) => + createXOFer, ShakeOpts>( + (opts: ShakeOpts = {}) => + new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true) + ); + +/** SHAKE128 XOF with 128-bit security. */ +export const shake128: CHashXO = /* @__PURE__ */ (() => genShake(0x1f, 168, 128 / 8))(); +/** SHAKE256 XOF with 256-bit security. */ +export const shake256: CHashXO = /* @__PURE__ */ (() => genShake(0x1f, 136, 256 / 8))(); diff --git a/node_modules/@noble/hashes/src/sha512.ts b/node_modules/@noble/hashes/src/sha512.ts new file mode 100644 index 0000000..15bd252 --- /dev/null +++ b/node_modules/@noble/hashes/src/sha512.ts @@ -0,0 +1,34 @@ +/** + * SHA2-512 a.k.a. sha512 and sha384. It is slower than sha256 in js because u64 operations are slow. + * + * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and + * [the paper on truncated SHA512/256](https://eprint.iacr.org/2010/548.pdf). + * @module + * @deprecated + */ +import { + SHA384 as SHA384n, + sha384 as sha384n, + sha512_224 as sha512_224n, + SHA512_224 as SHA512_224n, + sha512_256 as sha512_256n, + SHA512_256 as SHA512_256n, + SHA512 as SHA512n, + sha512 as sha512n, +} from './sha2.ts'; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA512: typeof SHA512n = SHA512n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha512: typeof sha512n = sha512n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA384: typeof SHA384n = SHA384n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha384: typeof sha384n = sha384n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA512_224: typeof SHA512_224n = SHA512_224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha512_224: typeof sha512_224n = sha512_224n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const SHA512_256: typeof SHA512_256n = SHA512_256n; +/** @deprecated Use import from `noble/hashes/sha2` module */ +export const sha512_256: typeof sha512_256n = sha512_256n; diff --git a/node_modules/@noble/hashes/src/utils.ts b/node_modules/@noble/hashes/src/utils.ts new file mode 100644 index 0000000..4c8a679 --- /dev/null +++ b/node_modules/@noble/hashes/src/utils.ts @@ -0,0 +1,395 @@ +/** + * Utilities for hex, bytes, CSPRNG. + * @module + */ +/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */ + +// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+. +// node.js versions earlier than v19 don't declare it in global scope. +// For node.js, package.json#exports field mapping rewrites import +// from `crypto` to `cryptoNode`, which imports native module. +// Makes the utils un-importable in browsers without a bundler. +// Once node.js 18 is deprecated (2025-04-30), we can just drop the import. +import { crypto } from '@noble/hashes/crypto'; + +/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */ +export function isBytes(a: unknown): a is Uint8Array { + return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array'); +} + +/** Asserts something is positive integer. */ +export function anumber(n: number): void { + if (!Number.isSafeInteger(n) || n < 0) throw new Error('positive integer expected, got ' + n); +} + +/** Asserts something is Uint8Array. */ +export function abytes(b: Uint8Array | undefined, ...lengths: number[]): void { + if (!isBytes(b)) throw new Error('Uint8Array expected'); + if (lengths.length > 0 && !lengths.includes(b.length)) + throw new Error('Uint8Array expected of length ' + lengths + ', got length=' + b.length); +} + +/** Asserts something is hash */ +export function ahash(h: IHash): void { + if (typeof h !== 'function' || typeof h.create !== 'function') + throw new Error('Hash should be wrapped by utils.createHasher'); + anumber(h.outputLen); + anumber(h.blockLen); +} + +/** Asserts a hash instance has not been destroyed / finished */ +export function aexists(instance: any, checkFinished = true): void { + if (instance.destroyed) throw new Error('Hash instance has been destroyed'); + if (checkFinished && instance.finished) throw new Error('Hash#digest() has already been called'); +} + +/** Asserts output is properly-sized byte array */ +export function aoutput(out: any, instance: any): void { + abytes(out); + const min = instance.outputLen; + if (out.length < min) { + throw new Error('digestInto() expects output buffer of length at least ' + min); + } +} + +/** Generic type encompassing 8/16/32-byte arrays - but not 64-byte. */ +// prettier-ignore +export type TypedArray = Int8Array | Uint8ClampedArray | Uint8Array | + Uint16Array | Int16Array | Uint32Array | Int32Array; + +/** Cast u8 / u16 / u32 to u8. */ +export function u8(arr: TypedArray): Uint8Array { + return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); +} + +/** Cast u8 / u16 / u32 to u32. */ +export function u32(arr: TypedArray): Uint32Array { + return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4)); +} + +/** Zeroize a byte array. Warning: JS provides no guarantees. */ +export function clean(...arrays: TypedArray[]): void { + for (let i = 0; i < arrays.length; i++) { + arrays[i].fill(0); + } +} + +/** Create DataView of an array for easy byte-level manipulation. */ +export function createView(arr: TypedArray): DataView { + return new DataView(arr.buffer, arr.byteOffset, arr.byteLength); +} + +/** The rotate right (circular right shift) operation for uint32 */ +export function rotr(word: number, shift: number): number { + return (word << (32 - shift)) | (word >>> shift); +} + +/** The rotate left (circular left shift) operation for uint32 */ +export function rotl(word: number, shift: number): number { + return (word << shift) | ((word >>> (32 - shift)) >>> 0); +} + +/** Is current platform little-endian? Most are. Big-Endian platform: IBM */ +export const isLE: boolean = /* @__PURE__ */ (() => + new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)(); + +/** The byte swap operation for uint32 */ +export function byteSwap(word: number): number { + return ( + ((word << 24) & 0xff000000) | + ((word << 8) & 0xff0000) | + ((word >>> 8) & 0xff00) | + ((word >>> 24) & 0xff) + ); +} +/** Conditionally byte swap if on a big-endian platform */ +export const swap8IfBE: (n: number) => number = isLE + ? (n: number) => n + : (n: number) => byteSwap(n); + +/** @deprecated */ +export const byteSwapIfBE: typeof swap8IfBE = swap8IfBE; +/** In place byte swap for Uint32Array */ +export function byteSwap32(arr: Uint32Array): Uint32Array { + for (let i = 0; i < arr.length; i++) { + arr[i] = byteSwap(arr[i]); + } + return arr; +} + +export const swap32IfBE: (u: Uint32Array) => Uint32Array = isLE + ? (u: Uint32Array) => u + : byteSwap32; + +// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex +const hasHexBuiltin: boolean = /* @__PURE__ */ (() => + // @ts-ignore + typeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function')(); + +// Array where index 0xf0 (240) is mapped to string 'f0' +const hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => + i.toString(16).padStart(2, '0') +); + +/** + * Convert byte array to hex string. Uses built-in function, when available. + * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123' + */ +export function bytesToHex(bytes: Uint8Array): string { + abytes(bytes); + // @ts-ignore + if (hasHexBuiltin) return bytes.toHex(); + // pre-caching improves the speed 6x + let hex = ''; + for (let i = 0; i < bytes.length; i++) { + hex += hexes[bytes[i]]; + } + return hex; +} + +// We use optimized technique to convert hex string to byte array +const asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 } as const; +function asciiToBase16(ch: number): number | undefined { + if (ch >= asciis._0 && ch <= asciis._9) return ch - asciis._0; // '2' => 50-48 + if (ch >= asciis.A && ch <= asciis.F) return ch - (asciis.A - 10); // 'B' => 66-(65-10) + if (ch >= asciis.a && ch <= asciis.f) return ch - (asciis.a - 10); // 'b' => 98-(97-10) + return; +} + +/** + * Convert hex string to byte array. Uses built-in function, when available. + * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23]) + */ +export function hexToBytes(hex: string): Uint8Array { + if (typeof hex !== 'string') throw new Error('hex string expected, got ' + typeof hex); + // @ts-ignore + if (hasHexBuiltin) return Uint8Array.fromHex(hex); + const hl = hex.length; + const al = hl / 2; + if (hl % 2) throw new Error('hex string expected, got unpadded hex of length ' + hl); + const array = new Uint8Array(al); + for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) { + const n1 = asciiToBase16(hex.charCodeAt(hi)); + const n2 = asciiToBase16(hex.charCodeAt(hi + 1)); + if (n1 === undefined || n2 === undefined) { + const char = hex[hi] + hex[hi + 1]; + throw new Error('hex string expected, got non-hex character "' + char + '" at index ' + hi); + } + array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163 + } + return array; +} + +/** + * There is no setImmediate in browser and setTimeout is slow. + * Call of async fn will return Promise, which will be fullfiled only on + * next scheduler queue processing step and this is exactly what we need. + */ +export const nextTick = async (): Promise => {}; + +/** Returns control to thread each 'tick' ms to avoid blocking. */ +export async function asyncLoop( + iters: number, + tick: number, + cb: (i: number) => void +): Promise { + let ts = Date.now(); + for (let i = 0; i < iters; i++) { + cb(i); + // Date.now() is not monotonic, so in case if clock goes backwards we return return control too + const diff = Date.now() - ts; + if (diff >= 0 && diff < tick) continue; + await nextTick(); + ts += diff; + } +} + +// Global symbols, but ts doesn't see them: https://github.com/microsoft/TypeScript/issues/31535 +declare const TextEncoder: any; +declare const TextDecoder: any; + +/** + * Converts string to bytes using UTF8 encoding. + * @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99]) + */ +export function utf8ToBytes(str: string): Uint8Array { + if (typeof str !== 'string') throw new Error('string expected'); + return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809 +} + +/** + * Converts bytes to string using UTF8 encoding. + * @example bytesToUtf8(Uint8Array.from([97, 98, 99])) // 'abc' + */ +export function bytesToUtf8(bytes: Uint8Array): string { + return new TextDecoder().decode(bytes); +} + +/** Accepted input of hash functions. Strings are converted to byte arrays. */ +export type Input = string | Uint8Array; +/** + * Normalizes (non-hex) string or Uint8Array to Uint8Array. + * Warning: when Uint8Array is passed, it would NOT get copied. + * Keep in mind for future mutable operations. + */ +export function toBytes(data: Input): Uint8Array { + if (typeof data === 'string') data = utf8ToBytes(data); + abytes(data); + return data; +} + +/** KDFs can accept string or Uint8Array for user convenience. */ +export type KDFInput = string | Uint8Array; +/** + * Helper for KDFs: consumes uint8array or string. + * When string is passed, does utf8 decoding, using TextDecoder. + */ +export function kdfInputToBytes(data: KDFInput): Uint8Array { + if (typeof data === 'string') data = utf8ToBytes(data); + abytes(data); + return data; +} + +/** Copies several Uint8Arrays into one. */ +export function concatBytes(...arrays: Uint8Array[]): Uint8Array { + let sum = 0; + for (let i = 0; i < arrays.length; i++) { + const a = arrays[i]; + abytes(a); + sum += a.length; + } + const res = new Uint8Array(sum); + for (let i = 0, pad = 0; i < arrays.length; i++) { + const a = arrays[i]; + res.set(a, pad); + pad += a.length; + } + return res; +} + +type EmptyObj = {}; +export function checkOpts( + defaults: T1, + opts?: T2 +): T1 & T2 { + if (opts !== undefined && {}.toString.call(opts) !== '[object Object]') + throw new Error('options should be object or undefined'); + const merged = Object.assign(defaults, opts); + return merged as T1 & T2; +} + +/** Hash interface. */ +export type IHash = { + (data: Uint8Array): Uint8Array; + blockLen: number; + outputLen: number; + create: any; +}; + +/** For runtime check if class implements interface */ +export abstract class Hash> { + abstract blockLen: number; // Bytes per block + abstract outputLen: number; // Bytes in output + abstract update(buf: Input): this; + // Writes digest into buf + abstract digestInto(buf: Uint8Array): void; + abstract digest(): Uint8Array; + /** + * Resets internal state. Makes Hash instance unusable. + * Reset is impossible for keyed hashes if key is consumed into state. If digest is not consumed + * by user, they will need to manually call `destroy()` when zeroing is necessary. + */ + abstract destroy(): void; + /** + * Clones hash instance. Unsafe: doesn't check whether `to` is valid. Can be used as `clone()` + * when no options are passed. + * Reasons to use `_cloneInto` instead of clone: 1) performance 2) reuse instance => all internal + * buffers are overwritten => causes buffer overwrite which is used for digest in some cases. + * There are no guarantees for clean-up because it's impossible in JS. + */ + abstract _cloneInto(to?: T): T; + // Safe version that clones internal state + abstract clone(): T; +} + +/** + * XOF: streaming API to read digest in chunks. + * Same as 'squeeze' in keccak/k12 and 'seek' in blake3, but more generic name. + * When hash used in XOF mode it is up to user to call '.destroy' afterwards, since we cannot + * destroy state, next call can require more bytes. + */ +export type HashXOF> = Hash & { + xof(bytes: number): Uint8Array; // Read 'bytes' bytes from digest stream + xofInto(buf: Uint8Array): Uint8Array; // read buf.length bytes from digest stream into buf +}; + +/** Hash function */ +export type CHash = ReturnType; +/** Hash function with output */ +export type CHashO = ReturnType; +/** XOF with output */ +export type CHashXO = ReturnType; + +/** Wraps hash function, creating an interface on top of it */ +export function createHasher>( + hashCons: () => Hash +): { + (msg: Input): Uint8Array; + outputLen: number; + blockLen: number; + create(): Hash; +} { + const hashC = (msg: Input): Uint8Array => hashCons().update(toBytes(msg)).digest(); + const tmp = hashCons(); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = () => hashCons(); + return hashC; +} + +export function createOptHasher, T extends Object>( + hashCons: (opts?: T) => Hash +): { + (msg: Input, opts?: T): Uint8Array; + outputLen: number; + blockLen: number; + create(opts?: T): Hash; +} { + const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest(); + const tmp = hashCons({} as T); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (opts?: T) => hashCons(opts); + return hashC; +} + +export function createXOFer, T extends Object>( + hashCons: (opts?: T) => HashXOF +): { + (msg: Input, opts?: T): Uint8Array; + outputLen: number; + blockLen: number; + create(opts?: T): HashXOF; +} { + const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest(); + const tmp = hashCons({} as T); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (opts?: T) => hashCons(opts); + return hashC; +} +export const wrapConstructor: typeof createHasher = createHasher; +export const wrapConstructorWithOpts: typeof createOptHasher = createOptHasher; +export const wrapXOFConstructorWithOpts: typeof createXOFer = createXOFer; + +/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */ +export function randomBytes(bytesLength = 32): Uint8Array { + if (crypto && typeof crypto.getRandomValues === 'function') { + return crypto.getRandomValues(new Uint8Array(bytesLength)); + } + // Legacy Node.js compatibility + if (crypto && typeof crypto.randomBytes === 'function') { + return Uint8Array.from(crypto.randomBytes(bytesLength)); + } + throw new Error('crypto.getRandomValues must be defined'); +} diff --git a/node_modules/@noble/hashes/utils.d.ts b/node_modules/@noble/hashes/utils.d.ts new file mode 100644 index 0000000..90b8439 --- /dev/null +++ b/node_modules/@noble/hashes/utils.d.ts @@ -0,0 +1,161 @@ +/** + * Utilities for hex, bytes, CSPRNG. + * @module + */ +/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */ +/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */ +export declare function isBytes(a: unknown): a is Uint8Array; +/** Asserts something is positive integer. */ +export declare function anumber(n: number): void; +/** Asserts something is Uint8Array. */ +export declare function abytes(b: Uint8Array | undefined, ...lengths: number[]): void; +/** Asserts something is hash */ +export declare function ahash(h: IHash): void; +/** Asserts a hash instance has not been destroyed / finished */ +export declare function aexists(instance: any, checkFinished?: boolean): void; +/** Asserts output is properly-sized byte array */ +export declare function aoutput(out: any, instance: any): void; +/** Generic type encompassing 8/16/32-byte arrays - but not 64-byte. */ +export type TypedArray = Int8Array | Uint8ClampedArray | Uint8Array | Uint16Array | Int16Array | Uint32Array | Int32Array; +/** Cast u8 / u16 / u32 to u8. */ +export declare function u8(arr: TypedArray): Uint8Array; +/** Cast u8 / u16 / u32 to u32. */ +export declare function u32(arr: TypedArray): Uint32Array; +/** Zeroize a byte array. Warning: JS provides no guarantees. */ +export declare function clean(...arrays: TypedArray[]): void; +/** Create DataView of an array for easy byte-level manipulation. */ +export declare function createView(arr: TypedArray): DataView; +/** The rotate right (circular right shift) operation for uint32 */ +export declare function rotr(word: number, shift: number): number; +/** The rotate left (circular left shift) operation for uint32 */ +export declare function rotl(word: number, shift: number): number; +/** Is current platform little-endian? Most are. Big-Endian platform: IBM */ +export declare const isLE: boolean; +/** The byte swap operation for uint32 */ +export declare function byteSwap(word: number): number; +/** Conditionally byte swap if on a big-endian platform */ +export declare const swap8IfBE: (n: number) => number; +/** @deprecated */ +export declare const byteSwapIfBE: typeof swap8IfBE; +/** In place byte swap for Uint32Array */ +export declare function byteSwap32(arr: Uint32Array): Uint32Array; +export declare const swap32IfBE: (u: Uint32Array) => Uint32Array; +/** + * Convert byte array to hex string. Uses built-in function, when available. + * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123' + */ +export declare function bytesToHex(bytes: Uint8Array): string; +/** + * Convert hex string to byte array. Uses built-in function, when available. + * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23]) + */ +export declare function hexToBytes(hex: string): Uint8Array; +/** + * There is no setImmediate in browser and setTimeout is slow. + * Call of async fn will return Promise, which will be fullfiled only on + * next scheduler queue processing step and this is exactly what we need. + */ +export declare const nextTick: () => Promise; +/** Returns control to thread each 'tick' ms to avoid blocking. */ +export declare function asyncLoop(iters: number, tick: number, cb: (i: number) => void): Promise; +/** + * Converts string to bytes using UTF8 encoding. + * @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99]) + */ +export declare function utf8ToBytes(str: string): Uint8Array; +/** + * Converts bytes to string using UTF8 encoding. + * @example bytesToUtf8(Uint8Array.from([97, 98, 99])) // 'abc' + */ +export declare function bytesToUtf8(bytes: Uint8Array): string; +/** Accepted input of hash functions. Strings are converted to byte arrays. */ +export type Input = string | Uint8Array; +/** + * Normalizes (non-hex) string or Uint8Array to Uint8Array. + * Warning: when Uint8Array is passed, it would NOT get copied. + * Keep in mind for future mutable operations. + */ +export declare function toBytes(data: Input): Uint8Array; +/** KDFs can accept string or Uint8Array for user convenience. */ +export type KDFInput = string | Uint8Array; +/** + * Helper for KDFs: consumes uint8array or string. + * When string is passed, does utf8 decoding, using TextDecoder. + */ +export declare function kdfInputToBytes(data: KDFInput): Uint8Array; +/** Copies several Uint8Arrays into one. */ +export declare function concatBytes(...arrays: Uint8Array[]): Uint8Array; +type EmptyObj = {}; +export declare function checkOpts(defaults: T1, opts?: T2): T1 & T2; +/** Hash interface. */ +export type IHash = { + (data: Uint8Array): Uint8Array; + blockLen: number; + outputLen: number; + create: any; +}; +/** For runtime check if class implements interface */ +export declare abstract class Hash> { + abstract blockLen: number; + abstract outputLen: number; + abstract update(buf: Input): this; + abstract digestInto(buf: Uint8Array): void; + abstract digest(): Uint8Array; + /** + * Resets internal state. Makes Hash instance unusable. + * Reset is impossible for keyed hashes if key is consumed into state. If digest is not consumed + * by user, they will need to manually call `destroy()` when zeroing is necessary. + */ + abstract destroy(): void; + /** + * Clones hash instance. Unsafe: doesn't check whether `to` is valid. Can be used as `clone()` + * when no options are passed. + * Reasons to use `_cloneInto` instead of clone: 1) performance 2) reuse instance => all internal + * buffers are overwritten => causes buffer overwrite which is used for digest in some cases. + * There are no guarantees for clean-up because it's impossible in JS. + */ + abstract _cloneInto(to?: T): T; + abstract clone(): T; +} +/** + * XOF: streaming API to read digest in chunks. + * Same as 'squeeze' in keccak/k12 and 'seek' in blake3, but more generic name. + * When hash used in XOF mode it is up to user to call '.destroy' afterwards, since we cannot + * destroy state, next call can require more bytes. + */ +export type HashXOF> = Hash & { + xof(bytes: number): Uint8Array; + xofInto(buf: Uint8Array): Uint8Array; +}; +/** Hash function */ +export type CHash = ReturnType; +/** Hash function with output */ +export type CHashO = ReturnType; +/** XOF with output */ +export type CHashXO = ReturnType; +/** Wraps hash function, creating an interface on top of it */ +export declare function createHasher>(hashCons: () => Hash): { + (msg: Input): Uint8Array; + outputLen: number; + blockLen: number; + create(): Hash; +}; +export declare function createOptHasher, T extends Object>(hashCons: (opts?: T) => Hash): { + (msg: Input, opts?: T): Uint8Array; + outputLen: number; + blockLen: number; + create(opts?: T): Hash; +}; +export declare function createXOFer, T extends Object>(hashCons: (opts?: T) => HashXOF): { + (msg: Input, opts?: T): Uint8Array; + outputLen: number; + blockLen: number; + create(opts?: T): HashXOF; +}; +export declare const wrapConstructor: typeof createHasher; +export declare const wrapConstructorWithOpts: typeof createOptHasher; +export declare const wrapXOFConstructorWithOpts: typeof createXOFer; +/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */ +export declare function randomBytes(bytesLength?: number): Uint8Array; +export {}; +//# sourceMappingURL=utils.d.ts.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/utils.d.ts.map b/node_modules/@noble/hashes/utils.d.ts.map new file mode 100644 index 0000000..dd08975 --- /dev/null +++ b/node_modules/@noble/hashes/utils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["src/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@noble/hashes/utils.js b/node_modules/@noble/hashes/utils.js new file mode 100644 index 0000000..aed9199 --- /dev/null +++ b/node_modules/@noble/hashes/utils.js @@ -0,0 +1,313 @@ +"use strict"; +/** + * Utilities for hex, bytes, CSPRNG. + * @module + */ +/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.wrapXOFConstructorWithOpts = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.Hash = exports.nextTick = exports.swap32IfBE = exports.byteSwapIfBE = exports.swap8IfBE = exports.isLE = void 0; +exports.isBytes = isBytes; +exports.anumber = anumber; +exports.abytes = abytes; +exports.ahash = ahash; +exports.aexists = aexists; +exports.aoutput = aoutput; +exports.u8 = u8; +exports.u32 = u32; +exports.clean = clean; +exports.createView = createView; +exports.rotr = rotr; +exports.rotl = rotl; +exports.byteSwap = byteSwap; +exports.byteSwap32 = byteSwap32; +exports.bytesToHex = bytesToHex; +exports.hexToBytes = hexToBytes; +exports.asyncLoop = asyncLoop; +exports.utf8ToBytes = utf8ToBytes; +exports.bytesToUtf8 = bytesToUtf8; +exports.toBytes = toBytes; +exports.kdfInputToBytes = kdfInputToBytes; +exports.concatBytes = concatBytes; +exports.checkOpts = checkOpts; +exports.createHasher = createHasher; +exports.createOptHasher = createOptHasher; +exports.createXOFer = createXOFer; +exports.randomBytes = randomBytes; +// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+. +// node.js versions earlier than v19 don't declare it in global scope. +// For node.js, package.json#exports field mapping rewrites import +// from `crypto` to `cryptoNode`, which imports native module. +// Makes the utils un-importable in browsers without a bundler. +// Once node.js 18 is deprecated (2025-04-30), we can just drop the import. +const crypto_1 = require("@noble/hashes/crypto"); +/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */ +function isBytes(a) { + return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array'); +} +/** Asserts something is positive integer. */ +function anumber(n) { + if (!Number.isSafeInteger(n) || n < 0) + throw new Error('positive integer expected, got ' + n); +} +/** Asserts something is Uint8Array. */ +function abytes(b, ...lengths) { + if (!isBytes(b)) + throw new Error('Uint8Array expected'); + if (lengths.length > 0 && !lengths.includes(b.length)) + throw new Error('Uint8Array expected of length ' + lengths + ', got length=' + b.length); +} +/** Asserts something is hash */ +function ahash(h) { + if (typeof h !== 'function' || typeof h.create !== 'function') + throw new Error('Hash should be wrapped by utils.createHasher'); + anumber(h.outputLen); + anumber(h.blockLen); +} +/** Asserts a hash instance has not been destroyed / finished */ +function aexists(instance, checkFinished = true) { + if (instance.destroyed) + throw new Error('Hash instance has been destroyed'); + if (checkFinished && instance.finished) + throw new Error('Hash#digest() has already been called'); +} +/** Asserts output is properly-sized byte array */ +function aoutput(out, instance) { + abytes(out); + const min = instance.outputLen; + if (out.length < min) { + throw new Error('digestInto() expects output buffer of length at least ' + min); + } +} +/** Cast u8 / u16 / u32 to u8. */ +function u8(arr) { + return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); +} +/** Cast u8 / u16 / u32 to u32. */ +function u32(arr) { + return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4)); +} +/** Zeroize a byte array. Warning: JS provides no guarantees. */ +function clean(...arrays) { + for (let i = 0; i < arrays.length; i++) { + arrays[i].fill(0); + } +} +/** Create DataView of an array for easy byte-level manipulation. */ +function createView(arr) { + return new DataView(arr.buffer, arr.byteOffset, arr.byteLength); +} +/** The rotate right (circular right shift) operation for uint32 */ +function rotr(word, shift) { + return (word << (32 - shift)) | (word >>> shift); +} +/** The rotate left (circular left shift) operation for uint32 */ +function rotl(word, shift) { + return (word << shift) | ((word >>> (32 - shift)) >>> 0); +} +/** Is current platform little-endian? Most are. Big-Endian platform: IBM */ +exports.isLE = (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)(); +/** The byte swap operation for uint32 */ +function byteSwap(word) { + return (((word << 24) & 0xff000000) | + ((word << 8) & 0xff0000) | + ((word >>> 8) & 0xff00) | + ((word >>> 24) & 0xff)); +} +/** Conditionally byte swap if on a big-endian platform */ +exports.swap8IfBE = exports.isLE + ? (n) => n + : (n) => byteSwap(n); +/** @deprecated */ +exports.byteSwapIfBE = exports.swap8IfBE; +/** In place byte swap for Uint32Array */ +function byteSwap32(arr) { + for (let i = 0; i < arr.length; i++) { + arr[i] = byteSwap(arr[i]); + } + return arr; +} +exports.swap32IfBE = exports.isLE + ? (u) => u + : byteSwap32; +// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex +const hasHexBuiltin = /* @__PURE__ */ (() => +// @ts-ignore +typeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function')(); +// Array where index 0xf0 (240) is mapped to string 'f0' +const hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0')); +/** + * Convert byte array to hex string. Uses built-in function, when available. + * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123' + */ +function bytesToHex(bytes) { + abytes(bytes); + // @ts-ignore + if (hasHexBuiltin) + return bytes.toHex(); + // pre-caching improves the speed 6x + let hex = ''; + for (let i = 0; i < bytes.length; i++) { + hex += hexes[bytes[i]]; + } + return hex; +} +// We use optimized technique to convert hex string to byte array +const asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 }; +function asciiToBase16(ch) { + if (ch >= asciis._0 && ch <= asciis._9) + return ch - asciis._0; // '2' => 50-48 + if (ch >= asciis.A && ch <= asciis.F) + return ch - (asciis.A - 10); // 'B' => 66-(65-10) + if (ch >= asciis.a && ch <= asciis.f) + return ch - (asciis.a - 10); // 'b' => 98-(97-10) + return; +} +/** + * Convert hex string to byte array. Uses built-in function, when available. + * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23]) + */ +function hexToBytes(hex) { + if (typeof hex !== 'string') + throw new Error('hex string expected, got ' + typeof hex); + // @ts-ignore + if (hasHexBuiltin) + return Uint8Array.fromHex(hex); + const hl = hex.length; + const al = hl / 2; + if (hl % 2) + throw new Error('hex string expected, got unpadded hex of length ' + hl); + const array = new Uint8Array(al); + for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) { + const n1 = asciiToBase16(hex.charCodeAt(hi)); + const n2 = asciiToBase16(hex.charCodeAt(hi + 1)); + if (n1 === undefined || n2 === undefined) { + const char = hex[hi] + hex[hi + 1]; + throw new Error('hex string expected, got non-hex character "' + char + '" at index ' + hi); + } + array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163 + } + return array; +} +/** + * There is no setImmediate in browser and setTimeout is slow. + * Call of async fn will return Promise, which will be fullfiled only on + * next scheduler queue processing step and this is exactly what we need. + */ +const nextTick = async () => { }; +exports.nextTick = nextTick; +/** Returns control to thread each 'tick' ms to avoid blocking. */ +async function asyncLoop(iters, tick, cb) { + let ts = Date.now(); + for (let i = 0; i < iters; i++) { + cb(i); + // Date.now() is not monotonic, so in case if clock goes backwards we return return control too + const diff = Date.now() - ts; + if (diff >= 0 && diff < tick) + continue; + await (0, exports.nextTick)(); + ts += diff; + } +} +/** + * Converts string to bytes using UTF8 encoding. + * @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99]) + */ +function utf8ToBytes(str) { + if (typeof str !== 'string') + throw new Error('string expected'); + return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809 +} +/** + * Converts bytes to string using UTF8 encoding. + * @example bytesToUtf8(Uint8Array.from([97, 98, 99])) // 'abc' + */ +function bytesToUtf8(bytes) { + return new TextDecoder().decode(bytes); +} +/** + * Normalizes (non-hex) string or Uint8Array to Uint8Array. + * Warning: when Uint8Array is passed, it would NOT get copied. + * Keep in mind for future mutable operations. + */ +function toBytes(data) { + if (typeof data === 'string') + data = utf8ToBytes(data); + abytes(data); + return data; +} +/** + * Helper for KDFs: consumes uint8array or string. + * When string is passed, does utf8 decoding, using TextDecoder. + */ +function kdfInputToBytes(data) { + if (typeof data === 'string') + data = utf8ToBytes(data); + abytes(data); + return data; +} +/** Copies several Uint8Arrays into one. */ +function concatBytes(...arrays) { + let sum = 0; + for (let i = 0; i < arrays.length; i++) { + const a = arrays[i]; + abytes(a); + sum += a.length; + } + const res = new Uint8Array(sum); + for (let i = 0, pad = 0; i < arrays.length; i++) { + const a = arrays[i]; + res.set(a, pad); + pad += a.length; + } + return res; +} +function checkOpts(defaults, opts) { + if (opts !== undefined && {}.toString.call(opts) !== '[object Object]') + throw new Error('options should be object or undefined'); + const merged = Object.assign(defaults, opts); + return merged; +} +/** For runtime check if class implements interface */ +class Hash { +} +exports.Hash = Hash; +/** Wraps hash function, creating an interface on top of it */ +function createHasher(hashCons) { + const hashC = (msg) => hashCons().update(toBytes(msg)).digest(); + const tmp = hashCons(); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = () => hashCons(); + return hashC; +} +function createOptHasher(hashCons) { + const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest(); + const tmp = hashCons({}); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (opts) => hashCons(opts); + return hashC; +} +function createXOFer(hashCons) { + const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest(); + const tmp = hashCons({}); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (opts) => hashCons(opts); + return hashC; +} +exports.wrapConstructor = createHasher; +exports.wrapConstructorWithOpts = createOptHasher; +exports.wrapXOFConstructorWithOpts = createXOFer; +/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */ +function randomBytes(bytesLength = 32) { + if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === 'function') { + return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength)); + } + // Legacy Node.js compatibility + if (crypto_1.crypto && typeof crypto_1.crypto.randomBytes === 'function') { + return Uint8Array.from(crypto_1.crypto.randomBytes(bytesLength)); + } + throw new Error('crypto.getRandomValues must be defined'); +} +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/@noble/hashes/utils.js.map b/node_modules/@noble/hashes/utils.js.map new file mode 100644 index 0000000..9e5e2f7 --- /dev/null +++ b/node_modules/@noble/hashes/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["src/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@paralleldrive/cuid2/LICENSE b/node_modules/@paralleldrive/cuid2/LICENSE new file mode 100644 index 0000000..030c537 --- /dev/null +++ b/node_modules/@paralleldrive/cuid2/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Eric Elliott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@paralleldrive/cuid2/README.md b/node_modules/@paralleldrive/cuid2/README.md new file mode 100644 index 0000000..be5503d --- /dev/null +++ b/node_modules/@paralleldrive/cuid2/README.md @@ -0,0 +1,397 @@ +# Cuid2 + +Secure, collision-resistant ids optimized for horizontal scaling and performance. Next generation UUIDs. + +Need unique ids in your app? Forget UUIDs and GUIDs which often collide in large apps. Use Cuid2, instead. + +**Cuid2 is:** + +* **Secure:** It's not feasible to guess the next id, existing valid ids, or learn anything about the referenced data from the id. Cuid2 uses multiple, independent entropy sources and hashes them with a security-audited, NIST-standard cryptographically secure hashing algorithm (Sha3). +* **Collision resistant:** It's extremely unlikely to generate the same id twice (by default, you'd need to generate roughly 4,000,000,000,000,000,000 ids ([`sqrt(36^(24-1) * 26) = 4.0268498e+18`](https://en.wikipedia.org/wiki/Birthday_problem#Square_approximation)) to reach 50% chance of collision.) +* **Horizontally scalable:** Generate ids on multiple machines without coordination. +* **Offline-compatible:** Generate ids without a network connection. +* **URL and name-friendly:** No special characters. +* **Fast and convenient:** No async operations. Won't introduce user-noticeable delays. Less than 5k, gzipped. +* **But not *too fast*:** If you can hash too quickly you can launch parallel attacks to find duplicates or break entropy-hiding. For unique ids, the fastest runner loses the security race. + + +**Cuid2 is not good for:** + +* Sequential ids (see the [note on K-sortable ids](https://github.com/paralleldrive/cuid2#note-on-k-sortablesequentialmonotonically-increasing-ids), below) +* High performance tight loops, such as render loops (if you don't need cross-host unique ids or security, consider a simple counter for this use-case, or try [Ulid](https://github.com/ulid/javascript) or [NanoId](https://github.com/ai/nanoid)). + + +## Getting Started + +``` +npm install --save @paralleldrive/cuid2 +``` + +Or + +``` +yarn add @paralleldrive/cuid2 +``` + +```js +import { createId } from '@paralleldrive/cuid2'; + +const ids = [ + createId(), // 'tz4a98xxat96iws9zmbrgj3a' + createId(), // 'pfh0haxfpzowht3oi213cqos' + createId(), // 'nc6bzmkmd014706rfda898to' +]; +``` + +Using Jest? Jump to [Using with Jest](#using-in-jest). + +### Configuration + +```js +import { init } from '@paralleldrive/cuid2'; + +// The init function returns a custom createId function with the specified +// configuration. All configuration properties are optional. +const createId = init({ + // A custom random function with the same API as Math.random. + // You can use this to pass a cryptographically secure random function. + random: Math.random, + // the length of the id + length: 10, + // A custom fingerprint for the host environment. This is used to help + // prevent collisions when generating ids in a distributed system. + fingerprint: 'a-custom-host-fingerprint', +}); + +console.log( + createId(), // wjfazn7qnd + createId(), // cerhuy9499 + createId(), // itp2u4ozr4 +); +``` + + +### Validation + +```js +import { createId, isCuid } from '@paralleldrive/cuid2'; + + +console.log( + isCuid(createId()), // true + isCuid('not a cuid'), // false +); +``` + + +## Trusted By + +* [Greenruhm](https://twitter.com/greenruhm) +* [Typebot](https://typebot.io/) +* [Submit my project](https://github.com/paralleldrive/cuid2/issues/new?title=Social+proof) + +## Why? + +Ids should be secure by default for the same reason that browser sessions should be secure by default. There are too many things that can go wrong when they're not, and insecure ids can cause problems in unexpected ways, including [unauthorized user](https://www.intruder.io/research/in-guid-we-trust) [account access](https://infosecwriteups.com/bugbounty-how-i-was-able-to-compromise-any-user-account-via-reset-password-functionality-a11bb5f863b3), [unauthorized access to user data](https://infosecwriteups.com/how-this-easy-vulnerability-resulted-in-a-20-000-bug-bounty-from-gitlab-d9dc9312c10a), and accidental leaks of user's personal data which can lead to catastrophic effects, even in innocent-sounding applications like fitness run trackers (see the [2018 Strava Pentagon breach](https://www.engadget.com/2018-02-02-strava-s-fitness-heatmaps-are-a-potential-catastrophe.html) and [PleaseRobMe](https://pleaserobme.com/why)). + +Not all security measures should be considered equal. For example, it's not a good idea to trust your browser's "Cryptographically Secure" Psuedo Random Number Generator (CSPRNG) (used in tools like `uuid` and `nanoid`). For example, there may be [bugs in browser CSPRNGs](https://bugs.chromium.org/p/chromium/issues/detail?id=552749). For many years, Chromium's `Math.random()` [wasn't very random at all](https://thenextweb.com/news/google-chromes-javascript-engine-finally-returns-actual-random-numbers). Cuid was created to solve the issue of untrustworthy entropy in id generators that led to frequent id collisions and related problems in production applications. Instead of trusting a single source of entropy, Cuid2 combines several sources of entropy to provide stronger security and collision-resistance guarantees than are available in other solutions. + +Modern web applications have different requirements than applications written in the early days of GUID (globally unique identifiers) and UUIDs (universally unique identifiers). In particular, Cuid2 aims to provide stronger uniqueness guarantees than any existing GUID or UUID implementation and protect against leaking any information about the data being referenced, or the system that generated the id. + +Cuid2 is the next generation of Cuid, which has been used in thousands of applications for over a decade with no confirmed collision reports. The changes in Cuid2 are significant and could potentially disrupt the many projects that rely on Cuid, so we decided to create a replacement library and id standard, instead. Cuid is now deprecated in favor of Cuid2. + +Entropy is a measure of the total information in a system. In the context of unique ids, a higher entropy will lead to fewer collisions, and can also make it more difficult for an attacker to guess a valid id. + +Cuid2 is made up of the following entropy sources: + +* An initial letter to make the id a usable identifier in JavaScript and HTML/CSS +* The current system time +* Pseudorandom values +* A session counter +* A host fingerprint + +The string is Base36 encoded, which means it contains only lowercase letters and the numbers: 0 - 9, with no special symbols. + + +### Horizontal scalability + +Today's applications don't run on any single machine. + +Applications might need to support online / offline capability, which means we need a way for clients on different hosts to generate ids that won't collide with ids generated by other hosts -- even if they're not connected to the network. + +Most pseudo-random algorithms use time in ms as a random seed. Random IDs lack sufficient entropy when running in separate processes (such as cloned virtual machines or client browsers) to guarantee against collisions. Application developers report v4 UUID collisions causing problems in their applications when the ID generation is distributed between lots of machines such that lots of IDs are generated in the same millisecond. + +Each new client exponentially increases the chance of collision in the same way that each new character in a random string exponentially reduces the chance of collision. Successful apps scale at hundreds or thousands of new clients per day, so fighting the lack of entropy by adding random characters is a recipe for ridiculously long identifiers. + +Because of the nature of this problem, it's possible to build an app from the ground up and scale it to a million users before this problem is detected. By the time you notice the problem (when your peak hour use requires dozens of ids to be created per ms), if your db doesn't have unique constraints on the id because you thought your guids were safe, you're in a world of hurt. Your users start to see data that doesn't belong to them because the db just returns the first ID match it finds. + +Alternatively, you've played it safe and you only let your database create ids. Writes only happen on a master database, and load is spread out over read replicas. But with this kind of strain, you have to start scaling your database writes horizontally, too, and suddenly your application starts to crawl (if the db is smart enough to guarantee unique ids between write hosts), or you start getting id collisions between different db hosts, so your write hosts don't agree about which ids represent which data. + + +### Performance + +Id generation should be fast enough that humans won't notice a delay, but too slow to feasibly brute force (even in parallel). That means no waiting around for asynchronous entropy pool requests, or cross-process/cross-network communication. Performance slows to impracticality in the browser. All sources of entropy need to be fast enough for synchronous access. + +Even worse, when the database is the only guarantee that ids are unique, that means that clients are forced to send incomplete records to the database, and wait for a network round-trip before they can use the ids in any algorithm. Forget about fast client performance. It simply isn't possible. + +That situation has caused some clients to create ids that are only usable in a single client session (such as an in-memory counter). When the database returns the real id, the client has to do some juggling logic to swap out the id being used, adding complexity to the client implementation code. + +If client side ID generation were stronger, the chances of collision would be much smaller, and the client could send complete records to the db for insertion without waiting for a full round-trip request to finish before using the ID. + + +#### Tiny + +Page loads need to be FAST, and that means we can't waste a lot of JavaScript on a complex algorithm. Cuid2 is tiny. This is especially important for thick-client JavaScript applications. + + +### Secure + +Client-visible ids often need to have sufficient random data and entropy to make it practically impossible to try to guess valid IDs based on an existing, known id. That makes simple sequential ids unusable in the context of client-side generated database keys. Additionally, using V4 UUIDs is also not safe, because there are known attacks on several id generating algorithms that a sophisticated attacker can use to predict next ids. Cuid2 has been audited by security experts and artificial intelligence, and is considered safe to use for use-cases like secret sharing links. + + +### Portable + +Most stronger forms of the UUID / GUID algorithms require access to OS services that are not available in browsers, meaning that they are impossible to implement as specified. Further, our id standard needs to be portable to many languages (the original cuid has 22 different language implementations). + +#### Ports + +* [Cuid2 for Clojure](https://github.com/hden/cuid2) - [Haokang Den](https://github.com/hden) +* [Cuid2 for ColdFusion](https://github.com/bennadel/CUID2-For-ColdFusion) - [Ben Nadel](https://github.com/bennadel) +* [Cuid2 for Dart](https://github.com/obsidiaHQ/cuid2) - [George Mamar](https://github.com/obsidiaHQ) +* [Cuid2 for Java](https://github.com/thibaultmeyer/cuid-java) - [Thibault Meyer](https://github.com/thibaultmeyer) +* [Cuid2 for .NET](https://github.com/visus-io/cuid.net) - [Visus](https://github.com/xaevik) +* [Cuid2 for PHP](https://github.com/visus-io/php-cuid2) - [Visus](https://github.com/xaevik) +* [Cuid2 for Python](https://github.com/gordon-code/cuid2) - [Gordon Code](https://github.com/gordon-code) +* [Cuid2 for Ruby](https://github.com/stulzer/cuid2/blob/main/lib/cuid2.rb) - [Rubens Stulzer](https://github.com/stulzer) +* [Cuid2 for Rust](https://github.com/mplanchard/cuid-rust) - [Matthew Planchard](https://github.com/mplanchard) + +## Improvements Over Cuid + +The original Cuid served us well for more than a decade. We used it across 2 different social networks, and to generate ids for Adobe Creative Cloud. We never had a problem with collisions in production systems using it. But there was room for improvement. + +### Better Collision Resistance + +Available entropy is the maximum number of unique ids that can be generated. Generally more entropy leads to lower probability of collision. For simplicity, we will assume a perfectly random distribution in the following discussion. + +The original Cuid ran for more than 10 years in across thousands of software implementations with zero confirmed collision reports, in some cases with more than 100 million users generating ids. + +The original Cuid had a maximum available entropy of about `3.71319E+29` (assuming 1 id per session). That's already a really big number, but the maximum recommended entropy in Cuid2 is `4.57458E+49`. For reference, that's about the same entropy difference as the size of a mosquito compared to the distance from earth to the nearest star. Cuid2 has a default entropy of `1.62155E+37`, which is a significant increase from the original Cuid and is comparable to the difference between the size of a baseball and the size of the moon. + +The hashing function mixes all the sources of entropy together into a single value, so it's important we use a high quality hashing algorithm. We have tested billions of ids with Cuid2 with zero collisions detected to-date. + + +### More Portable + +The original Cuid used different methods to generate fingerprints across different kinds of hosts, including browsers, Node, and React Native. Unfortunately, this caused several compatability problems across the cuid user ecosystem. + +In Node, each production host was slightly different, and we could reliable grab process ids and such to differentiate between hosts. Our early assumptions about different hosts generating different PIDs in Node proved to be false when we started deploying on cloud virtual hosts using identical containers and micro-container architectures. The result was that host fingerprint entropy was low in Node, limiting their ability to provide good collision resistance for horizontal server scaling in environments like cloud workers and micro-containers. + +It was also not possible to customize your fingerprint function if you had different fingerprinting needs using Cuid, e.g., if both `global` and `window` are `undefined`. + +Cuid2 uses a list of all global names in the JavaScript environment. Hashing it produces a very good host fingerprint, but we intentionally did not include a hash function in the original Cuid because all the secure ones we could find would bloat the bundle, so the original Cuid was unable to take full advantage of all of that unique host entropy. + +In Cuid2, we use a tiny, fast, security-audited, NIST-standardized hash function and we seed it with random entropy, so on production environments where the globals are all identical, we lose the unique fingerprint, but still get random entropy to replace it, strengthening collision resistance. + + +### Deterministic Length + +Length was non-deterministic in Cuid. This worked fine in almost all cases, but proved to be problematic for some data structure uses, forcing some users to create wrapper code to pad the output. We recommend sticking to the defaults for most cases, but if you don't need strong uniqueness guarantees, (e.g., your use-case is something like username or URL disambiguation), it can be fine to use a shorter version. + + +### More Efficient Session Counter Entropy + +The original Cuid wasted entropy on session counters that were not always used, rarely filled, and sometimes rolled over, meaning they could collide with each other if you generate enough ids in a tight loop, reducing their effectiveness. Cuid2 initializes the counter with a random number so the entropy is never wasted. It also uses the full precision of the native JS number type. If you only generate a single id, the counter just extends the random entropy, rather than wasting digits, providing even stronger anti-collision protection. + + +### Parameterized Length + +Different use-cases have different needs for entropy resistance. Sometimes, a short disambiguating series of random digits is enough: for example, it's common to use short slugs to disambiguate similar names, e.g. usernames or URL slugs. Since the original cuid did not hash its output, we had to make some seriously limiting entropy decisions to produce a short slug. In the new version, all sources of entropy are mixed with the hash function, and you can safely grab a substring of any length shorter than 32 digits. You can roughly estimate how many ids you can generate before reaching 50% chance of collision with: [`sqrt(36^(n-1)*26)`](https://en.wikipedia.org/wiki/Birthday_problem#Square_approximation), so if you use `4` digits, you'll reach 50% chance of collision after generating only `~1101` ids. That might be fine for username disambiguation. Are there more than 1k people who want to share the same username? + +By default, you'd need to generate `~4.0268498e+18` ids to reach a 50% chance of collision, and at maximum length, you'd need to generate `~6.7635614e+24` ids to reach 50% odds of collision. To use a custom length, import the `init` function, which takes configuration options: + +```js +import { init } from '@paralleldrive/cuid2'; +const length = 10; // 50% odds of collision after ~51,386,368 ids +const cuid = init({ length }); +console.log(cuid()); // nw8zzfaa4v +``` + + +### Enhanced Security + +The original Cuid leaked details about the id, including very limited data from the host environment (via the host fingerprint), and the exact time that the id was created. The new Cuid2 hashes all sources of entropy into a random-looking string. + +Due to the hashing algorithm, it should not be practically possible to recover any of the entropy sources from the generated ids. Cuid used roughly monotonically increasing ids for database performance reasons. Some people abused them to select data by creation date. If you want to be able to sort items by creation date, we recommend making a separate, indexed `createdAt` field in your database instead of using monotonic ids because: + +* It's easy to trick a client system to generate ids in the past or future. +* Order is not guaranteed across multiple hosts generating ids at nearly the same time. +* Deterministically monotic resolution was never guaranteed. + +In Cuid2, the hashing algorithm uses a salt. The salt is a random string which is added to the input entropy sources before the hashing function is applied. This makes it much more difficult for an attacker to guess valid ids, as the salt changes with each id, meaning the attacker is unable to use any existing ids as a basis for guessing others. + + +## Comparisons + +Security was the primary motivation for creating Cuid2. Our ids should be default-secure for the same reason we use https instead of http. The problem is, all our current id specifications are based on decades-old standards that were never designed with security in mind, optimizing for database performance charactaristics which are no longer relevant in modern, distributed applications. Almost all of the popular ids today optimize for being k-sortable, which was important 10 years ago. Here's what k-sortable means, and why it's no longer as important is it was when we created the Cuid specification which [helped inspire current standards like UUID v6 - v8](https://www.ietf.org/archive/id/draft-ietf-uuidrev-rfc4122bis-00.html#section-11.2): + + +### Note on K-Sortable/Sequential/Monotonically Increasing Ids + +TL;DR: Stop worrying about K-Sortable ids. They're not a big deal anymore. Use `createdAt` fields instead. + +**The performance impact of using sequential keys in modern systems is often exaggerated.** If your database is too small to use cloud-native solutions, it's also too small to worry about the performance impact of sequential vs random ids unless you're living in the distant past (i.e. you're using hardware from 2010). If it's large enough to worry, random ids may still be faster. + +In the past, sequential keys could potentially have a significant impact on performance, but this is no longer the case in modern systems. + +One reason for using sequential keys is to avoid id fragmentation, which can require a large amount of disk space for databases with billions of records. However, at such a large scale, modern systems often use cloud-native databases that are designed to handle terabytes of data efficiently and at a low cost. Additionally, the entire database may be stored in memory, providing fast random-access lookup performance. Therefore, the impact of fragmented keys on performance is minimal. + +Worse, K-Sortable ids are not always a good thing for performance anyway, because they can cause hotspots in the database. If you have a system that generates a large number of ids in a short period of time, the ids will be generated in a sequential order, causing the tree to become unbalanced, which will lead to frequent rebalancing. This can cause a significant performance impact. + +So what kinds of operations suffer from a non-sequential id? Paged, sorted operations. Stuff like "fetch me 100000 records, sorted by id". That would be noticeably impacted, but how often do you need to sort by id if your id is opaque? I have never needed to. Modern cloud databases allow you to create indexes on `createdAt` fields which perform extremely well. + +The worst part of K-Sortable ids is their impact on security. K-Sortable = insecure. + + +### The Contenders + +We're unaware of any standard or library in the space that adequately meets all of our requirements. We'll use the following criteria to filter a list of commonly used alternatives. Let's start with the contenders: + +Database increment (Int, BigInt, AutoIncrement), [UUID v1 - v8](https://www.ietf.org/archive/id/draft-ietf-UUIDrev-rfc4122bis-00.html), [NanoId](https://github.com/ai/nanoid), [Ulid](https://github.com/ulid/javascript), [Sony Snowflake](https://github.com/sony/sonyflake) (inspired by Twitter Snowflake), [ShardingID](https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c) (Instagram), [KSUID](https://github.com/segmentio/ksuid), [PushId](https://firebase.blog/posts/2015/02/the-2120-ways-to-ensure-unique_68) (Google), [XID](https://github.com/rs/xid), [ObjectId](https://www.mongodb.com/docs/manual/reference/method/ObjectId/) (MongoDB). + +Here are the disqualifiers we care about: + +* **Leaks information:** Database auto-increment, all UUIDs (except V4 and including V6 - V8), Ulid, Snowflake, ShardingId, pushId, ObjectId, KSUID +* **Collision Prone:** Database auto-increment, v4 UUID +* **Not cryptographically secure random output:** Database auto-increment, UUID v1, UUID v4 +* **Requires distributed coordination:** Snowflake, ShardingID, database increment +* **Not URL or name friendly:** UUID (too long, dashes), Ulid (too long), UUID v7 (too long) - anything else that supports special characters like dashes, spaces, underscores, #$%^&, etc. +* **Too fast:** UUID v1, UUID v4, NanoId, Ulid, Xid + + +Here are the qualifiers we care about: + +* **Secure - No leaked info, attack-resistant:** Cuid2, NanoId (Medium - trusts web crypto API entropy). +* **Collision resistant:** Cuid2, Cuid v1, NanoId, Snowflake, KSUID, XID, Ulid, ShardingId, ObjectId, UUID v6 - v8. +* **Horizontally scalable:** Cuid2, Cuid v1, NanoId, ObjectId, Ulid, KSUID, Xid, ShardingId, ObjectId, UUID v6 - v8. +* **Offline-compatible:** Cuid2, Cuid v1, NanoId, Ulid, UUID v6 - v8. +* **URL and name-friendly:** Cuid2, Cuid v1, NanoId (with custom alphabet). +* **Fast and convenient:** Cuid2, Cuid v1, NanoId, Ulid, KSUID, Xid, UUID v4, UUID v7. +* **But not *too fast*:** Cuid2, Cuid v1, UUID v7, Snowflake, ShardingId, ObjectId. + +Cuid2 is the only solution that passed all of our tests. + + +### NanoId and Ulid + +Overall, NanoId and Ulid seem to hit most of our requirements, Ulid leaks timestamps, and they both trust the random entropy from the Web Crypto API too much. The Web Crypto API trusts 2 untrustworthy things: The [random entropy source](https://docs.rs/bug/0.2.0/bug/rand/index.html#cryptographic-security), and the hashing algorithm used to stretch the entropy into random-looking data. Some implementations have had [serious bugs that made them vulnerable to attack](https://bugs.chromium.org/p/chromium/issues/detail?id=552749). + +Along with using cryptographically secure methods, Cuid2 supplies its own known entropy from a diverse pool and uses a security audited, NIST-standard cryptographically secure hashing algorithm. + +**Too fast:** NanoId and Ulid are also very fast. But that's not a good thing. The faster you can generate ids, the faster you can run collision attacks. Bad guys looking for statistical anomalies in the distribution of ids can use the speed of NanoId to their advantage. Cuid2 is fast enough to be convenient, but not so fast that it's a security risk. + + +#### Entropy Security Comparison + +* NanoId Entropy: Web Crypto. +* Ulid Entropy: Web Crypto + time stamp (leaked). +* Cuid2 Entropy: Web Crypto + time stamp + counter + host fingerprint + hashing algorithm. + + +## Testing + +Before each commit, we test over 10 million ids generated in parallel across 7 different CPU cores. With each batch of tests, we run a histogram analysis to ensure an even, random distribution across the entire entropy range. Any bias would make it more likely for ids to collide, so our tests will automatically fail if it finds any. + +Screen Shot 2022-12-30 at 6 19 15 PM + + +We also generate randograms and do spot visual inspections. + +![randogram](public/randogram.png) + +## Troubleshooting + +Some React Native environments may be missing TextEncoding features, which will need to be polyfilled. The following have both worked for users who have encountered this issue: + +``` +npm install --save fast-text-encoding +``` + +Then, before importing Cuid2: + +```js +import "fast-text-encoding"; +``` + +Alternatively, if that doesn't work: + +``` +npm install --save text-encoding-polyfill +``` + +Then, before importing Cuid2: + +```js +import "text-encoding-polyfill"; +``` + +### Using in Jest + +Jest uses jsdom, which builds a global object which doesn't comply with current standards. There is a known issue in Jest when jsdom environment is used. The results of `new TextEncoder().encode()` and `new Uint8Array()` are different, refer to [jestjs/jest#9983](https://github.com/jestjs/jest/issues/9983). + +To work around this limitation on jsdom (and by extension, Jest), you'll need to use custom environment which overwrites Uint8Array provided by jsdom: + +Install jest-environment-jsdom. Make sure to use the same version as your jest. See [this answer on Stackoverflow for reference](https://stackoverflow.com/a/72124554). + +``` +❯ npm i jest-environment-jsdom@27 +``` + +Create `jsdom-env.js` file in the root: + +```js +const JSDOMEnvironmentBase = require('jest-environment-jsdom'); + +Object.defineProperty(exports, '__esModule', { + value: true +}); + +class JSDOMEnvironment extends JSDOMEnvironmentBase { + constructor(...args) { + const { global } = super(...args); + + global.Uint8Array = Uint8Array; + } +} + +exports.default = JSDOMEnvironment; +exports.TestEnvironment = JSDOMEnvironment; +``` + +Update scripts to use the custom environment: + +```js +{ + // ... + "scripts": { + // ... + "test": "react-scripts test --env=./jsdom-env.js", + // ... + }, +} +``` + +#### JSDOM is Missing Features + +JSDOM doesn't support TextEncoder and TextDecoder, refer jsdom/jsdom#2524. + +In Jest, features like Uint8Array/TextEncoder/TextDecoder may be available in the jsdom environment but may produce results different from the platform standards. These are known bugs which may be resolved by jsdom at some point, but there is no clear ETA. + +Note that this issue may impact any package that relies on the TextEncoder or TextDecorder standards. If you would like to use a simple test runner that just works, try [Riteway](https://github.com/paralleldrive/riteway). + + +## Sponsors + +This project is made possible by: + +* [DevAnywhere](https://devanywhere.io) - Expert mentorship for software builders, from junior developers to software leaders like VPE, CTO, and CEO. +* [EricElliottJS.com](https://ericelliottjs.com) - Learn JavaScript on demand with videos and interactive lessons. diff --git a/node_modules/@paralleldrive/cuid2/index.d.ts b/node_modules/@paralleldrive/cuid2/index.d.ts new file mode 100644 index 0000000..fccc626 --- /dev/null +++ b/node_modules/@paralleldrive/cuid2/index.d.ts @@ -0,0 +1,19 @@ +declare namespace cuid2 { + export function getConstants(): { + defaultLength: number + bigLength: number + } + + export function init(options?: { + random?: () => number + counter?: () => number + length?: number + fingerprint?: string + }): () => string + + export function isCuid(id: string): boolean + + export function createId(): string +} + +export = cuid2; diff --git a/node_modules/@paralleldrive/cuid2/index.js b/node_modules/@paralleldrive/cuid2/index.js new file mode 100644 index 0000000..88dff60 --- /dev/null +++ b/node_modules/@paralleldrive/cuid2/index.js @@ -0,0 +1,6 @@ +const { createId, init, getConstants, isCuid } = require("./src/index"); + +module.exports.createId = createId; +module.exports.init = init; +module.exports.getConstants = getConstants; +module.exports.isCuid = isCuid; diff --git a/node_modules/@paralleldrive/cuid2/package.json b/node_modules/@paralleldrive/cuid2/package.json new file mode 100644 index 0000000..18e1f61 --- /dev/null +++ b/node_modules/@paralleldrive/cuid2/package.json @@ -0,0 +1,69 @@ +{ + "name": "@paralleldrive/cuid2", + "private": false, + "types": "index.d.ts", + "files": [ + "src/index.js", + "index.js", + "index.d.ts" + ], + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint --fix", + "typescript": "npx -p typescript tsc --esModuleInterop --rootDir . src/index-test.js --noEmit --allowJs --checkJs --target es2020 --moduleResolution node && echo 'TypeScript Complete.'", + "test": "NODE_ENV=test node src/index-test.js", + "test-color": "NODE_ENV=test node src/index-test.js | tap-nirvana", + "collision-test": "NODE_ENV=test node src/collision-test.js | tap-nirvana", + "histogram": "NODE_ENV=test node src/histogram.js | tap-nirvana", + "watch": "watch 'npm run -s test | tap-nirvana && npm run -s lint && npm run -s typescript' src", + "update": "updtr", + "release": "release-it" + }, + "pre-commit": [ + "lint", + "test-color", + "collision-test" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/ericelliott/cuid2.git" + }, + "keywords": [ + "uuid", + "guid", + "cuid", + "unique", + "id", + "ids", + "identifier", + "identifiers" + ], + "author": "Eric Elliott", + "license": "MIT", + "bugs": { + "url": "https://github.com/ericelliott/cuid2/issues" + }, + "homepage": "https://github.com/ericelliott/cuid2#readme", + "devDependencies": { + "eslint": "8.30.0", + "eslint-config-next": "13.1.1", + "eslint-config-prettier": "8.5.0", + "eslint-plugin-prettier": "4.2.1", + "next": "13.1.1", + "pre-commit": "1.2.2", + "prettier": "2.8.1", + "react": "18.2.0", + "react-dom": "18.2.0", + "release-it": "15.5.1", + "riteway": "7.0.0", + "tap-nirvana": "1.1.0", + "updtr": "4.0.0", + "watch": "1.0.2" + }, + "dependencies": { + "@noble/hashes": "^1.1.5" + }, + "version": "2.2.2" +} diff --git a/node_modules/@paralleldrive/cuid2/src/index.js b/node_modules/@paralleldrive/cuid2/src/index.js new file mode 100644 index 0000000..db29ad3 --- /dev/null +++ b/node_modules/@paralleldrive/cuid2/src/index.js @@ -0,0 +1,127 @@ +/* global global, window, module */ +const { sha3_512: sha3 } = require("@noble/hashes/sha3"); + +const defaultLength = 24; +const bigLength = 32; + +const createEntropy = (length = 4, random = Math.random) => { + let entropy = ""; + + while (entropy.length < length) { + entropy = entropy + Math.floor(random() * 36).toString(36); + } + return entropy; +}; + +/* + * Adapted from https://github.com/juanelas/bigint-conversion + * MIT License Copyright (c) 2018 Juan Hernández Serrano + */ +function bufToBigInt(buf) { + let bits = 8n; + + let value = 0n; + for (const i of buf.values()) { + const bi = BigInt(i); + value = (value << bits) + bi; + } + return value; +} + +const hash = (input = "") => { + // Drop the first character because it will bias the histogram + // to the left. + return bufToBigInt(sha3(input)).toString(36).slice(1); +}; + +const alphabet = Array.from({ length: 26 }, (x, i) => + String.fromCharCode(i + 97) +); + +const randomLetter = (random) => + alphabet[Math.floor(random() * alphabet.length)]; + +/* +This is a fingerprint of the host environment. It is used to help +prevent collisions when generating ids in a distributed system. +If no global object is available, you can pass in your own, or fall back +on a random string. +*/ +const createFingerprint = ({ + globalObj = typeof global !== "undefined" + ? global + : typeof window !== "undefined" + ? window + : {}, + random = Math.random, +} = {}) => { + const globals = Object.keys(globalObj).toString(); + const sourceString = globals.length + ? globals + createEntropy(bigLength, random) + : createEntropy(bigLength, random); + + return hash(sourceString).substring(0, bigLength); +}; + +const createCounter = (count) => () => { + return count++; +}; + +// ~22k hosts before 50% chance of initial counter collision +// with a remaining counter range of 9.0e+15 in JavaScript. +const initialCountMax = 476782367; + +const init = ({ + // Fallback if the user does not pass in a CSPRNG. This should be OK + // because we don't rely solely on the random number generator for entropy. + // We also use the host fingerprint, current time, and a session counter. + random = Math.random, + counter = createCounter(Math.floor(random() * initialCountMax)), + length = defaultLength, + fingerprint = createFingerprint({ random }), +} = {}) => { + return function cuid2() { + const firstLetter = randomLetter(random); + + // If we're lucky, the `.toString(36)` calls may reduce hashing rounds + // by shortening the input to the hash function a little. + const time = Date.now().toString(36); + const count = counter().toString(36); + + // The salt should be long enough to be globally unique across the full + // length of the hash. For simplicity, we use the same length as the + // intended id output. + const salt = createEntropy(length, random); + const hashInput = `${time + salt + count + fingerprint}`; + + return `${firstLetter + hash(hashInput).substring(1, length)}`; + }; +}; + +const createId = init(); + +const isCuid = (id, { minLength = 2, maxLength = bigLength } = {}) => { + const length = id.length; + const regex = /^[0-9a-z]+$/; + + try { + if ( + typeof id === "string" && + length >= minLength && + length <= maxLength && + regex.test(id) + ) + return true; + } finally { + } + + return false; +}; + +module.exports.getConstants = () => ({ defaultLength, bigLength }); +module.exports.init = init; +module.exports.createId = createId; +module.exports.bufToBigInt = bufToBigInt; +module.exports.createCounter = createCounter; +module.exports.createFingerprint = createFingerprint; +module.exports.isCuid = isCuid; diff --git a/node_modules/@rollup/rollup-linux-x64-gnu/README.md b/node_modules/@rollup/rollup-linux-x64-gnu/README.md new file mode 100644 index 0000000..cabe280 --- /dev/null +++ b/node_modules/@rollup/rollup-linux-x64-gnu/README.md @@ -0,0 +1,3 @@ +# `@rollup/rollup-linux-x64-gnu` + +This is the **x86_64-unknown-linux-gnu** binary for `rollup` diff --git a/node_modules/@rollup/rollup-linux-x64-gnu/package.json b/node_modules/@rollup/rollup-linux-x64-gnu/package.json new file mode 100644 index 0000000..730f1e7 --- /dev/null +++ b/node_modules/@rollup/rollup-linux-x64-gnu/package.json @@ -0,0 +1,22 @@ +{ + "name": "@rollup/rollup-linux-x64-gnu", + "version": "4.43.0", + "os": [ + "linux" + ], + "cpu": [ + "x64" + ], + "files": [ + "rollup.linux-x64-gnu.node" + ], + "description": "Native bindings for Rollup", + "author": "Lukas Taegert-Atkinson", + "homepage": "https://rollupjs.org/", + "license": "MIT", + "repository": "rollup/rollup", + "libc": [ + "glibc" + ], + "main": "./rollup.linux-x64-gnu.node" +} \ No newline at end of file diff --git a/node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node b/node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node new file mode 100644 index 0000000000000000000000000000000000000000..0db0b2561f013ab4a7b57a69d0f767e6b49b281a GIT binary patch literal 2669264 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:==Rp_s2tUszVpn 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%0AUOL> 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

    tua- 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

    Us+}|alWTri~23C(uAQtiW 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

    %>D_4{=F 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

    k6(u!N@kyy?Hwp~# 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 z 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

    jQ5l$Qc`%Z*dL8UT_HVkPox< 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⁡P6cjL6R_D5F)c+c?SH8 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�+}XKXCs1ht9tkFKyK=@zN7; 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

    U-9Kxz(Z2ez?^_xYhQ?$Drd*%Y*csR4kF? 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 LEDlEDnr}i8LvEpOM^0{23zECY#z_r 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%0D^f~}+3~xFEs#u7;Ay24< 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≷5KBsmaa$ZY*gUt@JVW8WH@5+Kt`Wm?HO+Id3`QlXqC`YcE4fQO3Rj9~ zuXgG*z2V1Rv;6icDJAYTOo9FGSZ||nRYSag03bR|YB=R>gwQ%s8;kz8dHAzXck_tF zCYr6$Ii%&zGYY*9hrwK+?YY-;qV&wcf}=d;U*xMMy<|Ms<3|F93c2bTJGAVp8)sdbCotYdYFTM6 z7HEl@b-wTwyb+Xy1TIrl&%m-VobnJ*Lh$Imj@?(9|1QJ?7gDgzYZaaJsB{}KTboE< zVG|C37^}l6*D*m&j$T3~DR>y;D8nc~-+Txe4xH5asKekl9^fhfNM>u6BVNEr+cH)sv;(-XjWN-!6YhWYzw=R9~5A&DKSQ*b#ME>QSSpMa9 z4}WD0UPkX%Um!wF)l}G7)v;OBQDBJPaTh8`zf4Kz@ZO;O(_`q@oMxNxA#>V;KU;t_ z944BCAg9yZJld&sFcl7tVIC~!0Uj%CZg;Fr#WEDC@ zupwhN>sX>z!h>GHomxtyIPgjm4xUDYdKFlqdMGCGOnK5&9TZFwsCkCAp4&e|5@r)l zslbA9gOq>(wfY-sX(q_?f9O?q0m)x$k~4NPV~ZHu7O^UgKh62m*dUSIJCAB|Q#CnE z!r_#s5f@?KiTmNc!auNZ>FK=j(f?*=|M7hT;X@J*N5Tku2`q6ADEB=OEiAe`?SYC= zJC!;UMgJKhq3#1EHP0c3c`8N7b%9hc{~*R0&b6$#YkM*K1APBNalKh1uVJ?khYg^*s?qfIn9AhRA+( z8_+C$Irn?6J@#5y0^6JFuOCKEaqO|jU#l0`_WJq=OS-VRtokDDk1QLaLJ<6Cd+bZZ zsyo^q+b_)gFZS3w#YiK{9=igQvmO&Poza|t9eeB#56A@kaF56dIL@NrlZTumv(XN+ zJv6=mFxzJAxw>;%#_jh2B;&$@Cn2z_^cd#oUyVIYJGNCz94*AR$LDlKjMH&|%Uo z28QXK-bm7ti@at7G74ic-be7wc@%-n;wIE1_~zWlkD}qu_3I0=yR;-6|P4Pi{)^m@9sD9y6ac6p)I2>#fF~yFKp;LjOre-|C0Uu3r)=a3l7@X zSoTre@}M#cK@$|XVD}aB{9hd7_Qdu=S_->6JPwpmuomU7n;J0p19vNm(#aa^GVaX+@h1(&1-Ab>?25P zDQapvikf;z&PUpUOEJT!w_#^2U$5bdmi=`7D>~u>DmRC#TG>oZosa6JZn1MUqf&)P z^bt5Bn@glgX;O4|QdDtM2*NJa6Xy=*&0H(9Zy^IgJ|CtgW1*%mEkGI1N&D1&CiB%* zb>$AkR+pI7VNkE{Tfn%jibxJQGc!=6hzaYAEAi7SBvpJLhqP zK&kp7Hx;bylou<7955pKye~a}L7kxCF#1?~_vr_!v~4G0UMjJTQ;xrqLHRzR?A8Ft z*AViZwf$vA;FgB6p7`}WX7B^fhl+7&)nCvqA=jsa#dknRciqd%A*A?@rfO9lnU~zw z2>|5?Ft_^1O`UHFBaFQWxTDWSd3pv$a=?H+Jjc)dA&j4%z4bKGVpH7i5N$`IpJNq; z`jDqks_-e4YJ8U?c*{X_K?dkQVzuLs1;ZvD9l}NK6k;~k(w=*fK0zM@57Hw2NBl+F zkl|a1X{e@w1}k7S>p(uD{1@k>9`T3I$y*7d0=A^Tl5`4j_~2S#zn86z9EyFm0@bpI zckHdt!Ay{(7J_d)pNzgQiaI&ao$z`SY--&&8h9tM7`MTsS4sq}*5q)jbePD6Ti7_20A5_FCc8 z3M2wp(K>Slu532`leXXZo6CDq_&cb4o$&(CV zb&isE)+LYF54idw`qWTw&hW|)d+YPSrj}C2G9}#TTF{G(qseP<0H--_h0xcV0>#lU zyY{H)fY|R}%MKXjzvARP!|D+Pf;93|z4f9^#v|L_`rhl~tf!Vb>ECAh9S~~e)9Hnq zClKq^pUV#hS-gM!jN!);mD_+XtHV{WsDbI(YAl&hGDlt<`)?V)X5MM|fqbC8rbx3k z6Mjn6(Q_czb98D9Mp5g-Z07&WOfS7FZ^5ESc?<66tPiv6XW;@Kfgx%!G}$;(N#o$~ z8Mu`Bg1Mc?WD@LckDg8#{A6G8+l&I}HxWe!7UdQ-nQI@~3`3{P8^7K?h2Ks)}S^a&D ztr$o1cD!7azpt)jihXk2J*a%!-&b=$bg3PGUl~Nf7$g2m9DiR8$MW2r>I?1fYYmqi zsZRBtizKYxofSluB&SkBCc@tr&J(3A7XwXQTOCyydAu%LE=+EtzlB23r$O)-j~3KH}1-r@2zPLz2U zEWya68-6vW`n)=72$l#AICl>!CVUQv)W&p%aQZp48mjzM2ed_?Y~7BivOu4PzK^?s zi249HdVS)}cY6O7_q=lhjz9g-4g^y69N~7Xl59+X5}gNeP` zu=3c9+{QR82jm2dPE7Pu92bGO^%_SzpvGKxT3s58kmwsg!47=djJM4&63Kg5Hzer@ ztoD6#k|SBzjb0Z#fR!pU##Rth4s~Zy^U-N+DmS94F^A#|V-wU!iIC>V_prXeE{^3; z<5RJ+-la>GeEb@2NOPcQM)$OKP{EgY-!|?uK?Ctl;R>|Fq`ZgqHS>U6V2zt9 z^D7T6xeI;xE}p4HyoYruy!1MEu%MOA0S0KL$-T*&C|@Y~%nQ&uZ77UfIHNp0g&^jM zE*f3b2l5_Pe^#k!!zREAW>^s;(M^Kw5J4RR?x6eTiWk~I<>wAr>J_v&=|vUtqHVZN z7FQOA;7y65l^A4lBB-!mbZvqRm!lM5Je8@*{Cu7~a*~@n8)c2jC>_1TDdz|W^%kO9 z&sSYU40F1Fe_MbKUH6(WY9eMW$eT7%EDv>6fQWd0vtu;@=PlA(4Nj|z6#{@7L z(kG1Jl%EiZoaG+vH@wMq0_POOa%3y^tq&jqEA4vCkF@xHsC|N?!H?78ZJEJMRzyQabkiJ5VXHei zRN2dSvOB z1dRD|-+^Mevk{8OBNp8cplLjhLtmiss)Kev;E~4*^?`bl#EJ*-E)$MjIj20lDruE( z&SEsBmC0OYLIW&{ha6wqk4udKG-f(GcIp^Ll-S3mt^)EI9+#>gkIw5B9no%?>GoKd z^vy=zd0c81kt2q%Gd(UfLO-)0J)$3LV!tUJyT}H3!4r{OF+*BdM%u4x>vr`OE(a>N zrQwtXfXk~w$FE7o%(zL@5cERO2;OfI&0$2o6>%#fLX$AdCadzbpi0VS!7wY1mGEZZJe;*f$>45c}dl44)`vD`w?7~xu=IZncUSq8U_B3 z93%4*1cIM(AVI#iYHtAm$SFvJO~UNd1y1T|OugDvII(F(C6o{@ZG}tFvQB)+geCuW zq_Ezi@P&oB$_l@4g!mYGR(X#g4<5~^ zg=Jhxg8d)iXxig!+Aj#6W56r}XJn@WUo~N=z>+(>;{S#GcNQ#q4BDbM?cgrltJ=Ba-l_X0|wL3)#}gE7N><4{AI!$sO<(0Rzp>UPpj_w z5TBa!I)7?OB$hIz3GGr(Be8nSP>AsNDfgSlx5G58I(C=M(5#>kYT3O1W$@+3^+PT`_~{v# zfl1)7TEHc6-1omUFYVMo42MD9Oi~|~0t<`rqpKKdzH}hXm-n#nfTwq#VEgN2fbU@y z8EmXzTz#$J^ClASAEa?@_G%3>LHvHexAaYWaC(SZ#)PR=9a|=Q`l_`Eb6^Ra_$^{X zAEiHb&(q76VV!zP=s8Ru=RCdc#b-EAf2fEvQkzgL2>$bVddCeizlna?^JjSi z`WQ@$q6h92p-@KqM(C4&#oP`qBK>tPWpa*#Z)-Xc=joL&sAKikwfR4ur%ys^XpnH# zsHTH#pQqm-xs<3nCBIP}YFB1EfMf!lNNHJxo(%+7U#k66LjJ?569&on=jngsVhEkj z0i#dCS>CnSB>eHd|f9TdC&-a58`%FK?Me2u( zeiy$(Q1^9D$|yPw=P2QnVH!J}(w_`OtiSW>I}BB^8FE&+k013I(ke++&akudSY&sN zJnx}@uCX|NK9pT zJInb`lQWcNt}V#JNdZ|(HtPidRK%a z{Oh(sM8thD*>?}ZqCDojrvgxQ`AG!Z?F2O#%R3n}IGi|OwhvrYPy2x$Mh z7wGiTyyvUG3@`Z@j=+!QUw79Yd;H3sz}urvhN!A=~-c<>)h#z~)z600z(+Zq47`#UEm3Ikc{ZS1r`@@BR8CNuEt#6Dbx zq7mRt^7tIc%;O>E(G+>83-RNX*V89w`Jpi`SYK0ZyhmQTRPR&=4QmdZO;Se8duEtZ z*5*_`m}~vXjVyg)!Q*F@w>H8TB%`^eIvQOWU2H9i9Xb9w^I4jlH&)WRUHZ4ieLk(n z2~KdI)6Vnh+20Yu)&7D|evD`a56p!ngqf4hLk;r$6GTGinBnK8>!m)k)V;Wk6UtOa zPD&G_`-D@b1JPQaxaWf+zt6l8M}9MqLgcqI0%)Bf>QUHh;!?)rnrviw9eI|u&d29q zlg{%`ySyjIyXDQTWD2Niph#@z*AJtKJA<&g5Xv~2ul$oWd>?FCigi2ftnyD*^Udvu{hIHCjW~6<_WOua zhks|E-~S~&25S5KtBjJ-9b3oBwRZ^4Z{tv#|L6B3|BKWRW?2He_W28Rq-ZT%`}}!2 zAJHqux6g0)Jb)hoEa4hIXdO)|PNzUD2W(MV?!$3B0@ceD=1i3!~h zoXtM}f%+KyUHkkpk4P=*`oQAC+=g57==K)Lz!@)Gn3g#PjMB!j6zVoNoD8(y;SH@`g=KgXlR>M~fOrWAg zcliHlpI<)Jy5X*6OGk#nVSb>r`%N`WYRjxmHfw>>4_3LGj zA8N^Ne|s!{e+)WLv_?PN=ov&yuQ-E!{>Lxqy61R=qia3>j?szI*hM{y`fD(I*!q)e zh{dJA70kMLKX~nv%eqtBX^!}wUeW}3##9u?DNYrS*(5jk&%f0 z-|X|(0#*3>4~UBv20cf;)f06h_W4zQbE_QhpAlJ~ps5c}U^Jnrp$cIIW!dNFFs<0< zZv{XrIUwD)FfETR3Xl+iWHpTe(+CqtEy6zkVu!Kc4;aRnxN&)o%yPP?Y9p-e^T%)v zH{8t)%Aj9I=-)PB&KZ)jn?5xJi41>-VV|9JNKe+?%W zuvY#glbvd{%*!8O9RmA&Kj^4y3^9)%&p!V&43K1hVUJ(0Xo_hnTT_(2Chv2xumi~8 zVXmqU;)m@VwO+$}_7U$#ZpRp@^;1icfc~@O&ItC&&iiHUcA8ngC361f_shQDhy8vn zK87SNJfW|IyHR~f<70qg-Y?7eN%qrG@0YFqk(t`>m%TF#OI|cBpHfl}b<;}yar;Wu8NTK1Fu0f_96=wI4)Y1VTTji~psF4BbH{{jJ4 zZSZGQ>5N0(mLmxOr@y-U4Jc&cPY!BIBhT2N>Z;j3lvRTcvc=EM65jtHy%wOSn&QV} zP3qfQ-<$nkstUeW63(BVSvr?q0otkln@V_n754h!+#8*3UmI)NSL-}1JRSbr`y>T0 zh;Z94_P%Kwa4GfJT-dFHoZpAQX!hQ|=9(xQbN2J*1IXom@^Mo$ruEyH9ZXg;* zuoVcfM&|w`m1`9;?+cmZ@m_s*Y|VN|TVh%QZ&4vKZ(@%24+ z6aNqQ9jEV!vlcG5^BCJa$=!ARanuZ1cMfKm2GA>7Zfy<#I{?v5x*2I2_5m`;Lu~gbnlSZX@-my=p=x;=W@`;i5#X2bvmi5G9Sd@0jVbqYnW-A0*6( zwv%E(F<62)=9UjKR{gU`@bZA&YKbb#oB|y>);LQeI0FNp!qEQid=9$RAa#(5Cq6O! zUi_U?eVX6%8um0CF+!qxILcVE>E&>#`QuR&QY4MSY)B-)HnE zS&WGV6T+Hm*2?fK{v}x=y3o z-;NoR7cV?eV*~mXSJ#73944q4SaumW*16>Xch+~awuIXOS>M{D{r3LC8tnfV zp#6_}^ar$VbB`iM_WuH?&qFumVtsh0wlDhl6bYV!zRjw-BB6r`H6JEfnqW5)+|H%X z*ZA?ew=Exf{R5}sMpN24GcZ1!&h0z0I2NjI%7a%kGQ#U&6&KE_nhvKO<#T^w{qN1k ziuNaG#RIoUrG<+D5pJ3W^PC~j;W1zQQR)nCnq;pM=y0o@%JDZkeurM;M*AC`(~k|S zx1k$xGfnmZoq-J1Z#$I5l}CPa4Zm8KzLB$-rnavzoG2LJyg^HO~jY%iQK*qe-qm|GQ|3?dgflU zKe71fPku~QJp=zF91YGzdi5&TVTXn)xp1^xfkMyR!=tg9UOXlOPC!rofrsBB{-nZ)#pF3#dl|N78=iZL-ZW-hG zz(LW@aLR{$IcVbsGv5ihKxejlT4ZMJOyaKe6aMcWjv8bhjbfJS_wTWzHjb&Y81WM# ze4>PxE9l8vFrhV6lk{p0!;R_%Yj4;n4lyx;b#OE581}p0p?bRk;#DukGr5Gn+KXD( zy+)#mll5;VjxdY6CucNUnOC~iN?fly&-X#4QiU7u=o*;)9ZdFM)-b8(?33Zsctfc| z!O2wL9J)FY3bRkY`1Z^H1;2sh2@I z3xe+=njA!7<)1v_E08?|JsaJX3l;b5lRp91HzyyzU0bc}az&Tq#M>u#fq(MkQt7i# zyn^W53JAQ6K;9rJ71Zwus{_}S2y+F0mi67$LI~v}-gnmp2p4TwrIHFxT;RJefH*ov zqC<{?6X(KZmPS1ns1JP-gbE%jhZALdcPVJ7(~C9~?70AWXO>D#FWA#5J^#e6$!*C? zsZ!~y_LNI6*xjjXg$*d_kx9)MTe@IR`Bi(WrLWpu4xla-R#w}b3pJ8McxQp%?acS) zgOsF%m297_ z6{DJRxjr55{Y|8FVZZ9`?`5}pdCU&|d}I-`Lw{*2^Bs`vnmC*7{Nb-Hew^d+X+*Y` z)99zW)V|BeQCNNSwG2#@|E-9^;xAcMKvNR-9AK&~7GDwd;pij4Z~m-{OXZ#CEJJ?M z$-*g*-vGS;yxmO~M?>^>hdEU18+w7knAO(zTgY{t=)yFJSC}`5YZZojX;l-Piw_@` z>>MdsiTZh)UW`#?Tpk>8Bh?a(%c8CaObv*$9xE;%*B(X`=wc63c}2v@ly^CN+uyuK zhMtUeNfKj}3#oM%6L1-3ZrFx1ia)8BgM#kt_ApI>8dFQ}ZAQtXS4_e24Rwwzc`GzP zaD6$8g=d+a$HHbvW^fAP&^G_OJ%oD0gZ4XnH zUlD7#;9?)6R`YZ!3i3DY8v;2=1@t1A!rK#^@JC5IVcpj2Iy0MaM?wo8u4tR|#8ob? zW_OqK>|urvM;2$dhe-r6ltEuOpF=KDX_bCO0VZMSW9b+n_As+qzPJpZBEzQoz>FRN zsh{x&T4aGASAX%|x5A+{GTI1~LOlS@yg3FnzLw*<`Zh$ECdBub2`XEY}|9 z5(}#Vu{LNd*JfcnuKvol*;n`=vw=O#%Ro7cJTC|4reb?`Y-Z^ES5 z!(=df$OW1!l@0lfn6IEA=k$)ThiR}M3t4mKfepqmV4w}OJ#qf6Fe53|W?L$QbX$cf-p>xUa^f^}gUU@!I$^@4zzI|*WraVo@_3x2%lyAJ32 zpA&&&$Z7;o1-NIBgL?++9DP*=>?3@I{dpuS{xdhJ9^e@%LZ1J_kI6}(^3dh>ac5lH zn~#64cm}!KJ0ejgT$*mdPS97#x4^`Y;YI{p^M()cfvl=TWW`g2+)Aj)X8=WMQz_bD zQH32Fk^MbUxR}nFUBj#RZ4T;kqFM$z?b$TOK&N-<$RBk#qHHoybcyBci{*43WXlwVb%Jf8AiVwRg^#sHr&iIzMrZ z5}1{wYC(#FKj4ccVYMi|>JF!TnJM|EQjI0ju`?Jc9d8nW(y<5u)(VBT{c!A0JAoNz zNO=tOf|pnka~Z*lNKTHEog4>RbgrX;TM76=A#hoRm&HcI{{b-am%onaa=yav2@NdI z#~<}>eV}h(1bE16fDc^WBzKq}sXqjl;cKNlQ75h6{}EZJ?}>|RNF zODGqCwnGzRR4kT?!n4qUp$K?#4MTf;fm!G%`Q!vr33re}R1_zvEu1Bo9rz!?L$7Fo z3^(eiIg&H>v)Jbx_#9baYb8Pxb9%oK(3laf&qj`LvGzGn0r?E}IkV%@sbtZy?Q{A7 z*}Y2XEX{UpKxD*_dM5jvhj~?t{rF-E>o=Gm8}$U8{igCe;wo(EdTY_5BwU5uUJEo=Ps57V@>tl&@wRO!1SWZ zW65ZaGSyuUcqzdrF`_Glb(d`@GFYP|sdJGy_zh9k0>z=wnP3RRJ#_%(mPoxs0uUx~ zW}{LiInLNhKGlhW^MFLC%*>zZkp**0`3#IKGBg5)Q7D}9ho3TDq7Lx}F>l3$hD)x2 zw#BEDDg8W5=2I}*<@+Nh1AAt8S4g0nyn;ZmK!iNf zM&K5Hf;l^b>zw3%Vql#j7{M0}Dh6@sD*dsR2-3V$6@6u@p}?R7r#XS!O+fnfiSD4c z(a@8a{fs$aVl;zo$*zpc8wqS|xDPgQNY--#DNdl0oymhp1r}vQe5o#2EJ1Uq{aX!- zyV*D>aPV6b5IzPmQ86q=`eL|5AX!}nD-*Zr?9se6Q3F8zvx+d9rj9a=sgy++OM-K3 z(xo+ivbqSe1~i#B>QU|n*=Rp>6AqG9X^!I80HiK8JPU^(5)PT{!=5M38><^IW8b_; z*v?W9w?Keb^?rf*qqt|3!X7lWD5P#DDN{oaLvVv%1FF_+aXJ9kzd!-5I(MMZO;a5} zH~0qeo-%krSjNB`p-3+W?K&3KmbCDkMeGSKRiK>c>SbJsD7bD8|BnvAuJ|H3vu@-} z1|EW~Omwi36QJp(s)1z6$DfM)DQl=mFS`#J$?=!BgM@Am{t2-xbnXniR;YEb`_-qL zb;-qkqz{rh`c>C{WH3ZDuKh@3mWVDP>t2ldp>jgq32JJJAt^U66M-~e>_Hk}r^HPJ zX8Qx`iD@KCdyou+ZJ*ZxpY|)G(%1|We=tUVqdcJVUZ2FU+UfGehg{B zgWNOkWZhbi(8p5CtL`llE+Xwq`Y}00IZM-turIj^^AXCm?*vC_vJXr>R%0TC&c!)r z4>ziY)N&frVu^!n+n4-)HFGIZ%h!mWz^=^i07B=jseF{CRgfmoiDzH33zy`a`_*X} z)Nz_CVhH);#SsSm|>dB{f-@5|Rpg3tNUyn}kH;O?CF{9N?tO`U*_oeIFcw;r>GaVVKtMCK; zr)3|th28*VO{R|;-$5EwjHF*=(vL@aud_3~@yBz<^SZHM0S#KC#F}=`a$Z+yb)3c9 zqbsnE0%vDFulwUdy_5)G;loy6`w5EJ?{lpp!uxN>P42GFzC=9_6zlxkx_`3)CNmgnOjAKr2K$B6mlGZZ(`;gg8%xEcv@Gij!7I z;3RHj5+7P=Cx-mlv3tt5uA z7=k-Y+4l1C(ap#3XoUN|#VEy|z3n;*ni*efqL*s_qOyy_qAyQKO_y7$*EyGBT3VN4 z$_UNQo<1pOGzp&3{-&Yk9`io}ZhLv7VHrd_m35+nmVuQkwET0d-HSNN$`3bS$oohS zc~UK(336Bs;|k>s091pGCK--F-vBgXJc_*Evgu9^NKxb4R829QlCAR$r;L)A64eq6 zsnr_{d9Hs9c~2gk@lIN%_bzw5^QOYuq{{nCRU2ZI;}o1^$Z!4_D%bCVRa~Iy7soKsIZ!h6$1QaLn823{BMODEd#{qVQ)%!mzoU95{H_60&&J;ta=mv zHdw1SGUtQqe+ygw5_!8#@|^1AIfT@phIC|%I&??1a_lH&jPjuMDZ@uv^5ywIapWsS zGv>~R;YOv&mbrUYa-~#JlB(Aax0S9{S>Q}ysPY|vS@)Hk`WD4VSe8mr_s?D>F;??) z2(Y@we1yXOjnxkMwfi4S{C_>qu5l|?x%PQ>YbnEki1X|VAfwO=Z#cryJof6-+0U~d zuv0nb*-w9{muk`H+3#P0LYqU{_T2XHs%JKk|CjS@|4@`=zuLYQ_4GA=dH>6kFvGP)1!2U-`S&mYWk?QNBa*Hc^uZ=n~|uAsEu%_-J+>Q*`pmlVD_hHdoT7&!(cWQr@^Dt;Kx0}?zbL?j1WwS zE`5SqXEwo0a1MoWUmf3sf!wo4Ti;4*Bo!%|a)7yf2Rqt7*`v*_!SeyEi*9~TFQS-q z93#!b$$KyMOS8-}MByeTA=rzZ5?V5gk51qNiDl?2{VX;rVvqKKvqrOyZBxiGTc;8N zaqZE5Pcs+?5jdkg+7|#y86J8UCl4|2#lFe3mOWap{Z>0UhX?(TG>96L(g;&in2Z;X zBHxQ0!sy2s&3#tzW&XT?AFYh#sR7>*5(;e{zD~WP>y{0wE;tW$BKBxAvA|+7K~5sF z76o-aPYc8zZ2(X#d$ga=MOv{(yV_3sc}t|_>DHgT^UVUP9{@!9CZ z9LAVGGlEL`DDP~T%UqqgBkbBfK!Afy(BvAf3M{=>CLn>B&!3)-VSW2b70 zRL*+L>{s;t-rf$rJyiU82{`0_HVSTe=`CDF|i(2VGI}X z?a>xFw8oKEf}sWd1No8nghb!>F*fm0_Gn`zCAO=Vq5+(GZJdN1LY7*>mC}3oVFh{o zc=l)$Ku`A9_Q^;sO%eWNQiNhEd-OJ51!7@8dkZuNlW>2BaFo6~${wu;3a$0y&5*#} z&&Btj(&J~$+iv?g`sOvAt??UUag;t}L<_dXbPS?r^`COdb0YtuZ}t?NO_3O*e3rYW zYO>wz;;U%L|Li~I^dvJM*dzVMi_J)}k^!UFzQs}6Twy6~djF)g?biO;y$|%>jU;_W z{mpPElK}{zCgS@~+4Qtmeox=tlu4W|kEimfifCuYUl!pA|0&0s>+_XJeNDZwMxG+d z4^$aPRwAJNr(CdDwnee>eY=rwJAILpKA-8gVL(&6K9Ka7&~g5WSWjL||JC~J!^_D| zl)m8#;A0@FskZch@?x@jP}6eOC$|5T1y3=(yaz#d`Nn_B$%~}A!YM}(;D%($>*x)c znoNZMloev`sndJnwv_1u)3ek{jK*lHo7EIpmm@GlJwrons@fY}ivS0i|Cl`bFc0-U zetyP}S6=QP;S%HGGJjuH+V{Z*xqFLsY2nIT_{UhuEe;jSn4<>;XT#0|+axMp@h-2v zjLP_>Uvtvd3fM!hc}vo~?M4B6$ICGr%6*me{`RBSY-Xsh2S414VaUKq9_aGMp4RuT zY9{g|#d;rMR^5!~^!E7R*>67Ln5fKPI$3+@SA`t=&6HhSVRk`tIrf_mUS;(c>pdZD zq}Ud8u;^-vC1ma(XZdLB%hv3S)R(onL3%dkWZqSZ8GrUQ6`9aw^}5g|Mn{}08UOp? zl=pNB^;$>FoBx4OI|{TX0Pxz^k!RVMtr!(Yo^R8HaQ_Jb)@id>AtfJS%_J0|Wc35! z%x`Xgg#z?|>h&oJihmc^ezP{|iT=~4%?7`J1@y*)o*IoGk2R@pr@c{+vaI@LTV$hu z-o&YaK`gp7{u0EI(R>h&Y;XAgNmVC5tcVMSuKnjSS>T_|{u7r-U44o>UKWS~{fy&f z8{q*9yyj%EINJVm3)dT-PPiPA98va~_i$sUa84Y{7;FDYGjpl|QRSsl01BG;r*NY6;h1V?Cpc ze<{vR^u!Aof28&u6VJ(wSTgU4E^|G+B~m*ZYWIn*WlSA?<-1Xmoacp8E(Rqw$*~uu zNsx`I02rh8m?+fXWw7y(7W^CM@`SAgO!dQBP4xdz1>v5GSewV(7JKr=I3;Qfo;ZxT zD~?6Zk>FFv00Wa}-&zbvWZ|b0CAvU;%5z`j*|+B6Mx$rn+RdJaUh3xyf$a4wwk9pYF?&w@-}3=piI&hIA{%&M7?mxr?w z^%A8W?^e(>4@VtM<#K;!(Q)K9DzOsxkegIKw`kO32CbO~|xMFbL7g>#usP{!)CLG0D zc`3Y&7MFcaWAJ^EdU%=39xx-$Gct;fLufKSY><~TA~h#>Qs&r$?J{tSqim>}mj>0- z4#s&KTCL>OjGXj>j@9zU_r#NN=>?st=M76Qn3a@}cS}aWtki^DyluBW6>Y2LK2MSV zvr=9Se{oV~t3Ab?ll*PR49jicudsp7U5C{O2V(&+{H=lxMiXG<6=xK8gFIhTMphF= zrK4srk2yWxiy~BBVoc2Kg0pPj99$zng<+aRrPRUjZQ5Etq{nvt2HB&XC$RMfTX#Dr zpkLtCFOzh)CnjFfCw0;cCbcg}wq`evc3}STf@9&g6Tv?hK&zSL3M;n+=2jz`&_PyB zG@(2Yf`ObN6e`0v@$_^CH@sSo-hJMcqw?*`c+TAZY^R0l0l-ybEaM{TkMfnz#fT$c z)A11{Uqc8-RSroL`Rb=JC|@5}j+QUHNB1_1Mhc`Dd?TAp!%F^QIC8&z%yV<%<)jfEV3z$q? zH$hh{oQYj5WJ8eZ)g)IJ;BZQ1p|wkW{S1{TxLpkmNVB$OqzzXgPW8o_%Ijh>Ut&CL z=f|y{K;>)aSqB2^x;0JYaay;eb)C}^LwIzNp&^MOT$N#{VPdG74z)`J7ZP`KqA$6e zFS!>=+bz{!)E(A{-J0Ihy=if`W<}kb`4)F;F|w$83q-cOr+Z6Z)!xazs(9LQO*@Wu zew-=>%09J2w@nh;CK=rqtnX%n)b!o7(pR+$WIWJzE|J(QD)1a6!*N52a~ct(@190M z$6;ZI@!npq7nje3<0h1|pvWpGZffZ_EnxAW%^V*?7mc|vf8i5oP4NeWwS%*K4*rPM zPS4`YFu}Exm6S`PPdpmC9!Jv`&!l?BSD1&wMO+rl2m4UD{|#f8&VV^O`~E{^Cl}g> zd?*43@4^644hZIZJHL-3DZVrC@^1R^a-i@75Y*teD<%X_kycC@|NB&&GIj!g8O0sZ zB6bW!_XyxIQZ`u&Ae5jnLJSxS@<5A?n zsu+AXE36|F#Z4rmnYd|mPHiY%YVy-kj~}naAqHEFLkRH6T0DykrQDj4^Id-*xU=-R z8dOYP;O~P}X%a<>OLdx5q-n}D{O9WX-1Iox`dn4%=cbgD-$7%jA75}&^)n=&!;`7OhX`Eh0k6^|Z&uYwa;GL4gfSQy zlA`zu;k}nnKBuaQ2*_)|YNkseoKgX$31SPGpdSKWttAAnoJq@vQ-bFKULBvHIG_3o zPhb5jPTgYer!ED)2+!LHAm3!Q9=$$@Eq8({hkR9{&Rp~hk@TL4M{kTnZ-@j+l)4;y z=sVRiEV#f@lzbWeUKShYE$CE5zn4(}@yfkki&ia=33XG`t>l(`+WNs+n9falPrSFE zE2XNbu0xfeslzE75W`7-{$nUyLoNd^z>nU4+v6!MqMMb<>x>g$_YT)M`s%1_yKo>zVL}6IcL0}H3nV@In8T2a1a_e9X&F{O9fZuM>{EB|8=r2`f zHu?uON>!oeaeM)U8@++VI(w}ivvf`m2;CCZA9Ou_9DN(aX%&12xg~-><)KKR_axzz zz9w! zBYcH*U<5&S5WG$YM~(2!xeZPtmW*h?`qWD7CByP2O=?}Lr}&$Ik&}iFEB3WoQ@+w(>^fE<&-dIHi%O&aO|CPS~s6o&;c zbXcAP$TfiTP`69cbH|Kx0K*NS69Lx@8{rmW%s5SI6aii1;^eWIfQ&dPb_pO( zia!bH6^E-7v?;pllHQ<}-nv}6Z*ea)l~c;*fG+6`dLGCrXBPp1q6czHI#574<1B)_ zmtKyjI`1aV$649(<~%V{VmBq82$ z^THi$fa2zL6G3C*rpgvj+*CybO^D0k^8`(dOK`b>;u72@ptuBg6Eu9xRn zQpIh`69nbOWur_Tg5t7~OwiQ0pz{g3Vc5_~9vc(Q0ML}6oVcJi1Z55#f2)^j_)slu zoe3Hj7nCUk$BY{9r5cKR*A&s40g@eB+YXOa<1)ctv^|`1`kdNgr9YI=K-+#6=w|~O zuR&cb&;|pVszEI+&>IFcM}ulxpa%@-ehu4?Ty9Dj-1hqF7~o;MNG;wcFa&7PR!E4&ta<=LGk+?tc^D-1|@ z*oX+*|R&1A36+^A0Mxr-69acym5=ZB#|ZgIs3DLs^3gMw z7d~{S>epR7uSutRB}t1>RZQdPR99P|dkyF!4Qg(Iat!D)4XR;*ZZ@E+HR$hdUS1sx zsFw!qw?GXHsJ{k%X@SZc&`1qhVu5}subH2uLC;yBEe14GgXUSF4-9CY2IW|wCk^Nk z4Z6hwCR#OmwA}dwEfU0QFBnvdjfNE>d01I@J0X5d3 zE*9u21G-d$T3Dd^2Gmi5&b2`045)_&g}ZpQ5h|-|<3GhD{OZ)=HkBFtSobh8~gi_ZxxSaZhrMwLhL*`4tdWBD8=bjFO+OIYDw1Z5WE)5m3x z_UH^H{U;gUedu_-7!rJmr*p3*T}F({jl%zm@qI>*h>kzZ_-lt|XGh_mgQ<4O4bEcA zqu+$_y~mFj6@`BdJ%w~LUET6L&KQ@-ndl{b-%jeUKpBT&M z>x|FK&av8MH0yIY;`L-#@m_Cz_F=Z_-mr# z_dEDG4jqkO3irWD$KzA;Q_sXta_MM(u0T8{NN9el%s!e6rqXe0S*qX&xZ2<=%mP${ zvXRb!kP$#*T+py+&|NMl8{9>tdeQ@paY2)X;C}(q-Ui*?`t)P@V-EU_d`=&`b-|S%c&f!IDoKq1?`T zv@52s*5#Lu88>l4>)xf=AAiSb4`$^tSf(x=Hpz{~$xXu2zQpz|A$IXirCWVMMe8^M zMhKvF_tF%Mml1>cGMd6JMsvE1%#T(rnC(Z5MD)mrETjYHUX2AuM151v^Lo< zllf5K_}iDy9Ux!_wqzj>(41011?_!2XMf=Cu?J~ve>_a9B!_@_?Q%X|w9%T_A7aDf zpmnq%i|mgDHtBb4$g}pxYxc)ecAA%M$RZoE*oHiBfBe_}c-l_$x(#{XhJ0v4Ua~*l zw?Ce-)4X9rR@jh_Y{)D22b#{S>u2pWZ`zQxHsoU)@~Zu@-2V8`PV=@6Sz&*?Wq*8P ze~5Qcr%gB8kd^kwyY|Og`$L?9Is}f`kX81_d-lgV`(veDgh%a<)i&A(_6M$udo_9v z60PV=q(G2ABb zlFh;AHri+Q#}51BWjoCmHsnkDL(bhDb{5-dw%BOj*dOps;#Kb|JIz)b@`L^Hll`&A zPVJB_l_JYuK0-~MQ3rwQ6=9=FjRv_CGg)BIwmdDljJ z$o^<KB_PIJ^wv(!eTOG~%0?y}STW~V8YYN5Sgrzx=0aJ}MED{ZHF z#ZL2wjaJDhiY5MyqL~ zRj@y{+Gw?GNUHtum5o;0hSaw|w%KUs+mOcgM=4vx>e`Sr`yS8v}X24SsQH#*6yw#mA4@k?2l^pM{WC~p8essKZe>L58EF}HaivU zk6{)&=Ki)A*TB{z5lMQ&r5speaHqX1*A6}Oc=nR(?Cn{zXt(??2$f?oy zLAiGm3r;l89hWZV9R(*^{VywicYMIC*mVQd|jx%|ob8#QiPbTdTSx ze&-K=lF@#1?o7PFQsdmNf&QD*3;wD&>F4xEp#3n&qcgJtYPp<2E_nnYKrE}8@R&7pi zzcFXAC1GPtox=t+i%EST(T$KH-GijC`=WUg+)0JB|$+@j&$GETZ_JG|EaIwG9-StRM)~C zzBw%r%m}Ya{4Qrju)b82V_yk+zQSRMD%sngy%|cB- zuEOGGIIJz&`jBv0Wuypai5W)HJ-F_@t_#$q02VaIc~YQk7S^$H&D$TyY*=#{G+YU) zQmJEMJgn0Y@7e&l=#%4HlRm|3Hn|m(HZ-K+OzHq!dhY^TjLvP!lQ6$(yWt8mn7sKmB;Ets9k4Oe@ z;oUl*YC`CIUf0}REg|9BK$%PY;gxX40%NCkxW$&3dsBLG_Y(+}ozf~}See4i#ND{g z3-qec6o$TJXgx#p-l7gwMQAxg4^~I$oy;O!18>5seZ!a=?a6B&ss&BeFQJEZ$9Jx# z>kE&7|M^R;giu+U|E$j#yB0V7amhV#eP*+eKfHS6e1G_}+$x!H52Kz(1|S$Z#M~a9 zfXji+(3akPPc&rHGrSkmGl>=QHw0luf8NZiG|!*7CA`O9+*Pb*(7@vwre+rB@i`M* zZZ8ehT3`a~OmM585A`kAHP<2G`Q(I9qsaTO;zB^4=mWccy!z%VNI?2@7?2z(m3zQ7 zpY8(@4sG=p57dv*EJtsm%?C_mU@N26jfaDx2N)Nak(589VX53UnZ+~owf~D~2`Lse zg8C#-WA0Hmz76Itav8I!b@@N5HwYp}K-4w}d@z?eI4rb_WZ@dJ;6ofU_Ml6Pjk5Xg~dkQeG4pm`4jX_GE82g6o%HozI_w@jm}8I3t&ykBFp9YL6$U2 z^%cI!4=|I)yf@f$ccZbwDQ{a?+lW;tx!6MP zFCJf$Zy^rODEd_f2N7|M4j)p+QIPXdkkBRG5Yw}`B}?;l8+JaF2IECz886n*qqU3| z)q56CJV9$pm;xMDW5G>mo38DGJ5b=lFEKFknZ=sH5{CX!!k0prV*cqCnL;{gLJUHnFLrF_b`H{Q%-rNNao=B62mpIuJ@tT zrI^fqE~gSO+~;!kB3r+4(0}3SQVGGY7=if!qsHT82`&RyOB8*Z6^b^ycsi_=*6pp8 z5PXpkWb_I;fIKn_boC)LqWBw5c>yTkPrSxS)&5rBK#BlC**Fp8UPb~Z&_zN6Z2t#l zT5dTqj)Cm5TWM-)&vC0crl|)YvV1uQ!I$(r+m6HslsHxe)~pzAREA7Y(s$${*;WY- znS$VY3I36T;D-{NMuc}H$P4tL7bUoN5`s@kaOq?O=S%QS2Iold1q6drxa#Ok^F)#N zS?g$Sx=T&D6tE_k|)2~p&sDcJMtS+hvZfYY|eLvnQR4E53ctY5;Sh|+v zz7cX(Y+J@2b2ItGE!@>EV{f`~3*FEYZfL#}65-vy2c;`mi^=7%stvgfP6JrAclo>3 z!4BT+ge2XYOji_w0HmsFsVpcAbk--UbGcN5#j+_mFsxx~Dia0pa!VQpPz2J{dDtrH zr0rClbCC2eENQ(~@w>Sst6$D_P;08)2nRPupw_htGW#NcskT$u<246x`sa;`O_Xhp`NB4;D>1CE)=8v?|B#6tF0`OkkwXa zgkUd5Uro6`azm0-D)%rKMK90BD6vl+yv?l>5X&L4X8ST$?Jbj8dN|hD;kC5?V&Z2r z0@$fA1_;~+fii|g3)}TEf`~%v)e<}hOQU-rvJz+ul z82X1A0%B@_LlLck`41if#Qu!$y};iewj+ntEYNfP{c+Mo*2{s&@}@%2@!m{b)FS9& zBTky-9hzLbrpyN_{RhIH65bG4o=b!v%47G3F{D_qHkDG*f;>`#t3Dh9dW-Sn)qiJA z&sW$U+ZC7Q_UgKh_NgKV+tQCPf4&crO8L9s&XTb4rzR6zF$WNt;P(B9@#IeC+r=ef z>^BYnAaFqKoL&OcK+QiKmfQrQp-ffPNrLsAlV2M1>x8c4x_AGq(GZcYVXqW&g|POXe$XDz(yP=KB*0e>xIP zy%s;-YEk>2VteE6k$EnmBCuubYlS@VL<5y5*rykFq{Q{)L>j2OZhl;2@ff$^wA&6e zdQ4-(moe;k@JsF&-ok>?1RVCiuo2T1#+BgCN1Rry#UxI&89-B2!LzeI_Vh!Jh`R65 z1E(|S82eUiYras=K(U2>#qj`QrCrW?_-*l_Kq|jo&_?hI+kXt3Vvj~5Pu|IV-3WRB6U~@ zD$aWvOW=bF$;F#TxY2E-FWx-h|5d`fRAUf!YQG2KQ0*8$OVqDbbhVdb#!n2#dm3JS zLm!8&(_iAqsH|^pYYfUzRsR=uAO2xwX8RL2&`AIuY=*J3j2iMTwOM$7&_B+=k$#gi zaQF&&ugMG^2O)pK^78FH|GWsR7TX8w!{13G(m$cE@K07ku{7ixO#G>QGx1m|M_@t3 zh`{)8`o|!P5%W|i#gQl7U)Dj(6wbMwmg41ee_>0N;Y#}_`XHm&9~b=$k!t)_uEF13YsRx)PEnOYa)|YGD`Y6OAh_7oCB0C#!*7WD$X) z5VYJ$ha26?XeZ^e2;Tr=r8FVOb%e=LC)f68=n zlGM-MC4^I&3TK4;db2xUf~jQ5T|Yti-%6-}Ts0C|mruoXH?~UZg(P84o|wZF_`m+Z1Xz zjEBpHLdf68PrUJvj`*;jL_^>;f)dpi8DXT~R2+Y#j~V!&{Kmkyz(IG1hOm0=COgB} z{spH~w*>ru<)4Iq(k;Awo8Y_p)BKawd~>hDl;rzhBedQ(!N|qcdS@0l&xHTBlJ9)8 z-v$QzAe0QynNpz-edf?rJ3bYG${Y&`&*wA=cR;W z!dB%^uC_*1sT^<@@gOe+N8c~wdeW?fq{at5Z z^oCaHDUybwDIb50SUgG{c6O}f9IgoII*1=50J+0V3l^RK79Vz0-=r_uXi#!a=d0nn5dGmKLgkE{an9fvae#Nrhdh=$F_)gKjCo@ zK`KuZrZ8(GZ8&8X$)k!*%{~jQb?9=e9_Dzgejdft1E z(rU={-ejY47;Wa7%b{2fUV>3ceIpAU=!pQ55$0l$(rSU_4oIr5%VuoQo@VdU>Mhh} zD@O6ASO`uLK>`E%ra7iY%z&=vp6{;10|f8|Z>9a?OQfYr)ue3ukdxAV_L%eOGfcUI zg6ihFoGBM0N^45p_!k)e2;*Pl50$0C=kOyb^(b>c@(W(>l)(&^YCBH7gY^-sHum@G zE1YsY2s$`-LlA<0Be_}xoKU7ADxoCJ0gcuxd@swBXJLqAf>SlWpJQ_-zS@>QhL zw7B)$y@}$ zf}L2xm^wweQAlU@x5Rh#8TUE(cGtavT$0^ZF1sbY!Ah}561s;PLb9{yQ>tbLa%5)d z1bUf8zlRQ*p@=Od(zX8!r{u4bRA+}2&%?1l=m~Fs?a-UlX>6S7&?xA2+SiygfcFco z=Qw35_eG2gc)#ET7Cq{BXH91G3ATT!H$l(rH|Y9S4+H%)#Wav2?<8hw=Nmom7Yvl9N#Fbb#fT+&xK4K!fI0%z{0>CAm)y6>8Gg*cRY4AqQJ z;N-2uIcU$o#ALi4P_y&#wWae~@+2B3x|F)KUYvpQQsLgRXF^^It_y&r!)j>{cmZ|t z?^!$^FS8uVt&4+bfetv%(dn>1&|=H%9h)>IpA;^mn_vWq?B#8f6L1LyRTtT~beCt$S`IVNjA!NmOYjlaU7>f-J-REb++ zX7_a72M=c+{D1KZ1OE^@;`_Hh5I-DN1m$#UW3XWZa$?wia?Qx709i15BiiE5OI ze3$lxe`?Pk|Lh-~lbs}Nox_bK*%gEB%%uk?D_a^wRG`nCah$ zNpIfo^%wo+Nw)n=K|>?im&yn`knW}R(@wb~*l$1o0rl9Oq2EwGSzjUC4XlJ(nPotG ze8?y?1WW(}d*U6rIQf+g^PRsN;57uwiUp;=C7nB(MlBf^rKbxt+Bh?E5@fl)?!hgi zQ(Gk)bZJ*07IBjK&xmt|FL*8shb~g>`v@4ZsVu-d5VBAWb)g$8W9m8R^vod#v{ZS( zytOO!J-Ys-k4>3~{`KT4_*E^ocg2QWbJ<}aaw<%axtT!11XW(9tLvR)Pq2rF%H)kpa2(u{ncLPAGb&%(7 z`@L7S}rQGT!)1{TX!Z zsp|1sC1K0ee#JJt5~JS}kX7Os%;eI9sicj41up{3Wp66J19gS#XvL$G^$|hHU$R5) zrG*+8etQ--<|HvfZz{qmKdj@xu#U@Jf1nIhoVcKd3nwFS;bd>_R-*p-J;dNEe=#21 zu)Mu3L^?}6jYh6ffYC-mbsSv+i(_|Tc|72u28gl>*sL|0j<0LMK^?ciOR*uAtfb+` zipsD=mG(p49>w}h#2So+Q&P!$vqSz>`^sb_9>z|}==X4*FJ%MxG`|r4hlLVC+zQVHXOS<0|;uVA7Ry1Ny{YY*N(HUaZd!?{xwrSg>m1Ur~ zfeD_I?_t=PjfeI_mnSogBRYgj~iHAK(KCbRR9HZ? z$Ihkkw6pJAATriY20Ak|7dm~*m)Hlxs)YVFA4OT!BUlVMDl^`@Z2S3Ci?V3Upn?Ck zD_5J)+VkFzKE^t>nu58yDapPJa(D%}2WUxm;Z|*%hReWr58=(#MF!rp{jt2p5hZ=e zA~pcXqV~TPnX}tpUJ$pn`0=of{@=WB%6Y-h zO&VT_f}&uJ)~BCJ#8sBSEVRn!sw3`1pn{A(-RyNMkh_S-OiMng1^?XUW+*$Pmm{cf z{XG%O-LN{0dz|7Q)b8oakQn5`DeoY_ZZfqC_^u4T$&WRDK?{Bs|CZqQ3w19tfSelt zy7By5W-_~~e|mp4QjQZ^a(pS;A9-H9eWhvNEeKEw9={qD z*8&SNZ$7_(-DVHO7Jtob7H;$$@SQ2`VM&YgKcw|Ccj{Z@8M9ll&tI_W6x3|x?FUJ5 zc%ij_m7m0b9eH>m<62m~$P32uT8Q2X{4CSA#ta2+Q->j#LDpEHWSr z&{qz7awBecrhL=}=Dt(Z$8sPxed-{N)Q~i^4;e_WIJuQggE8Xm6_Je)+{Jrln3@4q zUpZLwh~>O%`<*w!KOe*(#tk@9$m;nyC&kS=g{*`MU-VLBGX-thhN_TDGhS6h$cxm+8>ktlKDP5LPU-`?1&lT)!U>F306q^9yutZkG%1c7q&IGXpKs1r?HqJt-vb z>)-+uBve-e8%6{FA7|$QpLLP^f2x3h4=T|picyFJMGXoH0s@MfXh7^>K|B?#h?<}t zQk0-#jB@s~*R!7O?0PB(B6dA{#j~*wkARh+D9``>ncZ)BlHlF%@9SmwK3isIXJ=<; zXJ=<0P^RV&g|m+_$iCcfr-w0%fV@XJvW%t`M)KZZn;Sw}x(i*^g`l`E;z@Ax>T(lN znyd*%>W60_0*tz@IxjDzTl8}HtoZ{pw`ar2Sxj*@p;Hs>pH!l7nXC4N%T;)c3U3fl z*2K74rGhDBUp4+SNV}z|Q;o2k6oD&Ef$Jb}+M*k#fUEG}%>MKnFE5#K&0Xig(S>}` z)+zxe<1hwfFH~dGq`RG^KWFIABwrZ)h4pR!Xno5d0&IPAqtf|(qx=>0$>(pM&X3o} zH=_LX`grZrh70-+A6g&B4grB>do@`fE9P+X0yXOZyF1cQ*|0cV8R_5dGzPt{XHUsX zJMu(6EOF}-2wv{P2%#13Sm?mN2sA7)J79@HVdpHZLJE7$%S~5IowEtZU`(&M_1!qo z(IO^WK=vsRu5YspvbCsa=_=|v^{l8LJg>rTgoOJbXI8j>LoB-E?}N-9OrJIZNYnMc zqV7~oO3SLtt0W)lOLrx}R5D+&U#t@Tw|^Dz=lx`MZT@^dm;k*aP` zGiN6o4NxfZ)O%Pje5vlinHSSskp9)1ibd}whkxl$^cdI)DiZxP*}<$FalOpt$$MC} zX!6N>SUX!M8r+&)!+fTttqe@TdszFKpKybFpJMJL)HHkFV{|w>wf*U4F*@F;^2rks zt&{ie7Lg`Ko(q`&KHmFGYHqwAfq9Kz|A+A&6XTG&yyVAw2w7_%@1yYjZ9Lu`4f!SR z?Sar>Vu5xR=`$#*vxc^-hGiPueVF6$(_pSNxE6+U2qurg>G{W@%^cnjSZLYbo8@t_ zJ6n)D13B{IxW>vYcH_y2^-CuDVK&j%SpE7T?`_S!u=QLw3`9!NL>tJ%Rf{U?r@zTP zunVeMuF8MzI$=M^ElzmUT_=Om>#;r5-Kzr6M$-fB6b?%1#{$cIm|z$W#c*r-p5*?& z27vY<&FN{tq0= zRNu``hFenWxl9e3p0%HgU)HYw(u^S!I3!=%gA|i!ENvU}9ocu&`tH!5L;utAdg-GE ziu)gY2=%*nfiOdcHl^Z~vVI))js`c>7SYd|w|D&T2>mvD zhvQ2fe{g3yK4Mr}B+iZOr)Wa!LU8xni(uO+vchezB_p*3xDiN+nQ^YcZE$0N8`-Z@ z@)D8eS>TmO1t<3P^>+1fAQ6)2bnsWTn`guEY zw5~fLLc50T)U2r$?aZW9;TAG!s_LGe3Hs{zRPEiH+OhDS zZh9AU4n}WO_n(h1RNX;VZPV323H|0uiJRQ|9TCdzO zB+-PCVPkdx+3kSr7NRSm_GKTUPg4Ktw_822Pyx;z7paAPY0jReNjR=MNn-qOb}}%b z3r^k)+1L2vCV2Q!#*HZT*+-NyGGx^Aobff-mUa1ZkFv~6S(&2Jx~Q5xU!}M3rBfVL z{Q(pUS8FZ=s?{%?x9qGP7Zvy{Bo@>7Lt*AfAwC+o3fa?Uj@BVBk=jU^j ze`=J^2-Mhe_4|%Lc+Tzlknj1oB)FN>4)QNO->@>GqhK5C;*Q%*-NNTG?2*2HP>g>P zyT)bJyTD8(l3DQGvey#Iq&3s zCEKsvXga0YtMov%>JG>kjWJ}7881HDy;8~W$${;jbaIg5oJHZx1_qG z6-NF808rzxe;BB#$ET-MZ_W1l{SuLs>K^ebUL-$* zeE0Ub{aDW`Rll(N#cJHTzaC$?Bi-akO=Lk@eZMrQ#`Ylp-uR^`<&nR7GL$b-BMhYs z^5t%T(5&aV@1u~ad>rp4i2Fs78z?K199Iq-{vyTbC;lYOrR?W&Y5s5a!RfRFm;Hf# zun!Fu4qKuABYGw8IcdFWY#&_uccGkj5AOiBdlg{I{wtY3y6+Ckc3!-G=7P4Gi}juR zZJu7B3a_c5$+dUgbo|aUW@_TO=Z#(SMN?=KEwetSq$A$X&z#JE@L5CgYbtCKhE#T0X*}Q-&n9FnpbA`Ldps)`;8YsR))9KKQsJJ84 zpM1;eO{*|SSLWYvI_IWNE*tB=rg~nhYMlQ7Aa{x0O{=UM$AubsuUE`kjXiI3qlbL9 zUUAzP4E!r?c+P>a(eRWQCa3}L-GTuD9OT zn_^h(CoKLUp%MmkRD^5W6t2Bhs-98-*S!jG9Z-nt^?lUl6!|c$mzmv-%*wiT#I`+X zH`~!ywWa8be*$)AYkZ0&yrqQF6gJP3z>wsN&b&wT_0QW~XO4O#{>c)jz!D|1iE#5nNAxe(OfS*@&lR-&`A?#7$>2R=y2JMlwx z|0?E&c%i#*T=HeQuFek%ziTS$6up2GLY@+|v?aNtD`!2cHd<646dK4E-G4V6x2HRF zu||8k*<9^N_Pu99PwOc_PT~vrOq6qm&wln3A3dt+q*skT2>f2!RTBsmG`B$DN5D zn6%O&Ri;*DbOhiIjLLvOvAg(F>#QLlZ{uul{sa(6x_{p3n=f(mmDx!EHi!TiZ(m1= z2$3yR#xVoja?~<|VvY1lH6o|v>;jc}S*qI$`t!X0JRMajl&5|_Kau@B_bJW3wM6T` zXU$CQH&C|H^MAf511@k*zG$6*c6;|~8KB1lx@yj`Tsrh4fbjk5Z+_uE0+W%yfH!EZ z?c)z;R!Hu{QFG{V_BQ zv%9)eWxe&&J%*vjI<{Th&X2ul=K|Vs=kX`$ov4?Z|Ewaiha3m}R=6#!{jWv8r2UWX z0Cg6tiaLS}c|+)@b~$q##o$N7R!nn^jG<@9SyHj z#G>2Gea*TohN$ZOI}G9V6WN4p)OO=N`HS$BYgLbA z-Ps)kBG{AS@hQ-k*Wd+Ma32m?^3<*39;R7Oy0H zLs`*eIUD{Qf{!iGPq}VEf8D3P&7g`rex-VPbF{f1l}gv_`jVE|lY0)6-uRLD?DR)H zpB426A;LK5#r5=-b_0_AbV|9B=)?0dN7!H(ymE~y<)(}$!_+Nv2Pb!B&KUXf@s=f!Lf zj%vg8k79MTEd1!k(S8mWBD>47o}Ke2+v?pszS%Qj8_s3rEIWK z0|uqr%T}?CNv%q~?(S+);tO}>=iMX{qeGm{$4DOF)+D+Cw#F8*(ZRAsc=rVSq`r%0 ztT~%Bi%*-i;B)cjdI~#l{^E8s8pTf0l?YO}n)xV200}!9&qp z`SotX-br9k8nx23hQN6GJ&WH$q$B%ZZ+lzX+sq`&oIs}c9X`n% zo>ywn$6L+3t0WU`(6kgP!D*tQm)--b28x1L>;?%hM91Y<%`|1 zfXEGS>!9tinh00FKF0Q!VH)@Dlxn=5oCti4%8uQUi3=O+HwnG`da?r%v1G;Ic$o-c z8d3C<_xF$WlgK`K&;zzIDn6aelf0n}0Uin`aaF^naBoJ>rF=|K>jSO}dGd*IM^6 zkbbK#U2LeTJH^)46T=dH78=nq-375b*|c>!ZCPBz+!kqlI*Mn>#Cx&W*6Xrx2KLt9 z0}9{-=3gmZ-4gc-du7eYw{r`^l07xC{EjnhqyiVL*?U{E1THk*l^@whnf?_hs)AHh zrj)-ib>ozcNJ;ol{=e*?iO2Dw)EWGL)3jLn*N7IM^JOPSZYX-1fO&rr)rT4^+u+`$ z{yn}v!*#Rj_tZ+1M>mR*nM1O;P!N{AZ_33KZ7$&4!ShD;{#kbI0(-3V$zt~fD+n{o z?=Mg;&MI$FvvCC~5c3VqWhZME=hk00)ow${b<;4OcT>6wY!DUrkOJ-$X=}%)(fZ*U zXf)U2mC!%K?$Xyo{|e^HOB5u+QL$^GJLLV{Rsl-5&t&@ZQIplXODSOVDVQ#EeErex z^EYKKo;Jqyde=V2yU*UUk8)S4g-np9ud{e_1b3w+0l3eEF@o8O7#;B6CNvgT$@FHKH!=dpOfn zg0PN#f0YT|e38=!3z*L5ZL5(|0i*MliN#2AH;Q3`4#B_J`(EDTYa>ceLX`UB#}q$D z@jgbY{u%~8)Yn;2bBBnB1FkvZa}DWiEjLrgw5aaIp~DzA4_fCoYqU6T7IkVv!GXrF zaO9agl~Rd3u=9Y?8uUrv6V@Z)a}YzBFZ%FG(WSxNvN2=Pe@jzZV*ZQQvtrfX4d=^( z^^EG*Qk`YiylZs7PoNGFsHG+R`I4#RFU4k z2=;G2)SBCi_ZzQgZZnkxcZnkAMJ)ivJ(Aa>dcFVtz#ex0CJ(5$2ekoOftzgkSKFnT~vK zaCz2;k#p8)J}z;$7BO5qqr17j{Ap%B2Kkezy+SlK8MGpD;;WqVS+3a5`%>O{3(IYN zJRTb$+m>}&R&U_``SnVIj-=MpNJA&4v)_1hV=kvO^h~tzxNUs`Un`#I1kBD~RbMTX zkNR7XVH;fzJ!+efP+lW$X$|)QQBqOTrkAy--U4G~nL2;jA}G4P8-W@Y`Io$L8O> z<`nwZM5;ySO=zULUt6xZrt?g@Un`OLr>>B0<>qO2Z+xD{9KodH{RK0%Hy9aN(-ZT6 zMak8T;aHwyALwEBf%x8OHT3k`K!S+4t4ttU<6$JB=$;zBbb_*sl5-f?AdoEI_tB05?#5ZfPNUDN-)oK$-g~v;5V7tnUsa% zC}c8c4#u3hu&S=lJdOVPbV{RwA#-mX#a6#A^|!=Ek*js+9{K8RD!f7Kcr@}C+CyKi zC9gt}aSNUlMJ&AU3+Uf(u>Vj=f24F~o=lmD-p-zEpChm|r)`|6=Up(fuR*slC36Ib181*H?Xa0A}`21BOM}jq1W+ej!EYQ~pH$f$}#D z!Od>CMKos>J%~Etz`A-P@xd%p9ipIF{mJ(3hmq4|4>bbc9UxC3vt`Qz6B6o=L^B3!c#;l@^6 z>}mG+dPXxy<#pPH!vx{ne|b{C%UX8qc}BC|VhC$4H2yL7y? zx=V8FNOO6Be4Xk}!3(ga9QtNzi#VC=`!N@{#to;a78b28#kq~;pR|CfwZt7O)qdcQ znc6JpR~0ACA2X`HXBkJ)m31T9rlSn;e8;N_6jV}){TeAlh-8_$B~H4S{!n+ycfz6e zMw2IYAB;G)`B#XiBcV@O!bvGcKLQGW5UkBsW`XomZLmw+hYw*#n=Cn_Sji_bsu(XS zV&la&K(;COpNk-5Fl%fU_VB+yqH3E@8D_pxd3Nx5{t)Il1a$V1r--j9XR*eS4l^Kg5auPjU`43mmi#mdtZSwsm$yz=t}k*WUcS9e>dVPu3xd|jzfrSDc^--+|)<`g~ipA&h5m1-3i@h+B7ukZZcs`QkA)ULJ{F~43_u771=U(m`O zz>gBUVav*N*@YrY&47w0D5d{qRt{WPjs0%gFkTC&VEuq7!5^@~d}&{GmvHt1Vv4V_ zGBaCln}tJ7fB+41O^JJ?D{CFm00_KXxe~2n1bo%SP5KBuW}tokqZov^b{t;yVAIdk z@Nq^Kb!cXM4_wE_H<=e3To=aor3;$Qi?5kejPJN1Ynd0-JB2whm=fvnjpxTd@cU{s zKcHS24ksO$s*t9z=lRmzL8D@h8NuAvCt_^>PUHy*MI`7*t$x}7clLA4_s3G1t4`3y z*$3GDmSxn3Xg=K3uH}M2Pp%l8?n!oIhBM^+xiH5#LUp9V-G4s2wLy|_9?B>y8}WN? z7|~t=hWVoNR5pcHzGyNjIU>Rn*E`tu#*qSG6w_gDg9k;1B~Fj@Wb5NLrd7CW*euf1 z(QXAsUWpM2NQH9FPKb&DGc_IB#b8U^)6~iCMmcxb`danqNr3RyJLL3K&ajXp^y_J` z7Y(v$8||i>RT+n^7t7pMYVhZXPJVX*H_Bfj`zFcmS1CI`>(6)mQA^Sfb-%hQ`1{_3 zGQt&t+)`tA#Z1pCwwin1$|Ji~DLW*zAwg0!c(&BJlzhVI8R?O_zXC3JEyyHR>^_U0 zj#%M*yzAd(&rP4#7gK|ESSz6WvxJ^}A{6v`kp@II${B4zc0=i9>*-Gi{b|FW1l?x*UDNmDST##G z9f*X8`^Wy%%m1rHT9!}Umty&}_<3u&A6F*q&^rn`XD{1h&c%%Uw&|gvJH@wgvH5g1OQS_uU9KN z`*cVCJjR~{SYv%2`w>@&2qC8Ms;8ZZ4IAaaVhYFW?=$_^vi|OLc_0867^I)RMx>$C zMdx>B7+OeRR-^Q3R95kN36;Vr%m|&Doq-)-Wi@vk^s9b66dzJSn~}XRUhn5$7TVL} zWv0=6C6AaWSjw@!Jz0$#wYMooJ=@MB4v_zpE8s`P*B>djViE3j)OCeV&Za?kNI<*S zuxRB*xue#FwukX20sQ53tr6zmV)5<_-gJYjlb)C>tmcSZ|9wiDb| z{E6-5vHyq;yEki9vsJiGKf+9FNdA)qEd*V@=`Ucnw~itT4>>k&(Tu`&>u*0I*)6U; zJ2Q(ev)^4d9rHyS38+!hgreLiN?RG)O@i8gJYJg9Vs{%{o!igt*};ra%$xIel17A2 zMjYLv!CjL7-b_`}eIB0XXXc-M8bvw(B@NQR8;jlU(zThnhmr4=x7YUhf10oB(r&`? z(RxrjH?U8#9;D{$*1p}qJ*kBt`$=kMwooa_%aKIjGkMdw>3sb79P5HWxtq)aw!~e% zhAwPN7u?qTNswzYAI&77U|;N}-`6~;@BEK%Q(Ff)eRGb@S(46)Y=4V9&D5TU(o|JH zkxjvC?!<#TNC?<{1-8-+ZqB9XWoNTG7uF8v6;|JZWQ6#**S@ zrVlpp3z=J0*FzKiQL~P6AlU~1+9K+}Mn|3MW9{pbqjkru(lUb4a*5ju)N*eKQ7|Y= zHoUJFB#Wx!!8KCI4zyLCX@5#@r ze)LaRnWKFObUFFY<{Xc`J-o*Cz^j2QhmZqV%8e}FOG*4AvTU7NPXm3f4DJs_oq*JY zKKC2M6n(a?7k$#Wy>qtVR-&OVj?j9J#DG@yxIaXxM&H+Rte5#R&9v6$R zcJ0OB@^&Hfu>s8qPH0x#xcQUeUvL%~e}%rqie7#5bx}Af}K=#8ZV|2%u*&Gl%_5CsNxcSqxT(fCWh+dr!NK&ZRaeTIe;wRuA0x`pez$!p*CsZo8?Hk$aGmZ)2@0OpH| z^a))*U4`U6%{LbOHNt(k3dw~v`*lEJ{x@J0(>_cvFvJ~o0k$HOag&wJTu@U8%!5F9K7-)srgSNJnw?yR95YC5pXYM(uC z5gc>FFZsgt#`Fn`Cot<QW-t>7HSDYElchT#CX*$~b{e|?ij4#AbFWrc z4yTD~C&nEH@Z1t#N-ln6ug)^x{fQG!R5P;5gu?YD0}A{6F|s`wvnvb^bwQLzBO<`1mtf zoy{tgWMSZgUTJ=f;vd*eLMFz=YR7i41@R=)@eeLAdDkeONr zS%gjFzY3W<7?KzIu4$kT{hXTUg*0a$^)6!vS_XjfuUf&90eZwe##pH-#6^*=!%_Q&!5 z|9)8s{y4bPNKU8JzkF$@7^RqCcDj!g{Qh(!u{&V_12Dwxi;_ncgP9&r$*<)8>~e}0 z_`3k+9>9oNr~d@C)&WR@Y(alHuN`0!rqAIZ8rAXVr!ydD>&5F(|?Eb+E`O`m-C2gkmXlAa^ zE5>e~JxD)@sT9xlBkfSOBzL45FEPv2+|!`UpmTbbSNBY{Cl8tx?vdKU<`mygTSyb? zk=bcK03-xi{~EO~zrmB{K?jks<%<=)U(p4}*nT8?8}E0YImTV~qp_3DV>z{UZ~wsX zO#DsD>MIBOJHP5hEST#i^Z!KrXEs;Aj-`7A>}&d8Szr}bzJ zcRdgEio&>g=x$&zt7iWqAB_Fv#P`#NgYrY79M>_caSV1oZ+>`@C z{0mx-1jFe77G}GWmW)7jp9@U>a$X@O!>JHe?jI`u{$09q!F(Id>Zoh`txwz9B5_$* zlO=8tP)%C?Fv-tbJ?v<1_AG=p+?!YlX!oW{;1ek8Ui2O=bEyCE%-v|d;zP+=y2O2T zu7UOOAml4p7_V}+2W74`2jC;YrfgaD_9MLuH+GZ$T@B_iwie!hxfW&zu7?-J2bbx8fj3M0Sq@{gx@X3?9I*=OJc3L9NM zB12riqcZLz!}Uc?jB=kLH!UB-etIH2%ldqu)@QqqnL>4rS~65;_%`u>vo;#sZXo3T zjS3WjKhlFw_(AfQ{rW^3nH9GN_yy~~fGQ;4U+`ds5c#6w0R8jjK(Cg9bt-@Se%btg zY;H4UIo6*kGBeg+ooxOVHuc(Ht;ERH;$?D7Rb_@fYu}6A`9O{o?t4fJJ6`vhN5M@{ z%fF(|%uVz)d9PZVPtFK!P8KvwKM{{{S{Fa+(q=31Si%q0W)F|}p$UJLdcX5s8bEmmT5ajKw&YFsWG)36X)zke5~tuyJMlOn+pEKTRX=l74lM<>>4D0J;{BLHaXzsi+(@85xs4Hp^+Bv<gAkGI|KHBu0C{ z_-`{6atR^?XBw9*% zzDG*5B)!ac3SL@19(8>)^6^?hQ|P0k-(}=>c0WqvTJ9B}aGwVIbBUPt(l&aJ*Y>k1 zbjEsg@_QSo`?s+jHPa z(Xe0Y9BSr^zB#Tj1>PaWFCV!+{2R+ln=jx$KrJqQJjkc?`f#m>#r;1%g#OqipuY@7 zEmNaq7B)Y2;FqaAKsFUN5jYuf z!TJgGI{h~@T(ve|>Wcabc1~5=XFUJAb}GfPWo_lpW4Wv_x4^%8yf-IXv^#B1DhIZ! zA!@UKxaJ3}Aa*2m_p#{ZTp*vR*0|L(PFz zF(GY3`S=dZc7W0ym`v@4Avr69%y7M9lc~+iz5+G1z->tPvYV+bQ8e<-HMj4wc%~eg zFTM8|Sf{`rZGNsQL@deeFB0R+$K_G31I}n4y;KJLWA=(&!jqwbz}1_JvmRxoz&reL z)3X3!gdRpy!8^Qdfp>W0^#=d&@#4JaxL6(R9Z?_bemX3p`|02P3DjjTbdP-ni|#{X zUSH$A;l}HYbo9x^w%)7~f?r{!=3l?w;NZNL^`@RC3f9ADy|KO41GflBbpJ^>EJT-D z3%`R>uZsA2#;U&mY4SYdnd9Mtx__s*AS@f`M$yI~dtGm>9e%I3Lk$vRY%_&+X18ch z8y%=MLX)+Pif*rp;XPv#HJ>AU%#3n0M>h(7fhueF2bgxWaZ3sz8H#c}^=AwI%r*TJ ze+G=Cc_)5sGq{+ooCDs?3#Ba5EiAO{#e(O);BL`}`2@<YRK^eg!`}sgcqAN2C0)zZ?qINx zwfUl_j{^1<`d#1_fEm)iWHv{xY)f*x#J_So#-GS<~6vPN#l@Tl|~WAMPueH`4c?!xFQlwaw&DkjKgR zjmBabS#)+j-T0LF7vmUiR!rO`Y)jt9wwm?*XLr^1YXs^l_AwO96|S{a3HC8lknxxB zUL5F^cL2viiQ>R)i`zSQq!zbm^5sjXsa()YllOpZ$@`N~p;Oz?4Q2vNm@gWo;>^B7 zuw~_TwN!i{29O%<*Q8%tJR%fq?&HC47LO=}+Pc_~YkK z^4{3`r=_~U`aJJQQwa>&NBI_nX+TKN!1Vq@VYa0QJvpV7b>bGyo79=XX@XHVb+iV5 zBoE@*0Bnl^gard9^7{TQHuV0~2;3F!49w*GYX*@8W)S%*eVMbTAq2^~@qrF>JWB6m zw;K$CsyE(;);u2l|A-TV16Wm1AGxWlhzRwh=Q?^QZdik1GrC3fSO~*?V0eTxrGKO2L_>Qd{>#lV0vvW5bXy`sHxnmwBHu@CQpd8_l04 z^Tp&{q*`g+k??1>RyKUf4sw9EBj@%JwyE_O>?-T`S`^lO#Oi2~ZNfuXD{ZA!gshQs zzGfNUp(6jhnVA=wngvZP1Ty(JO7FF(=25n$Z;GksOw!0B)`o$24#_zQn=7|5?@wK6 z`}vc!K6OQ;Pfh<2)57_UB$cPN`(g+RNNWv^A$AN6^LF2!-`HS;xBF=HmBUQwn1Li} z%a!I34kuo8Y=6uCalEGKesFlap8x3+D7*6OKbRj+(4_vGsg=FHqIKoKS8I3?rod28 z)%SB2h)B=deNjby+m~L}($ML`ik9>8C;_(JOf9I{vEPf$nk4^8bD{b5yLVN+U%xMb zLlHc=tk(za(nL@ITAu>5cHodPQ#)4DKT_Ni*>=lVn=iRu&@{DQu=6Lsp0jOjyq=#- zC2>f{iz&Cb_!&6SwivniRDal(n}YGkhM26_fSx4d$w+4Hr&cwfu> zA$~c1@q<|2MfN3~%yEu1*WzQcUp{jHnuc3*mx0!PIc-Z?+xr4H-R{p0M z`V41((WJc+wKx4IIRG{M5ABtRB>Pc3ZtsWpY4801xjpOOde{G-`nTAYAKuFnGo7dQ zHfr2n!F-jDT*c+&iaGYGuHCiIl@+cRaysVyB)hGLxIN-vgb3&5xSrtFTE%lLSdsMt zqdzgX1>vmY;oP^PAqi@fOuya;xd|Yudgm&6261G|x0`V{oX3C1~F&}vM-hu@<= zd!c+4@N>F998~XJIcH@BdL$16%Fbv#!j^i-x}4#zZ~CcRd2yT3`+%Fyn)+R<>Sb7C z&>)w%c@sr!nOJilHbOo^ecVByKJe$74MgBAK?r`7HS@LV<;?h2)!%EC8Oub-EpgXL z^-B5IYrU=#w?Ch`P;oda=e!2_b@s@)Frm^;ZC~9d^H|#h@r-$bbqbY?4S^4CBa6#z z2S|D^z=NIR&6h`D27qf%PF`>lE^W2KMq1n4;{fK%aL#my3LZ|`q z?U=QS%VAd;C03hVsJ<(^wwEh1d-HzKFKvfE%O7 zqHV>Ks}QjKH-j2y9;XxGO)Bd4ZEsov_N5Y0xBLmhg|x`E;uMl!Wp??hqMpoWmF^x| z_s9G!tPd@#yLlVSoIN1jPOt{2>f`43W&isQG%$h?qO90`$4{5zPpW^>c`5r2Ghz1u za=bR9w0B}yJ+r0aUuqN)AJ4y?_IELT&tCaGqP}AF%wM`@9(&97rJ3Ddp83lLnG1Hq zc9ePSrHcBZGyi4s`=W}LZ{`0}RkxGIlb0CIy@e7iU)bNyfN8ab;eOj195Vl|4DKH) zrqok)HVtxLvlbV-Ph@gORhE#p(7`NYa2)H*0bps1n_dRJo3Rk@k0dwS185;Y-VpuX z(3&+5=Z^p>=~p_Kp0u&dm0Wz@dxX92N2}{7voR?tQ4Ens0AU zz5UC2Vkgd-+CBy+wv7MK)}PmSd-$v1I11AbD+Q7F~VyCnj z>H8*Tq|5~!MBw_)pFE#dW&Fd;si%oEvqkvSS;OSFlCy@)?3E&zKW}JwjpL1PLU&*e zq`R2I+mFN_hiEX&fBALy(IpXo_!x+Xp{HcaK|IiSAN?-j_spqXTU8UZVNetAwIy#h zqsW~O5)it?2t76#qhHaBvv-LwxTg^g!oLMC7S^q_+9$2$J&;L=OFU`Vn3hg#BkRCS zrW)=bKHkAQXF=<59;ko^uh)E?ot_|lC5_}J`H7k4oquvQ$UVWIm<1FOG&&HbbMf&1 z*jjDI{sG6*o-HPNe}eWJ`5P3CGGWQgPqmgWT{F@qfSovdA9T|%kM?u(HP`(@Py2%V z4lnsi<(i^NG^N|5%geAEqAA^`Qku8d@*z5hDRA9tdR`?bFCQ*xs)uGy&k3}H8$mlb zf>!0B5!}M&_eh{&8Th7ExSQ}EByF;qzbdxm0xrKVVgFD zZAcR=+r6tsmG~Z6>7Fa2*FqkzGBTDh(aO|RFIHqbQOeA|O1rEAAn2jG$+y^@wu4qm zuFX}vuBFZ2WIaNO;WEk1>)>%QkvZj_L$|VOI;P6Z-UOb=jsp zo8&gOcMn5nxc{NLibZNE_5F8inHneA%GLc!s%Ag7bt+tYov3Qs4QCgmlSeE08YN4g z$=;;uI;L6tZtP?czye7pd170GQ{M_ZbTV3$+U^k+^T(yY$l91V`0hu2*z$- zis+?!21|9{?n}l;%Gfbo_ZiidAM2MI4ps^Gkv_s8yv}#_j?jNb1^-W#SFaC@5L4y7 z&>pCRP+9DD0u7Qn`}E7e+)se_i2xVU`}Iuir7Srk ziTOSniR*Ty(`w^uw+R)}`vWfH5i8dH@@WUwrmEKV*46;`^4%S^Dzlp8s}G6HoZP*M z&77O8$%weMP|w?&&E7dHZEtRB@9b9*rt7wRglk}WXvh|SH{}QMSK^+%jtVuk*sR!_ zPv5qio`eEIA&jzRN?Pc~Zqs$$A z3&m3ks>AQX&-_U%{OLmzU1iXsW^|Q>3vke2Fk`LwVA?i8H<*T4U9pva?BCPmInIDp z6nbhC6`2*D*VOTvM8!{KtTPflujnYDL?f&bUACvk`_UJJ4H~k4NLnPEZlJXKbtU<( z_gmj5?>S=J2L-HXX#WlFQI)G7GHUf75Ir>lV5I@rA}XF5fNg0h5qGKm?P$&u>RQ*2 z{%zK;TR+KBeGB#_`Ilz>(j#-hlTx7Siv~ZI+LoxZ+3Uy<9Yyub?922k*!mVML?wNb z1y@?%%&9$FRpWhk3>P8NL9cJ3P%8FZ9Q3-^{2w_dA1b<@yfG4g^MYo!O*M0*nmIwu zfJNWuD+jg9oO>Hf4#!N~%_HLSX0{Dk;@&CpWwLLP%S>VqbqsqbqP*!nZqwV%M*FH; zY8R4t&q%8eS_g)}+5gZg)>kz(#82GFe&r5+sc*BUmb5xu?^cz$2c-f<_k-123ldP@ z|C(Pi@p=)TcWrp6M!w*@%TH1vmoIu`4;Y81y5P`E?Lf5!F`oOJrA#p>P+*aF%QCe) zA!aE?OE2m~XM0*Iln0T&>+Ng-8tJpyl?<|V=;}@A-aEF=^1f?kb_<|p7x)FZz55X9 ztTu$fcG$kNmqa~L5#J1#7(n6pln-hhj~B>fHVBI6r2DCV*DwYf^oi7_Z0>8_0k~w-AF-_f;+;4G$#MxP&#xsC|mbF@@EE?vpp8{?4{)3hNMGJ z4Q0NlJ#~lAe9oVGR#(_v<>g$W6dhZ%fkIkzl+R{?0xQw#HM_1RT6--YdlG z(V@mu?Bc%S`X>Ea@JVByx{M;^WRHz(Am@^xwOsQ`AeglIv!Z@?!sWRZ1jm>5EHbRbLdv_xhIp)%U;Z zC#_rZE~F%XvzTh5fx+To%g2@T+Rw|(9;J-1hRl2(Qe6x!n~IL($Z8@wzI(=2b-Qz& zncXG@X=jS(_G}8Kdvjp!E&%gSBdc=?+{C{LzY;g1Eu3;L zDcPIoK=xYx1Wn=P5^YmaK3~+8BDr>IR$ieR{#K-9?Mi1TIn+yyrGqKCQ>dP)Jy-&Yr66DQ z78%*S`01gv&uVw4Z%}#k06yzxl)3wQ(33}#jO)qBt{44Y;(jB7o7(>$8?q)YYoy-KUZds!Bp7$Th7Xm+X->7YM7tOz1}QxzE(716#-@0Iz! zt{FsLJC9u&{x_r>kv`=kcZM74)xqp1zW3R8!oS!UB0^_sbuZn6y;ESn@OfFiJ_dH# zo5R1?_~lRD+D zO^+Z#PD0(!4vE`fzoi7(PTkp|4Ym9TsX!=p_bR)yFRzh2yc2Ey4!PVuF-l!r+cBgr zQEES*s-kapw+@eXk8jCG{fzN$JyNprYZ1a~W~87$pnAW(z;JgbT{REcKcGF0n%PU0 z{|Wg~H#4>8kmR}U@LlPunEU`f#15N2;|mJ>B-HHeXjQ)CZI% zIZJ=e;Ex&-%ryf&%!N-|n(fh+l9njk?9Vc_FQCY1zl)J!iCg#VXusRrL$X?rP|N#c zrTved{kUL1=X*4VqI?Z-GfU{a6fU=T0f>FXAEOUUdz^tA0U_1?66BKBPLXc)B!OJQ zee-*K`9l3s_KoDc`gJW+-ajV2{sBB*|9C?!tbbRSx|A=<4hR(goDWg_uBX6muu$A3 zYBD}h!hemJkA|Q3X*irF<-`4rTbIHG`xOP};qViCxBK}8sR+r2yhcqCFkTlS((es- zUhWm-xIMI@?=%Xv`)b_@{_oh&&EA`G8t)0f@JQ_+yf?i4MS^1f->Fw8+%7_9>Ub@T zCKTlZjP~d4^Xd1tKAUD(=)Qbn`Mq1!C1G#&aE=!o+@$Sb_xi7?QQyD+vcd(nnMMCk z)D}C`Z`VF5oR*GzSSt;#{Un?&>QbI)<-?>3{U^g^d;WEvNjvs?~lW!f0@Uhi}{1S zA+bm4JkL%!J7g|+8F^O$JJxr8{?4?L?$5Jw1b~~`W#u02(e$fTvcP_wJzI@RTb-;A zY!A{?G{)?h&%jrYU@!IC9h8&GJ`8<*0_r;Y;8B5J-&FwxfaX4q98-2fPSGh8v(x%R z^Bwr96Cn%^{wA$mmkn`Qws>6nj1Q+0KjU-HKePc;+#{Zuwc2KZ*y&3#+K^Y5HnBjY zPe4A$b&Xw%58iY$emKncM%~?q-MV%6T)F84@0xeNK*Y|1Kh$NZ^y_5Kt>fp&`U#4$ zQ{oPya6!PG37}?M3dP?DQSCFcFVPQPo(vt_?J@MSgGjRmyQCUCmIiZ0mi!A!eT2tI zlKtFC_o{U3e#{*`->LVzc!k(pDa#oPxl-z~*P~et5ArqM-|w`yI?w)I@wjkVApV!# zGGou6w}ju>NeaHj*7t7Ac8htW4x=^nI|&ZJU(l|8i~+BO99kbk{O==$s5c+@0N`I2 z>MLi^fK8DT`N*A(aYvT|IVd?IBF>f=l@Ol(a&dHZ>Ar_ZEa1=ifw(pOQ-uBc5phoZ zt``?9%q`iSqUvy8_9;ZTyGdJZ{ko4|IndEXZS2%y;Q2*TgE^kh7cJUR3mCTIOCJe` z3+!QTvwRZ&Ok!L!)VM0Dab&2WW#u&0pyre8IkMahYT-WkXJqTAVHFuyfdJDUGzKVC z97_$S4n1@9_&|3^02tZ( zIxBgw8`>y&C1+{5Qdbr=52`wZ&u!p}qLRo2_r@sAZSa^tYwlMR7mo;*;M%@kUnq#b z{s0b!&Ac}`hO)*Q`|%MdI>J5y-BF-#0(6Q*!0#F0n|-;m{)nEKV2GFfwi@^Zf2z6> z46Q=U+XWC7WnBPSQ7-t(sXMF8{RdNCXze}AptTzwrnSDb=K6%*7-El+ADutgd#V#` z_!gfkd5(Wnda1uiu%vvQ8v(5l&`(go3gk5|VXN!f;YhNRiH*--5D8kD()>}a&0jmO zon94eG2+6^&2sM<76L?>$6zhQ<(%wZW#KQ2e#i4dZCOV`|c|j6o zx$xw{b1n5cr0Ye8hFu@>%v3pWc}@2;0^16KS^mw0qq3kk8F@A!NAU2OP!L0i`uke- ztG=(MOD#H>V&AyKq~;yWA2Dgcdaro0<)X@(V>O_Spoy9 zOF{gIQ{4Zc|6&e(&E4Lo7;Uax{v`5PH@*|>?!(CH$(#8J?=Jdk;n!R)nCbX^Z>ThB% zjodYU+BP(j(+4^*Js;-fOe1*_`i~Iee%B2G3cmE0SL+D4qs2Hqt4pr~USXP!pt6Uv zs7brmso+@@iRN43dEkvFiXj@^Z>Wq=9ma=$U+$*If|9QNVk$n*Zd_Rj`@e*q9isXz zRR3dyf;-CBH*A(}(`f(e@6({5W3PHT;9~;a5BF1)XPh}d*oPHxirX;4#mk!rA6tLA zUmx)C^g7dq^=trWMhw3XzJB*n>q&h68~10j+TZQQq<+kA1BF0}-#+}xw3spOyY;nz zX}_S4S@X*!2d)E4wf6SCv^J5}+@JUpw-@;jQt}oo^3(`ohx;$RlUe)%--1#Pl!VzD zoo~*Z(Wh0-#xN6o=b00;Z^FiNsH;fyQ+=>Wv@5hKABldqdlQ3Y9BJ~UJ0;_~#p+-v zy8&fm(HE(MH>hmmv(EONaC6_n3m~_;qnCqk-(!Tf5ojobf*dSAaDhw!4eoLB+`g!4 zKK_sSXY1bW(^^3|AF3F*=*fP3WU3b706A;km*@U+oqk^MfObpuMVDWjK6vzZC$3Ny zm*cblrlkDXeZa_RBv;MpXZH<;-Glajs1oArajEPrl|7&!duS@Vm9jS}$Sz4`e|b0A zze<$^_{h55uvc;3z?cy1{?1QrW!AF{4Ha`fh^DI@jcb+K(7!9R8h_e+(aXIcme^tj zu1K}=c&1w=={lu%QY7j_4c9-A5x$4xK%&V8E_;VXAD}`AqIrTTyuL;sp}j{y+mmdc zRCZ@&_bkZXHkG~nF0$JeWOqtszoG1J3dUoZeg$kFRQ8Lh?1H{rMsAb7Y~HvpH>BW= zr$+A25n(d3&rRixP#!TfJzvzE5aG~A>3hZL`$y?rmChsz8<@O<}LrWZfbNzC?a;3Q*xh+HP zeNpb0L&)986`_|ALelme1fXnibrg`?Ip$6&R`WUKANX<51K%OvhZA;tl56@br}}L# zG=*xFB5l{ToyCv4TGy;YNU0XnyN{h;Q9tB(<Ywo zOhw(yGKzyj%bKE!Sx@7()uKhs7Ekm&`M7Em_VW=^HQn53R^BMP`aiU^;;!NrZe5lr zzWd(AGwt=AFaD^QbKka|KQ89iK|M3i?gcFOH!Wkve_RB}Jl0~~=dCGwR-X-!ZCzP! zI^WR+64bRpxtv~7Q8%irqOKAz%Z2&>#Qr?GfR{jqO9X+c6pW$)* zRP7-A+svcTe`U`qsbcTfUUzwdJ&UAD_AH9k_PL#uFEjl`qHgA`sS$oJ9JO`?&D={i zP<98{Q!bos=S$Cl&kK?w2dx8Jua-SPZSltCG&Tw^l(_EC5!d)z0~WkB2UA~dw^7fo zX{3!Yp9<{1$Lm^+?wYi)`!)K~N3l|>h%;F6;$D`E_hqJbe-_FLRI_0focxqk5vHV~ zs{UALu~XW9EprLR%T9;$6zZZ(mp$8O)*rEm?FC-W*jx;duJ~d~Y+18gW!< zD$evC(R1{kna3uT4X@j)51#a``L{RQ?#dUjwyOA=eDyju6;2sG^Y>OYQwZB32CW#L zd2Fw;9|WXCfz$2cZ^!Q{^Lw_)T=FJ06^h%OM=SH|WNLLiRJVf5G8=OJ=E4y@2M9=s zSaT0)w?vUHt{8Mg&-R(wJ24B0wXfG6Tz8!h{obnjqD&chX4c=c1?ECR5VW2%vg@2Z zaalN`XUT{QPX-#h$udw&16pdlw#5DWmQF3QpNf|)cmbxvVYv==1E}xEeYrK$^>F@w zvtmxWiaC2T`}gZoG3QY2@sE!;&PUGAbaeOf;)AWVD_qGxx!#A@c~>7Z=3Jaba_!x1 zcY7hp0JV1p9%pu48A^(8CF$Op0Z+3Q`zg;8#z8O}IC0NAY+g|^N{C)lA zYvJ!RS~TJBVz=8fjrscs>Wja7szXoQ#mtSj@+Plsze4EQ+qvT|YXt-}Bgs3rqP1|! zNs?Q{w_tpJBQUB9U|9UxVR!>3u`IbHR}maK9=I_j2Nwf^V4rT+>msGe9u7>Ds*t~_ z@)?5DX)S#p@4vjCSg!qa_ou>s+Dz}w1zW4y%;=fgVoL%iM2Yu{X0Lkv$$0-8M>JU% z2$}%@z5!}XK<`Q_YyYNr574vC^DwSfm-SOr&6mE`Eo$ChA5)1Si5@0PRQ@w?6Oe+J zd2H`KZGIozI`h~fyJ^S+gSF3BbD!*ajh0q*4ll-Kx0Jv!%U3nWKQ@f>m0oE)?IZqe zjst4E>H8?yyYBjHG9otSjm`)zB;UsWdOsf$|J$bTyFLRu$2=arb+ES@;N++A7W7gI z$Jj($&`muy$xE+s2@YZ{+}f&ZJU*kr2Yj0}_W}7(y^G76_-b&yDCnNPL;Mu4=M2(X z_Sd~PUF-h(GkCK}b0=7HP4?Fhi;o*0w+vC)NFC8q6+;^s*1K+$un=K!-Cm*FEy>X^ zjJ+<|c~9E}eq!g1x2rMF5c1qxsD06TEB;yQ{LEN)!g*jcKd-&oP?QwVmG36=^Uum> ze*XK~h@O7^$2xbE)DFytI)(3>9A*x=;PsUMp+C?3X?L5cc3h_O%trUE?kJ{Ta~8*< zJYRY_De+IQHE|w1jnqQ>nm-Tr=La|8bKB(nU>^@UUo@N#P2>)A#NB|VC3|Qh@9EFJ z^hYiSu?cq=D{I<*+kKqrX|mrX6FIwaW8B{-C5`*SWPWR{h|kmC;E=D0{q|Z9j`(kU z*!ceye3zlGG_v1vZuftEZ)(yB0e|@&HYYAOSK}s2B5y)5ZR7KI;!B|z2ZBA?IOZR!T(EjY-Gh5JGm~$SQykE0cnLh>` znsj1;87qg7Rlq;8pK3fXSK@#Dw=f%7won1dUY5O)S0b>@MAX@B3!87;@{BheSizm zYBd$=i%yu6vdm$EG>2V5@5y?Xy$pL9a$ezRGqVr0O6Z2(GL2* zO-0&9awD-~o<-4EE=Fre>&s2-FpjB{`s|Thk5P*fNPW>jvkme#h){TwYYnOUv?W5} zPSVsc;t54f-ed*i@9$T?BqNud3BK-Le#nmz@zf8;Re=E5nR8#_N`m^~KE-V=J40kyCwinc{He{LFpU<7-&CQXKQ1l zBe7jlM`Euov?H;2)1dP|8{eG<+4ypv-0XSSR~US3AU`(C&(!1LUXJ`YDA)b;!_+0a zfAhLKkv>u~b^qa6VP4<4es-a2mHOIfVm;f9lFjmIo3a)ybQ3{$JaqnF`>cH+mtNw- zU$wxI>luE~)UE|h$p^HnE;-ytF4QSe6B@ENy!U>-XdQK`2{z@WR@{o-9u@sK;~5!y zi0MTG#p>bu&Z#dnbKdCV5xj#{3C=O{rtYKTd@PIsf&T-Lv+X>J)@FIs=0tL6#@4WI zQQ`p}5xd;H4vE=UCFCd-&6U%(409!%!*1!Jl!O}>Uog?_(Bnyz&Fm*qIK!lU;ujl1 z{6E&Sc9ZKDYwl$|O1U<^t^%6gFYpn~oUvO2Z>VivJo_FGyzKU=ghQ3ExkuM}x>wZV zv=p4TG-Upb=c!4Ay2B|EVz*^#KLqQF5T))`?sR4sDS>%W+K0M2p3*Q6kc<Rjt@HJ1+2W#g8#+<5W^4S-1$xXH&VhxuVl+>Av1eZ^*o6m&WDj()wWUlaJ1m2ZFcQ6n^VxyH}`^;1`LE97ZB46`R8 z@7<;-XmXutQnr0m_EMD{sz|+>Z8HT#*?nbdH#a0D z87C@py?|D_`lzV-o+`0C3{KW!52(Yl=G$y~zY7Sy4}$LeD?=xr*P29;?BmhL{o%tT z#m^mp_fmjoDPJmONl5Vs_7}P)x)&;Q>wtas*a+m|(Z>PNM`gN^xzqwhTk{Xnjh}wx zx-YK?C~h8A>YA=}xGL#Z$N}bU%p@4N6;*!;17pfj5cuUPs#_s@Q-V6>Zn^3NqO^jK zvj2+5lQC%F%Xe{i>i$^>*>D}-+3V89K5TCoba5>t=x37Ub_h5drJhtiEcm^q+|kPJ z60((gFW#NtGTL2+H*dBqqFH&mg);>q5T={j?*go}2H6&LUxze!&;!nGm_NKVfrTKdj#f+xMsk}m$ zK7*&JF}i#DvJ^S?B;WSmSY9ymqc27=Elx7HdXMm;P{ATrbhQfDKX@OQ{qZ!kYvK*x zEgX0+y`oO17|B-Sn{{YjS5!XLo#1+Afg21ow@ZuzZcFnhG#7Z8+E0*|@%@;?1`DX- zL39YE*`USxXJ~&S=Gna4;dT|}eH;j!toSDYw@I|tN1y}jlrP%XP(yxga3Ki&?JxYf zg+Cf~*;5Rks(_E#fM32X!sl$tnSIFOna{9W@YOr9Y@@SR9~Kt-ePKNo`zxMKNi-i( z$865tCq&y_f5q_P3z}J6H?B3I>>=0ujkPVRTVOJbw#IIjm*L}$zZ%?t3+U9VbG?8eB{9xb-~t`#|Gk38QGUFE

    WWoS?8zxSyydCU*P{sA>(ZRB&E~-Oa<{84u(qX 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 z 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%0A;ThSj8#(rQ-=OjtakCO8n4 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 literal 0 HcmV?d00001 diff --git a/node_modules/@types/chai/LICENSE b/node_modules/@types/chai/LICENSE new file mode 100644 index 0000000..9e841e7 --- /dev/null +++ b/node_modules/@types/chai/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/node_modules/@types/chai/README.md b/node_modules/@types/chai/README.md new file mode 100644 index 0000000..11378aa --- /dev/null +++ b/node_modules/@types/chai/README.md @@ -0,0 +1,15 @@ +# Installation +> `npm install --save @types/chai` + +# Summary +This package contains type definitions for chai (http://chaijs.com/). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/chai. + +### Additional Details + * Last updated: Mon, 05 May 2025 21:33:58 GMT + * Dependencies: [@types/deep-eql](https://npmjs.com/package/@types/deep-eql) + +# Credits +These definitions were written by [Bart van der Schoor](https://github.com/Bartvds), [Andrew Brown](https://github.com/AGBrown), [Olivier Chevet](https://github.com/olivr70), [Matt Wistrand](https://github.com/mwistrand), [Shaun Luttin](https://github.com/shaunluttin), [Satana Charuwichitratana](https://github.com/micksatana), [Erik Schierboom](https://github.com/ErikSchierboom), [Bogdan Paranytsia](https://github.com/bparan), [CXuesong](https://github.com/CXuesong), and [Joey Kilpatrick](https://github.com/joeykilpatrick). diff --git a/node_modules/@types/chai/index.d.ts b/node_modules/@types/chai/index.d.ts new file mode 100644 index 0000000..67b59e2 --- /dev/null +++ b/node_modules/@types/chai/index.d.ts @@ -0,0 +1,2149 @@ +import deepEqual = require("deep-eql"); + +declare global { + namespace Chai { + type Message = string | (() => string); + type ObjectProperty = string | symbol | number; + + interface PathInfo { + parent: object; + name: string; + value?: any; + exists: boolean; + } + + interface Constructor { + new(...args: any[]): T; + } + + interface ErrorConstructor { + new(...args: any[]): Error; + } + + interface ChaiUtils { + addChainableMethod( + // object to define the method on, e.g. chai.Assertion.prototype + ctx: object, + // method name + name: string, + // method itself; any arguments + method: (...args: any[]) => void, + // called when property is accessed + chainingBehavior?: () => void, + ): void; + overwriteChainableMethod( + ctx: object, + name: string, + method: (...args: any[]) => void, + chainingBehavior?: () => void, + ): void; + addLengthGuard( + fn: Function, + assertionName: string, + isChainable: boolean, + ): void; + addMethod(ctx: object, name: string, method: Function): void; + addProperty(ctx: object, name: string, getter: () => any): void; + overwriteMethod(ctx: object, name: string, method: Function): void; + overwriteProperty(ctx: object, name: string, getter: (this: AssertionStatic, _super: any) => any): void; + compareByInspect(a: object, b: object): -1 | 1; + expectTypes(obj: object, types: string[]): void; + flag(obj: object, key: string, value?: any): any; + getActual(obj: object, args: AssertionArgs): any; + getProperties(obj: object): string[]; + getEnumerableProperties(obj: object): string[]; + getOwnEnumerablePropertySymbols(obj: object): symbol[]; + getOwnEnumerableProperties(obj: object): Array; + getMessage(errorLike: Error | string): string; + getMessage(obj: any, args: AssertionArgs): string; + inspect(obj: any, showHidden?: boolean, depth?: number, colors?: boolean): string; + isProxyEnabled(): boolean; + objDisplay(obj: object): void; + proxify(obj: object, nonChainableMethodName: string): object; + test(obj: object, args: AssertionArgs): boolean; + transferFlags(assertion: Assertion, obj: object, includeAll?: boolean): void; + compatibleInstance(thrown: Error, errorLike: Error | ErrorConstructor): boolean; + compatibleConstructor(thrown: Error, errorLike: Error | ErrorConstructor): boolean; + compatibleMessage(thrown: Error, errMatcher: string | RegExp): boolean; + getConstructorName(constructorFn: Function): string; + getFuncName(constructorFn: Function): string | null; + + // Reexports from pathval: + hasProperty(obj: object | undefined | null, name: ObjectProperty): boolean; + getPathInfo(obj: object, path: string): PathInfo; + getPathValue(obj: object, path: string): object | undefined; + + eql: typeof deepEqual; + } + + type ChaiPlugin = (chai: ChaiStatic, utils: ChaiUtils) => void; + + interface ChaiStatic { + expect: ExpectStatic; + should(): Should; + /** + * Provides a way to extend the internals of Chai + */ + use(fn: ChaiPlugin): ChaiStatic; + util: ChaiUtils; + assert: AssertStatic; + config: Config; + Assertion: AssertionStatic; + AssertionError: typeof AssertionError; + version: string; + } + + export interface ExpectStatic { + (val: any, message?: string): Assertion; + fail(message?: string): never; + fail(actual: any, expected: any, message?: string, operator?: Operator): never; + } + + export interface AssertStatic extends Assert { + } + + // chai.Assertion.prototype.assert arguments + type AssertionArgs = [ + any, // expression to be tested + Message, // message or function that returns message to display if expression fails + Message, // negatedMessage or function that returns negatedMessage to display if expression fails + any?, // expected value + any?, // actual value + boolean?, // showDiff, when set to `true`, assert will display a diff in addition to the message if expression fails + ]; + + export interface AssertionPrototype { + assert(...args: AssertionArgs): void; + _obj: any; + } + + export interface AssertionStatic extends AssertionPrototype { + prototype: AssertionPrototype; + + new(target: any, message?: string, ssfi?: Function, lockSsfi?: boolean): Assertion; + + // Deprecated properties: + includeStack: boolean; + showDiff: boolean; + + // Partials of functions on ChaiUtils: + addProperty(name: string, getter: (this: AssertionStatic) => any): void; + addMethod(name: string, method: (this: AssertionStatic, ...args: any[]) => any): void; + addChainableMethod( + name: string, + method: (this: AssertionStatic, ...args: any[]) => void, + chainingBehavior?: () => void, + ): void; + overwriteProperty(name: string, getter: (this: AssertionStatic, _super: any) => any): void; + overwriteMethod(name: string, method: (this: AssertionStatic, ...args: any[]) => any): void; + overwriteChainableMethod( + name: string, + method: (this: AssertionStatic, ...args: any[]) => void, + chainingBehavior?: () => void, + ): void; + } + + export type Operator = string; // "==" | "===" | ">" | ">=" | "<" | "<=" | "!=" | "!=="; + + export type OperatorComparable = boolean | null | number | string | undefined | Date; + + interface ShouldAssertion { + equal(value1: any, value2: any, message?: string): void; + Throw: ShouldThrow; + throw: ShouldThrow; + exist(value: any, message?: string): void; + } + + interface Should extends ShouldAssertion { + not: ShouldAssertion; + fail(message?: string): never; + fail(actual: any, expected: any, message?: string, operator?: Operator): never; + } + + interface ShouldThrow { + (actual: Function, expected?: string | RegExp, message?: string): void; + (actual: Function, constructor: Error | Function, expected?: string | RegExp, message?: string): void; + } + + interface Assertion extends LanguageChains, NumericComparison, TypeComparison { + not: Assertion; + deep: Deep; + ordered: Ordered; + nested: Nested; + own: Own; + any: KeyFilter; + all: KeyFilter; + a: Assertion; + an: Assertion; + include: Include; + includes: Include; + contain: Include; + contains: Include; + ok: Assertion; + true: Assertion; + false: Assertion; + null: Assertion; + undefined: Assertion; + NaN: Assertion; + exist: Assertion; + empty: Assertion; + arguments: Assertion; + Arguments: Assertion; + finite: Assertion; + equal: Equal; + equals: Equal; + eq: Equal; + eql: Equal; + eqls: Equal; + containSubset: ContainSubset; + property: Property; + ownProperty: Property; + haveOwnProperty: Property; + ownPropertyDescriptor: OwnPropertyDescriptor; + haveOwnPropertyDescriptor: OwnPropertyDescriptor; + length: Length; + lengthOf: Length; + match: Match; + matches: Match; + string(string: string, message?: string): Assertion; + keys: Keys; + key(string: string): Assertion; + throw: Throw; + throws: Throw; + Throw: Throw; + respondTo: RespondTo; + respondsTo: RespondTo; + itself: Assertion; + satisfy: Satisfy; + satisfies: Satisfy; + closeTo: CloseTo; + approximately: CloseTo; + members: Members; + increase: PropertyChange; + increases: PropertyChange; + decrease: PropertyChange; + decreases: PropertyChange; + change: PropertyChange; + changes: PropertyChange; + extensible: Assertion; + sealed: Assertion; + frozen: Assertion; + oneOf: OneOf; + } + + interface LanguageChains { + to: Assertion; + be: Assertion; + been: Assertion; + is: Assertion; + that: Assertion; + which: Assertion; + and: Assertion; + has: Assertion; + have: Assertion; + with: Assertion; + at: Assertion; + of: Assertion; + same: Assertion; + but: Assertion; + does: Assertion; + } + + interface NumericComparison { + above: NumberComparer; + gt: NumberComparer; + greaterThan: NumberComparer; + least: NumberComparer; + gte: NumberComparer; + greaterThanOrEqual: NumberComparer; + below: NumberComparer; + lt: NumberComparer; + lessThan: NumberComparer; + most: NumberComparer; + lte: NumberComparer; + lessThanOrEqual: NumberComparer; + within(start: number, finish: number, message?: string): Assertion; + within(start: Date, finish: Date, message?: string): Assertion; + } + + interface NumberComparer { + (value: number | Date, message?: string): Assertion; + } + + interface TypeComparison { + (type: string, message?: string): Assertion; + instanceof: InstanceOf; + instanceOf: InstanceOf; + } + + interface InstanceOf { + (constructor: any, message?: string): Assertion; + } + + interface CloseTo { + (expected: number, delta: number, message?: string): Assertion; + } + + interface Nested { + include: Include; + includes: Include; + contain: Include; + contains: Include; + property: Property; + members: Members; + } + + interface Own { + include: Include; + includes: Include; + contain: Include; + contains: Include; + property: Property; + } + + interface Deep extends KeyFilter { + be: Assertion; + equal: Equal; + equals: Equal; + eq: Equal; + include: Include; + includes: Include; + contain: Include; + contains: Include; + property: Property; + ordered: Ordered; + nested: Nested; + oneOf: OneOf; + own: Own; + } + + interface Ordered { + members: Members; + } + + interface KeyFilter { + keys: Keys; + members: Members; + } + + interface Equal { + (value: any, message?: string): Assertion; + } + + interface ContainSubset { + (expected: any): Assertion; + } + + interface Property { + (name: string | symbol, value: any, message?: string): Assertion; + (name: string | symbol, message?: string): Assertion; + } + + interface OwnPropertyDescriptor { + (name: string | symbol, descriptor: PropertyDescriptor, message?: string): Assertion; + (name: string | symbol, message?: string): Assertion; + } + + interface Length extends LanguageChains, NumericComparison { + (length: number, message?: string): Assertion; + } + + interface Include { + (value: any, message?: string): Assertion; + keys: Keys; + deep: Deep; + ordered: Ordered; + members: Members; + any: KeyFilter; + all: KeyFilter; + oneOf: OneOf; + } + + interface OneOf { + (list: readonly unknown[], message?: string): Assertion; + } + + interface Match { + (regexp: RegExp, message?: string): Assertion; + } + + interface Keys { + (...keys: string[]): Assertion; + (keys: readonly any[] | Object): Assertion; + } + + interface Throw { + (expected?: string | RegExp, message?: string): Assertion; + (constructor: Error | Function, expected?: string | RegExp, message?: string): Assertion; + } + + interface RespondTo { + (method: string, message?: string): Assertion; + } + + interface Satisfy { + (matcher: Function, message?: string): Assertion; + } + + interface Members { + (set: readonly any[], message?: string): Assertion; + } + + interface PropertyChange { + (object: Object, property?: string, message?: string): DeltaAssertion; + } + + interface DeltaAssertion extends Assertion { + by(delta: number, msg?: string): Assertion; + } + + export interface Assert { + /** + * @param expression Expression to test for truthiness. + * @param message Message to display on error. + */ + (expression: any, message?: string): asserts expression; + + /** + * Throws a failure. + * + * @param message Message to display on error. + * @remarks Node.js assert module-compatible. + */ + fail(message?: string): never; + + /** + * Throws a failure. + * + * T Type of the objects. + * @param actual Actual value. + * @param expected Potential expected value. + * @param message Message to display on error. + * @param operator Comparison operator, if not strict equality. + * @remarks Node.js assert module-compatible. + */ + fail(actual: T, expected: T, message?: string, operator?: Operator): never; + + /** + * Asserts that object is truthy. + * + * @param object Object to test. + * @param message Message to display on error. + */ + isOk(value: unknown, message?: string): asserts value; + + /** + * Asserts that object is truthy. + * + * @param object Object to test. + * @param message Message to display on error. + */ + ok(value: unknown, message?: string): asserts value; + + /** + * Asserts that object is falsy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + isNotOk(value: T, message?: string): void; + + /** + * Asserts that object is falsy. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + notOk(value: T, message?: string): void; + + /** + * Asserts non-strict equality (==) of actual and expected. + * + * T Type of the objects. + * @param actual Actual value. + * @param expected Potential expected value. + * @param message Message to display on error. + */ + equal(actual: T, expected: T, message?: string): void; + + /** + * Asserts non-strict inequality (!=) of actual and expected. + * + * T Type of the objects. + * @param actual Actual value. + * @param expected Potential expected value. + * @param message Message to display on error. + */ + notEqual(actual: T, expected: T, message?: string): void; + + /** + * Asserts strict equality (===) of actual and expected. + * + * T Type of the objects. + * @param actual Actual value. + * @param expected Potential expected value. + * @param message Message to display on error. + */ + strictEqual(actual: T, expected: T, message?: string): void; + + /** + * Asserts strict inequality (!==) of actual and expected. + * + * T Type of the objects. + * @param actual Actual value. + * @param expected Potential expected value. + * @param message Message to display on error. + */ + notStrictEqual(actual: T, expected: T, message?: string): void; + + /** + * Asserts that actual is deeply equal to expected. + * + * T Type of the objects. + * @param actual Actual value. + * @param expected Potential expected value. + * @param message Message to display on error. + */ + deepEqual(actual: T, expected: T, message?: string): void; + + /** + * Asserts that actual is not deeply equal to expected. + * + * T Type of the objects. + * @param actual Actual value. + * @param expected Potential expected value. + * @param message Message to display on error. + */ + notDeepEqual(actual: T, expected: T, message?: string): void; + + /** + * Alias to deepEqual + * + * T Type of the objects. + * @param actual Actual value. + * @param expected Potential expected value. + * @param message Message to display on error. + */ + deepStrictEqual(actual: T, expected: T, message?: string): void; + + /** + * Partially matches actual and expected. + * + * @param actual Actual value. + * @param expected Potential subset of the value. + * @param message Message to display on error. + */ + containSubset(val: any, exp: any, msg?: string): void; + + /** + * Partially matches actual and expected. + * + * @param actual Actual value. + * @param expected Potential subset of the value. + * @param message Message to display on error. + */ + containsSubset(val: any, exp: any, msg?: string): void; + + /** + * No partial match between actual and expected exists. + * + * @param actual Actual value. + * @param expected Potential subset of the value. + * @param message Message to display on error. + */ + doesNotContainSubset(val: any, exp: any, msg?: string): void; + + /** + * Asserts valueToCheck is strictly greater than (>) valueToBeAbove. + * + * @param valueToCheck Actual value. + * @param valueToBeAbove Minimum Potential expected value. + * @param message Message to display on error. + */ + isAbove(valueToCheck: number, valueToBeAbove: number, message?: string): void; + + /** + * Asserts valueToCheck is greater than or equal to (>=) valueToBeAtLeast. + * + * @param valueToCheck Actual value. + * @param valueToBeAtLeast Minimum Potential expected value. + * @param message Message to display on error. + */ + isAtLeast(valueToCheck: number, valueToBeAtLeast: number, message?: string): void; + + /** + * Asserts valueToCheck is strictly less than (<) valueToBeBelow. + * + * @param valueToCheck Actual value. + * @param valueToBeBelow Minimum Potential expected value. + * @param message Message to display on error. + */ + isBelow(valueToCheck: number, valueToBeBelow: number, message?: string): void; + + /** + * Asserts valueToCheck is less than or equal to (<=) valueToBeAtMost. + * + * @param valueToCheck Actual value. + * @param valueToBeAtMost Minimum Potential expected value. + * @param message Message to display on error. + */ + isAtMost(valueToCheck: number, valueToBeAtMost: number, message?: string): void; + + /** + * Asserts that value is true. + * + * @param value Actual value. + * @param message Message to display on error. + */ + isTrue(value: unknown, message?: string): asserts value is true; + + /** + * Asserts that value is false. + * + * @param value Actual value. + * @param message Message to display on error. + */ + isFalse(value: unknown, message?: string): asserts value is false; + + /** + * Asserts that value is not true. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNotTrue(value: T, message?: string): asserts value is Exclude; + + /** + * Asserts that value is not false. + * + * @param value Actual value. + * @param message Message to display on error. + */ + isNotFalse(value: T, message?: string): asserts value is Exclude; + + /** + * Asserts that value is null. + * + * @param value Actual value. + * @param message Message to display on error. + */ + isNull(value: unknown, message?: string): asserts value is null; + + /** + * Asserts that value is not null. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNotNull(value: T, message?: string): asserts value is Exclude; + + /** + * Asserts that value is NaN. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNaN(value: T, message?: string): void; + + /** + * Asserts that value is not NaN. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNotNaN(value: T, message?: string): void; + + /** + * Asserts that the target is neither null nor undefined. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + exists(value: T, message?: string): asserts value is NonNullable; + + /** + * Asserts that the target is either null or undefined. + * + * @param value Actual value. + * @param message Message to display on error. + */ + notExists(value: unknown, message?: string): asserts value is + | null + | undefined; + + /** + * Asserts that value is undefined. + * + * @param value Actual value. + * @param message Message to display on error. + */ + isUndefined(value: unknown, message?: string): asserts value is undefined; + + /** + * Asserts that value is not undefined. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isDefined(value: T, message?: string): asserts value is Exclude; + + /** + * Asserts that value is a function. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isFunction(value: T, message?: string): void; + + /** + * Asserts that value is not a function. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNotFunction(value: T, message?: string): void; + + /** + * Asserts that value is an object of type 'Object' + * (as revealed by Object.prototype.toString). + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + * @remarks The assertion does not match subclassed objects. + */ + isObject(value: T, message?: string): void; + + /** + * Asserts that value is not an object of type 'Object' + * (as revealed by Object.prototype.toString). + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNotObject(value: T, message?: string): void; + + /** + * Asserts that value is an array. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isArray(value: T, message?: string): void; + + /** + * Asserts that value is not an array. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNotArray(value: T, message?: string): void; + + /** + * Asserts that value is a string. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isString(value: T, message?: string): void; + + /** + * Asserts that value is not a string. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNotString(value: T, message?: string): void; + + /** + * Asserts that value is a number. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNumber(value: T, message?: string): void; + + /** + * Asserts that value is not a number. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNotNumber(value: T, message?: string): void; + + /** + * Asserts that value is a finite number. + * Unlike `.isNumber`, this will fail for `NaN` and `Infinity`. + * + * T Type of value + * @param value Actual value + * @param message Message to display on error. + */ + isFinite(value: T, message?: string): void; + + /** + * Asserts that value is a boolean. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isBoolean(value: T, message?: string): void; + + /** + * Asserts that value is not a boolean. + * + * T Type of value. + * @param value Actual value. + * @param message Message to display on error. + */ + isNotBoolean(value: T, message?: string): void; + + /** + * Asserts that value's type is name, as determined by Object.prototype.toString. + * + * T Type of value. + * @param value Actual value. + * @param name Potential expected type name of value. + * @param message Message to display on error. + */ + typeOf(value: T, name: string, message?: string): void; + + /** + * Asserts that value's type is not name, as determined by Object.prototype.toString. + * + * T Type of value. + * @param value Actual value. + * @param name Potential expected type name of value. + * @param message Message to display on error. + */ + notTypeOf(value: T, name: string, message?: string): void; + + /** + * Asserts that value is an instance of constructor. + * + * T Expected type of value. + * @param value Actual value. + * @param constructor Potential expected contructor of value. + * @param message Message to display on error. + */ + instanceOf( + value: unknown, + constructor: Constructor, + message?: string, + ): asserts value is T; + + /** + * Asserts that value is not an instance of constructor. + * + * T Type of value. + * U Type that value shouldn't be an instance of. + * @param value Actual value. + * @param constructor Potential expected contructor of value. + * @param message Message to display on error. + */ + notInstanceOf(value: T, type: Constructor, message?: string): asserts value is Exclude; + + /** + * Asserts that haystack includes needle. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + */ + include(haystack: string, needle: string, message?: string): void; + + /** + * Asserts that haystack includes needle. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + */ + include( + haystack: readonly T[] | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void; + + /** + * Asserts that haystack includes needle. + * + * T Type of values in haystack. + * @param haystack WeakSet container. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + */ + include(haystack: WeakSet, needle: T, message?: string): void; + + /** + * Asserts that haystack includes needle. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + */ + include(haystack: T, needle: Partial, message?: string): void; + + /** + * Asserts that haystack does not include needle. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + */ + notInclude(haystack: string, needle: string, message?: string): void; + + /** + * Asserts that haystack does not include needle. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + */ + notInclude( + haystack: readonly T[] | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void; + + /** + * Asserts that haystack does not include needle. + * + * T Type of values in haystack. + * @param haystack WeakSet container. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + */ + notInclude(haystack: WeakSet, needle: T, message?: string): void; + + /** + * Asserts that haystack does not include needle. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + */ + notInclude(haystack: T, needle: Partial, message?: string): void; + + /** + * Asserts that haystack includes needle. Deep equality is used. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + * + * @deprecated Does not have any effect on string. Use {@link Assert#include} instead. + */ + deepInclude(haystack: string, needle: string, message?: string): void; + + /** + * Asserts that haystack includes needle. Deep equality is used. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + */ + deepInclude( + haystack: readonly T[] | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void; + + /** + * Asserts that haystack includes needle. Deep equality is used. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + */ + deepInclude(haystack: T, needle: T extends WeakSet ? never : Partial, message?: string): void; + + /** + * Asserts that haystack does not include needle. Deep equality is used. + * + * @param haystack Container string. + * @param needle Potential substring of haystack. + * @param message Message to display on error. + * + * @deprecated Does not have any effect on string. Use {@link Assert#notInclude} instead. + */ + notDeepInclude(haystack: string, needle: string, message?: string): void; + + /** + * Asserts that haystack does not include needle. Deep equality is used. + * + * T Type of values in haystack. + * @param haystack Container array, set or map. + * @param needle Potential value contained in haystack. + * @param message Message to display on error. + */ + notDeepInclude( + haystack: readonly T[] | ReadonlySet | ReadonlyMap, + needle: T, + message?: string, + ): void; + + /** + * Asserts that haystack does not include needle. Deep equality is used. + * + * T Type of haystack. + * @param haystack Object. + * @param needle Potential subset of the haystack's properties. + * @param message Message to display on error. + */ + notDeepInclude(haystack: T, needle: T extends WeakSet ? never : Partial, message?: string): void; + + /** + * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object. + * + * Enables the use of dot- and bracket-notation for referencing nested properties. + * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. + * Can be used to assert the inclusion of a subset of properties in an object. + * Enables the use of dot- and bracket-notation for referencing nested properties. + * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. + * + * @param haystack + * @param needle + * @param message Message to display on error. + */ + nestedInclude(haystack: any, needle: any, message?: string): void; + + /** + * Asserts that ‘haystack’ does not include ‘needle’. Can be used to assert the absence of a subset of properties in an object. + * + * Enables the use of dot- and bracket-notation for referencing nested properties. + * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. + * Can be used to assert the inclusion of a subset of properties in an object. + * Enables the use of dot- and bracket-notation for referencing nested properties. + * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. + * + * @param haystack + * @param needle + * @param message Message to display on error. + */ + notNestedInclude(haystack: any, needle: any, message?: string): void; + + /** + * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object while checking for deep equality + * + * Enables the use of dot- and bracket-notation for referencing nested properties. + * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. + * Can be used to assert the inclusion of a subset of properties in an object. + * Enables the use of dot- and bracket-notation for referencing nested properties. + * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. + * + * @param haystack + * @param needle + * @param message Message to display on error. + */ + deepNestedInclude(haystack: any, needle: any, message?: string): void; + + /** + * Asserts that ‘haystack’ does not include ‘needle’. Can be used to assert the absence of a subset of properties in an object while checking for deep equality. + * + * Enables the use of dot- and bracket-notation for referencing nested properties. + * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. + * Can be used to assert the inclusion of a subset of properties in an object. + * Enables the use of dot- and bracket-notation for referencing nested properties. + * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. + * + * @param haystack + * @param needle + * @param message Message to display on error. + */ + notDeepNestedInclude(haystack: any, needle: any, message?: string): void; + + /** + * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object while ignoring inherited properties. + * + * @param haystack + * @param needle + * @param message Message to display on error. + */ + ownInclude(haystack: any, needle: any, message?: string): void; + + /** + * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the absence of a subset of properties in an object while ignoring inherited properties. + * + * @param haystack + * @param needle + * @param message Message to display on error. + */ + notOwnInclude(haystack: any, needle: any, message?: string): void; + + /** + * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object while ignoring inherited properties and checking for deep + * + * @param haystack + * @param needle + * @param message Message to display on error. + */ + deepOwnInclude(haystack: any, needle: any, message?: string): void; + + /** + * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the absence of a subset of properties in an object while ignoring inherited properties and checking for deep equality. + * + * @param haystack + * @param needle + * @param message Message to display on error. + */ + notDeepOwnInclude(haystack: any, needle: any, message?: string): void; + + /** + * Asserts that value matches the regular expression regexp. + * + * @param value Actual value. + * @param regexp Potential match of value. + * @param message Message to display on error. + */ + match(value: string, regexp: RegExp, message?: string): void; + + /** + * Asserts that value does not match the regular expression regexp. + * + * @param value Actual value. + * @param regexp Potential match of value. + * @param message Message to display on error. + */ + notMatch(expected: any, regexp: RegExp, message?: string): void; + + /** + * Asserts that object has a property named by property. + * + * T Type of object. + * @param object Container object. + * @param property Potential contained property of object. + * @param message Message to display on error. + */ + property(object: T, property: string, /* keyof T */ message?: string): void; + + /** + * Asserts that object does not have a property named by property. + * + * T Type of object. + * @param object Container object. + * @param property Potential contained property of object. + * @param message Message to display on error. + */ + notProperty(object: T, property: string, /* keyof T */ message?: string): void; + + /** + * Asserts that object has a property named by property, which can be a string + * using dot- and bracket-notation for deep reference. + * + * T Type of object. + * @param object Container object. + * @param property Potential contained property of object. + * @param message Message to display on error. + */ + deepProperty(object: T, property: string, message?: string): void; + + /** + * Asserts that object does not have a property named by property, which can be a + * string using dot- and bracket-notation for deep reference. + * + * T Type of object. + * @param object Container object. + * @param property Potential contained property of object. + * @param message Message to display on error. + */ + notDeepProperty(object: T, property: string, message?: string): void; + + /** + * Asserts that object has a property named by property with value given by value. + * + * T Type of object. + * V Type of value. + * @param object Container object. + * @param property Potential contained property of object. + * @param value Potential expected property value. + * @param message Message to display on error. + */ + propertyVal(object: T, property: string, /* keyof T */ value: V, message?: string): void; + + /** + * Asserts that object has a property named by property with value given by value. + * + * T Type of object. + * V Type of value. + * @param object Container object. + * @param property Potential contained property of object. + * @param value Potential expected property value. + * @param message Message to display on error. + */ + notPropertyVal(object: T, property: string, /* keyof T */ value: V, message?: string): void; + + /** + * Asserts that object has a property named by property, which can be a string + * using dot- and bracket-notation for deep reference. + * + * T Type of object. + * V Type of value. + * @param object Container object. + * @param property Potential contained property of object. + * @param value Potential expected property value. + * @param message Message to display on error. + */ + deepPropertyVal(object: T, property: string, value: V, message?: string): void; + + /** + * Asserts that object does not have a property named by property, which can be a + * string using dot- and bracket-notation for deep reference. + * + * T Type of object. + * V Type of value. + * @param object Container object. + * @param property Potential contained property of object. + * @param value Potential expected property value. + * @param message Message to display on error. + */ + notDeepPropertyVal(object: T, property: string, value: V, message?: string): void; + + /** + * Asserts that object has a length property with the expected value. + * + * T Type of object. + * @param object Container object. + * @param length Potential expected length of object. + * @param message Message to display on error. + */ + lengthOf( + object: T, + length: number, + message?: string, + ): void; + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + */ + throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + */ + throw( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void; + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + */ + throws(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + */ + throws( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void; + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + */ + Throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; + + /** + * Asserts that fn will throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + */ + Throw( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void; + + /** + * Asserts that fn will not throw an error. + * + * @param fn Function that may throw. + * @param errMsgMatcher Expected error message matcher. + * @param ignored Ignored parameter. + * @param message Message to display on error. + */ + doesNotThrow(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; + + /** + * Asserts that fn will not throw an error. + * + * @param fn Function that may throw. + * @param errorLike Expected error constructor or error instance. + * @param errMsgMatcher Expected error message matcher. + * @param message Message to display on error. + */ + doesNotThrow( + fn: () => void, + errorLike?: ErrorConstructor | Error | null, + errMsgMatcher?: RegExp | string | null, + message?: string, + ): void; + + /** + * Compares two values using operator. + * + * @param val1 Left value during comparison. + * @param operator Comparison operator. + * @param val2 Right value during comparison. + * @param message Message to display on error. + */ + operator(val1: OperatorComparable, operator: Operator, val2: OperatorComparable, message?: string): void; + + /** + * Asserts that the target is equal to expected, to within a +/- delta range. + * + * @param actual Actual value + * @param expected Potential expected value. + * @param delta Maximum differenced between values. + * @param message Message to display on error. + */ + closeTo(actual: number, expected: number, delta: number, message?: string): void; + + /** + * Asserts that the target is equal to expected, to within a +/- delta range. + * + * @param actual Actual value + * @param expected Potential expected value. + * @param delta Maximum differenced between values. + * @param message Message to display on error. + */ + approximately(act: number, exp: number, delta: number, message?: string): void; + + /** + * Asserts that set1 and set2 have the same members. Order is not take into account. + * + * T Type of set values. + * @param set1 Actual set of values. + * @param set2 Potential expected set of values. + * @param message Message to display on error. + */ + sameMembers(set1: T[], set2: T[], message?: string): void; + + /** + * Asserts that set1 and set2 have the same members using deep equality checking. + * Order is not take into account. + * + * T Type of set values. + * @param set1 Actual set of values. + * @param set2 Potential expected set of values. + * @param message Message to display on error. + */ + sameDeepMembers(set1: T[], set2: T[], message?: string): void; + + /** + * Asserts that `set1` and `set2` don't have the same members in any order. + * Uses a deep equality check. + * + * T Type of set values. + * @param set1 + * @param set2 + * @param message + */ + notSameDeepMembers(set1: T[], set2: T[], message?: string): void; + + /** + * Asserts that set1 and set2 have the same members in the same order. + * Uses a strict equality check (===). + * + * T Type of set values. + * @param set1 Actual set of values. + * @param set2 Potential expected set of values. + * @param message Message to display on error. + */ + sameOrderedMembers(set1: T[], set2: T[], message?: string): void; + + /** + * Asserts that set1 and set2 don’t have the same members in the same order. + * Uses a strict equality check (===). + * + * T Type of set values. + * @param set1 Actual set of values. + * @param set2 Potential expected set of values. + * @param message Message to display on error. + */ + notSameOrderedMembers(set1: T[], set2: T[], message?: string): void; + + /** + * Asserts that set1 and set2 have the same members in the same order. + * Uses a deep equality check. + * + * T Type of set values. + * @param set1 Actual set of values. + * @param set2 Potential expected set of values. + * @param message Message to display on error. + */ + sameDeepOrderedMembers(set1: T[], set2: T[], message?: string): void; + + /** + * Asserts that set1 and set2 don’t have the same members in the same order. + * Uses a deep equality check. + * + * T Type of set values. + * @param set1 Actual set of values. + * @param set2 Potential expected set of values. + * @param message Message to display on error. + */ + notSameDeepOrderedMembers(set1: T[], set2: T[], message?: string): void; + + /** + * Asserts that subset is included in superset in the same order beginning with the first element in superset. + * Uses a strict equality check (===). + * + * T Type of set values. + * @param superset Actual set of values. + * @param subset Potential contained set of values. + * @param message Message to display on error. + */ + includeOrderedMembers(superset: T[], subset: T[], message?: string): void; + + /** + * Asserts that subset isn’t included in superset in the same order beginning with the first element in superset. + * Uses a strict equality check (===). + * + * T Type of set values. + * @param superset Actual set of values. + * @param subset Potential contained set of values. + * @param message Message to display on error. + */ + notIncludeOrderedMembers(superset: T[], subset: T[], message?: string): void; + + /** + * Asserts that subset is included in superset in the same order beginning with the first element in superset. + * Uses a deep equality check. + * + * T Type of set values. + * @param superset Actual set of values. + * @param subset Potential contained set of values. + * @param message Message to display on error. + */ + includeDeepOrderedMembers(superset: T[], subset: T[], message?: string): void; + + /** + * Asserts that subset isn’t included in superset in the same order beginning with the first element in superset. + * Uses a deep equality check. + * + * T Type of set values. + * @param superset Actual set of values. + * @param subset Potential contained set of values. + * @param message Message to display on error. + */ + notIncludeDeepOrderedMembers(superset: T[], subset: T[], message?: string): void; + + /** + * Asserts that subset is included in superset. Order is not take into account. + * + * T Type of set values. + * @param superset Actual set of values. + * @param subset Potential contained set of values. + * @param message Message to display on error. + */ + includeMembers(superset: T[], subset: T[], message?: string): void; + + /** + * Asserts that subset isn’t included in superset in any order. + * Uses a strict equality check (===). Duplicates are ignored. + * + * T Type of set values. + * @param superset Actual set of values. + * @param subset Potential not contained set of values. + * @param message Message to display on error. + */ + notIncludeMembers(superset: T[], subset: T[], message?: string): void; + + /** + * Asserts that subset is included in superset using deep equality checking. + * Order is not take into account. + * + * T Type of set values. + * @param superset Actual set of values. + * @param subset Potential contained set of values. + * @param message Message to display on error. + */ + includeDeepMembers(superset: T[], subset: T[], message?: string): void; + + /** + * Asserts that `subset` isn't included in `superset` in any order. Uses a + * deep equality check. Duplicates are ignored. + * + * assert.notIncludeDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { f: 5 } ], 'not include deep members'); + * + * T Type of set values. + * @param superset Actual set of values. + * @param subset Potential contained set of values. + * @param message Message to display on error. + */ + notIncludeDeepMembers(superset: T[], subset: T[], message?: string): void; + + /** + * Asserts that non-object, non-array value inList appears in the flat array list. + * + * T Type of list values. + * @param inList Value expected to be in the list. + * @param list List of values. + * @param message Message to display on error. + */ + oneOf(inList: T, list: T[], message?: string): void; + + /** + * Asserts that a function changes the value of a property. + * + * T Type of object. + * @param modifier Function to run. + * @param object Container object. + * @param property Property of object expected to be modified. + * @param message Message to display on error. + */ + changes(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; + + /** + * Asserts that a function changes the value of a property by an amount (delta). + * + * @param modifier function + * @param object or getter function + * @param property name _optional_ + * @param change amount (delta) + * @param message _optional_ + */ + changesBy( + modifier: Function, + object: T, + property: string, + /* keyof T */ change: number, + message?: string, + ): void; + changesBy(modifier: Function, object: T, change: number, message?: string): void; + + /** + * Asserts that a function does not change the value of a property. + * + * T Type of object. + * @param modifier Function to run. + * @param object Container object. + * @param property Property of object expected not to be modified. + * @param message Message to display on error. + */ + doesNotChange(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; + + /** + * Asserts that a function increases an object property. + * + * T Type of object. + * @param modifier Function to run. + * @param object Container object. + * @param property Property of object expected to be increased. + * @param message Message to display on error. + */ + increases(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; + + /** + * Asserts that a function increases a numeric object property or a function's return value by an amount (delta). + * + * T Type of object or function. + * @param modifier function + * @param object or getter function + * @param property name _optional_ + * @param change amount (delta) + * @param message _optional_ + */ + increasesBy( + modifier: Function, + object: T, + property: string, + /* keyof T */ change: number, + message?: string, + ): void; + increasesBy(modifier: Function, object: T, change: number, message?: string): void; + + /** + * Asserts that a function does not increase an object property. + * + * T Type of object. + * @param modifier Function to run. + * @param object Container object. + * @param property Property of object expected not to be increased. + * @param message Message to display on error. + */ + doesNotIncrease(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; + + /** + * Asserts that a function does not increase a numeric object property or function's return value by an amount (delta). + * + * T Type of object or function. + * @param modifier function + * @param object or getter function + * @param property name _optional_ + * @param change amount (delta) + * @param message _optional_ + */ + + increasesButNotBy( + modifier: Function, + object: T, + property: string, + /* keyof T */ change: number, + message?: string, + ): void; + increasesButNotBy(modifier: Function, object: T, change: number, message?: string): void; + + /** + * Asserts that a function decreases an object property. + * + * T Type of object. + * @param modifier Function to run. + * @param object Container object. + * @param property Property of object expected to be decreased. + * @param message Message to display on error. + */ + decreases(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; + + /** + * Asserts that a function decreases a numeric object property or a function's return value by an amount (delta) + * + * T Type of object or function. + * @param modifier function + * @param object or getter function + * @param property name _optional_ + * @param change amount (delta) + * @param message _optional_ + */ + + decreasesBy( + modifier: Function, + object: T, + property: string, + /* keyof T */ change: number, + message?: string, + ): void; + decreasesBy(modifier: Function, object: T, change: number, message?: string): void; + + /** + * Asserts that a function does not decrease an object property. + * + * T Type of object. + * @param modifier Function to run. + * @param object Container object. + * @param property Property of object expected not to be decreased. + * @param message Message to display on error. + */ + doesNotDecrease(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; + + /** + * Asserts that a function does not decreases a numeric object property or a function's return value by an amount (delta) + * + * T Type of object or function. + * @param modifier function + * @param object or getter function + * @param property name _optional_ + * @param change amount (delta) + * @param message _optional_ + */ + + doesNotDecreaseBy( + modifier: Function, + object: T, + property: string, + /* keyof T */ change: number, + message?: string, + ): void; + doesNotDecreaseBy(modifier: Function, object: T, change: number, message?: string): void; + + /** + * Asserts that a function does not decreases a numeric object property or a function's return value by an amount (delta) + * + * T Type of object or function. + * @param modifier function + * @param object or getter function + * @param property name _optional_ + * @param change amount (delta) + * @param message _optional_ + */ + + decreasesButNotBy( + modifier: Function, + object: T, + property: string, + /* keyof T */ change: number, + message?: string, + ): void; + decreasesButNotBy(modifier: Function, object: T, change: number, message?: string): void; + + /** + * Asserts if value is not a false value, and throws if it is a true value. + * + * T Type of object. + * @param object Actual value. + * @param message Message to display on error. + * @remarks This is added to allow for chai to be a drop-in replacement for + * Node’s assert class. + */ + ifError(object: T, message?: string): void; + + /** + * Asserts that object is extensible (can have new properties added to it). + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + isExtensible(object: T, message?: string): void; + + /** + * Asserts that object is extensible (can have new properties added to it). + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + extensible(object: T, message?: string): void; + + /** + * Asserts that object is not extensible. + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + isNotExtensible(object: T, message?: string): void; + + /** + * Asserts that object is not extensible. + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + notExtensible(object: T, message?: string): void; + + /** + * Asserts that object is sealed (can have new properties added to it + * and its existing properties cannot be removed). + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + isSealed(object: T, message?: string): void; + + /** + * Asserts that object is sealed (can have new properties added to it + * and its existing properties cannot be removed). + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + sealed(object: T, message?: string): void; + + /** + * Asserts that object is not sealed. + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + isNotSealed(object: T, message?: string): void; + + /** + * Asserts that object is not sealed. + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + notSealed(object: T, message?: string): void; + + /** + * Asserts that object is frozen (cannot have new properties added to it + * and its existing properties cannot be removed). + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + isFrozen(object: T, message?: string): void; + + /** + * Asserts that object is frozen (cannot have new properties added to it + * and its existing properties cannot be removed). + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + frozen(object: T, message?: string): void; + + /** + * Asserts that object is not frozen (cannot have new properties added to it + * and its existing properties cannot be removed). + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + isNotFrozen(object: T, message?: string): void; + + /** + * Asserts that object is not frozen (cannot have new properties added to it + * and its existing properties cannot be removed). + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + notFrozen(object: T, message?: string): void; + + /** + * Asserts that the target does not contain any values. For arrays and + * strings, it checks the length property. For Map and Set instances, it + * checks the size property. For non-function objects, it gets the count + * of own enumerable string keys. + * + * T Type of object + * @param object Actual value. + * @param message Message to display on error. + */ + isEmpty(object: T, message?: string): void; + + /** + * Asserts that the target contains values. For arrays and strings, it checks + * the length property. For Map and Set instances, it checks the size property. + * For non-function objects, it gets the count of own enumerable string keys. + * + * T Type of object. + * @param object Object to test. + * @param message Message to display on error. + */ + isNotEmpty(object: T, message?: string): void; + + /** + * Asserts that `object` has at least one of the `keys` provided. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + hasAnyKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; + + /** + * Asserts that `object` has all and only all of the `keys` provided. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + hasAllKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; + + /** + * Asserts that `object` has all of the `keys` provided but may have more keys not listed. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + containsAllKeys( + object: T, + keys: Array | { [key: string]: any }, + message?: string, + ): void; + + /** + * Asserts that `object` has none of the `keys` provided. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + doesNotHaveAnyKeys( + object: T, + keys: Array | { [key: string]: any }, + message?: string, + ): void; + + /** + * Asserts that `object` does not have at least one of the `keys` provided. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + doesNotHaveAllKeys( + object: T, + keys: Array | { [key: string]: any }, + message?: string, + ): void; + + /** + * Asserts that `object` has at least one of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + hasAnyDeepKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; + + /** + * Asserts that `object` has all and only all of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + hasAllDeepKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; + + /** + * Asserts that `object` contains all of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + containsAllDeepKeys( + object: T, + keys: Array | { [key: string]: any }, + message?: string, + ): void; + + /** + * Asserts that `object` contains all of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + doesNotHaveAnyDeepKeys( + object: T, + keys: Array | { [key: string]: any }, + message?: string, + ): void; + + /** + * Asserts that `object` contains all of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * T Type of object. + * @param object Object to test. + * @param keys Keys to check + * @param message Message to display on error. + */ + doesNotHaveAllDeepKeys( + object: T, + keys: Array | { [key: string]: any }, + message?: string, + ): void; + + /** + * Asserts that object has a direct or inherited property named by property, + * which can be a string using dot- and bracket-notation for nested reference. + * + * T Type of object. + * @param object Object to test. + * @param property Property to test. + * @param message Message to display on error. + */ + nestedProperty(object: T, property: string, message?: string): void; + + /** + * Asserts that object does not have a property named by property, + * which can be a string using dot- and bracket-notation for nested reference. + * The property cannot exist on the object nor anywhere in its prototype chain. + * + * T Type of object. + * @param object Object to test. + * @param property Property to test. + * @param message Message to display on error. + */ + notNestedProperty(object: T, property: string, message?: string): void; + + /** + * Asserts that object has a property named by property with value given by value. + * property can use dot- and bracket-notation for nested reference. Uses a strict equality check (===). + * + * T Type of object. + * @param object Object to test. + * @param property Property to test. + * @param value Value to test. + * @param message Message to display on error. + */ + nestedPropertyVal(object: T, property: string, value: any, message?: string): void; + + /** + * Asserts that object does not have a property named by property with value given by value. + * property can use dot- and bracket-notation for nested reference. Uses a strict equality check (===). + * + * T Type of object. + * @param object Object to test. + * @param property Property to test. + * @param value Value to test. + * @param message Message to display on error. + */ + notNestedPropertyVal(object: T, property: string, value: any, message?: string): void; + + /** + * Asserts that object has a property named by property with a value given by value. + * property can use dot- and bracket-notation for nested reference. Uses a deep equality check. + * + * T Type of object. + * @param object Object to test. + * @param property Property to test. + * @param value Value to test. + * @param message Message to display on error. + */ + deepNestedPropertyVal(object: T, property: string, value: any, message?: string): void; + + /** + * Asserts that object does not have a property named by property with value given by value. + * property can use dot- and bracket-notation for nested reference. Uses a deep equality check. + * + * T Type of object. + * @param object Object to test. + * @param property Property to test. + * @param value Value to test. + * @param message Message to display on error. + */ + notDeepNestedPropertyVal(object: T, property: string, value: any, message?: string): void; + } + + export interface Config { + /** + * Default: false + */ + includeStack: boolean; + + /** + * Default: true + */ + showDiff: boolean; + + /** + * Default: 40 + */ + truncateThreshold: number; + + /** + * Default: true + */ + useProxy: boolean; + + /** + * Default: ['then', 'catch', 'inspect', 'toJSON'] + */ + proxyExcludedKeys: string[]; + + deepEqual: (expected: L, actual: R) => void; + } + + export class AssertionError { + constructor(message: string, _props?: any, ssf?: Function); + name: string; + message: string; + showDiff: boolean; + stack: string; + } + } +} + +export function use(fn: Chai.ChaiPlugin): Chai.ChaiStatic; + +export const util: Chai.ChaiUtils; +export const config: Chai.Config; +export const Assertion: Chai.AssertionStatic; +export function should(): Chai.Should; +export function Should(): Chai.Should; +export const assert: Chai.AssertStatic; +export const expect: Chai.ExpectStatic; diff --git a/node_modules/@types/chai/package.json b/node_modules/@types/chai/package.json new file mode 100644 index 0000000..808d189 --- /dev/null +++ b/node_modules/@types/chai/package.json @@ -0,0 +1,74 @@ +{ + "name": "@types/chai", + "version": "5.2.2", + "description": "TypeScript definitions for chai", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/chai", + "license": "MIT", + "contributors": [ + { + "name": "Bart van der Schoor", + "githubUsername": "Bartvds", + "url": "https://github.com/Bartvds" + }, + { + "name": "Andrew Brown", + "githubUsername": "AGBrown", + "url": "https://github.com/AGBrown" + }, + { + "name": "Olivier Chevet", + "githubUsername": "olivr70", + "url": "https://github.com/olivr70" + }, + { + "name": "Matt Wistrand", + "githubUsername": "mwistrand", + "url": "https://github.com/mwistrand" + }, + { + "name": "Shaun Luttin", + "githubUsername": "shaunluttin", + "url": "https://github.com/shaunluttin" + }, + { + "name": "Satana Charuwichitratana", + "githubUsername": "micksatana", + "url": "https://github.com/micksatana" + }, + { + "name": "Erik Schierboom", + "githubUsername": "ErikSchierboom", + "url": "https://github.com/ErikSchierboom" + }, + { + "name": "Bogdan Paranytsia", + "githubUsername": "bparan", + "url": "https://github.com/bparan" + }, + { + "name": "CXuesong", + "githubUsername": "CXuesong", + "url": "https://github.com/CXuesong" + }, + { + "name": "Joey Kilpatrick", + "githubUsername": "joeykilpatrick", + "url": "https://github.com/joeykilpatrick" + } + ], + "type": "module", + "main": "", + "types": "index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/chai" + }, + "scripts": {}, + "dependencies": { + "@types/deep-eql": "*" + }, + "peerDependencies": {}, + "typesPublisherContentHash": "174d4205d8ad5de1f59dc1f4c1ca29f9ec7d12d905cd5eb02cd537b1e90e8a74", + "typeScriptVersion": "5.1" +} \ No newline at end of file diff --git a/node_modules/@types/chai/register-should.d.ts b/node_modules/@types/chai/register-should.d.ts new file mode 100644 index 0000000..1e14f93 --- /dev/null +++ b/node_modules/@types/chai/register-should.d.ts @@ -0,0 +1,7 @@ +declare global { + interface Object { + should: Chai.Assertion; + } +} + +export {}; diff --git a/node_modules/@types/deep-eql/LICENSE b/node_modules/@types/deep-eql/LICENSE new file mode 100644 index 0000000..9e841e7 --- /dev/null +++ b/node_modules/@types/deep-eql/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/node_modules/@types/deep-eql/README.md b/node_modules/@types/deep-eql/README.md new file mode 100644 index 0000000..48d96fc --- /dev/null +++ b/node_modules/@types/deep-eql/README.md @@ -0,0 +1,57 @@ +# Installation +> `npm install --save @types/deep-eql` + +# Summary +This package contains type definitions for deep-eql (https://github.com/chaijs/deep-eql). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/deep-eql. +## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/deep-eql/index.d.ts) +````ts +declare namespace deepEqual { + /** + * Memoization class used to speed up comparison. + */ + class MemoizeMap extends WeakMap {} + + interface DeepEqualOptions { + /** + * Override default algorithm, determining custom equality. + */ + comparator?: (leftHandOperand: T1, rightHandOperand: T2) => boolean | null; + + /** + * Provide a custom memoization object which will cache the results of + * complex objects for a speed boost. + * + * By passing `false` you can disable memoization, but this will cause circular + * references to blow the stack. + */ + memoize?: MemoizeMap | false; + } +} + +/** + * Assert deeply nested sameValue equality between two objects of any type. + * + * @param leftHandOperand + * @param rightHandOperand + * @param [options] Additional options + * @return equal match + */ +declare function deepEqual( + leftHandOperand: T1, + rightHandOperand: T2, + options?: deepEqual.DeepEqualOptions, +): boolean; + +export = deepEqual; + +```` + +### Additional Details + * Last updated: Mon, 06 Nov 2023 22:41:05 GMT + * Dependencies: none + +# Credits +These definitions were written by [Rodrigo Pietnechuk](https://github.com/ghnoob). diff --git a/node_modules/@types/deep-eql/index.d.ts b/node_modules/@types/deep-eql/index.d.ts new file mode 100644 index 0000000..0cdbefe --- /dev/null +++ b/node_modules/@types/deep-eql/index.d.ts @@ -0,0 +1,38 @@ +declare namespace deepEqual { + /** + * Memoization class used to speed up comparison. + */ + class MemoizeMap extends WeakMap {} + + interface DeepEqualOptions { + /** + * Override default algorithm, determining custom equality. + */ + comparator?: (leftHandOperand: T1, rightHandOperand: T2) => boolean | null; + + /** + * Provide a custom memoization object which will cache the results of + * complex objects for a speed boost. + * + * By passing `false` you can disable memoization, but this will cause circular + * references to blow the stack. + */ + memoize?: MemoizeMap | false; + } +} + +/** + * Assert deeply nested sameValue equality between two objects of any type. + * + * @param leftHandOperand + * @param rightHandOperand + * @param [options] Additional options + * @return equal match + */ +declare function deepEqual( + leftHandOperand: T1, + rightHandOperand: T2, + options?: deepEqual.DeepEqualOptions, +): boolean; + +export = deepEqual; diff --git a/node_modules/@types/deep-eql/package.json b/node_modules/@types/deep-eql/package.json new file mode 100644 index 0000000..8761581 --- /dev/null +++ b/node_modules/@types/deep-eql/package.json @@ -0,0 +1,25 @@ +{ + "name": "@types/deep-eql", + "version": "4.0.2", + "description": "TypeScript definitions for deep-eql", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/deep-eql", + "license": "MIT", + "contributors": [ + { + "name": "Rodrigo Pietnechuk", + "githubUsername": "ghnoob", + "url": "https://github.com/ghnoob" + } + ], + "main": "", + "types": "index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/deep-eql" + }, + "scripts": {}, + "dependencies": {}, + "typesPublisherContentHash": "3b8981ce557947fc00ca08cbd93b4206bfc0943360956867381a0a3f6b1eabf5", + "typeScriptVersion": "4.5" +} \ No newline at end of file diff --git a/node_modules/@types/estree/LICENSE b/node_modules/@types/estree/LICENSE new file mode 100644 index 0000000..9e841e7 --- /dev/null +++ b/node_modules/@types/estree/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/node_modules/@types/estree/README.md b/node_modules/@types/estree/README.md new file mode 100644 index 0000000..2af760b --- /dev/null +++ b/node_modules/@types/estree/README.md @@ -0,0 +1,15 @@ +# Installation +> `npm install --save @types/estree` + +# Summary +This package contains type definitions for estree (https://github.com/estree/estree). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree. + +### Additional Details + * Last updated: Fri, 06 Jun 2025 00:04:33 GMT + * Dependencies: none + +# Credits +These definitions were written by [RReverser](https://github.com/RReverser). diff --git a/node_modules/@types/estree/flow.d.ts b/node_modules/@types/estree/flow.d.ts new file mode 100644 index 0000000..9d001a9 --- /dev/null +++ b/node_modules/@types/estree/flow.d.ts @@ -0,0 +1,167 @@ +declare namespace ESTree { + interface FlowTypeAnnotation extends Node {} + + interface FlowBaseTypeAnnotation extends FlowTypeAnnotation {} + + interface FlowLiteralTypeAnnotation extends FlowTypeAnnotation, Literal {} + + interface FlowDeclaration extends Declaration {} + + interface AnyTypeAnnotation extends FlowBaseTypeAnnotation {} + + interface ArrayTypeAnnotation extends FlowTypeAnnotation { + elementType: FlowTypeAnnotation; + } + + interface BooleanLiteralTypeAnnotation extends FlowLiteralTypeAnnotation {} + + interface BooleanTypeAnnotation extends FlowBaseTypeAnnotation {} + + interface ClassImplements extends Node { + id: Identifier; + typeParameters?: TypeParameterInstantiation | null; + } + + interface ClassProperty { + key: Expression; + value?: Expression | null; + typeAnnotation?: TypeAnnotation | null; + computed: boolean; + static: boolean; + } + + interface DeclareClass extends FlowDeclaration { + id: Identifier; + typeParameters?: TypeParameterDeclaration | null; + body: ObjectTypeAnnotation; + extends: InterfaceExtends[]; + } + + interface DeclareFunction extends FlowDeclaration { + id: Identifier; + } + + interface DeclareModule extends FlowDeclaration { + id: Literal | Identifier; + body: BlockStatement; + } + + interface DeclareVariable extends FlowDeclaration { + id: Identifier; + } + + interface FunctionTypeAnnotation extends FlowTypeAnnotation { + params: FunctionTypeParam[]; + returnType: FlowTypeAnnotation; + rest?: FunctionTypeParam | null; + typeParameters?: TypeParameterDeclaration | null; + } + + interface FunctionTypeParam { + name: Identifier; + typeAnnotation: FlowTypeAnnotation; + optional: boolean; + } + + interface GenericTypeAnnotation extends FlowTypeAnnotation { + id: Identifier | QualifiedTypeIdentifier; + typeParameters?: TypeParameterInstantiation | null; + } + + interface InterfaceExtends extends Node { + id: Identifier | QualifiedTypeIdentifier; + typeParameters?: TypeParameterInstantiation | null; + } + + interface InterfaceDeclaration extends FlowDeclaration { + id: Identifier; + typeParameters?: TypeParameterDeclaration | null; + extends: InterfaceExtends[]; + body: ObjectTypeAnnotation; + } + + interface IntersectionTypeAnnotation extends FlowTypeAnnotation { + types: FlowTypeAnnotation[]; + } + + interface MixedTypeAnnotation extends FlowBaseTypeAnnotation {} + + interface NullableTypeAnnotation extends FlowTypeAnnotation { + typeAnnotation: TypeAnnotation; + } + + interface NumberLiteralTypeAnnotation extends FlowLiteralTypeAnnotation {} + + interface NumberTypeAnnotation extends FlowBaseTypeAnnotation {} + + interface StringLiteralTypeAnnotation extends FlowLiteralTypeAnnotation {} + + interface StringTypeAnnotation extends FlowBaseTypeAnnotation {} + + interface TupleTypeAnnotation extends FlowTypeAnnotation { + types: FlowTypeAnnotation[]; + } + + interface TypeofTypeAnnotation extends FlowTypeAnnotation { + argument: FlowTypeAnnotation; + } + + interface TypeAlias extends FlowDeclaration { + id: Identifier; + typeParameters?: TypeParameterDeclaration | null; + right: FlowTypeAnnotation; + } + + interface TypeAnnotation extends Node { + typeAnnotation: FlowTypeAnnotation; + } + + interface TypeCastExpression extends Expression { + expression: Expression; + typeAnnotation: TypeAnnotation; + } + + interface TypeParameterDeclaration extends Node { + params: Identifier[]; + } + + interface TypeParameterInstantiation extends Node { + params: FlowTypeAnnotation[]; + } + + interface ObjectTypeAnnotation extends FlowTypeAnnotation { + properties: ObjectTypeProperty[]; + indexers: ObjectTypeIndexer[]; + callProperties: ObjectTypeCallProperty[]; + } + + interface ObjectTypeCallProperty extends Node { + value: FunctionTypeAnnotation; + static: boolean; + } + + interface ObjectTypeIndexer extends Node { + id: Identifier; + key: FlowTypeAnnotation; + value: FlowTypeAnnotation; + static: boolean; + } + + interface ObjectTypeProperty extends Node { + key: Expression; + value: FlowTypeAnnotation; + optional: boolean; + static: boolean; + } + + interface QualifiedTypeIdentifier extends Node { + qualification: Identifier | QualifiedTypeIdentifier; + id: Identifier; + } + + interface UnionTypeAnnotation extends FlowTypeAnnotation { + types: FlowTypeAnnotation[]; + } + + interface VoidTypeAnnotation extends FlowBaseTypeAnnotation {} +} diff --git a/node_modules/@types/estree/index.d.ts b/node_modules/@types/estree/index.d.ts new file mode 100644 index 0000000..2bc66fb --- /dev/null +++ b/node_modules/@types/estree/index.d.ts @@ -0,0 +1,694 @@ +// This definition file follows a somewhat unusual format. ESTree allows +// runtime type checks based on the `type` parameter. In order to explain this +// to typescript we want to use discriminated union types: +// https://github.com/Microsoft/TypeScript/pull/9163 +// +// For ESTree this is a bit tricky because the high level interfaces like +// Node or Function are pulling double duty. We want to pass common fields down +// to the interfaces that extend them (like Identifier or +// ArrowFunctionExpression), but you can't extend a type union or enforce +// common fields on them. So we've split the high level interfaces into two +// types, a base type which passes down inherited fields, and a type union of +// all types which extend the base type. Only the type union is exported, and +// the union is how other types refer to the collection of inheriting types. +// +// This makes the definitions file here somewhat more difficult to maintain, +// but it has the notable advantage of making ESTree much easier to use as +// an end user. + +export interface BaseNodeWithoutComments { + // Every leaf interface that extends BaseNode must specify a type property. + // The type property should be a string literal. For example, Identifier + // has: `type: "Identifier"` + type: string; + loc?: SourceLocation | null | undefined; + range?: [number, number] | undefined; +} + +export interface BaseNode extends BaseNodeWithoutComments { + leadingComments?: Comment[] | undefined; + trailingComments?: Comment[] | undefined; +} + +export interface NodeMap { + AssignmentProperty: AssignmentProperty; + CatchClause: CatchClause; + Class: Class; + ClassBody: ClassBody; + Expression: Expression; + Function: Function; + Identifier: Identifier; + Literal: Literal; + MethodDefinition: MethodDefinition; + ModuleDeclaration: ModuleDeclaration; + ModuleSpecifier: ModuleSpecifier; + Pattern: Pattern; + PrivateIdentifier: PrivateIdentifier; + Program: Program; + Property: Property; + PropertyDefinition: PropertyDefinition; + SpreadElement: SpreadElement; + Statement: Statement; + Super: Super; + SwitchCase: SwitchCase; + TemplateElement: TemplateElement; + VariableDeclarator: VariableDeclarator; +} + +export type Node = NodeMap[keyof NodeMap]; + +export interface Comment extends BaseNodeWithoutComments { + type: "Line" | "Block"; + value: string; +} + +export interface SourceLocation { + source?: string | null | undefined; + start: Position; + end: Position; +} + +export interface Position { + /** >= 1 */ + line: number; + /** >= 0 */ + column: number; +} + +export interface Program extends BaseNode { + type: "Program"; + sourceType: "script" | "module"; + body: Array; + comments?: Comment[] | undefined; +} + +export interface Directive extends BaseNode { + type: "ExpressionStatement"; + expression: Literal; + directive: string; +} + +export interface BaseFunction extends BaseNode { + params: Pattern[]; + generator?: boolean | undefined; + async?: boolean | undefined; + // The body is either BlockStatement or Expression because arrow functions + // can have a body that's either. FunctionDeclarations and + // FunctionExpressions have only BlockStatement bodies. + body: BlockStatement | Expression; +} + +export type Function = FunctionDeclaration | FunctionExpression | ArrowFunctionExpression; + +export type Statement = + | ExpressionStatement + | BlockStatement + | StaticBlock + | EmptyStatement + | DebuggerStatement + | WithStatement + | ReturnStatement + | LabeledStatement + | BreakStatement + | ContinueStatement + | IfStatement + | SwitchStatement + | ThrowStatement + | TryStatement + | WhileStatement + | DoWhileStatement + | ForStatement + | ForInStatement + | ForOfStatement + | Declaration; + +export interface BaseStatement extends BaseNode {} + +export interface EmptyStatement extends BaseStatement { + type: "EmptyStatement"; +} + +export interface BlockStatement extends BaseStatement { + type: "BlockStatement"; + body: Statement[]; + innerComments?: Comment[] | undefined; +} + +export interface StaticBlock extends Omit { + type: "StaticBlock"; +} + +export interface ExpressionStatement extends BaseStatement { + type: "ExpressionStatement"; + expression: Expression; +} + +export interface IfStatement extends BaseStatement { + type: "IfStatement"; + test: Expression; + consequent: Statement; + alternate?: Statement | null | undefined; +} + +export interface LabeledStatement extends BaseStatement { + type: "LabeledStatement"; + label: Identifier; + body: Statement; +} + +export interface BreakStatement extends BaseStatement { + type: "BreakStatement"; + label?: Identifier | null | undefined; +} + +export interface ContinueStatement extends BaseStatement { + type: "ContinueStatement"; + label?: Identifier | null | undefined; +} + +export interface WithStatement extends BaseStatement { + type: "WithStatement"; + object: Expression; + body: Statement; +} + +export interface SwitchStatement extends BaseStatement { + type: "SwitchStatement"; + discriminant: Expression; + cases: SwitchCase[]; +} + +export interface ReturnStatement extends BaseStatement { + type: "ReturnStatement"; + argument?: Expression | null | undefined; +} + +export interface ThrowStatement extends BaseStatement { + type: "ThrowStatement"; + argument: Expression; +} + +export interface TryStatement extends BaseStatement { + type: "TryStatement"; + block: BlockStatement; + handler?: CatchClause | null | undefined; + finalizer?: BlockStatement | null | undefined; +} + +export interface WhileStatement extends BaseStatement { + type: "WhileStatement"; + test: Expression; + body: Statement; +} + +export interface DoWhileStatement extends BaseStatement { + type: "DoWhileStatement"; + body: Statement; + test: Expression; +} + +export interface ForStatement extends BaseStatement { + type: "ForStatement"; + init?: VariableDeclaration | Expression | null | undefined; + test?: Expression | null | undefined; + update?: Expression | null | undefined; + body: Statement; +} + +export interface BaseForXStatement extends BaseStatement { + left: VariableDeclaration | Pattern; + right: Expression; + body: Statement; +} + +export interface ForInStatement extends BaseForXStatement { + type: "ForInStatement"; +} + +export interface DebuggerStatement extends BaseStatement { + type: "DebuggerStatement"; +} + +export type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration; + +export interface BaseDeclaration extends BaseStatement {} + +export interface MaybeNamedFunctionDeclaration extends BaseFunction, BaseDeclaration { + type: "FunctionDeclaration"; + /** It is null when a function declaration is a part of the `export default function` statement */ + id: Identifier | null; + body: BlockStatement; +} + +export interface FunctionDeclaration extends MaybeNamedFunctionDeclaration { + id: Identifier; +} + +export interface VariableDeclaration extends BaseDeclaration { + type: "VariableDeclaration"; + declarations: VariableDeclarator[]; + kind: "var" | "let" | "const" | "using" | "await using"; +} + +export interface VariableDeclarator extends BaseNode { + type: "VariableDeclarator"; + id: Pattern; + init?: Expression | null | undefined; +} + +export interface ExpressionMap { + ArrayExpression: ArrayExpression; + ArrowFunctionExpression: ArrowFunctionExpression; + AssignmentExpression: AssignmentExpression; + AwaitExpression: AwaitExpression; + BinaryExpression: BinaryExpression; + CallExpression: CallExpression; + ChainExpression: ChainExpression; + ClassExpression: ClassExpression; + ConditionalExpression: ConditionalExpression; + FunctionExpression: FunctionExpression; + Identifier: Identifier; + ImportExpression: ImportExpression; + Literal: Literal; + LogicalExpression: LogicalExpression; + MemberExpression: MemberExpression; + MetaProperty: MetaProperty; + NewExpression: NewExpression; + ObjectExpression: ObjectExpression; + SequenceExpression: SequenceExpression; + TaggedTemplateExpression: TaggedTemplateExpression; + TemplateLiteral: TemplateLiteral; + ThisExpression: ThisExpression; + UnaryExpression: UnaryExpression; + UpdateExpression: UpdateExpression; + YieldExpression: YieldExpression; +} + +export type Expression = ExpressionMap[keyof ExpressionMap]; + +export interface BaseExpression extends BaseNode {} + +export type ChainElement = SimpleCallExpression | MemberExpression; + +export interface ChainExpression extends BaseExpression { + type: "ChainExpression"; + expression: ChainElement; +} + +export interface ThisExpression extends BaseExpression { + type: "ThisExpression"; +} + +export interface ArrayExpression extends BaseExpression { + type: "ArrayExpression"; + elements: Array; +} + +export interface ObjectExpression extends BaseExpression { + type: "ObjectExpression"; + properties: Array; +} + +export interface PrivateIdentifier extends BaseNode { + type: "PrivateIdentifier"; + name: string; +} + +export interface Property extends BaseNode { + type: "Property"; + key: Expression | PrivateIdentifier; + value: Expression | Pattern; // Could be an AssignmentProperty + kind: "init" | "get" | "set"; + method: boolean; + shorthand: boolean; + computed: boolean; +} + +export interface PropertyDefinition extends BaseNode { + type: "PropertyDefinition"; + key: Expression | PrivateIdentifier; + value?: Expression | null | undefined; + computed: boolean; + static: boolean; +} + +export interface FunctionExpression extends BaseFunction, BaseExpression { + id?: Identifier | null | undefined; + type: "FunctionExpression"; + body: BlockStatement; +} + +export interface SequenceExpression extends BaseExpression { + type: "SequenceExpression"; + expressions: Expression[]; +} + +export interface UnaryExpression extends BaseExpression { + type: "UnaryExpression"; + operator: UnaryOperator; + prefix: true; + argument: Expression; +} + +export interface BinaryExpression extends BaseExpression { + type: "BinaryExpression"; + operator: BinaryOperator; + left: Expression | PrivateIdentifier; + right: Expression; +} + +export interface AssignmentExpression extends BaseExpression { + type: "AssignmentExpression"; + operator: AssignmentOperator; + left: Pattern | MemberExpression; + right: Expression; +} + +export interface UpdateExpression extends BaseExpression { + type: "UpdateExpression"; + operator: UpdateOperator; + argument: Expression; + prefix: boolean; +} + +export interface LogicalExpression extends BaseExpression { + type: "LogicalExpression"; + operator: LogicalOperator; + left: Expression; + right: Expression; +} + +export interface ConditionalExpression extends BaseExpression { + type: "ConditionalExpression"; + test: Expression; + alternate: Expression; + consequent: Expression; +} + +export interface BaseCallExpression extends BaseExpression { + callee: Expression | Super; + arguments: Array; +} +export type CallExpression = SimpleCallExpression | NewExpression; + +export interface SimpleCallExpression extends BaseCallExpression { + type: "CallExpression"; + optional: boolean; +} + +export interface NewExpression extends BaseCallExpression { + type: "NewExpression"; +} + +export interface MemberExpression extends BaseExpression, BasePattern { + type: "MemberExpression"; + object: Expression | Super; + property: Expression | PrivateIdentifier; + computed: boolean; + optional: boolean; +} + +export type Pattern = Identifier | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | MemberExpression; + +export interface BasePattern extends BaseNode {} + +export interface SwitchCase extends BaseNode { + type: "SwitchCase"; + test?: Expression | null | undefined; + consequent: Statement[]; +} + +export interface CatchClause extends BaseNode { + type: "CatchClause"; + param: Pattern | null; + body: BlockStatement; +} + +export interface Identifier extends BaseNode, BaseExpression, BasePattern { + type: "Identifier"; + name: string; +} + +export type Literal = SimpleLiteral | RegExpLiteral | BigIntLiteral; + +export interface SimpleLiteral extends BaseNode, BaseExpression { + type: "Literal"; + value: string | boolean | number | null; + raw?: string | undefined; +} + +export interface RegExpLiteral extends BaseNode, BaseExpression { + type: "Literal"; + value?: RegExp | null | undefined; + regex: { + pattern: string; + flags: string; + }; + raw?: string | undefined; +} + +export interface BigIntLiteral extends BaseNode, BaseExpression { + type: "Literal"; + value?: bigint | null | undefined; + bigint: string; + raw?: string | undefined; +} + +export type UnaryOperator = "-" | "+" | "!" | "~" | "typeof" | "void" | "delete"; + +export type BinaryOperator = + | "==" + | "!=" + | "===" + | "!==" + | "<" + | "<=" + | ">" + | ">=" + | "<<" + | ">>" + | ">>>" + | "+" + | "-" + | "*" + | "/" + | "%" + | "**" + | "|" + | "^" + | "&" + | "in" + | "instanceof"; + +export type LogicalOperator = "||" | "&&" | "??"; + +export type AssignmentOperator = + | "=" + | "+=" + | "-=" + | "*=" + | "/=" + | "%=" + | "**=" + | "<<=" + | ">>=" + | ">>>=" + | "|=" + | "^=" + | "&=" + | "||=" + | "&&=" + | "??="; + +export type UpdateOperator = "++" | "--"; + +export interface ForOfStatement extends BaseForXStatement { + type: "ForOfStatement"; + await: boolean; +} + +export interface Super extends BaseNode { + type: "Super"; +} + +export interface SpreadElement extends BaseNode { + type: "SpreadElement"; + argument: Expression; +} + +export interface ArrowFunctionExpression extends BaseExpression, BaseFunction { + type: "ArrowFunctionExpression"; + expression: boolean; + body: BlockStatement | Expression; +} + +export interface YieldExpression extends BaseExpression { + type: "YieldExpression"; + argument?: Expression | null | undefined; + delegate: boolean; +} + +export interface TemplateLiteral extends BaseExpression { + type: "TemplateLiteral"; + quasis: TemplateElement[]; + expressions: Expression[]; +} + +export interface TaggedTemplateExpression extends BaseExpression { + type: "TaggedTemplateExpression"; + tag: Expression; + quasi: TemplateLiteral; +} + +export interface TemplateElement extends BaseNode { + type: "TemplateElement"; + tail: boolean; + value: { + /** It is null when the template literal is tagged and the text has an invalid escape (e.g. - tag`\unicode and \u{55}`) */ + cooked?: string | null | undefined; + raw: string; + }; +} + +export interface AssignmentProperty extends Property { + value: Pattern; + kind: "init"; + method: boolean; // false +} + +export interface ObjectPattern extends BasePattern { + type: "ObjectPattern"; + properties: Array; +} + +export interface ArrayPattern extends BasePattern { + type: "ArrayPattern"; + elements: Array; +} + +export interface RestElement extends BasePattern { + type: "RestElement"; + argument: Pattern; +} + +export interface AssignmentPattern extends BasePattern { + type: "AssignmentPattern"; + left: Pattern; + right: Expression; +} + +export type Class = ClassDeclaration | ClassExpression; +export interface BaseClass extends BaseNode { + superClass?: Expression | null | undefined; + body: ClassBody; +} + +export interface ClassBody extends BaseNode { + type: "ClassBody"; + body: Array; +} + +export interface MethodDefinition extends BaseNode { + type: "MethodDefinition"; + key: Expression | PrivateIdentifier; + value: FunctionExpression; + kind: "constructor" | "method" | "get" | "set"; + computed: boolean; + static: boolean; +} + +export interface MaybeNamedClassDeclaration extends BaseClass, BaseDeclaration { + type: "ClassDeclaration"; + /** It is null when a class declaration is a part of the `export default class` statement */ + id: Identifier | null; +} + +export interface ClassDeclaration extends MaybeNamedClassDeclaration { + id: Identifier; +} + +export interface ClassExpression extends BaseClass, BaseExpression { + type: "ClassExpression"; + id?: Identifier | null | undefined; +} + +export interface MetaProperty extends BaseExpression { + type: "MetaProperty"; + meta: Identifier; + property: Identifier; +} + +export type ModuleDeclaration = + | ImportDeclaration + | ExportNamedDeclaration + | ExportDefaultDeclaration + | ExportAllDeclaration; +export interface BaseModuleDeclaration extends BaseNode {} + +export type ModuleSpecifier = ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier; +export interface BaseModuleSpecifier extends BaseNode { + local: Identifier; +} + +export interface ImportDeclaration extends BaseModuleDeclaration { + type: "ImportDeclaration"; + specifiers: Array; + attributes: ImportAttribute[]; + source: Literal; +} + +export interface ImportSpecifier extends BaseModuleSpecifier { + type: "ImportSpecifier"; + imported: Identifier | Literal; +} + +export interface ImportAttribute extends BaseNode { + type: "ImportAttribute"; + key: Identifier | Literal; + value: Literal; +} + +export interface ImportExpression extends BaseExpression { + type: "ImportExpression"; + source: Expression; + options?: Expression | null | undefined; +} + +export interface ImportDefaultSpecifier extends BaseModuleSpecifier { + type: "ImportDefaultSpecifier"; +} + +export interface ImportNamespaceSpecifier extends BaseModuleSpecifier { + type: "ImportNamespaceSpecifier"; +} + +export interface ExportNamedDeclaration extends BaseModuleDeclaration { + type: "ExportNamedDeclaration"; + declaration?: Declaration | null | undefined; + specifiers: ExportSpecifier[]; + attributes: ImportAttribute[]; + source?: Literal | null | undefined; +} + +export interface ExportSpecifier extends Omit { + type: "ExportSpecifier"; + local: Identifier | Literal; + exported: Identifier | Literal; +} + +export interface ExportDefaultDeclaration extends BaseModuleDeclaration { + type: "ExportDefaultDeclaration"; + declaration: MaybeNamedFunctionDeclaration | MaybeNamedClassDeclaration | Expression; +} + +export interface ExportAllDeclaration extends BaseModuleDeclaration { + type: "ExportAllDeclaration"; + exported: Identifier | Literal | null; + attributes: ImportAttribute[]; + source: Literal; +} + +export interface AwaitExpression extends BaseExpression { + type: "AwaitExpression"; + argument: Expression; +} diff --git a/node_modules/@types/estree/package.json b/node_modules/@types/estree/package.json new file mode 100644 index 0000000..68c0782 --- /dev/null +++ b/node_modules/@types/estree/package.json @@ -0,0 +1,27 @@ +{ + "name": "@types/estree", + "version": "1.0.8", + "description": "TypeScript definitions for estree", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree", + "license": "MIT", + "contributors": [ + { + "name": "RReverser", + "githubUsername": "RReverser", + "url": "https://github.com/RReverser" + } + ], + "main": "", + "types": "index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/estree" + }, + "scripts": {}, + "dependencies": {}, + "peerDependencies": {}, + "typesPublisherContentHash": "7a167b6e4a4d9f6e9a2cb9fd3fc45c885f89cbdeb44b3e5961bb057a45c082fd", + "typeScriptVersion": "5.1", + "nonNpm": true +} \ No newline at end of file diff --git a/node_modules/@vitest/expect/LICENSE b/node_modules/@vitest/expect/LICENSE new file mode 100644 index 0000000..5ae481f --- /dev/null +++ b/node_modules/@vitest/expect/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-Present Vitest Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@vitest/expect/README.md b/node_modules/@vitest/expect/README.md new file mode 100644 index 0000000..4d7143b --- /dev/null +++ b/node_modules/@vitest/expect/README.md @@ -0,0 +1,21 @@ +# @vitest/expect + +Jest's expect matchers as a Chai plugin. + +## Usage + +```js +import { + JestAsymmetricMatchers, + JestChaiExpect, + JestExtend, +} from '@vitest/expect' +import * as chai from 'chai' + +// allows using expect.extend instead of chai.use to extend plugins +chai.use(JestExtend) +// adds all jest matchers to expect +chai.use(JestChaiExpect) +// adds asymmetric matchers like stringContaining, objectContaining +chai.use(JestAsymmetricMatchers) +``` diff --git a/node_modules/@vitest/expect/dist/index.d.ts b/node_modules/@vitest/expect/dist/index.d.ts new file mode 100644 index 0000000..4f93e89 --- /dev/null +++ b/node_modules/@vitest/expect/dist/index.d.ts @@ -0,0 +1,808 @@ +import { MockInstance } from '@vitest/spy'; +import { stringify, Constructable } from '@vitest/utils'; +import { Formatter } from 'tinyrainbow'; +import { diff, printDiffOrStringify } from '@vitest/utils/diff'; +export { DiffOptions } from '@vitest/utils/diff'; + +declare const MATCHERS_OBJECT: unique symbol; +declare const JEST_MATCHERS_OBJECT: unique symbol; +declare const GLOBAL_EXPECT: unique symbol; +declare const ASYMMETRIC_MATCHERS_OBJECT: unique symbol; + +/* eslint-disable unicorn/no-instanceof-builtins -- we check both */ + +interface AsymmetricMatcherInterface { + asymmetricMatch: (other: unknown) => boolean; + toString: () => string; + getExpectedType?: () => string; + toAsymmetricMatcher?: () => string; +} +declare abstract class AsymmetricMatcher< + T, + State extends MatcherState = MatcherState +> implements AsymmetricMatcherInterface { + protected sample: T; + protected inverse: boolean; + // should have "jest" to be compatible with its ecosystem + $$typeof: symbol; + constructor(sample: T, inverse?: boolean); + protected getMatcherContext(expect?: Chai.ExpectStatic): State; + abstract asymmetricMatch(other: unknown): boolean; + abstract toString(): string; + getExpectedType?(): string; + toAsymmetricMatcher?(): string; +} +declare class StringContaining extends AsymmetricMatcher { + constructor(sample: string, inverse?: boolean); + asymmetricMatch(other: string): boolean; + toString(): string; + getExpectedType(): string; +} +declare class Anything extends AsymmetricMatcher { + asymmetricMatch(other: unknown): boolean; + toString(): string; + toAsymmetricMatcher(): string; +} +declare class ObjectContaining extends AsymmetricMatcher> { + constructor(sample: Record, inverse?: boolean); + getPrototype(obj: object): any; + hasProperty(obj: object | null, property: string): boolean; + asymmetricMatch(other: any): boolean; + toString(): string; + getExpectedType(): string; +} +declare class ArrayContaining extends AsymmetricMatcher> { + constructor(sample: Array, inverse?: boolean); + asymmetricMatch(other: Array): boolean; + toString(): string; + getExpectedType(): string; +} +declare class Any extends AsymmetricMatcher { + constructor(sample: unknown); + fnNameFor(func: Function): string; + asymmetricMatch(other: unknown): boolean; + toString(): string; + getExpectedType(): string; + toAsymmetricMatcher(): string; +} +declare class StringMatching extends AsymmetricMatcher { + constructor(sample: string | RegExp, inverse?: boolean); + asymmetricMatch(other: string): boolean; + toString(): string; + getExpectedType(): string; +} +declare const JestAsymmetricMatchers: ChaiPlugin; + +declare function matcherHint(matcherName: string, received?: string, expected?: string, options?: MatcherHintOptions): string; +declare function printReceived(object: unknown): string; +declare function printExpected(value: unknown): string; +declare function getMatcherUtils(): { + EXPECTED_COLOR: Formatter + RECEIVED_COLOR: Formatter + INVERTED_COLOR: Formatter + BOLD_WEIGHT: Formatter + DIM_COLOR: Formatter + diff: typeof diff + matcherHint: typeof matcherHint + printReceived: typeof printReceived + printExpected: typeof printExpected + printDiffOrStringify: typeof printDiffOrStringify + printWithType: typeof printWithType +}; +declare function printWithType(name: string, value: T, print: (value: T) => string): string; +declare function addCustomEqualityTesters(newTesters: Array): void; + +/** +* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +* +*/ + +type ChaiPlugin = Chai.ChaiPlugin; +type Tester = (this: TesterContext, a: any, b: any, customTesters: Array) => boolean | undefined; +interface TesterContext { + equals: (a: unknown, b: unknown, customTesters?: Array, strictCheck?: boolean) => boolean; +} + +interface MatcherHintOptions { + comment?: string; + expectedColor?: Formatter; + isDirectExpectCall?: boolean; + isNot?: boolean; + promise?: string; + receivedColor?: Formatter; + secondArgument?: string; + secondArgumentColor?: Formatter; +} +interface MatcherState { + customTesters: Array; + assertionCalls: number; + currentTestName?: string; + dontThrow?: () => void; + error?: Error; + equals: (a: unknown, b: unknown, customTesters?: Array, strictCheck?: boolean) => boolean; + expand?: boolean; + expectedAssertionsNumber?: number | null; + expectedAssertionsNumberErrorGen?: (() => Error) | null; + isExpectingAssertions?: boolean; + isExpectingAssertionsError?: Error | null; + isNot: boolean; + // environment: VitestEnvironment + promise: string; + // snapshotState: SnapshotState + suppressedErrors: Array; + testPath?: string; + utils: ReturnType & { + diff: typeof diff + stringify: typeof stringify + iterableEquality: Tester + subsetEquality: Tester + }; + soft?: boolean; + poll?: boolean; +} +interface SyncExpectationResult { + pass: boolean; + message: () => string; + actual?: any; + expected?: any; +} +type AsyncExpectationResult = Promise; +type ExpectationResult = SyncExpectationResult | AsyncExpectationResult; +interface RawMatcherFn< + T extends MatcherState = MatcherState, + E extends Array = Array +> { + (this: T, received: any, ...expected: E): ExpectationResult; +} +// Allow unused `T` to preserve its name for extensions. +// Type parameter names must be identical when extending those types. +// eslint-disable-next-line +interface Matchers {} +type MatchersObject = Record> & ThisType & { [K in keyof Matchers]? : RawMatcherFn[K]>> }; +interface ExpectStatic extends Chai.ExpectStatic, Matchers, AsymmetricMatchersContaining { + (actual: T, message?: string): Assertion; + extend: (expects: MatchersObject) => void; + anything: () => any; + any: (constructor: unknown) => any; + getState: () => MatcherState; + setState: (state: Partial) => void; + not: AsymmetricMatchersContaining; +} +interface CustomMatcher { + /** + * Checks that a value satisfies a custom matcher function. + * + * @param matcher - A function returning a boolean based on the custom condition + * @param message - Optional custom error message on failure + * + * @example + * expect(age).toSatisfy(val => val >= 18, 'Age must be at least 18'); + * expect(age).toEqual(expect.toSatisfy(val => val >= 18, 'Age must be at least 18')); + */ + toSatisfy: (matcher: (value: any) => boolean, message?: string) => any; + /** + * Matches if the received value is one of the values in the expected array. + * + * @example + * expect(1).toBeOneOf([1, 2, 3]) + * expect('foo').toBeOneOf([expect.any(String)]) + * expect({ a: 1 }).toEqual({ a: expect.toBeOneOf(['1', '2', '3']) }) + */ + toBeOneOf: (sample: Array) => any; +} +interface AsymmetricMatchersContaining extends CustomMatcher { + /** + * Matches if the received string contains the expected substring. + * + * @example + * expect('I have an apple').toEqual(expect.stringContaining('apple')); + * expect({ a: 'test string' }).toEqual({ a: expect.stringContaining('test') }); + */ + stringContaining: (expected: string) => any; + /** + * Matches if the received object contains all properties of the expected object. + * + * @example + * expect({ a: '1', b: 2 }).toEqual(expect.objectContaining({ a: '1' })) + */ + objectContaining: (expected: DeeplyAllowMatchers) => any; + /** + * Matches if the received array contains all elements in the expected array. + * + * @example + * expect(['a', 'b', 'c']).toEqual(expect.arrayContaining(['b', 'a'])); + */ + arrayContaining: (expected: Array>) => any; + /** + * Matches if the received string or regex matches the expected pattern. + * + * @example + * expect('hello world').toEqual(expect.stringMatching(/^hello/)); + * expect('hello world').toEqual(expect.stringMatching('hello')); + */ + stringMatching: (expected: string | RegExp) => any; + /** + * Matches if the received number is within a certain precision of the expected number. + * + * @param precision - Optional decimal precision for comparison. Default is 2. + * + * @example + * expect(10.45).toEqual(expect.closeTo(10.5, 1)); + * expect(5.11).toEqual(expect.closeTo(5.12)); // with default precision + */ + closeTo: (expected: number, precision?: number) => any; +} +type WithAsymmetricMatcher = T | AsymmetricMatcher; +type DeeplyAllowMatchers = T extends Array ? WithAsymmetricMatcher | DeeplyAllowMatchers[] : T extends object ? WithAsymmetricMatcher | { [K in keyof T] : DeeplyAllowMatchers } : WithAsymmetricMatcher; +interface JestAssertion extends jest.Matchers, CustomMatcher { + /** + * Used when you want to check that two objects have the same value. + * This matcher recursively checks the equality of all fields, rather than checking for object identity. + * + * @example + * expect(user).toEqual({ name: 'Alice', age: 30 }); + */ + toEqual: (expected: E) => void; + /** + * Use to test that objects have the same types as well as structure. + * + * @example + * expect(user).toStrictEqual({ name: 'Alice', age: 30 }); + */ + toStrictEqual: (expected: E) => void; + /** + * Checks that a value is what you expect. It calls `Object.is` to compare values. + * Don't use `toBe` with floating-point numbers. + * + * @example + * expect(result).toBe(42); + * expect(status).toBe(true); + */ + toBe: (expected: E) => void; + /** + * Check that a string matches a regular expression. + * + * @example + * expect(message).toMatch(/hello/); + * expect(greeting).toMatch('world'); + */ + toMatch: (expected: string | RegExp) => void; + /** + * Used to check that a JavaScript object matches a subset of the properties of an object + * + * @example + * expect(user).toMatchObject({ + * name: 'Alice', + * address: { city: 'Wonderland' } + * }); + */ + toMatchObject: (expected: E) => void; + /** + * Used when you want to check that an item is in a list. + * For testing the items in the list, this uses `===`, a strict equality check. + * + * @example + * expect(items).toContain('apple'); + * expect(numbers).toContain(5); + */ + toContain: (item: E) => void; + /** + * Used when you want to check that an item is in a list. + * For testing the items in the list, this matcher recursively checks the + * equality of all fields, rather than checking for object identity. + * + * @example + * expect(items).toContainEqual({ name: 'apple', quantity: 1 }); + */ + toContainEqual: (item: E) => void; + /** + * Use when you don't care what a value is, you just want to ensure a value + * is true in a boolean context. In JavaScript, there are six falsy values: + * `false`, `0`, `''`, `null`, `undefined`, and `NaN`. Everything else is truthy. + * + * @example + * expect(user.isActive).toBeTruthy(); + */ + toBeTruthy: () => void; + /** + * When you don't care what a value is, you just want to + * ensure a value is false in a boolean context. + * + * @example + * expect(user.isActive).toBeFalsy(); + */ + toBeFalsy: () => void; + /** + * For comparing floating point numbers. + * + * @example + * expect(score).toBeGreaterThan(10); + */ + toBeGreaterThan: (num: number | bigint) => void; + /** + * For comparing floating point numbers. + * + * @example + * expect(score).toBeGreaterThanOrEqual(10); + */ + toBeGreaterThanOrEqual: (num: number | bigint) => void; + /** + * For comparing floating point numbers. + * + * @example + * expect(score).toBeLessThan(10); + */ + toBeLessThan: (num: number | bigint) => void; + /** + * For comparing floating point numbers. + * + * @example + * expect(score).toBeLessThanOrEqual(10); + */ + toBeLessThanOrEqual: (num: number | bigint) => void; + /** + * Used to check that a variable is NaN. + * + * @example + * expect(value).toBeNaN(); + */ + toBeNaN: () => void; + /** + * Used to check that a variable is undefined. + * + * @example + * expect(value).toBeUndefined(); + */ + toBeUndefined: () => void; + /** + * This is the same as `.toBe(null)` but the error messages are a bit nicer. + * So use `.toBeNull()` when you want to check that something is null. + * + * @example + * expect(value).toBeNull(); + */ + toBeNull: () => void; + /** + * Ensure that a variable is not undefined. + * + * @example + * expect(value).toBeDefined(); + */ + toBeDefined: () => void; + /** + * Ensure that an object is an instance of a class. + * This matcher uses `instanceof` underneath. + * + * @example + * expect(new Date()).toBeInstanceOf(Date); + */ + toBeInstanceOf: (expected: E) => void; + /** + * Used to check that an object has a `.length` property + * and it is set to a certain numeric value. + * + * @example + * expect([1, 2, 3]).toHaveLength(3); + * expect('hello').toHaveLength(5); + */ + toHaveLength: (length: number) => void; + /** + * Use to check if a property at the specified path exists on an object. + * For checking deeply nested properties, you may use dot notation or an array containing + * the path segments for deep references. + * + * Optionally, you can provide a value to check if it matches the value present at the path + * on the target object. This matcher uses 'deep equality' (like `toEqual()`) and recursively checks + * the equality of all fields. + * + * @example + * expect(user).toHaveProperty('address.city', 'New York'); + * expect(config).toHaveProperty(['settings', 'theme'], 'dark'); + */ + toHaveProperty: (property: string | (string | number)[], value?: E) => void; + /** + * Using exact equality with floating point numbers is a bad idea. + * Rounding means that intuitive things fail. + * The default for `precision` is 2. + * + * @example + * expect(price).toBeCloseTo(9.99, 2); + */ + toBeCloseTo: (number: number, numDigits?: number) => void; + /** + * Ensures that a mock function is called an exact number of times. + * + * Also under the alias `expect.toBeCalledTimes`. + * + * @example + * expect(mockFunc).toHaveBeenCalledTimes(2); + */ + toHaveBeenCalledTimes: (times: number) => void; + /** + * Ensures that a mock function is called an exact number of times. + * + * Alias for `expect.toHaveBeenCalledTimes`. + * + * @example + * expect(mockFunc).toBeCalledTimes(2); + */ + toBeCalledTimes: (times: number) => void; + /** + * Ensures that a mock function is called. + * + * Also under the alias `expect.toBeCalled`. + * + * @example + * expect(mockFunc).toHaveBeenCalled(); + */ + toHaveBeenCalled: () => void; + /** + * Ensures that a mock function is called. + * + * Alias for `expect.toHaveBeenCalled`. + * + * @example + * expect(mockFunc).toBeCalled(); + */ + toBeCalled: () => void; + /** + * Ensure that a mock function is called with specific arguments. + * + * Also under the alias `expect.toBeCalledWith`. + * + * @example + * expect(mockFunc).toHaveBeenCalledWith('arg1', 42); + */ + toHaveBeenCalledWith: (...args: E) => void; + /** + * Ensure that a mock function is called with specific arguments. + * + * Alias for `expect.toHaveBeenCalledWith`. + * + * @example + * expect(mockFunc).toBeCalledWith('arg1', 42); + */ + toBeCalledWith: (...args: E) => void; + /** + * Ensure that a mock function is called with specific arguments on an Nth call. + * + * Also under the alias `expect.nthCalledWith`. + * + * @example + * expect(mockFunc).toHaveBeenNthCalledWith(2, 'secondArg'); + */ + toHaveBeenNthCalledWith: (n: number, ...args: E) => void; + /** + * Ensure that a mock function is called with specific arguments on an Nth call. + * + * Alias for `expect.toHaveBeenNthCalledWith`. + * + * @example + * expect(mockFunc).nthCalledWith(2, 'secondArg'); + */ + nthCalledWith: (nthCall: number, ...args: E) => void; + /** + * If you have a mock function, you can use `.toHaveBeenLastCalledWith` + * to test what arguments it was last called with. + * + * Also under the alias `expect.lastCalledWith`. + * + * @example + * expect(mockFunc).toHaveBeenLastCalledWith('lastArg'); + */ + toHaveBeenLastCalledWith: (...args: E) => void; + /** + * If you have a mock function, you can use `.lastCalledWith` + * to test what arguments it was last called with. + * + * Alias for `expect.toHaveBeenLastCalledWith`. + * + * @example + * expect(mockFunc).lastCalledWith('lastArg'); + */ + lastCalledWith: (...args: E) => void; + /** + * Used to test that a function throws when it is called. + * + * Also under the alias `expect.toThrowError`. + * + * @example + * expect(() => functionWithError()).toThrow('Error message'); + * expect(() => parseJSON('invalid')).toThrow(SyntaxError); + */ + toThrow: (expected?: string | Constructable | RegExp | Error) => void; + /** + * Used to test that a function throws when it is called. + * + * Alias for `expect.toThrow`. + * + * @example + * expect(() => functionWithError()).toThrowError('Error message'); + * expect(() => parseJSON('invalid')).toThrowError(SyntaxError); + */ + toThrowError: (expected?: string | Constructable | RegExp | Error) => void; + /** + * Use to test that the mock function successfully returned (i.e., did not throw an error) at least one time + * + * Alias for `expect.toHaveReturned`. + * + * @example + * expect(mockFunc).toReturn(); + */ + toReturn: () => void; + /** + * Use to test that the mock function successfully returned (i.e., did not throw an error) at least one time + * + * Also under the alias `expect.toReturn`. + * + * @example + * expect(mockFunc).toHaveReturned(); + */ + toHaveReturned: () => void; + /** + * Use to ensure that a mock function returned successfully (i.e., did not throw an error) an exact number of times. + * Any calls to the mock function that throw an error are not counted toward the number of times the function returned. + * + * Alias for `expect.toHaveReturnedTimes`. + * + * @example + * expect(mockFunc).toReturnTimes(3); + */ + toReturnTimes: (times: number) => void; + /** + * Use to ensure that a mock function returned successfully (i.e., did not throw an error) an exact number of times. + * Any calls to the mock function that throw an error are not counted toward the number of times the function returned. + * + * Also under the alias `expect.toReturnTimes`. + * + * @example + * expect(mockFunc).toHaveReturnedTimes(3); + */ + toHaveReturnedTimes: (times: number) => void; + /** + * Use to ensure that a mock function returned a specific value. + * + * Alias for `expect.toHaveReturnedWith`. + * + * @example + * expect(mockFunc).toReturnWith('returnValue'); + */ + toReturnWith: (value: E) => void; + /** + * Use to ensure that a mock function returned a specific value. + * + * Also under the alias `expect.toReturnWith`. + * + * @example + * expect(mockFunc).toHaveReturnedWith('returnValue'); + */ + toHaveReturnedWith: (value: E) => void; + /** + * Use to test the specific value that a mock function last returned. + * If the last call to the mock function threw an error, then this matcher will fail + * no matter what value you provided as the expected return value. + * + * Also under the alias `expect.lastReturnedWith`. + * + * @example + * expect(mockFunc).toHaveLastReturnedWith('lastValue'); + */ + toHaveLastReturnedWith: (value: E) => void; + /** + * Use to test the specific value that a mock function last returned. + * If the last call to the mock function threw an error, then this matcher will fail + * no matter what value you provided as the expected return value. + * + * Alias for `expect.toHaveLastReturnedWith`. + * + * @example + * expect(mockFunc).lastReturnedWith('lastValue'); + */ + lastReturnedWith: (value: E) => void; + /** + * Use to test the specific value that a mock function returned for the nth call. + * If the nth call to the mock function threw an error, then this matcher will fail + * no matter what value you provided as the expected return value. + * + * Also under the alias `expect.nthReturnedWith`. + * + * @example + * expect(mockFunc).toHaveNthReturnedWith(2, 'nthValue'); + */ + toHaveNthReturnedWith: (nthCall: number, value: E) => void; + /** + * Use to test the specific value that a mock function returned for the nth call. + * If the nth call to the mock function threw an error, then this matcher will fail + * no matter what value you provided as the expected return value. + * + * Alias for `expect.toHaveNthReturnedWith`. + * + * @example + * expect(mockFunc).nthReturnedWith(2, 'nthValue'); + */ + nthReturnedWith: (nthCall: number, value: E) => void; +} +type VitestAssertion< + A, + T +> = { [K in keyof A] : A[K] extends Chai.Assertion ? Assertion : A[K] extends (...args: any[]) => any ? A[K] : VitestAssertion } & ((type: string, message?: string) => Assertion); +type Promisify = { [K in keyof O] : O[K] extends (...args: infer A) => infer R ? Promisify & ((...args: A) => Promise) : O[K] }; +type PromisifyAssertion = Promisify>; +interface Assertion extends VitestAssertion, JestAssertion, Matchers { + /** + * Ensures a value is of a specific type. + * + * @example + * expect(value).toBeTypeOf('string'); + * expect(number).toBeTypeOf('number'); + */ + toBeTypeOf: (expected: "bigint" | "boolean" | "function" | "number" | "object" | "string" | "symbol" | "undefined") => void; + /** + * Asserts that a mock function was called exactly once. + * + * @example + * expect(mockFunc).toHaveBeenCalledOnce(); + */ + toHaveBeenCalledOnce: () => void; + /** + * Ensure that a mock function is called with specific arguments and called + * exactly once. + * + * @example + * expect(mockFunc).toHaveBeenCalledExactlyOnceWith('arg1', 42); + */ + toHaveBeenCalledExactlyOnceWith: (...args: E) => void; + /** + * This assertion checks if a `Mock` was called before another `Mock`. + * @param mock - A mock function created by `vi.spyOn` or `vi.fn` + * @param failIfNoFirstInvocation - Fail if the first mock was never called + * @example + * const mock1 = vi.fn() + * const mock2 = vi.fn() + * + * mock1() + * mock2() + * mock1() + * + * expect(mock1).toHaveBeenCalledBefore(mock2) + */ + toHaveBeenCalledBefore: (mock: MockInstance, failIfNoFirstInvocation?: boolean) => void; + /** + * This assertion checks if a `Mock` was called after another `Mock`. + * @param mock - A mock function created by `vi.spyOn` or `vi.fn` + * @param failIfNoFirstInvocation - Fail if the first mock was never called + * @example + * const mock1 = vi.fn() + * const mock2 = vi.fn() + * + * mock2() + * mock1() + * mock2() + * + * expect(mock1).toHaveBeenCalledAfter(mock2) + */ + toHaveBeenCalledAfter: (mock: MockInstance, failIfNoFirstInvocation?: boolean) => void; + /** + * Checks that a promise resolves successfully at least once. + * + * @example + * await expect(promise).toHaveResolved(); + */ + toHaveResolved: () => void; + /** + * Checks that a promise resolves to a specific value. + * + * @example + * await expect(promise).toHaveResolvedWith('success'); + */ + toHaveResolvedWith: (value: E) => void; + /** + * Ensures a promise resolves a specific number of times. + * + * @example + * expect(mockAsyncFunc).toHaveResolvedTimes(3); + */ + toHaveResolvedTimes: (times: number) => void; + /** + * Asserts that the last resolved value of a promise matches an expected value. + * + * @example + * await expect(mockAsyncFunc).toHaveLastResolvedWith('finalResult'); + */ + toHaveLastResolvedWith: (value: E) => void; + /** + * Ensures a specific value was returned by a promise on the nth resolution. + * + * @example + * await expect(mockAsyncFunc).toHaveNthResolvedWith(2, 'secondResult'); + */ + toHaveNthResolvedWith: (nthCall: number, value: E) => void; + /** + * Verifies that a promise resolves. + * + * @example + * await expect(someAsyncFunc).resolves.toBe(42); + */ + resolves: PromisifyAssertion; + /** + * Verifies that a promise rejects. + * + * @example + * await expect(someAsyncFunc).rejects.toThrow('error'); + */ + rejects: PromisifyAssertion; +} +declare global { + // support augmenting jest.Matchers by other libraries + // eslint-disable-next-line ts/no-namespace + namespace jest { + // eslint-disable-next-line unused-imports/no-unused-vars, ts/no-empty-object-type +interface Matchers< + R, + T = {} + > {} + } +} + +// selectively ported from https://github.com/jest-community/jest-extended +declare const customMatchers: MatchersObject; + +// Jest Expect Compact +declare const JestChaiExpect: ChaiPlugin; + +declare const JestExtend: ChaiPlugin; + +/* +Copyright (c) 2008-2016 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +*/ + +// Extracted out of jasmine 2.5.2 +declare function equals(a: unknown, b: unknown, customTesters?: Array, strictCheck?: boolean): boolean; +declare function isAsymmetric(obj: any): boolean; +declare function hasAsymmetric(obj: any, seen?: Set): boolean; +declare function isA(typeName: string, value: unknown): boolean; +declare function fnNameFor(func: Function): string; +declare function hasProperty(obj: object | null, property: string): boolean; +declare function isImmutableUnorderedKeyed(maybeKeyed: any): boolean; +declare function isImmutableUnorderedSet(maybeSet: any): boolean; +declare function iterableEquality(a: any, b: any, customTesters?: Array, aStack?: Array, bStack?: Array): boolean | undefined; +declare function subsetEquality(object: unknown, subset: unknown, customTesters?: Array): boolean | undefined; +declare function typeEquality(a: any, b: any): boolean | undefined; +declare function arrayBufferEquality(a: unknown, b: unknown): boolean | undefined; +declare function sparseArrayEquality(a: unknown, b: unknown, customTesters?: Array): boolean | undefined; +declare function generateToBeMessage(deepEqualityName: string, expected?: string, actual?: string): string; +declare function pluralize(word: string, count: number): string; +declare function getObjectKeys(object: object): Array; +declare function getObjectSubset(object: any, subset: any, customTesters: Array): { + subset: any + stripped: number +}; + +declare function getState(expect: ExpectStatic): State; +declare function setState(state: Partial, expect: ExpectStatic): void; + +export { ASYMMETRIC_MATCHERS_OBJECT, Any, Anything, ArrayContaining, AsymmetricMatcher, GLOBAL_EXPECT, JEST_MATCHERS_OBJECT, JestAsymmetricMatchers, JestChaiExpect, JestExtend, MATCHERS_OBJECT, ObjectContaining, StringContaining, StringMatching, addCustomEqualityTesters, arrayBufferEquality, customMatchers, equals, fnNameFor, generateToBeMessage, getObjectKeys, getObjectSubset, getState, hasAsymmetric, hasProperty, isA, isAsymmetric, isImmutableUnorderedKeyed, isImmutableUnorderedSet, iterableEquality, pluralize, setState, sparseArrayEquality, subsetEquality, typeEquality }; +export type { Assertion, AsymmetricMatcherInterface, AsymmetricMatchersContaining, AsyncExpectationResult, ChaiPlugin, DeeplyAllowMatchers, ExpectStatic, ExpectationResult, JestAssertion, MatcherHintOptions, MatcherState, Matchers, MatchersObject, PromisifyAssertion, RawMatcherFn, SyncExpectationResult, Tester, TesterContext }; diff --git a/node_modules/@vitest/expect/dist/index.js b/node_modules/@vitest/expect/dist/index.js new file mode 100644 index 0000000..6547d2e --- /dev/null +++ b/node_modules/@vitest/expect/dist/index.js @@ -0,0 +1,1789 @@ +import { getType, stringify, isObject, assertTypes } from '@vitest/utils'; +import { printDiffOrStringify, diff } from '@vitest/utils/diff'; +import c from 'tinyrainbow'; +import { isMockFunction } from '@vitest/spy'; +import { processError } from '@vitest/utils/error'; +import { use, util } from 'chai'; + +const MATCHERS_OBJECT = Symbol.for("matchers-object"); +const JEST_MATCHERS_OBJECT = Symbol.for("$$jest-matchers-object"); +const GLOBAL_EXPECT = Symbol.for("expect-global"); +const ASYMMETRIC_MATCHERS_OBJECT = Symbol.for("asymmetric-matchers-object"); + +// selectively ported from https://github.com/jest-community/jest-extended +const customMatchers = { + toSatisfy(actual, expected, message) { + const { printReceived, printExpected, matcherHint } = this.utils; + const pass = expected(actual); + return { + pass, + message: () => pass ? `\ +${matcherHint(".not.toSatisfy", "received", "")} + +Expected value to not satisfy: +${message || printExpected(expected)} +Received: +${printReceived(actual)}` : `\ +${matcherHint(".toSatisfy", "received", "")} + +Expected value to satisfy: +${message || printExpected(expected)} + +Received: +${printReceived(actual)}` + }; + }, + toBeOneOf(actual, expected) { + const { equals, customTesters } = this; + const { printReceived, printExpected, matcherHint } = this.utils; + if (!Array.isArray(expected)) { + throw new TypeError(`You must provide an array to ${matcherHint(".toBeOneOf")}, not '${typeof expected}'.`); + } + const pass = expected.length === 0 || expected.some((item) => equals(item, actual, customTesters)); + return { + pass, + message: () => pass ? `\ +${matcherHint(".not.toBeOneOf", "received", "")} + +Expected value to not be one of: +${printExpected(expected)} +Received: +${printReceived(actual)}` : `\ +${matcherHint(".toBeOneOf", "received", "")} + +Expected value to be one of: +${printExpected(expected)} + +Received: +${printReceived(actual)}` + }; + } +}; + +const EXPECTED_COLOR = c.green; +const RECEIVED_COLOR = c.red; +const INVERTED_COLOR = c.inverse; +const BOLD_WEIGHT = c.bold; +const DIM_COLOR = c.dim; +function matcherHint(matcherName, received = "received", expected = "expected", options = {}) { + const { comment = "", isDirectExpectCall = false, isNot = false, promise = "", secondArgument = "", expectedColor = EXPECTED_COLOR, receivedColor = RECEIVED_COLOR, secondArgumentColor = EXPECTED_COLOR } = options; + let hint = ""; + let dimString = "expect"; + if (!isDirectExpectCall && received !== "") { + hint += DIM_COLOR(`${dimString}(`) + receivedColor(received); + dimString = ")"; + } + if (promise !== "") { + hint += DIM_COLOR(`${dimString}.`) + promise; + dimString = ""; + } + if (isNot) { + hint += `${DIM_COLOR(`${dimString}.`)}not`; + dimString = ""; + } + if (matcherName.includes(".")) { + // Old format: for backward compatibility, + // especially without promise or isNot options + dimString += matcherName; + } else { + // New format: omit period from matcherName arg + hint += DIM_COLOR(`${dimString}.`) + matcherName; + dimString = ""; + } + if (expected === "") { + dimString += "()"; + } else { + hint += DIM_COLOR(`${dimString}(`) + expectedColor(expected); + if (secondArgument) { + hint += DIM_COLOR(", ") + secondArgumentColor(secondArgument); + } + dimString = ")"; + } + if (comment !== "") { + dimString += ` // ${comment}`; + } + if (dimString !== "") { + hint += DIM_COLOR(dimString); + } + return hint; +} +const SPACE_SYMBOL = "·"; +// Instead of inverse highlight which now implies a change, +// replace common spaces with middle dot at the end of any line. +function replaceTrailingSpaces(text) { + return text.replace(/\s+$/gm, (spaces) => SPACE_SYMBOL.repeat(spaces.length)); +} +function printReceived(object) { + return RECEIVED_COLOR(replaceTrailingSpaces(stringify(object))); +} +function printExpected(value) { + return EXPECTED_COLOR(replaceTrailingSpaces(stringify(value))); +} +function getMatcherUtils() { + return { + EXPECTED_COLOR, + RECEIVED_COLOR, + INVERTED_COLOR, + BOLD_WEIGHT, + DIM_COLOR, + diff, + matcherHint, + printReceived, + printExpected, + printDiffOrStringify, + printWithType + }; +} +function printWithType(name, value, print) { + const type = getType(value); + const hasType = type !== "null" && type !== "undefined" ? `${name} has type: ${type}\n` : ""; + const hasValue = `${name} has value: ${print(value)}`; + return hasType + hasValue; +} +function addCustomEqualityTesters(newTesters) { + if (!Array.isArray(newTesters)) { + throw new TypeError(`expect.customEqualityTesters: Must be set to an array of Testers. Was given "${getType(newTesters)}"`); + } + globalThis[JEST_MATCHERS_OBJECT].customEqualityTesters.push(...newTesters); +} +function getCustomEqualityTesters() { + return globalThis[JEST_MATCHERS_OBJECT].customEqualityTesters; +} + +// Extracted out of jasmine 2.5.2 +function equals(a, b, customTesters, strictCheck) { + customTesters = customTesters || []; + return eq(a, b, [], [], customTesters, strictCheck ? hasKey : hasDefinedKey); +} +const functionToString = Function.prototype.toString; +function isAsymmetric(obj) { + return !!obj && typeof obj === "object" && "asymmetricMatch" in obj && isA("Function", obj.asymmetricMatch); +} +function hasAsymmetric(obj, seen = new Set()) { + if (seen.has(obj)) { + return false; + } + seen.add(obj); + if (isAsymmetric(obj)) { + return true; + } + if (Array.isArray(obj)) { + return obj.some((i) => hasAsymmetric(i, seen)); + } + if (obj instanceof Set) { + return Array.from(obj).some((i) => hasAsymmetric(i, seen)); + } + if (isObject(obj)) { + return Object.values(obj).some((v) => hasAsymmetric(v, seen)); + } + return false; +} +function asymmetricMatch(a, b) { + const asymmetricA = isAsymmetric(a); + const asymmetricB = isAsymmetric(b); + if (asymmetricA && asymmetricB) { + return undefined; + } + if (asymmetricA) { + return a.asymmetricMatch(b); + } + if (asymmetricB) { + return b.asymmetricMatch(a); + } +} +// Equality function lovingly adapted from isEqual in +// [Underscore](http://underscorejs.org) +function eq(a, b, aStack, bStack, customTesters, hasKey) { + let result = true; + const asymmetricResult = asymmetricMatch(a, b); + if (asymmetricResult !== undefined) { + return asymmetricResult; + } + const testerContext = { equals }; + for (let i = 0; i < customTesters.length; i++) { + const customTesterResult = customTesters[i].call(testerContext, a, b, customTesters); + if (customTesterResult !== undefined) { + return customTesterResult; + } + } + if (typeof URL === "function" && a instanceof URL && b instanceof URL) { + return a.href === b.href; + } + if (Object.is(a, b)) { + return true; + } + // A strict comparison is necessary because `null == undefined`. + if (a === null || b === null) { + return a === b; + } + const className = Object.prototype.toString.call(a); + if (className !== Object.prototype.toString.call(b)) { + return false; + } + switch (className) { + case "[object Boolean]": + case "[object String]": + case "[object Number]": if (typeof a !== typeof b) { + // One is a primitive, one a `new Primitive()` + return false; + } else if (typeof a !== "object" && typeof b !== "object") { + // both are proper primitives + return Object.is(a, b); + } else { + // both are `new Primitive()`s + return Object.is(a.valueOf(), b.valueOf()); + } + case "[object Date]": { + const numA = +a; + const numB = +b; + // Coerce dates to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are equivalent. + return numA === numB || Number.isNaN(numA) && Number.isNaN(numB); + } + case "[object RegExp]": return a.source === b.source && a.flags === b.flags; + case "[object Temporal.Instant]": + case "[object Temporal.ZonedDateTime]": + case "[object Temporal.PlainDateTime]": + case "[object Temporal.PlainDate]": + case "[object Temporal.PlainTime]": + case "[object Temporal.PlainYearMonth]": + case "[object Temporal.PlainMonthDay]": return a.equals(b); + case "[object Temporal.Duration]": return a.toString() === b.toString(); + } + if (typeof a !== "object" || typeof b !== "object") { + return false; + } + // Use DOM3 method isEqualNode (IE>=9) + if (isDomNode(a) && isDomNode(b)) { + return a.isEqualNode(b); + } + // Used to detect circular references. + let length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + // circular references at same depth are equal + // circular reference is not equal to non-circular one + if (aStack[length] === a) { + return bStack[length] === b; + } else if (bStack[length] === b) { + return false; + } + } + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + // Recursively compare objects and arrays. + // Compare array lengths to determine if a deep comparison is necessary. + if (className === "[object Array]" && a.length !== b.length) { + return false; + } + if (a instanceof Error && b instanceof Error) { + try { + return isErrorEqual(a, b, aStack, bStack, customTesters, hasKey); + } finally { + aStack.pop(); + bStack.pop(); + } + } + // Deep compare objects. + const aKeys = keys(a, hasKey); + let key; + let size = aKeys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b, hasKey).length !== size) { + return false; + } + while (size--) { + key = aKeys[size]; + // Deep compare each member + result = hasKey(b, key) && eq(a[key], b[key], aStack, bStack, customTesters, hasKey); + if (!result) { + return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return result; +} +function isErrorEqual(a, b, aStack, bStack, customTesters, hasKey) { + // https://nodejs.org/docs/latest-v22.x/api/assert.html#comparison-details + // - [[Prototype]] of objects are compared using the === operator. + // - Only enumerable "own" properties are considered. + // - Error names, messages, causes, and errors are always compared, even if these are not enumerable properties. errors is also compared. + let result = Object.getPrototypeOf(a) === Object.getPrototypeOf(b) && a.name === b.name && a.message === b.message; + // check Error.cause asymmetrically + if (typeof b.cause !== "undefined") { + result && (result = eq(a.cause, b.cause, aStack, bStack, customTesters, hasKey)); + } + // AggregateError.errors + if (a instanceof AggregateError && b instanceof AggregateError) { + result && (result = eq(a.errors, b.errors, aStack, bStack, customTesters, hasKey)); + } + // spread to compare enumerable properties + result && (result = eq({ ...a }, { ...b }, aStack, bStack, customTesters, hasKey)); + return result; +} +function keys(obj, hasKey) { + const keys = []; + for (const key in obj) { + if (hasKey(obj, key)) { + keys.push(key); + } + } + return keys.concat(Object.getOwnPropertySymbols(obj).filter((symbol) => Object.getOwnPropertyDescriptor(obj, symbol).enumerable)); +} +function hasDefinedKey(obj, key) { + return hasKey(obj, key) && obj[key] !== undefined; +} +function hasKey(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} +function isA(typeName, value) { + return Object.prototype.toString.apply(value) === `[object ${typeName}]`; +} +function isDomNode(obj) { + return obj !== null && typeof obj === "object" && "nodeType" in obj && typeof obj.nodeType === "number" && "nodeName" in obj && typeof obj.nodeName === "string" && "isEqualNode" in obj && typeof obj.isEqualNode === "function"; +} +function fnNameFor(func) { + if (func.name) { + return func.name; + } + const matches = functionToString.call(func).match(/^(?:async)?\s*function\s*(?:\*\s*)?([\w$]+)\s*\(/); + return matches ? matches[1] : ""; +} +function getPrototype(obj) { + if (Object.getPrototypeOf) { + return Object.getPrototypeOf(obj); + } + if (obj.constructor.prototype === obj) { + return null; + } + return obj.constructor.prototype; +} +function hasProperty(obj, property) { + if (!obj) { + return false; + } + if (Object.prototype.hasOwnProperty.call(obj, property)) { + return true; + } + return hasProperty(getPrototype(obj), property); +} +// SENTINEL constants are from https://github.com/facebook/immutable-js +const IS_KEYED_SENTINEL = "@@__IMMUTABLE_KEYED__@@"; +const IS_SET_SENTINEL = "@@__IMMUTABLE_SET__@@"; +const IS_LIST_SENTINEL = "@@__IMMUTABLE_LIST__@@"; +const IS_ORDERED_SENTINEL = "@@__IMMUTABLE_ORDERED__@@"; +const IS_RECORD_SYMBOL = "@@__IMMUTABLE_RECORD__@@"; +function isImmutableUnorderedKeyed(maybeKeyed) { + return !!(maybeKeyed && maybeKeyed[IS_KEYED_SENTINEL] && !maybeKeyed[IS_ORDERED_SENTINEL]); +} +function isImmutableUnorderedSet(maybeSet) { + return !!(maybeSet && maybeSet[IS_SET_SENTINEL] && !maybeSet[IS_ORDERED_SENTINEL]); +} +function isObjectLiteral(source) { + return source != null && typeof source === "object" && !Array.isArray(source); +} +function isImmutableList(source) { + return Boolean(source && isObjectLiteral(source) && source[IS_LIST_SENTINEL]); +} +function isImmutableOrderedKeyed(source) { + return Boolean(source && isObjectLiteral(source) && source[IS_KEYED_SENTINEL] && source[IS_ORDERED_SENTINEL]); +} +function isImmutableOrderedSet(source) { + return Boolean(source && isObjectLiteral(source) && source[IS_SET_SENTINEL] && source[IS_ORDERED_SENTINEL]); +} +function isImmutableRecord(source) { + return Boolean(source && isObjectLiteral(source) && source[IS_RECORD_SYMBOL]); +} +/** +* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +* +*/ +const IteratorSymbol = Symbol.iterator; +function hasIterator(object) { + return !!(object != null && object[IteratorSymbol]); +} +function iterableEquality(a, b, customTesters = [], aStack = [], bStack = []) { + if (typeof a !== "object" || typeof b !== "object" || Array.isArray(a) || Array.isArray(b) || !hasIterator(a) || !hasIterator(b)) { + return undefined; + } + if (a.constructor !== b.constructor) { + return false; + } + let length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + // circular references at same depth are equal + // circular reference is not equal to non-circular one + if (aStack[length] === a) { + return bStack[length] === b; + } + } + aStack.push(a); + bStack.push(b); + const filteredCustomTesters = [...customTesters.filter((t) => t !== iterableEquality), iterableEqualityWithStack]; + function iterableEqualityWithStack(a, b) { + return iterableEquality(a, b, [...customTesters], [...aStack], [...bStack]); + } + if (a.size !== undefined) { + if (a.size !== b.size) { + return false; + } else if (isA("Set", a) || isImmutableUnorderedSet(a)) { + let allFound = true; + for (const aValue of a) { + if (!b.has(aValue)) { + let has = false; + for (const bValue of b) { + const isEqual = equals(aValue, bValue, filteredCustomTesters); + if (isEqual === true) { + has = true; + } + } + if (has === false) { + allFound = false; + break; + } + } + } + // Remove the first value from the stack of traversed values. + aStack.pop(); + bStack.pop(); + return allFound; + } else if (isA("Map", a) || isImmutableUnorderedKeyed(a)) { + let allFound = true; + for (const aEntry of a) { + if (!b.has(aEntry[0]) || !equals(aEntry[1], b.get(aEntry[0]), filteredCustomTesters)) { + let has = false; + for (const bEntry of b) { + const matchedKey = equals(aEntry[0], bEntry[0], filteredCustomTesters); + let matchedValue = false; + if (matchedKey === true) { + matchedValue = equals(aEntry[1], bEntry[1], filteredCustomTesters); + } + if (matchedValue === true) { + has = true; + } + } + if (has === false) { + allFound = false; + break; + } + } + } + // Remove the first value from the stack of traversed values. + aStack.pop(); + bStack.pop(); + return allFound; + } + } + const bIterator = b[IteratorSymbol](); + for (const aValue of a) { + const nextB = bIterator.next(); + if (nextB.done || !equals(aValue, nextB.value, filteredCustomTesters)) { + return false; + } + } + if (!bIterator.next().done) { + return false; + } + if (!isImmutableList(a) && !isImmutableOrderedKeyed(a) && !isImmutableOrderedSet(a) && !isImmutableRecord(a)) { + const aEntries = Object.entries(a); + const bEntries = Object.entries(b); + if (!equals(aEntries, bEntries, filteredCustomTesters)) { + return false; + } + } + // Remove the first value from the stack of traversed values. + aStack.pop(); + bStack.pop(); + return true; +} +/** +* Checks if `hasOwnProperty(object, key)` up the prototype chain, stopping at `Object.prototype`. +*/ +function hasPropertyInObject(object, key) { + const shouldTerminate = !object || typeof object !== "object" || object === Object.prototype; + if (shouldTerminate) { + return false; + } + return Object.prototype.hasOwnProperty.call(object, key) || hasPropertyInObject(Object.getPrototypeOf(object), key); +} +function isObjectWithKeys(a) { + return isObject(a) && !(a instanceof Error) && !Array.isArray(a) && !(a instanceof Date); +} +function subsetEquality(object, subset, customTesters = []) { + const filteredCustomTesters = customTesters.filter((t) => t !== subsetEquality); + // subsetEquality needs to keep track of the references + // it has already visited to avoid infinite loops in case + // there are circular references in the subset passed to it. + const subsetEqualityWithContext = (seenReferences = new WeakMap()) => (object, subset) => { + if (!isObjectWithKeys(subset)) { + return undefined; + } + return Object.keys(subset).every((key) => { + if (subset[key] != null && typeof subset[key] === "object") { + if (seenReferences.has(subset[key])) { + return equals(object[key], subset[key], filteredCustomTesters); + } + seenReferences.set(subset[key], true); + } + const result = object != null && hasPropertyInObject(object, key) && equals(object[key], subset[key], [...filteredCustomTesters, subsetEqualityWithContext(seenReferences)]); + // The main goal of using seenReference is to avoid circular node on tree. + // It will only happen within a parent and its child, not a node and nodes next to it (same level) + // We should keep the reference for a parent and its child only + // Thus we should delete the reference immediately so that it doesn't interfere + // other nodes within the same level on tree. + seenReferences.delete(subset[key]); + return result; + }); + }; + return subsetEqualityWithContext()(object, subset); +} +function typeEquality(a, b) { + if (a == null || b == null || a.constructor === b.constructor) { + return undefined; + } + return false; +} +function arrayBufferEquality(a, b) { + let dataViewA = a; + let dataViewB = b; + if (!(a instanceof DataView && b instanceof DataView)) { + if (!(a instanceof ArrayBuffer) || !(b instanceof ArrayBuffer)) { + return undefined; + } + try { + dataViewA = new DataView(a); + dataViewB = new DataView(b); + } catch { + return undefined; + } + } + // Buffers are not equal when they do not have the same byte length + if (dataViewA.byteLength !== dataViewB.byteLength) { + return false; + } + // Check if every byte value is equal to each other + for (let i = 0; i < dataViewA.byteLength; i++) { + if (dataViewA.getUint8(i) !== dataViewB.getUint8(i)) { + return false; + } + } + return true; +} +function sparseArrayEquality(a, b, customTesters = []) { + if (!Array.isArray(a) || !Array.isArray(b)) { + return undefined; + } + // A sparse array [, , 1] will have keys ["2"] whereas [undefined, undefined, 1] will have keys ["0", "1", "2"] + const aKeys = Object.keys(a); + const bKeys = Object.keys(b); + const filteredCustomTesters = customTesters.filter((t) => t !== sparseArrayEquality); + return equals(a, b, filteredCustomTesters, true) && equals(aKeys, bKeys); +} +function generateToBeMessage(deepEqualityName, expected = "#{this}", actual = "#{exp}") { + const toBeMessage = `expected ${expected} to be ${actual} // Object.is equality`; + if (["toStrictEqual", "toEqual"].includes(deepEqualityName)) { + return `${toBeMessage}\n\nIf it should pass with deep equality, replace "toBe" with "${deepEqualityName}"\n\nExpected: ${expected}\nReceived: serializes to the same string\n`; + } + return toBeMessage; +} +function pluralize(word, count) { + return `${count} ${word}${count === 1 ? "" : "s"}`; +} +function getObjectKeys(object) { + return [...Object.keys(object), ...Object.getOwnPropertySymbols(object).filter((s) => { + var _Object$getOwnPropert; + return (_Object$getOwnPropert = Object.getOwnPropertyDescriptor(object, s)) === null || _Object$getOwnPropert === void 0 ? void 0 : _Object$getOwnPropert.enumerable; + })]; +} +function getObjectSubset(object, subset, customTesters) { + let stripped = 0; + const getObjectSubsetWithContext = (seenReferences = new WeakMap()) => (object, subset) => { + if (Array.isArray(object)) { + if (Array.isArray(subset) && subset.length === object.length) { + // The map method returns correct subclass of subset. + return subset.map((sub, i) => getObjectSubsetWithContext(seenReferences)(object[i], sub)); + } + } else if (object instanceof Date) { + return object; + } else if (isObject(object) && isObject(subset)) { + if (equals(object, subset, [ + ...customTesters, + iterableEquality, + subsetEquality + ])) { + // return "expected" subset to avoid showing irrelevant toMatchObject diff + return subset; + } + const trimmed = {}; + seenReferences.set(object, trimmed); + // preserve constructor for toMatchObject diff + if (typeof object.constructor === "function" && typeof object.constructor.name === "string") { + Object.defineProperty(trimmed, "constructor", { + enumerable: false, + value: object.constructor + }); + } + for (const key of getObjectKeys(object)) { + if (hasPropertyInObject(subset, key)) { + trimmed[key] = seenReferences.has(object[key]) ? seenReferences.get(object[key]) : getObjectSubsetWithContext(seenReferences)(object[key], subset[key]); + } else { + if (!seenReferences.has(object[key])) { + stripped += 1; + if (isObject(object[key])) { + stripped += getObjectKeys(object[key]).length; + } + getObjectSubsetWithContext(seenReferences)(object[key], subset[key]); + } + } + } + if (getObjectKeys(trimmed).length > 0) { + return trimmed; + } + } + return object; + }; + return { + subset: getObjectSubsetWithContext()(object, subset), + stripped + }; +} + +if (!Object.prototype.hasOwnProperty.call(globalThis, MATCHERS_OBJECT)) { + const globalState = new WeakMap(); + const matchers = Object.create(null); + const customEqualityTesters = []; + const asymmetricMatchers = Object.create(null); + Object.defineProperty(globalThis, MATCHERS_OBJECT, { get: () => globalState }); + Object.defineProperty(globalThis, JEST_MATCHERS_OBJECT, { + configurable: true, + get: () => ({ + state: globalState.get(globalThis[GLOBAL_EXPECT]), + matchers, + customEqualityTesters + }) + }); + Object.defineProperty(globalThis, ASYMMETRIC_MATCHERS_OBJECT, { get: () => asymmetricMatchers }); +} +function getState(expect) { + return globalThis[MATCHERS_OBJECT].get(expect); +} +function setState(state, expect) { + const map = globalThis[MATCHERS_OBJECT]; + const current = map.get(expect) || {}; + // so it keeps getters from `testPath` + const results = Object.defineProperties(current, { + ...Object.getOwnPropertyDescriptors(current), + ...Object.getOwnPropertyDescriptors(state) + }); + map.set(expect, results); +} + +class AsymmetricMatcher { + // should have "jest" to be compatible with its ecosystem + $$typeof = Symbol.for("jest.asymmetricMatcher"); + constructor(sample, inverse = false) { + this.sample = sample; + this.inverse = inverse; + } + getMatcherContext(expect) { + return { + ...getState(expect || globalThis[GLOBAL_EXPECT]), + equals, + isNot: this.inverse, + customTesters: getCustomEqualityTesters(), + utils: { + ...getMatcherUtils(), + diff, + stringify, + iterableEquality, + subsetEquality + } + }; + } +} +// implement custom chai/loupe inspect for better AssertionError.message formatting +// https://github.com/chaijs/loupe/blob/9b8a6deabcd50adc056a64fb705896194710c5c6/src/index.ts#L29 +// @ts-expect-error computed properties is not supported when isolatedDeclarations is enabled +// FIXME: https://github.com/microsoft/TypeScript/issues/61068 +AsymmetricMatcher.prototype[Symbol.for("chai/inspect")] = function(options) { + // minimal pretty-format with simple manual truncation + const result = stringify(this, options.depth, { min: true }); + if (result.length <= options.truncate) { + return result; + } + return `${this.toString()}{…}`; +}; +class StringContaining extends AsymmetricMatcher { + constructor(sample, inverse = false) { + if (!isA("String", sample)) { + throw new Error("Expected is not a string"); + } + super(sample, inverse); + } + asymmetricMatch(other) { + const result = isA("String", other) && other.includes(this.sample); + return this.inverse ? !result : result; + } + toString() { + return `String${this.inverse ? "Not" : ""}Containing`; + } + getExpectedType() { + return "string"; + } +} +class Anything extends AsymmetricMatcher { + asymmetricMatch(other) { + return other != null; + } + toString() { + return "Anything"; + } + toAsymmetricMatcher() { + return "Anything"; + } +} +class ObjectContaining extends AsymmetricMatcher { + constructor(sample, inverse = false) { + super(sample, inverse); + } + getPrototype(obj) { + if (Object.getPrototypeOf) { + return Object.getPrototypeOf(obj); + } + if (obj.constructor.prototype === obj) { + return null; + } + return obj.constructor.prototype; + } + hasProperty(obj, property) { + if (!obj) { + return false; + } + if (Object.prototype.hasOwnProperty.call(obj, property)) { + return true; + } + return this.hasProperty(this.getPrototype(obj), property); + } + asymmetricMatch(other) { + if (typeof this.sample !== "object") { + throw new TypeError(`You must provide an object to ${this.toString()}, not '${typeof this.sample}'.`); + } + let result = true; + const matcherContext = this.getMatcherContext(); + for (const property in this.sample) { + if (!this.hasProperty(other, property) || !equals(this.sample[property], other[property], matcherContext.customTesters)) { + result = false; + break; + } + } + return this.inverse ? !result : result; + } + toString() { + return `Object${this.inverse ? "Not" : ""}Containing`; + } + getExpectedType() { + return "object"; + } +} +class ArrayContaining extends AsymmetricMatcher { + constructor(sample, inverse = false) { + super(sample, inverse); + } + asymmetricMatch(other) { + if (!Array.isArray(this.sample)) { + throw new TypeError(`You must provide an array to ${this.toString()}, not '${typeof this.sample}'.`); + } + const matcherContext = this.getMatcherContext(); + const result = this.sample.length === 0 || Array.isArray(other) && this.sample.every((item) => other.some((another) => equals(item, another, matcherContext.customTesters))); + return this.inverse ? !result : result; + } + toString() { + return `Array${this.inverse ? "Not" : ""}Containing`; + } + getExpectedType() { + return "array"; + } +} +class Any extends AsymmetricMatcher { + constructor(sample) { + if (typeof sample === "undefined") { + throw new TypeError("any() expects to be passed a constructor function. " + "Please pass one or use anything() to match any object."); + } + super(sample); + } + fnNameFor(func) { + if (func.name) { + return func.name; + } + const functionToString = Function.prototype.toString; + const matches = functionToString.call(func).match(/^(?:async)?\s*function\s*(?:\*\s*)?([\w$]+)\s*\(/); + return matches ? matches[1] : ""; + } + asymmetricMatch(other) { + if (this.sample === String) { + return typeof other == "string" || other instanceof String; + } + if (this.sample === Number) { + return typeof other == "number" || other instanceof Number; + } + if (this.sample === Function) { + return typeof other == "function" || typeof other === "function"; + } + if (this.sample === Boolean) { + return typeof other == "boolean" || other instanceof Boolean; + } + if (this.sample === BigInt) { + return typeof other == "bigint" || other instanceof BigInt; + } + if (this.sample === Symbol) { + return typeof other == "symbol" || other instanceof Symbol; + } + if (this.sample === Object) { + return typeof other == "object"; + } + return other instanceof this.sample; + } + toString() { + return "Any"; + } + getExpectedType() { + if (this.sample === String) { + return "string"; + } + if (this.sample === Number) { + return "number"; + } + if (this.sample === Function) { + return "function"; + } + if (this.sample === Object) { + return "object"; + } + if (this.sample === Boolean) { + return "boolean"; + } + return this.fnNameFor(this.sample); + } + toAsymmetricMatcher() { + return `Any<${this.fnNameFor(this.sample)}>`; + } +} +class StringMatching extends AsymmetricMatcher { + constructor(sample, inverse = false) { + if (!isA("String", sample) && !isA("RegExp", sample)) { + throw new Error("Expected is not a String or a RegExp"); + } + super(new RegExp(sample), inverse); + } + asymmetricMatch(other) { + const result = isA("String", other) && this.sample.test(other); + return this.inverse ? !result : result; + } + toString() { + return `String${this.inverse ? "Not" : ""}Matching`; + } + getExpectedType() { + return "string"; + } +} +class CloseTo extends AsymmetricMatcher { + precision; + constructor(sample, precision = 2, inverse = false) { + if (!isA("Number", sample)) { + throw new Error("Expected is not a Number"); + } + if (!isA("Number", precision)) { + throw new Error("Precision is not a Number"); + } + super(sample); + this.inverse = inverse; + this.precision = precision; + } + asymmetricMatch(other) { + if (!isA("Number", other)) { + return false; + } + let result = false; + if (other === Number.POSITIVE_INFINITY && this.sample === Number.POSITIVE_INFINITY) { + result = true; + } else if (other === Number.NEGATIVE_INFINITY && this.sample === Number.NEGATIVE_INFINITY) { + result = true; + } else { + result = Math.abs(this.sample - other) < 10 ** -this.precision / 2; + } + return this.inverse ? !result : result; + } + toString() { + return `Number${this.inverse ? "Not" : ""}CloseTo`; + } + getExpectedType() { + return "number"; + } + toAsymmetricMatcher() { + return [ + this.toString(), + this.sample, + `(${pluralize("digit", this.precision)})` + ].join(" "); + } +} +const JestAsymmetricMatchers = (chai, utils) => { + utils.addMethod(chai.expect, "anything", () => new Anything()); + utils.addMethod(chai.expect, "any", (expected) => new Any(expected)); + utils.addMethod(chai.expect, "stringContaining", (expected) => new StringContaining(expected)); + utils.addMethod(chai.expect, "objectContaining", (expected) => new ObjectContaining(expected)); + utils.addMethod(chai.expect, "arrayContaining", (expected) => new ArrayContaining(expected)); + utils.addMethod(chai.expect, "stringMatching", (expected) => new StringMatching(expected)); + utils.addMethod(chai.expect, "closeTo", (expected, precision) => new CloseTo(expected, precision)); + // defineProperty does not work + chai.expect.not = { + stringContaining: (expected) => new StringContaining(expected, true), + objectContaining: (expected) => new ObjectContaining(expected, true), + arrayContaining: (expected) => new ArrayContaining(expected, true), + stringMatching: (expected) => new StringMatching(expected, true), + closeTo: (expected, precision) => new CloseTo(expected, precision, true) + }; +}; + +function createAssertionMessage(util, assertion, hasArgs) { + const not = util.flag(assertion, "negate") ? "not." : ""; + const name = `${util.flag(assertion, "_name")}(${hasArgs ? "expected" : ""})`; + const promiseName = util.flag(assertion, "promise"); + const promise = promiseName ? `.${promiseName}` : ""; + return `expect(actual)${promise}.${not}${name}`; +} +function recordAsyncExpect(_test, promise, assertion, error) { + const test = _test; + // record promise for test, that resolves before test ends + if (test && promise instanceof Promise) { + // if promise is explicitly awaited, remove it from the list + promise = promise.finally(() => { + if (!test.promises) { + return; + } + const index = test.promises.indexOf(promise); + if (index !== -1) { + test.promises.splice(index, 1); + } + }); + // record promise + if (!test.promises) { + test.promises = []; + } + test.promises.push(promise); + let resolved = false; + test.onFinished ?? (test.onFinished = []); + test.onFinished.push(() => { + if (!resolved) { + var _vitest_worker__; + const processor = ((_vitest_worker__ = globalThis.__vitest_worker__) === null || _vitest_worker__ === void 0 ? void 0 : _vitest_worker__.onFilterStackTrace) || ((s) => s || ""); + const stack = processor(error.stack); + console.warn([ + `Promise returned by \`${assertion}\` was not awaited. `, + "Vitest currently auto-awaits hanging assertions at the end of the test, but this will cause the test to fail in Vitest 3. ", + "Please remember to await the assertion.\n", + stack + ].join("")); + } + }); + return { + then(onFulfilled, onRejected) { + resolved = true; + return promise.then(onFulfilled, onRejected); + }, + catch(onRejected) { + return promise.catch(onRejected); + }, + finally(onFinally) { + return promise.finally(onFinally); + }, + [Symbol.toStringTag]: "Promise" + }; + } + return promise; +} +function wrapAssertion(utils, name, fn) { + return function(...args) { + // private + if (name !== "withTest") { + utils.flag(this, "_name", name); + } + if (!utils.flag(this, "soft")) { + return fn.apply(this, args); + } + const test = utils.flag(this, "vitest-test"); + if (!test) { + throw new Error("expect.soft() can only be used inside a test"); + } + try { + return fn.apply(this, args); + } catch (err) { + var _test$result; + test.result || (test.result = { state: "fail" }); + test.result.state = "fail"; + (_test$result = test.result).errors || (_test$result.errors = []); + test.result.errors.push(processError(err)); + } + }; +} + +// Jest Expect Compact +const JestChaiExpect = (chai, utils) => { + const { AssertionError } = chai; + const customTesters = getCustomEqualityTesters(); + function def(name, fn) { + const addMethod = (n) => { + const softWrapper = wrapAssertion(utils, n, fn); + utils.addMethod(chai.Assertion.prototype, n, softWrapper); + utils.addMethod(globalThis[JEST_MATCHERS_OBJECT].matchers, n, softWrapper); + }; + if (Array.isArray(name)) { + name.forEach((n) => addMethod(n)); + } else { + addMethod(name); + } + } + [ + "throw", + "throws", + "Throw" + ].forEach((m) => { + utils.overwriteMethod(chai.Assertion.prototype, m, (_super) => { + return function(...args) { + const promise = utils.flag(this, "promise"); + const object = utils.flag(this, "object"); + const isNot = utils.flag(this, "negate"); + if (promise === "rejects") { + utils.flag(this, "object", () => { + throw object; + }); + } else if (promise === "resolves" && typeof object !== "function") { + if (!isNot) { + const message = utils.flag(this, "message") || "expected promise to throw an error, but it didn't"; + const error = { showDiff: false }; + throw new AssertionError(message, error, utils.flag(this, "ssfi")); + } else { + return; + } + } + _super.apply(this, args); + }; + }); + }); + // @ts-expect-error @internal + def("withTest", function(test) { + utils.flag(this, "vitest-test", test); + return this; + }); + def("toEqual", function(expected) { + const actual = utils.flag(this, "object"); + const equal = equals(actual, expected, [...customTesters, iterableEquality]); + return this.assert(equal, "expected #{this} to deeply equal #{exp}", "expected #{this} to not deeply equal #{exp}", expected, actual); + }); + def("toStrictEqual", function(expected) { + const obj = utils.flag(this, "object"); + const equal = equals(obj, expected, [ + ...customTesters, + iterableEquality, + typeEquality, + sparseArrayEquality, + arrayBufferEquality + ], true); + return this.assert(equal, "expected #{this} to strictly equal #{exp}", "expected #{this} to not strictly equal #{exp}", expected, obj); + }); + def("toBe", function(expected) { + const actual = this._obj; + const pass = Object.is(actual, expected); + let deepEqualityName = ""; + if (!pass) { + const toStrictEqualPass = equals(actual, expected, [ + ...customTesters, + iterableEquality, + typeEquality, + sparseArrayEquality, + arrayBufferEquality + ], true); + if (toStrictEqualPass) { + deepEqualityName = "toStrictEqual"; + } else { + const toEqualPass = equals(actual, expected, [...customTesters, iterableEquality]); + if (toEqualPass) { + deepEqualityName = "toEqual"; + } + } + } + return this.assert(pass, generateToBeMessage(deepEqualityName), "expected #{this} not to be #{exp} // Object.is equality", expected, actual); + }); + def("toMatchObject", function(expected) { + const actual = this._obj; + const pass = equals(actual, expected, [ + ...customTesters, + iterableEquality, + subsetEquality + ]); + const isNot = utils.flag(this, "negate"); + const { subset: actualSubset, stripped } = getObjectSubset(actual, expected, customTesters); + if (pass && isNot || !pass && !isNot) { + const msg = utils.getMessage(this, [ + pass, + "expected #{this} to match object #{exp}", + "expected #{this} to not match object #{exp}", + expected, + actualSubset, + false + ]); + const message = stripped === 0 ? msg : `${msg}\n(${stripped} matching ${stripped === 1 ? "property" : "properties"} omitted from actual)`; + throw new AssertionError(message, { + showDiff: true, + expected, + actual: actualSubset + }); + } + }); + def("toMatch", function(expected) { + const actual = this._obj; + if (typeof actual !== "string") { + throw new TypeError(`.toMatch() expects to receive a string, but got ${typeof actual}`); + } + return this.assert(typeof expected === "string" ? actual.includes(expected) : actual.match(expected), `expected #{this} to match #{exp}`, `expected #{this} not to match #{exp}`, expected, actual); + }); + def("toContain", function(item) { + const actual = this._obj; + if (typeof Node !== "undefined" && actual instanceof Node) { + if (!(item instanceof Node)) { + throw new TypeError(`toContain() expected a DOM node as the argument, but got ${typeof item}`); + } + return this.assert(actual.contains(item), "expected #{this} to contain element #{exp}", "expected #{this} not to contain element #{exp}", item, actual); + } + if (typeof DOMTokenList !== "undefined" && actual instanceof DOMTokenList) { + assertTypes(item, "class name", ["string"]); + const isNot = utils.flag(this, "negate"); + const expectedClassList = isNot ? actual.value.replace(item, "").trim() : `${actual.value} ${item}`; + return this.assert(actual.contains(item), `expected "${actual.value}" to contain "${item}"`, `expected "${actual.value}" not to contain "${item}"`, expectedClassList, actual.value); + } + // handle simple case on our own using `this.assert` to include diff in error message + if (typeof actual === "string" && typeof item === "string") { + return this.assert(actual.includes(item), `expected #{this} to contain #{exp}`, `expected #{this} not to contain #{exp}`, item, actual); + } + // make "actual" indexable to have compatibility with jest + if (actual != null && typeof actual !== "string") { + utils.flag(this, "object", Array.from(actual)); + } + return this.contain(item); + }); + def("toContainEqual", function(expected) { + const obj = utils.flag(this, "object"); + const index = Array.from(obj).findIndex((item) => { + return equals(item, expected, customTesters); + }); + this.assert(index !== -1, "expected #{this} to deep equally contain #{exp}", "expected #{this} to not deep equally contain #{exp}", expected); + }); + def("toBeTruthy", function() { + const obj = utils.flag(this, "object"); + this.assert(Boolean(obj), "expected #{this} to be truthy", "expected #{this} to not be truthy", true, obj); + }); + def("toBeFalsy", function() { + const obj = utils.flag(this, "object"); + this.assert(!obj, "expected #{this} to be falsy", "expected #{this} to not be falsy", false, obj); + }); + def("toBeGreaterThan", function(expected) { + const actual = this._obj; + assertTypes(actual, "actual", ["number", "bigint"]); + assertTypes(expected, "expected", ["number", "bigint"]); + return this.assert(actual > expected, `expected ${actual} to be greater than ${expected}`, `expected ${actual} to be not greater than ${expected}`, expected, actual, false); + }); + def("toBeGreaterThanOrEqual", function(expected) { + const actual = this._obj; + assertTypes(actual, "actual", ["number", "bigint"]); + assertTypes(expected, "expected", ["number", "bigint"]); + return this.assert(actual >= expected, `expected ${actual} to be greater than or equal to ${expected}`, `expected ${actual} to be not greater than or equal to ${expected}`, expected, actual, false); + }); + def("toBeLessThan", function(expected) { + const actual = this._obj; + assertTypes(actual, "actual", ["number", "bigint"]); + assertTypes(expected, "expected", ["number", "bigint"]); + return this.assert(actual < expected, `expected ${actual} to be less than ${expected}`, `expected ${actual} to be not less than ${expected}`, expected, actual, false); + }); + def("toBeLessThanOrEqual", function(expected) { + const actual = this._obj; + assertTypes(actual, "actual", ["number", "bigint"]); + assertTypes(expected, "expected", ["number", "bigint"]); + return this.assert(actual <= expected, `expected ${actual} to be less than or equal to ${expected}`, `expected ${actual} to be not less than or equal to ${expected}`, expected, actual, false); + }); + def("toBeNaN", function() { + const obj = utils.flag(this, "object"); + this.assert(Number.isNaN(obj), "expected #{this} to be NaN", "expected #{this} not to be NaN", Number.NaN, obj); + }); + def("toBeUndefined", function() { + const obj = utils.flag(this, "object"); + this.assert(undefined === obj, "expected #{this} to be undefined", "expected #{this} not to be undefined", undefined, obj); + }); + def("toBeNull", function() { + const obj = utils.flag(this, "object"); + this.assert(obj === null, "expected #{this} to be null", "expected #{this} not to be null", null, obj); + }); + def("toBeDefined", function() { + const obj = utils.flag(this, "object"); + this.assert(typeof obj !== "undefined", "expected #{this} to be defined", "expected #{this} to be undefined", obj); + }); + def("toBeTypeOf", function(expected) { + const actual = typeof this._obj; + const equal = expected === actual; + return this.assert(equal, "expected #{this} to be type of #{exp}", "expected #{this} not to be type of #{exp}", expected, actual); + }); + def("toBeInstanceOf", function(obj) { + return this.instanceOf(obj); + }); + def("toHaveLength", function(length) { + return this.have.length(length); + }); + // destructuring, because it checks `arguments` inside, and value is passing as `undefined` + def("toHaveProperty", function(...args) { + if (Array.isArray(args[0])) { + args[0] = args[0].map((key) => String(key).replace(/([.[\]])/g, "\\$1")).join("."); + } + const actual = this._obj; + const [propertyName, expected] = args; + const getValue = () => { + const hasOwn = Object.prototype.hasOwnProperty.call(actual, propertyName); + if (hasOwn) { + return { + value: actual[propertyName], + exists: true + }; + } + return utils.getPathInfo(actual, propertyName); + }; + const { value, exists } = getValue(); + const pass = exists && (args.length === 1 || equals(expected, value, customTesters)); + const valueString = args.length === 1 ? "" : ` with value ${utils.objDisplay(expected)}`; + return this.assert(pass, `expected #{this} to have property "${propertyName}"${valueString}`, `expected #{this} to not have property "${propertyName}"${valueString}`, expected, exists ? value : undefined); + }); + def("toBeCloseTo", function(received, precision = 2) { + const expected = this._obj; + let pass = false; + let expectedDiff = 0; + let receivedDiff = 0; + if (received === Number.POSITIVE_INFINITY && expected === Number.POSITIVE_INFINITY) { + pass = true; + } else if (received === Number.NEGATIVE_INFINITY && expected === Number.NEGATIVE_INFINITY) { + pass = true; + } else { + expectedDiff = 10 ** -precision / 2; + receivedDiff = Math.abs(expected - received); + pass = receivedDiff < expectedDiff; + } + return this.assert(pass, `expected #{this} to be close to #{exp}, received difference is ${receivedDiff}, but expected ${expectedDiff}`, `expected #{this} to not be close to #{exp}, received difference is ${receivedDiff}, but expected ${expectedDiff}`, received, expected, false); + }); + function assertIsMock(assertion) { + if (!isMockFunction(assertion._obj)) { + throw new TypeError(`${utils.inspect(assertion._obj)} is not a spy or a call to a spy!`); + } + } + function getSpy(assertion) { + assertIsMock(assertion); + return assertion._obj; + } + def(["toHaveBeenCalledTimes", "toBeCalledTimes"], function(number) { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const callCount = spy.mock.calls.length; + return this.assert(callCount === number, `expected "${spyName}" to be called #{exp} times, but got ${callCount} times`, `expected "${spyName}" to not be called #{exp} times`, number, callCount, false); + }); + def("toHaveBeenCalledOnce", function() { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const callCount = spy.mock.calls.length; + return this.assert(callCount === 1, `expected "${spyName}" to be called once, but got ${callCount} times`, `expected "${spyName}" to not be called once`, 1, callCount, false); + }); + def(["toHaveBeenCalled", "toBeCalled"], function() { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const callCount = spy.mock.calls.length; + const called = callCount > 0; + const isNot = utils.flag(this, "negate"); + let msg = utils.getMessage(this, [ + called, + `expected "${spyName}" to be called at least once`, + `expected "${spyName}" to not be called at all, but actually been called ${callCount} times`, + true, + called + ]); + if (called && isNot) { + msg = formatCalls(spy, msg); + } + if (called && isNot || !called && !isNot) { + throw new AssertionError(msg); + } + }); + // manually compare array elements since `jestEquals` cannot + // apply asymmetric matcher to `undefined` array element. + function equalsArgumentArray(a, b) { + return a.length === b.length && a.every((aItem, i) => equals(aItem, b[i], [...customTesters, iterableEquality])); + } + def(["toHaveBeenCalledWith", "toBeCalledWith"], function(...args) { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const pass = spy.mock.calls.some((callArg) => equalsArgumentArray(callArg, args)); + const isNot = utils.flag(this, "negate"); + const msg = utils.getMessage(this, [ + pass, + `expected "${spyName}" to be called with arguments: #{exp}`, + `expected "${spyName}" to not be called with arguments: #{exp}`, + args + ]); + if (pass && isNot || !pass && !isNot) { + throw new AssertionError(formatCalls(spy, msg, args)); + } + }); + def("toHaveBeenCalledExactlyOnceWith", function(...args) { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const callCount = spy.mock.calls.length; + const hasCallWithArgs = spy.mock.calls.some((callArg) => equalsArgumentArray(callArg, args)); + const pass = hasCallWithArgs && callCount === 1; + const isNot = utils.flag(this, "negate"); + const msg = utils.getMessage(this, [ + pass, + `expected "${spyName}" to be called once with arguments: #{exp}`, + `expected "${spyName}" to not be called once with arguments: #{exp}`, + args + ]); + if (pass && isNot || !pass && !isNot) { + throw new AssertionError(formatCalls(spy, msg, args)); + } + }); + def(["toHaveBeenNthCalledWith", "nthCalledWith"], function(times, ...args) { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const nthCall = spy.mock.calls[times - 1]; + const callCount = spy.mock.calls.length; + const isCalled = times <= callCount; + this.assert(nthCall && equalsArgumentArray(nthCall, args), `expected ${ordinalOf(times)} "${spyName}" call to have been called with #{exp}${isCalled ? `` : `, but called only ${callCount} times`}`, `expected ${ordinalOf(times)} "${spyName}" call to not have been called with #{exp}`, args, nthCall, isCalled); + }); + def(["toHaveBeenLastCalledWith", "lastCalledWith"], function(...args) { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const lastCall = spy.mock.calls[spy.mock.calls.length - 1]; + this.assert(lastCall && equalsArgumentArray(lastCall, args), `expected last "${spyName}" call to have been called with #{exp}`, `expected last "${spyName}" call to not have been called with #{exp}`, args, lastCall); + }); + /** + * Used for `toHaveBeenCalledBefore` and `toHaveBeenCalledAfter` to determine if the expected spy was called before the result spy. + */ + function isSpyCalledBeforeAnotherSpy(beforeSpy, afterSpy, failIfNoFirstInvocation) { + const beforeInvocationCallOrder = beforeSpy.mock.invocationCallOrder; + const afterInvocationCallOrder = afterSpy.mock.invocationCallOrder; + if (beforeInvocationCallOrder.length === 0) { + return !failIfNoFirstInvocation; + } + if (afterInvocationCallOrder.length === 0) { + return false; + } + return beforeInvocationCallOrder[0] < afterInvocationCallOrder[0]; + } + def(["toHaveBeenCalledBefore"], function(resultSpy, failIfNoFirstInvocation = true) { + const expectSpy = getSpy(this); + if (!isMockFunction(resultSpy)) { + throw new TypeError(`${utils.inspect(resultSpy)} is not a spy or a call to a spy`); + } + this.assert(isSpyCalledBeforeAnotherSpy(expectSpy, resultSpy, failIfNoFirstInvocation), `expected "${expectSpy.getMockName()}" to have been called before "${resultSpy.getMockName()}"`, `expected "${expectSpy.getMockName()}" to not have been called before "${resultSpy.getMockName()}"`, resultSpy, expectSpy); + }); + def(["toHaveBeenCalledAfter"], function(resultSpy, failIfNoFirstInvocation = true) { + const expectSpy = getSpy(this); + if (!isMockFunction(resultSpy)) { + throw new TypeError(`${utils.inspect(resultSpy)} is not a spy or a call to a spy`); + } + this.assert(isSpyCalledBeforeAnotherSpy(resultSpy, expectSpy, failIfNoFirstInvocation), `expected "${expectSpy.getMockName()}" to have been called after "${resultSpy.getMockName()}"`, `expected "${expectSpy.getMockName()}" to not have been called after "${resultSpy.getMockName()}"`, resultSpy, expectSpy); + }); + def(["toThrow", "toThrowError"], function(expected) { + if (typeof expected === "string" || typeof expected === "undefined" || expected instanceof RegExp) { + // Fixes the issue related to `chai` + return this.throws(expected === "" ? /^$/ : expected); + } + const obj = this._obj; + const promise = utils.flag(this, "promise"); + const isNot = utils.flag(this, "negate"); + let thrown = null; + if (promise === "rejects") { + thrown = obj; + } else if (promise === "resolves" && typeof obj !== "function") { + if (!isNot) { + const message = utils.flag(this, "message") || "expected promise to throw an error, but it didn't"; + const error = { showDiff: false }; + throw new AssertionError(message, error, utils.flag(this, "ssfi")); + } else { + return; + } + } else { + let isThrow = false; + try { + obj(); + } catch (err) { + isThrow = true; + thrown = err; + } + if (!isThrow && !isNot) { + const message = utils.flag(this, "message") || "expected function to throw an error, but it didn't"; + const error = { showDiff: false }; + throw new AssertionError(message, error, utils.flag(this, "ssfi")); + } + } + if (typeof expected === "function") { + const name = expected.name || expected.prototype.constructor.name; + return this.assert(thrown && thrown instanceof expected, `expected error to be instance of ${name}`, `expected error not to be instance of ${name}`, expected, thrown); + } + if (expected instanceof Error) { + const equal = equals(thrown, expected, [...customTesters, iterableEquality]); + return this.assert(equal, "expected a thrown error to be #{exp}", "expected a thrown error not to be #{exp}", expected, thrown); + } + if (typeof expected === "object" && "asymmetricMatch" in expected && typeof expected.asymmetricMatch === "function") { + const matcher = expected; + return this.assert(thrown && matcher.asymmetricMatch(thrown), "expected error to match asymmetric matcher", "expected error not to match asymmetric matcher", matcher, thrown); + } + throw new Error(`"toThrow" expects string, RegExp, function, Error instance or asymmetric matcher, got "${typeof expected}"`); + }); + [{ + name: "toHaveResolved", + condition: (spy) => spy.mock.settledResults.length > 0 && spy.mock.settledResults.some(({ type }) => type === "fulfilled"), + action: "resolved" + }, { + name: ["toHaveReturned", "toReturn"], + condition: (spy) => spy.mock.calls.length > 0 && spy.mock.results.some(({ type }) => type !== "throw"), + action: "called" + }].forEach(({ name, condition, action }) => { + def(name, function() { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const pass = condition(spy); + this.assert(pass, `expected "${spyName}" to be successfully ${action} at least once`, `expected "${spyName}" to not be successfully ${action}`, pass, !pass, false); + }); + }); + [{ + name: "toHaveResolvedTimes", + condition: (spy, times) => spy.mock.settledResults.reduce((s, { type }) => type === "fulfilled" ? ++s : s, 0) === times, + action: "resolved" + }, { + name: ["toHaveReturnedTimes", "toReturnTimes"], + condition: (spy, times) => spy.mock.results.reduce((s, { type }) => type === "throw" ? s : ++s, 0) === times, + action: "called" + }].forEach(({ name, condition, action }) => { + def(name, function(times) { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const pass = condition(spy, times); + this.assert(pass, `expected "${spyName}" to be successfully ${action} ${times} times`, `expected "${spyName}" to not be successfully ${action} ${times} times`, `expected resolved times: ${times}`, `received resolved times: ${pass}`, false); + }); + }); + [{ + name: "toHaveResolvedWith", + condition: (spy, value) => spy.mock.settledResults.some(({ type, value: result }) => type === "fulfilled" && equals(value, result)), + action: "resolve" + }, { + name: ["toHaveReturnedWith", "toReturnWith"], + condition: (spy, value) => spy.mock.results.some(({ type, value: result }) => type === "return" && equals(value, result)), + action: "return" + }].forEach(({ name, condition, action }) => { + def(name, function(value) { + const spy = getSpy(this); + const pass = condition(spy, value); + const isNot = utils.flag(this, "negate"); + if (pass && isNot || !pass && !isNot) { + const spyName = spy.getMockName(); + const msg = utils.getMessage(this, [ + pass, + `expected "${spyName}" to ${action} with: #{exp} at least once`, + `expected "${spyName}" to not ${action} with: #{exp}`, + value + ]); + const results = action === "return" ? spy.mock.results : spy.mock.settledResults; + throw new AssertionError(formatReturns(spy, results, msg, value)); + } + }); + }); + [{ + name: "toHaveLastResolvedWith", + condition: (spy, value) => { + const result = spy.mock.settledResults[spy.mock.settledResults.length - 1]; + return result && result.type === "fulfilled" && equals(result.value, value); + }, + action: "resolve" + }, { + name: ["toHaveLastReturnedWith", "lastReturnedWith"], + condition: (spy, value) => { + const result = spy.mock.results[spy.mock.results.length - 1]; + return result && result.type === "return" && equals(result.value, value); + }, + action: "return" + }].forEach(({ name, condition, action }) => { + def(name, function(value) { + const spy = getSpy(this); + const results = action === "return" ? spy.mock.results : spy.mock.settledResults; + const result = results[results.length - 1]; + const spyName = spy.getMockName(); + this.assert(condition(spy, value), `expected last "${spyName}" call to ${action} #{exp}`, `expected last "${spyName}" call to not ${action} #{exp}`, value, result === null || result === void 0 ? void 0 : result.value); + }); + }); + [{ + name: "toHaveNthResolvedWith", + condition: (spy, index, value) => { + const result = spy.mock.settledResults[index - 1]; + return result && result.type === "fulfilled" && equals(result.value, value); + }, + action: "resolve" + }, { + name: ["toHaveNthReturnedWith", "nthReturnedWith"], + condition: (spy, index, value) => { + const result = spy.mock.results[index - 1]; + return result && result.type === "return" && equals(result.value, value); + }, + action: "return" + }].forEach(({ name, condition, action }) => { + def(name, function(nthCall, value) { + const spy = getSpy(this); + const spyName = spy.getMockName(); + const results = action === "return" ? spy.mock.results : spy.mock.settledResults; + const result = results[nthCall - 1]; + const ordinalCall = `${ordinalOf(nthCall)} call`; + this.assert(condition(spy, nthCall, value), `expected ${ordinalCall} "${spyName}" call to ${action} #{exp}`, `expected ${ordinalCall} "${spyName}" call to not ${action} #{exp}`, value, result === null || result === void 0 ? void 0 : result.value); + }); + }); + // @ts-expect-error @internal + def("withContext", function(context) { + for (const key in context) { + utils.flag(this, key, context[key]); + } + return this; + }); + utils.addProperty(chai.Assertion.prototype, "resolves", function __VITEST_RESOLVES__() { + const error = new Error("resolves"); + utils.flag(this, "promise", "resolves"); + utils.flag(this, "error", error); + const test = utils.flag(this, "vitest-test"); + const obj = utils.flag(this, "object"); + if (utils.flag(this, "poll")) { + throw new SyntaxError(`expect.poll() is not supported in combination with .resolves`); + } + if (typeof (obj === null || obj === void 0 ? void 0 : obj.then) !== "function") { + throw new TypeError(`You must provide a Promise to expect() when using .resolves, not '${typeof obj}'.`); + } + const proxy = new Proxy(this, { get: (target, key, receiver) => { + const result = Reflect.get(target, key, receiver); + if (typeof result !== "function") { + return result instanceof chai.Assertion ? proxy : result; + } + return (...args) => { + utils.flag(this, "_name", key); + const promise = obj.then((value) => { + utils.flag(this, "object", value); + return result.call(this, ...args); + }, (err) => { + const _error = new AssertionError(`promise rejected "${utils.inspect(err)}" instead of resolving`, { showDiff: false }); + _error.cause = err; + _error.stack = error.stack.replace(error.message, _error.message); + throw _error; + }); + return recordAsyncExpect(test, promise, createAssertionMessage(utils, this, !!args.length), error); + }; + } }); + return proxy; + }); + utils.addProperty(chai.Assertion.prototype, "rejects", function __VITEST_REJECTS__() { + const error = new Error("rejects"); + utils.flag(this, "promise", "rejects"); + utils.flag(this, "error", error); + const test = utils.flag(this, "vitest-test"); + const obj = utils.flag(this, "object"); + const wrapper = typeof obj === "function" ? obj() : obj; + if (utils.flag(this, "poll")) { + throw new SyntaxError(`expect.poll() is not supported in combination with .rejects`); + } + if (typeof (wrapper === null || wrapper === void 0 ? void 0 : wrapper.then) !== "function") { + throw new TypeError(`You must provide a Promise to expect() when using .rejects, not '${typeof wrapper}'.`); + } + const proxy = new Proxy(this, { get: (target, key, receiver) => { + const result = Reflect.get(target, key, receiver); + if (typeof result !== "function") { + return result instanceof chai.Assertion ? proxy : result; + } + return (...args) => { + utils.flag(this, "_name", key); + const promise = wrapper.then((value) => { + const _error = new AssertionError(`promise resolved "${utils.inspect(value)}" instead of rejecting`, { + showDiff: true, + expected: new Error("rejected promise"), + actual: value + }); + _error.stack = error.stack.replace(error.message, _error.message); + throw _error; + }, (err) => { + utils.flag(this, "object", err); + return result.call(this, ...args); + }); + return recordAsyncExpect(test, promise, createAssertionMessage(utils, this, !!args.length), error); + }; + } }); + return proxy; + }); +}; +function ordinalOf(i) { + const j = i % 10; + const k = i % 100; + if (j === 1 && k !== 11) { + return `${i}st`; + } + if (j === 2 && k !== 12) { + return `${i}nd`; + } + if (j === 3 && k !== 13) { + return `${i}rd`; + } + return `${i}th`; +} +function formatCalls(spy, msg, showActualCall) { + if (spy.mock.calls.length) { + msg += c.gray(`\n\nReceived: \n\n${spy.mock.calls.map((callArg, i) => { + let methodCall = c.bold(` ${ordinalOf(i + 1)} ${spy.getMockName()} call:\n\n`); + if (showActualCall) { + methodCall += diff(showActualCall, callArg, { omitAnnotationLines: true }); + } else { + methodCall += stringify(callArg).split("\n").map((line) => ` ${line}`).join("\n"); + } + methodCall += "\n"; + return methodCall; + }).join("\n")}`); + } + msg += c.gray(`\n\nNumber of calls: ${c.bold(spy.mock.calls.length)}\n`); + return msg; +} +function formatReturns(spy, results, msg, showActualReturn) { + if (results.length) { + msg += c.gray(`\n\nReceived: \n\n${results.map((callReturn, i) => { + let methodCall = c.bold(` ${ordinalOf(i + 1)} ${spy.getMockName()} call return:\n\n`); + if (showActualReturn) { + methodCall += diff(showActualReturn, callReturn.value, { omitAnnotationLines: true }); + } else { + methodCall += stringify(callReturn).split("\n").map((line) => ` ${line}`).join("\n"); + } + methodCall += "\n"; + return methodCall; + }).join("\n")}`); + } + msg += c.gray(`\n\nNumber of calls: ${c.bold(spy.mock.calls.length)}\n`); + return msg; +} + +function getMatcherState(assertion, expect) { + const obj = assertion._obj; + const isNot = util.flag(assertion, "negate"); + const promise = util.flag(assertion, "promise") || ""; + const jestUtils = { + ...getMatcherUtils(), + diff, + stringify, + iterableEquality, + subsetEquality + }; + const matcherState = { + ...getState(expect), + customTesters: getCustomEqualityTesters(), + isNot, + utils: jestUtils, + promise, + equals, + suppressedErrors: [], + soft: util.flag(assertion, "soft"), + poll: util.flag(assertion, "poll") + }; + return { + state: matcherState, + isNot, + obj + }; +} +class JestExtendError extends Error { + constructor(message, actual, expected) { + super(message); + this.actual = actual; + this.expected = expected; + } +} +function JestExtendPlugin(c, expect, matchers) { + return (_, utils) => { + Object.entries(matchers).forEach(([expectAssertionName, expectAssertion]) => { + function expectWrapper(...args) { + const { state, isNot, obj } = getMatcherState(this, expect); + const result = expectAssertion.call(state, obj, ...args); + if (result && typeof result === "object" && result instanceof Promise) { + return result.then(({ pass, message, actual, expected }) => { + if (pass && isNot || !pass && !isNot) { + throw new JestExtendError(message(), actual, expected); + } + }); + } + const { pass, message, actual, expected } = result; + if (pass && isNot || !pass && !isNot) { + throw new JestExtendError(message(), actual, expected); + } + } + const softWrapper = wrapAssertion(utils, expectAssertionName, expectWrapper); + utils.addMethod(globalThis[JEST_MATCHERS_OBJECT].matchers, expectAssertionName, softWrapper); + utils.addMethod(c.Assertion.prototype, expectAssertionName, softWrapper); + class CustomMatcher extends AsymmetricMatcher { + constructor(inverse = false, ...sample) { + super(sample, inverse); + } + asymmetricMatch(other) { + const { pass } = expectAssertion.call(this.getMatcherContext(expect), other, ...this.sample); + return this.inverse ? !pass : pass; + } + toString() { + return `${this.inverse ? "not." : ""}${expectAssertionName}`; + } + getExpectedType() { + return "any"; + } + toAsymmetricMatcher() { + return `${this.toString()}<${this.sample.map((item) => stringify(item)).join(", ")}>`; + } + } + const customMatcher = (...sample) => new CustomMatcher(false, ...sample); + Object.defineProperty(expect, expectAssertionName, { + configurable: true, + enumerable: true, + value: customMatcher, + writable: true + }); + Object.defineProperty(expect.not, expectAssertionName, { + configurable: true, + enumerable: true, + value: (...sample) => new CustomMatcher(true, ...sample), + writable: true + }); + // keep track of asymmetric matchers on global so that it can be copied over to local context's `expect`. + // note that the negated variant is automatically shared since it's assigned on the single `expect.not` object. + Object.defineProperty(globalThis[ASYMMETRIC_MATCHERS_OBJECT], expectAssertionName, { + configurable: true, + enumerable: true, + value: customMatcher, + writable: true + }); + }); + }; +} +const JestExtend = (chai, utils) => { + utils.addMethod(chai.expect, "extend", (expect, expects) => { + use(JestExtendPlugin(chai, expect, expects)); + }); +}; + +export { ASYMMETRIC_MATCHERS_OBJECT, Any, Anything, ArrayContaining, AsymmetricMatcher, GLOBAL_EXPECT, JEST_MATCHERS_OBJECT, JestAsymmetricMatchers, JestChaiExpect, JestExtend, MATCHERS_OBJECT, ObjectContaining, StringContaining, StringMatching, addCustomEqualityTesters, arrayBufferEquality, customMatchers, equals, fnNameFor, generateToBeMessage, getObjectKeys, getObjectSubset, getState, hasAsymmetric, hasProperty, isA, isAsymmetric, isImmutableUnorderedKeyed, isImmutableUnorderedSet, iterableEquality, pluralize, setState, sparseArrayEquality, subsetEquality, typeEquality }; diff --git a/node_modules/@vitest/expect/package.json b/node_modules/@vitest/expect/package.json new file mode 100644 index 0000000..e9c8957 --- /dev/null +++ b/node_modules/@vitest/expect/package.json @@ -0,0 +1,46 @@ +{ + "name": "@vitest/expect", + "type": "module", + "version": "3.2.3", + "description": "Jest's expect matchers as a Chai plugin", + "license": "MIT", + "funding": "https://opencollective.com/vitest", + "homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/expect#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vitest-dev/vitest.git", + "directory": "packages/expect" + }, + "bugs": { + "url": "https://github.com/vitest-dev/vitest/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./*": "./*" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "dependencies": { + "@types/chai": "^5.2.2", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0", + "@vitest/spy": "3.2.3", + "@vitest/utils": "3.2.3" + }, + "devDependencies": { + "rollup-plugin-copy": "^3.5.0", + "@vitest/runner": "3.2.3" + }, + "scripts": { + "build": "rimraf dist && rollup -c", + "dev": "rollup -c --watch" + } +} \ No newline at end of file diff --git a/node_modules/@vitest/mocker/LICENSE b/node_modules/@vitest/mocker/LICENSE new file mode 100644 index 0000000..5ae481f --- /dev/null +++ b/node_modules/@vitest/mocker/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-Present Vitest Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@vitest/mocker/README.md b/node_modules/@vitest/mocker/README.md new file mode 100644 index 0000000..f23202d --- /dev/null +++ b/node_modules/@vitest/mocker/README.md @@ -0,0 +1,5 @@ +# @vitest/mocker + +Vitest's module mocker implementation. + +[GitHub](https://github.com/vitest-dev/vitest/blob/main/packages/mocker/) | [Documentation](https://github.com/vitest-dev/vitest/blob/main/packages/mocker/EXPORTS.md) diff --git a/node_modules/@vitest/mocker/dist/auto-register.d.ts b/node_modules/@vitest/mocker/dist/auto-register.d.ts new file mode 100644 index 0000000..04fa25e --- /dev/null +++ b/node_modules/@vitest/mocker/dist/auto-register.d.ts @@ -0,0 +1,2 @@ + +export { }; diff --git a/node_modules/@vitest/mocker/dist/auto-register.js b/node_modules/@vitest/mocker/dist/auto-register.js new file mode 100644 index 0000000..8da252b --- /dev/null +++ b/node_modules/@vitest/mocker/dist/auto-register.js @@ -0,0 +1,9 @@ +import { M as ModuleMockerServerInterceptor } from './chunk-interceptor-native.js'; +import { registerModuleMocker } from './register.js'; +import './chunk-mocker.js'; +import './index.js'; +import './chunk-registry.js'; +import './chunk-pathe.M-eThtNZ.js'; +import '@vitest/spy'; + +registerModuleMocker(() => new ModuleMockerServerInterceptor()); diff --git a/node_modules/@vitest/mocker/dist/browser.d.ts b/node_modules/@vitest/mocker/dist/browser.d.ts new file mode 100644 index 0000000..2629a02 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/browser.d.ts @@ -0,0 +1,53 @@ +import { M as ModuleMockerInterceptor } from './mocker.d-Ce9_ySj5.js'; +export { C as CompilerHintsOptions, b as ModuleMocker, a as ModuleMockerCompilerHints, d as ModuleMockerConfig, e as ModuleMockerRPC, R as ResolveIdResult, f as ResolveMockResult, c as createCompilerHints } from './mocker.d-Ce9_ySj5.js'; +import { StartOptions, SetupWorker } from 'msw/browser'; +import { c as MockerRegistry, g as MockedModule } from './registry.d-D765pazg.js'; +import '@vitest/spy'; +import './types.d-D_aRZRdy.js'; + +interface ModuleMockerMSWInterceptorOptions { + /** + * The identifier to access the globalThis object in the worker. + * This will be injected into the script as is, so make sure it's a valid JS expression. + * @example + * ```js + * // globalThisAccessor: '__my_variable__' produces: + * globalThis[__my_variable__] + * // globalThisAccessor: 'Symbol.for('secret:mocks')' produces: + * globalThis[Symbol.for('secret:mocks')] + * // globalThisAccessor: '"__vitest_mocker__"' (notice quotes) produces: + * globalThis["__vitest_mocker__"] + * ``` + * @default `"__vitest_mocker__"` + */ + globalThisAccessor?: string; + /** + * Options passed down to `msw.setupWorker().start(options)` + */ + mswOptions?: StartOptions; + /** + * A pre-configured `msw.setupWorker` instance. + */ + mswWorker?: SetupWorker; +} +declare class ModuleMockerMSWInterceptor implements ModuleMockerInterceptor { + private readonly options; + protected readonly mocks: MockerRegistry; + private startPromise; + private worker; + constructor(options?: ModuleMockerMSWInterceptorOptions); + register(module: MockedModule): Promise; + delete(url: string): Promise; + invalidate(): Promise; + private resolveManualMock; + protected init(): Promise; +} + +declare class ModuleMockerServerInterceptor implements ModuleMockerInterceptor { + register(module: MockedModule): Promise; + delete(id: string): Promise; + invalidate(): Promise; +} + +export { ModuleMockerInterceptor, ModuleMockerMSWInterceptor, ModuleMockerServerInterceptor }; +export type { ModuleMockerMSWInterceptorOptions }; diff --git a/node_modules/@vitest/mocker/dist/browser.js b/node_modules/@vitest/mocker/dist/browser.js new file mode 100644 index 0000000..6d5ae1d --- /dev/null +++ b/node_modules/@vitest/mocker/dist/browser.js @@ -0,0 +1,91 @@ +export { M as ModuleMocker, c as createCompilerHints } from './chunk-mocker.js'; +import { M as MockerRegistry } from './chunk-registry.js'; +import { c as createManualModuleSource, a as cleanUrl } from './chunk-utils.js'; +export { M as ModuleMockerServerInterceptor } from './chunk-interceptor-native.js'; +import './index.js'; +import './chunk-pathe.M-eThtNZ.js'; + +class ModuleMockerMSWInterceptor { + mocks = new MockerRegistry(); + startPromise; + worker; + constructor(options = {}) { + this.options = options; + if (!options.globalThisAccessor) { + options.globalThisAccessor = "\"__vitest_mocker__\""; + } + } + async register(module) { + await this.init(); + this.mocks.add(module); + } + async delete(url) { + await this.init(); + this.mocks.delete(url); + } + async invalidate() { + this.mocks.clear(); + } + async resolveManualMock(mock) { + const exports = Object.keys(await mock.resolve()); + const text = createManualModuleSource(mock.url, exports, this.options.globalThisAccessor); + return new Response(text, { headers: { "Content-Type": "application/javascript" } }); + } + async init() { + if (this.worker) { + return this.worker; + } + if (this.startPromise) { + return this.startPromise; + } + const worker = this.options.mswWorker; + this.startPromise = Promise.all([worker ? { setupWorker(handler) { + worker.use(handler); + return worker; + } } : import('msw/browser'), import('msw/core/http')]).then(([{ setupWorker }, { http }]) => { + const worker = setupWorker(http.get(/.+/, async ({ request }) => { + const path = cleanQuery(request.url.slice(location.origin.length)); + if (!this.mocks.has(path)) { + return passthrough(); + } + const mock = this.mocks.get(path); + switch (mock.type) { + case "manual": return this.resolveManualMock(mock); + case "automock": + case "autospy": return Response.redirect(injectQuery(path, `mock=${mock.type}`)); + case "redirect": return Response.redirect(mock.redirect); + default: throw new Error(`Unknown mock type: ${mock.type}`); + } + })); + return worker.start(this.options.mswOptions).then(() => worker); + }).finally(() => { + this.worker = worker; + this.startPromise = undefined; + }); + return await this.startPromise; + } +} +const trailingSeparatorRE = /[?&]$/; +const timestampRE = /\bt=\d{13}&?\b/; +const versionRE = /\bv=\w{8}&?\b/; +function cleanQuery(url) { + return url.replace(timestampRE, "").replace(versionRE, "").replace(trailingSeparatorRE, ""); +} +function passthrough() { + return new Response(null, { + status: 302, + statusText: "Passthrough", + headers: { "x-msw-intention": "passthrough" } + }); +} +const replacePercentageRE = /%/g; +function injectQuery(url, queryToInject) { + // encode percents for consistent behavior with pathToFileURL + // see #2614 for details + const resolvedUrl = new URL(url.replace(replacePercentageRE, "%25"), location.href); + const { search, hash } = resolvedUrl; + const pathname = cleanUrl(url); + return `${pathname}?${queryToInject}${search ? `&${search.slice(1)}` : ""}${hash ?? ""}`; +} + +export { ModuleMockerMSWInterceptor }; diff --git a/node_modules/@vitest/mocker/dist/chunk-interceptor-native.js b/node_modules/@vitest/mocker/dist/chunk-interceptor-native.js new file mode 100644 index 0000000..4b472cc --- /dev/null +++ b/node_modules/@vitest/mocker/dist/chunk-interceptor-native.js @@ -0,0 +1,15 @@ +import { r as rpc } from './chunk-mocker.js'; + +class ModuleMockerServerInterceptor { + async register(module) { + await rpc("vitest:interceptor:register", module.toJSON()); + } + async delete(id) { + await rpc("vitest:interceptor:delete", id); + } + async invalidate() { + await rpc("vitest:interceptor:invalidate"); + } +} + +export { ModuleMockerServerInterceptor as M }; diff --git a/node_modules/@vitest/mocker/dist/chunk-mocker.js b/node_modules/@vitest/mocker/dist/chunk-mocker.js new file mode 100644 index 0000000..de63d88 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/chunk-mocker.js @@ -0,0 +1,1618 @@ +import { mockObject } from './index.js'; +import { M as MockerRegistry, R as RedirectedModule, A as AutomockedModule } from './chunk-registry.js'; +import { e as extname, j as join } from './chunk-pathe.M-eThtNZ.js'; + +// src/index.ts +var f = { + reset: [0, 0], + bold: [1, 22, "\x1B[22m\x1B[1m"], + dim: [2, 22, "\x1B[22m\x1B[2m"], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29], + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + blackBright: [90, 39], + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39], + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] +}, h = Object.entries(f); +function a(n) { + return String(n); +} +a.open = ""; +a.close = ""; +function C(n = false) { + let e = typeof process != "undefined" ? process : void 0, i = (e == null ? void 0 : e.env) || {}, g = (e == null ? void 0 : e.argv) || []; + return !("NO_COLOR" in i || g.includes("--no-color")) && ("FORCE_COLOR" in i || g.includes("--color") || (e == null ? void 0 : e.platform) === "win32" || n && i.TERM !== "dumb" || "CI" in i) || typeof window != "undefined" && !!window.chrome; +} +function p(n = false) { + let e = C(n), i = (r, t, c, o) => { + let l = "", s = 0; + do + l += r.substring(s, o) + c, s = o + t.length, o = r.indexOf(t, s); + while (~o); + return l + r.substring(s); + }, g = (r, t, c = r) => { + let o = (l) => { + let s = String(l), b = s.indexOf(t, r.length); + return ~b ? r + i(s, t, c, b) + t : r + s + t; + }; + return o.open = r, o.close = t, o; + }, u = { + isColorSupported: e + }, d = (r) => `\x1B[${r}m`; + for (let [r, t] of h) + u[r] = e ? g( + d(t[0]), + d(t[1]), + t[2] + ) : a; + return u; +} + +p(); + +function _mergeNamespaces(n, m) { + m.forEach(function(e) { + e && typeof e !== "string" && !Array.isArray(e) && Object.keys(e).forEach(function(k) { + if (k !== "default" && !(k in n)) { + var d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: function() { + return e[k]; + } + }); + } + }); + }); + return Object.freeze(n); +} +function getDefaultExportFromCjs(x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x; +} +var reactIs$1 = { exports: {} }; +var reactIs_production = {}; +/** +* @license React +* react-is.production.js +* +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +var hasRequiredReactIs_production; +function requireReactIs_production() { + if (hasRequiredReactIs_production) return reactIs_production; + hasRequiredReactIs_production = 1; + var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"); + function typeOf(object) { + if ("object" === typeof object && null !== object) { + var $$typeof = object.$$typeof; + switch ($$typeof) { + case REACT_ELEMENT_TYPE: switch (object = object.type, object) { + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + case REACT_SUSPENSE_LIST_TYPE: + case REACT_VIEW_TRANSITION_TYPE: return object; + default: switch (object = object && object.$$typeof, object) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: return object; + case REACT_CONSUMER_TYPE: return object; + default: return $$typeof; + } + } + case REACT_PORTAL_TYPE: return $$typeof; + } + } + } + reactIs_production.ContextConsumer = REACT_CONSUMER_TYPE; + reactIs_production.ContextProvider = REACT_CONTEXT_TYPE; + reactIs_production.Element = REACT_ELEMENT_TYPE; + reactIs_production.ForwardRef = REACT_FORWARD_REF_TYPE; + reactIs_production.Fragment = REACT_FRAGMENT_TYPE; + reactIs_production.Lazy = REACT_LAZY_TYPE; + reactIs_production.Memo = REACT_MEMO_TYPE; + reactIs_production.Portal = REACT_PORTAL_TYPE; + reactIs_production.Profiler = REACT_PROFILER_TYPE; + reactIs_production.StrictMode = REACT_STRICT_MODE_TYPE; + reactIs_production.Suspense = REACT_SUSPENSE_TYPE; + reactIs_production.SuspenseList = REACT_SUSPENSE_LIST_TYPE; + reactIs_production.isContextConsumer = function(object) { + return typeOf(object) === REACT_CONSUMER_TYPE; + }; + reactIs_production.isContextProvider = function(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; + }; + reactIs_production.isElement = function(object) { + return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE; + }; + reactIs_production.isForwardRef = function(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; + }; + reactIs_production.isFragment = function(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; + }; + reactIs_production.isLazy = function(object) { + return typeOf(object) === REACT_LAZY_TYPE; + }; + reactIs_production.isMemo = function(object) { + return typeOf(object) === REACT_MEMO_TYPE; + }; + reactIs_production.isPortal = function(object) { + return typeOf(object) === REACT_PORTAL_TYPE; + }; + reactIs_production.isProfiler = function(object) { + return typeOf(object) === REACT_PROFILER_TYPE; + }; + reactIs_production.isStrictMode = function(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; + }; + reactIs_production.isSuspense = function(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; + }; + reactIs_production.isSuspenseList = function(object) { + return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; + }; + reactIs_production.isValidElementType = function(type) { + return "string" === typeof type || "function" === typeof type || type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || "object" === typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_CONSUMER_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_CLIENT_REFERENCE || void 0 !== type.getModuleId) ? true : false; + }; + reactIs_production.typeOf = typeOf; + return reactIs_production; +} +var reactIs_development$1 = {}; +/** +* @license React +* react-is.development.js +* +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +var hasRequiredReactIs_development$1; +function requireReactIs_development$1() { + if (hasRequiredReactIs_development$1) return reactIs_development$1; + hasRequiredReactIs_development$1 = 1; + "production" !== process.env.NODE_ENV && function() { + function typeOf(object) { + if ("object" === typeof object && null !== object) { + var $$typeof = object.$$typeof; + switch ($$typeof) { + case REACT_ELEMENT_TYPE: switch (object = object.type, object) { + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + case REACT_SUSPENSE_LIST_TYPE: + case REACT_VIEW_TRANSITION_TYPE: return object; + default: switch (object = object && object.$$typeof, object) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: return object; + case REACT_CONSUMER_TYPE: return object; + default: return $$typeof; + } + } + case REACT_PORTAL_TYPE: return $$typeof; + } + } + } + var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"); + reactIs_development$1.ContextConsumer = REACT_CONSUMER_TYPE; + reactIs_development$1.ContextProvider = REACT_CONTEXT_TYPE; + reactIs_development$1.Element = REACT_ELEMENT_TYPE; + reactIs_development$1.ForwardRef = REACT_FORWARD_REF_TYPE; + reactIs_development$1.Fragment = REACT_FRAGMENT_TYPE; + reactIs_development$1.Lazy = REACT_LAZY_TYPE; + reactIs_development$1.Memo = REACT_MEMO_TYPE; + reactIs_development$1.Portal = REACT_PORTAL_TYPE; + reactIs_development$1.Profiler = REACT_PROFILER_TYPE; + reactIs_development$1.StrictMode = REACT_STRICT_MODE_TYPE; + reactIs_development$1.Suspense = REACT_SUSPENSE_TYPE; + reactIs_development$1.SuspenseList = REACT_SUSPENSE_LIST_TYPE; + reactIs_development$1.isContextConsumer = function(object) { + return typeOf(object) === REACT_CONSUMER_TYPE; + }; + reactIs_development$1.isContextProvider = function(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; + }; + reactIs_development$1.isElement = function(object) { + return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE; + }; + reactIs_development$1.isForwardRef = function(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; + }; + reactIs_development$1.isFragment = function(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; + }; + reactIs_development$1.isLazy = function(object) { + return typeOf(object) === REACT_LAZY_TYPE; + }; + reactIs_development$1.isMemo = function(object) { + return typeOf(object) === REACT_MEMO_TYPE; + }; + reactIs_development$1.isPortal = function(object) { + return typeOf(object) === REACT_PORTAL_TYPE; + }; + reactIs_development$1.isProfiler = function(object) { + return typeOf(object) === REACT_PROFILER_TYPE; + }; + reactIs_development$1.isStrictMode = function(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; + }; + reactIs_development$1.isSuspense = function(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; + }; + reactIs_development$1.isSuspenseList = function(object) { + return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; + }; + reactIs_development$1.isValidElementType = function(type) { + return "string" === typeof type || "function" === typeof type || type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || "object" === typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_CONSUMER_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_CLIENT_REFERENCE || void 0 !== type.getModuleId) ? true : false; + }; + reactIs_development$1.typeOf = typeOf; + }(); + return reactIs_development$1; +} +var hasRequiredReactIs$1; +function requireReactIs$1() { + if (hasRequiredReactIs$1) return reactIs$1.exports; + hasRequiredReactIs$1 = 1; + if (process.env.NODE_ENV === "production") { + reactIs$1.exports = requireReactIs_production(); + } else { + reactIs$1.exports = requireReactIs_development$1(); + } + return reactIs$1.exports; +} +var reactIsExports$1 = requireReactIs$1(); +var index$1 = /* @__PURE__ */ getDefaultExportFromCjs(reactIsExports$1); +var ReactIs19 = /* @__PURE__ */ _mergeNamespaces({ + __proto__: null, + default: index$1 +}, [reactIsExports$1]); +var reactIs = { exports: {} }; +var reactIs_production_min = {}; +/** +* @license React +* react-is.production.min.js +* +* Copyright (c) Facebook, Inc. and its affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +var hasRequiredReactIs_production_min; +function requireReactIs_production_min() { + if (hasRequiredReactIs_production_min) return reactIs_production_min; + hasRequiredReactIs_production_min = 1; + var b = Symbol.for("react.element"), c = Symbol.for("react.portal"), d = Symbol.for("react.fragment"), e = Symbol.for("react.strict_mode"), f = Symbol.for("react.profiler"), g = Symbol.for("react.provider"), h = Symbol.for("react.context"), k = Symbol.for("react.server_context"), l = Symbol.for("react.forward_ref"), m = Symbol.for("react.suspense"), n = Symbol.for("react.suspense_list"), p = Symbol.for("react.memo"), q = Symbol.for("react.lazy"), t = Symbol.for("react.offscreen"), u; + u = Symbol.for("react.module.reference"); + function v(a) { + if ("object" === typeof a && null !== a) { + var r = a.$$typeof; + switch (r) { + case b: switch (a = a.type, a) { + case d: + case f: + case e: + case m: + case n: return a; + default: switch (a = a && a.$$typeof, a) { + case k: + case h: + case l: + case q: + case p: + case g: return a; + default: return r; + } + } + case c: return r; + } + } + } + reactIs_production_min.ContextConsumer = h; + reactIs_production_min.ContextProvider = g; + reactIs_production_min.Element = b; + reactIs_production_min.ForwardRef = l; + reactIs_production_min.Fragment = d; + reactIs_production_min.Lazy = q; + reactIs_production_min.Memo = p; + reactIs_production_min.Portal = c; + reactIs_production_min.Profiler = f; + reactIs_production_min.StrictMode = e; + reactIs_production_min.Suspense = m; + reactIs_production_min.SuspenseList = n; + reactIs_production_min.isAsyncMode = function() { + return false; + }; + reactIs_production_min.isConcurrentMode = function() { + return false; + }; + reactIs_production_min.isContextConsumer = function(a) { + return v(a) === h; + }; + reactIs_production_min.isContextProvider = function(a) { + return v(a) === g; + }; + reactIs_production_min.isElement = function(a) { + return "object" === typeof a && null !== a && a.$$typeof === b; + }; + reactIs_production_min.isForwardRef = function(a) { + return v(a) === l; + }; + reactIs_production_min.isFragment = function(a) { + return v(a) === d; + }; + reactIs_production_min.isLazy = function(a) { + return v(a) === q; + }; + reactIs_production_min.isMemo = function(a) { + return v(a) === p; + }; + reactIs_production_min.isPortal = function(a) { + return v(a) === c; + }; + reactIs_production_min.isProfiler = function(a) { + return v(a) === f; + }; + reactIs_production_min.isStrictMode = function(a) { + return v(a) === e; + }; + reactIs_production_min.isSuspense = function(a) { + return v(a) === m; + }; + reactIs_production_min.isSuspenseList = function(a) { + return v(a) === n; + }; + reactIs_production_min.isValidElementType = function(a) { + return "string" === typeof a || "function" === typeof a || a === d || a === f || a === e || a === m || a === n || a === t || "object" === typeof a && null !== a && (a.$$typeof === q || a.$$typeof === p || a.$$typeof === g || a.$$typeof === h || a.$$typeof === l || a.$$typeof === u || void 0 !== a.getModuleId) ? true : false; + }; + reactIs_production_min.typeOf = v; + return reactIs_production_min; +} +var reactIs_development = {}; +/** +* @license React +* react-is.development.js +* +* Copyright (c) Facebook, Inc. and its affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +var hasRequiredReactIs_development; +function requireReactIs_development() { + if (hasRequiredReactIs_development) return reactIs_development; + hasRequiredReactIs_development = 1; + if (process.env.NODE_ENV !== "production") { + (function() { + // ATTENTION + // When adding new symbols to this file, + // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' + // The Symbol used to tag the ReactElement-like types. + var REACT_ELEMENT_TYPE = Symbol.for("react.element"); + var REACT_PORTAL_TYPE = Symbol.for("react.portal"); + var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); + var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"); + var REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_PROVIDER_TYPE = Symbol.for("react.provider"); + var REACT_CONTEXT_TYPE = Symbol.for("react.context"); + var REACT_SERVER_CONTEXT_TYPE = Symbol.for("react.server_context"); + var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"); + var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"); + var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"); + var REACT_MEMO_TYPE = Symbol.for("react.memo"); + var REACT_LAZY_TYPE = Symbol.for("react.lazy"); + var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); + // ----------------------------------------------------------------------------- + var enableScopeAPI = false; + var enableCacheElement = false; + var enableTransitionTracing = false; + var enableLegacyHidden = false; + // stuff. Intended to enable React core members to more easily debug scheduling + // issues in DEV builds. + var enableDebugTracing = false; + var REACT_MODULE_REFERENCE; + { + REACT_MODULE_REFERENCE = Symbol.for("react.module.reference"); + } + function isValidElementType(type) { + if (typeof type === "string" || typeof type === "function") { + return true; + } + if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) { + return true; + } + if (typeof type === "object" && type !== null) { + if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) { + return true; + } + } + return false; + } + function typeOf(object) { + if (typeof object === "object" && object !== null) { + var $$typeof = object.$$typeof; + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + var type = object.type; + switch (type) { + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + case REACT_SUSPENSE_LIST_TYPE: return type; + default: + var $$typeofType = type && type.$$typeof; + switch ($$typeofType) { + case REACT_SERVER_CONTEXT_TYPE: + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + case REACT_PROVIDER_TYPE: return $$typeofType; + default: return $$typeof; + } + } + case REACT_PORTAL_TYPE: return $$typeof; + } + } + return undefined; + } + var ContextConsumer = REACT_CONTEXT_TYPE; + var ContextProvider = REACT_PROVIDER_TYPE; + var Element = REACT_ELEMENT_TYPE; + var ForwardRef = REACT_FORWARD_REF_TYPE; + var Fragment = REACT_FRAGMENT_TYPE; + var Lazy = REACT_LAZY_TYPE; + var Memo = REACT_MEMO_TYPE; + var Portal = REACT_PORTAL_TYPE; + var Profiler = REACT_PROFILER_TYPE; + var StrictMode = REACT_STRICT_MODE_TYPE; + var Suspense = REACT_SUSPENSE_TYPE; + var SuspenseList = REACT_SUSPENSE_LIST_TYPE; + var hasWarnedAboutDeprecatedIsAsyncMode = false; + var hasWarnedAboutDeprecatedIsConcurrentMode = false; + function isAsyncMode(object) { + { + if (!hasWarnedAboutDeprecatedIsAsyncMode) { + hasWarnedAboutDeprecatedIsAsyncMode = true; + console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, " + "and will be removed in React 18+."); + } + } + return false; + } + function isConcurrentMode(object) { + { + if (!hasWarnedAboutDeprecatedIsConcurrentMode) { + hasWarnedAboutDeprecatedIsConcurrentMode = true; + console["warn"]("The ReactIs.isConcurrentMode() alias has been deprecated, " + "and will be removed in React 18+."); + } + } + return false; + } + function isContextConsumer(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; + } + function isContextProvider(object) { + return typeOf(object) === REACT_PROVIDER_TYPE; + } + function isElement(object) { + return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + function isForwardRef(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; + } + function isFragment(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; + } + function isLazy(object) { + return typeOf(object) === REACT_LAZY_TYPE; + } + function isMemo(object) { + return typeOf(object) === REACT_MEMO_TYPE; + } + function isPortal(object) { + return typeOf(object) === REACT_PORTAL_TYPE; + } + function isProfiler(object) { + return typeOf(object) === REACT_PROFILER_TYPE; + } + function isStrictMode(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; + } + function isSuspense(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; + } + function isSuspenseList(object) { + return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; + } + reactIs_development.ContextConsumer = ContextConsumer; + reactIs_development.ContextProvider = ContextProvider; + reactIs_development.Element = Element; + reactIs_development.ForwardRef = ForwardRef; + reactIs_development.Fragment = Fragment; + reactIs_development.Lazy = Lazy; + reactIs_development.Memo = Memo; + reactIs_development.Portal = Portal; + reactIs_development.Profiler = Profiler; + reactIs_development.StrictMode = StrictMode; + reactIs_development.Suspense = Suspense; + reactIs_development.SuspenseList = SuspenseList; + reactIs_development.isAsyncMode = isAsyncMode; + reactIs_development.isConcurrentMode = isConcurrentMode; + reactIs_development.isContextConsumer = isContextConsumer; + reactIs_development.isContextProvider = isContextProvider; + reactIs_development.isElement = isElement; + reactIs_development.isForwardRef = isForwardRef; + reactIs_development.isFragment = isFragment; + reactIs_development.isLazy = isLazy; + reactIs_development.isMemo = isMemo; + reactIs_development.isPortal = isPortal; + reactIs_development.isProfiler = isProfiler; + reactIs_development.isStrictMode = isStrictMode; + reactIs_development.isSuspense = isSuspense; + reactIs_development.isSuspenseList = isSuspenseList; + reactIs_development.isValidElementType = isValidElementType; + reactIs_development.typeOf = typeOf; + })(); + } + return reactIs_development; +} +var hasRequiredReactIs; +function requireReactIs() { + if (hasRequiredReactIs) return reactIs.exports; + hasRequiredReactIs = 1; + if (process.env.NODE_ENV === "production") { + reactIs.exports = requireReactIs_production_min(); + } else { + reactIs.exports = requireReactIs_development(); + } + return reactIs.exports; +} +var reactIsExports = requireReactIs(); +var index = /* @__PURE__ */ getDefaultExportFromCjs(reactIsExports); +var ReactIs18 = /* @__PURE__ */ _mergeNamespaces({ + __proto__: null, + default: index +}, [reactIsExports]); +const reactIsMethods = [ + "isAsyncMode", + "isConcurrentMode", + "isContextConsumer", + "isContextProvider", + "isElement", + "isForwardRef", + "isFragment", + "isLazy", + "isMemo", + "isPortal", + "isProfiler", + "isStrictMode", + "isSuspense", + "isSuspenseList", + "isValidElementType" +]; +Object.fromEntries(reactIsMethods.map((m) => [m, (v) => ReactIs18[m](v) || ReactIs19[m](v)])); + +let getPromiseValue = () => 'Promise{…}'; +try { + // @ts-ignore + const { getPromiseDetails, kPending, kRejected } = process.binding('util'); + if (Array.isArray(getPromiseDetails(Promise.resolve()))) { + getPromiseValue = (value, options) => { + const [state, innerValue] = getPromiseDetails(value); + if (state === kPending) { + return 'Promise{}'; + } + return `Promise${state === kRejected ? '!' : ''}{${options.inspect(innerValue, options)}}`; + }; + } +} +catch (notNode) { + /* ignore */ +} + +/* ! + * loupe + * Copyright(c) 2013 Jake Luer + * MIT Licensed + */ +let nodeInspect = false; +try { + // eslint-disable-next-line global-require + // @ts-ignore + const nodeUtil = require('util'); + nodeInspect = nodeUtil.inspect ? nodeUtil.inspect.custom : false; +} +catch (noNodeInspect) { + nodeInspect = false; +} + +/** +* Get original stacktrace without source map support the most performant way. +* - Create only 1 stack frame. +* - Rewrite prepareStackTrace to bypass "support-stack-trace" (usually takes ~250ms). +*/ +function createSimpleStackTrace(options) { + const { message = "$$stack trace error", stackTraceLimit = 1 } = options || {}; + const limit = Error.stackTraceLimit; + const prepareStackTrace = Error.prepareStackTrace; + Error.stackTraceLimit = stackTraceLimit; + Error.prepareStackTrace = (e) => e.stack; + const err = new Error(message); + const stackTrace = err.stack || ""; + Error.prepareStackTrace = prepareStackTrace; + Error.stackTraceLimit = limit; + return stackTrace; +} + +var jsTokens_1; +var hasRequiredJsTokens; +function requireJsTokens() { + if (hasRequiredJsTokens) return jsTokens_1; + hasRequiredJsTokens = 1; + // Copyright 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell + // License: MIT. + var Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace; + RegularExpressionLiteral = /\/(?![*\/])(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\\]).|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/uy; + Punctuator = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y; + Identifier = /(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/uy; + StringLiteral = /(['"])(?:(?!\1)[^\\\n\r]|\\(?:\r\n|[^]))*(\1)?/y; + NumericLiteral = /(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y; + Template = /[`}](?:[^`\\$]|\\[^]|\$(?!\{))*(`|\$\{)?/y; + WhiteSpace = /[\t\v\f\ufeff\p{Zs}]+/uy; + LineTerminatorSequence = /\r?\n|[\r\u2028\u2029]/y; + MultiLineComment = /\/\*(?:[^*]|\*(?!\/))*(\*\/)?/y; + SingleLineComment = /\/\/.*/y; + JSXPunctuator = /[<>.:={}]|\/(?![\/*])/y; + JSXIdentifier = /[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/uy; + JSXString = /(['"])(?:(?!\1)[^])*(\1)?/y; + JSXText = /[^<>{}]+/y; + TokensPrecedingExpression = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/; + TokensNotPrecedingObjectLiteral = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/; + KeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/; + KeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/; + Newline = RegExp(LineTerminatorSequence.source); + jsTokens_1 = function* (input, { jsx = false } = {}) { + var braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack; + ({length} = input); + lastIndex = 0; + lastSignificantToken = ""; + stack = [{ tag: "JS" }]; + braces = []; + parenNesting = 0; + postfixIncDec = false; + while (lastIndex < length) { + mode = stack[stack.length - 1]; + switch (mode.tag) { + case "JS": + case "JSNonExpressionParen": + case "InterpolationInTemplate": + case "InterpolationInJSX": + if (input[lastIndex] === "/" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) { + RegularExpressionLiteral.lastIndex = lastIndex; + if (match = RegularExpressionLiteral.exec(input)) { + lastIndex = RegularExpressionLiteral.lastIndex; + lastSignificantToken = match[0]; + postfixIncDec = true; + yield { + type: "RegularExpressionLiteral", + value: match[0], + closed: match[1] !== void 0 && match[1] !== "\\" + }; + continue; + } + } + Punctuator.lastIndex = lastIndex; + if (match = Punctuator.exec(input)) { + punctuator = match[0]; + nextLastIndex = Punctuator.lastIndex; + nextLastSignificantToken = punctuator; + switch (punctuator) { + case "(": + if (lastSignificantToken === "?NonExpressionParenKeyword") { + stack.push({ + tag: "JSNonExpressionParen", + nesting: parenNesting + }); + } + parenNesting++; + postfixIncDec = false; + break; + case ")": + parenNesting--; + postfixIncDec = true; + if (mode.tag === "JSNonExpressionParen" && parenNesting === mode.nesting) { + stack.pop(); + nextLastSignificantToken = "?NonExpressionParenEnd"; + postfixIncDec = false; + } + break; + case "{": + Punctuator.lastIndex = 0; + isExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken)); + braces.push(isExpression); + postfixIncDec = false; + break; + case "}": + switch (mode.tag) { + case "InterpolationInTemplate": + if (braces.length === mode.nesting) { + Template.lastIndex = lastIndex; + match = Template.exec(input); + lastIndex = Template.lastIndex; + lastSignificantToken = match[0]; + if (match[1] === "${") { + lastSignificantToken = "?InterpolationInTemplate"; + postfixIncDec = false; + yield { + type: "TemplateMiddle", + value: match[0] + }; + } else { + stack.pop(); + postfixIncDec = true; + yield { + type: "TemplateTail", + value: match[0], + closed: match[1] === "`" + }; + } + continue; + } + break; + case "InterpolationInJSX": if (braces.length === mode.nesting) { + stack.pop(); + lastIndex += 1; + lastSignificantToken = "}"; + yield { + type: "JSXPunctuator", + value: "}" + }; + continue; + } + } + postfixIncDec = braces.pop(); + nextLastSignificantToken = postfixIncDec ? "?ExpressionBraceEnd" : "}"; + break; + case "]": + postfixIncDec = true; + break; + case "++": + case "--": + nextLastSignificantToken = postfixIncDec ? "?PostfixIncDec" : "?UnaryIncDec"; + break; + case "<": + if (jsx && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) { + stack.push({ tag: "JSXTag" }); + lastIndex += 1; + lastSignificantToken = "<"; + yield { + type: "JSXPunctuator", + value: punctuator + }; + continue; + } + postfixIncDec = false; + break; + default: postfixIncDec = false; + } + lastIndex = nextLastIndex; + lastSignificantToken = nextLastSignificantToken; + yield { + type: "Punctuator", + value: punctuator + }; + continue; + } + Identifier.lastIndex = lastIndex; + if (match = Identifier.exec(input)) { + lastIndex = Identifier.lastIndex; + nextLastSignificantToken = match[0]; + switch (match[0]) { + case "for": + case "if": + case "while": + case "with": if (lastSignificantToken !== "." && lastSignificantToken !== "?.") { + nextLastSignificantToken = "?NonExpressionParenKeyword"; + } + } + lastSignificantToken = nextLastSignificantToken; + postfixIncDec = !KeywordsWithExpressionAfter.test(match[0]); + yield { + type: match[1] === "#" ? "PrivateIdentifier" : "IdentifierName", + value: match[0] + }; + continue; + } + StringLiteral.lastIndex = lastIndex; + if (match = StringLiteral.exec(input)) { + lastIndex = StringLiteral.lastIndex; + lastSignificantToken = match[0]; + postfixIncDec = true; + yield { + type: "StringLiteral", + value: match[0], + closed: match[2] !== void 0 + }; + continue; + } + NumericLiteral.lastIndex = lastIndex; + if (match = NumericLiteral.exec(input)) { + lastIndex = NumericLiteral.lastIndex; + lastSignificantToken = match[0]; + postfixIncDec = true; + yield { + type: "NumericLiteral", + value: match[0] + }; + continue; + } + Template.lastIndex = lastIndex; + if (match = Template.exec(input)) { + lastIndex = Template.lastIndex; + lastSignificantToken = match[0]; + if (match[1] === "${") { + lastSignificantToken = "?InterpolationInTemplate"; + stack.push({ + tag: "InterpolationInTemplate", + nesting: braces.length + }); + postfixIncDec = false; + yield { + type: "TemplateHead", + value: match[0] + }; + } else { + postfixIncDec = true; + yield { + type: "NoSubstitutionTemplate", + value: match[0], + closed: match[1] === "`" + }; + } + continue; + } + break; + case "JSXTag": + case "JSXTagEnd": + JSXPunctuator.lastIndex = lastIndex; + if (match = JSXPunctuator.exec(input)) { + lastIndex = JSXPunctuator.lastIndex; + nextLastSignificantToken = match[0]; + switch (match[0]) { + case "<": + stack.push({ tag: "JSXTag" }); + break; + case ">": + stack.pop(); + if (lastSignificantToken === "/" || mode.tag === "JSXTagEnd") { + nextLastSignificantToken = "?JSX"; + postfixIncDec = true; + } else { + stack.push({ tag: "JSXChildren" }); + } + break; + case "{": + stack.push({ + tag: "InterpolationInJSX", + nesting: braces.length + }); + nextLastSignificantToken = "?InterpolationInJSX"; + postfixIncDec = false; + break; + case "/": if (lastSignificantToken === "<") { + stack.pop(); + if (stack[stack.length - 1].tag === "JSXChildren") { + stack.pop(); + } + stack.push({ tag: "JSXTagEnd" }); + } + } + lastSignificantToken = nextLastSignificantToken; + yield { + type: "JSXPunctuator", + value: match[0] + }; + continue; + } + JSXIdentifier.lastIndex = lastIndex; + if (match = JSXIdentifier.exec(input)) { + lastIndex = JSXIdentifier.lastIndex; + lastSignificantToken = match[0]; + yield { + type: "JSXIdentifier", + value: match[0] + }; + continue; + } + JSXString.lastIndex = lastIndex; + if (match = JSXString.exec(input)) { + lastIndex = JSXString.lastIndex; + lastSignificantToken = match[0]; + yield { + type: "JSXString", + value: match[0], + closed: match[2] !== void 0 + }; + continue; + } + break; + case "JSXChildren": + JSXText.lastIndex = lastIndex; + if (match = JSXText.exec(input)) { + lastIndex = JSXText.lastIndex; + lastSignificantToken = match[0]; + yield { + type: "JSXText", + value: match[0] + }; + continue; + } + switch (input[lastIndex]) { + case "<": + stack.push({ tag: "JSXTag" }); + lastIndex++; + lastSignificantToken = "<"; + yield { + type: "JSXPunctuator", + value: "<" + }; + continue; + case "{": + stack.push({ + tag: "InterpolationInJSX", + nesting: braces.length + }); + lastIndex++; + lastSignificantToken = "?InterpolationInJSX"; + postfixIncDec = false; + yield { + type: "JSXPunctuator", + value: "{" + }; + continue; + } + } + WhiteSpace.lastIndex = lastIndex; + if (match = WhiteSpace.exec(input)) { + lastIndex = WhiteSpace.lastIndex; + yield { + type: "WhiteSpace", + value: match[0] + }; + continue; + } + LineTerminatorSequence.lastIndex = lastIndex; + if (match = LineTerminatorSequence.exec(input)) { + lastIndex = LineTerminatorSequence.lastIndex; + postfixIncDec = false; + if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) { + lastSignificantToken = "?NoLineTerminatorHere"; + } + yield { + type: "LineTerminatorSequence", + value: match[0] + }; + continue; + } + MultiLineComment.lastIndex = lastIndex; + if (match = MultiLineComment.exec(input)) { + lastIndex = MultiLineComment.lastIndex; + if (Newline.test(match[0])) { + postfixIncDec = false; + if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) { + lastSignificantToken = "?NoLineTerminatorHere"; + } + } + yield { + type: "MultiLineComment", + value: match[0], + closed: match[1] !== void 0 + }; + continue; + } + SingleLineComment.lastIndex = lastIndex; + if (match = SingleLineComment.exec(input)) { + lastIndex = SingleLineComment.lastIndex; + postfixIncDec = false; + yield { + type: "SingleLineComment", + value: match[0] + }; + continue; + } + firstCodePoint = String.fromCodePoint(input.codePointAt(lastIndex)); + lastIndex += firstCodePoint.length; + lastSignificantToken = firstCodePoint; + postfixIncDec = false; + yield { + type: mode.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid", + value: firstCodePoint + }; + } + return void 0; + }; + return jsTokens_1; +} +requireJsTokens(); +// src/index.ts +var reservedWords = { + keyword: [ + "break", + "case", + "catch", + "continue", + "debugger", + "default", + "do", + "else", + "finally", + "for", + "function", + "if", + "return", + "switch", + "throw", + "try", + "var", + "const", + "while", + "with", + "new", + "this", + "super", + "class", + "extends", + "export", + "import", + "null", + "true", + "false", + "in", + "instanceof", + "typeof", + "void", + "delete" + ], + strict: [ + "implements", + "interface", + "let", + "package", + "private", + "protected", + "public", + "static", + "yield" + ] +}; new Set(reservedWords.keyword); new Set(reservedWords.strict); + +const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +const intToChar = new Uint8Array(64); +const charToInt = new Uint8Array(128); +for (let i = 0; i < chars.length; i++) { + const c = chars.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; +} +var UrlType; +(function(UrlType) { + UrlType[UrlType["Empty"] = 1] = "Empty"; + UrlType[UrlType["Hash"] = 2] = "Hash"; + UrlType[UrlType["Query"] = 3] = "Query"; + UrlType[UrlType["RelativePath"] = 4] = "RelativePath"; + UrlType[UrlType["AbsolutePath"] = 5] = "AbsolutePath"; + UrlType[UrlType["SchemeRelative"] = 6] = "SchemeRelative"; + UrlType[UrlType["Absolute"] = 7] = "Absolute"; +})(UrlType || (UrlType = {})); +const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//; +function normalizeWindowsPath(input = "") { + if (!input) { + return input; + } + return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase()); +} +const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/; +function cwd() { + if (typeof process !== "undefined" && typeof process.cwd === "function") { + return process.cwd().replace(/\\/g, "/"); + } + return "/"; +} +const resolve = function(...arguments_) { + arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument)); + let resolvedPath = ""; + let resolvedAbsolute = false; + for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) { + const path = index >= 0 ? arguments_[index] : cwd(); + if (!path || path.length === 0) { + continue; + } + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isAbsolute(path); + } + resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute); + if (resolvedAbsolute && !isAbsolute(resolvedPath)) { + return `/${resolvedPath}`; + } + return resolvedPath.length > 0 ? resolvedPath : "."; +}; +function normalizeString(path, allowAboveRoot) { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let char = null; + for (let index = 0; index <= path.length; ++index) { + if (index < path.length) { + char = path[index]; + } else if (char === "/") { + break; + } else { + char = "/"; + } + if (char === "/") { + if (lastSlash === index - 1 || dots === 1); + else if (dots === 2) { + if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf("/"); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf("/"); + } + lastSlash = index; + dots = 0; + continue; + } else if (res.length > 0) { + res = ""; + lastSegmentLength = 0; + lastSlash = index; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + res += res.length > 0 ? "/.." : ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) { + res += `/${path.slice(lastSlash + 1, index)}`; + } else { + res = path.slice(lastSlash + 1, index); + } + lastSegmentLength = index - lastSlash - 1; + } + lastSlash = index; + dots = 0; + } else if (char === "." && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} +const isAbsolute = function(p) { + return _IS_ABSOLUTE_RE.test(p); +}; +const CHROME_IE_STACK_REGEXP = /^\s*at .*(?:\S:\d+|\(native\))/m; +const SAFARI_NATIVE_CODE_REGEXP = /^(?:eval@)?(?:\[native code\])?$/; +function extractLocation(urlLike) { + // Fail-fast but return locations like "(native)" + if (!urlLike.includes(":")) { + return [urlLike]; + } + const regExp = /(.+?)(?::(\d+))?(?::(\d+))?$/; + const parts = regExp.exec(urlLike.replace(/^\(|\)$/g, "")); + if (!parts) { + return [urlLike]; + } + let url = parts[1]; + if (url.startsWith("async ")) { + url = url.slice(6); + } + if (url.startsWith("http:") || url.startsWith("https:")) { + const urlObj = new URL(url); + urlObj.searchParams.delete("import"); + urlObj.searchParams.delete("browserv"); + url = urlObj.pathname + urlObj.hash + urlObj.search; + } + if (url.startsWith("/@fs/")) { + const isWindows = /^\/@fs\/[a-zA-Z]:\//.test(url); + url = url.slice(isWindows ? 5 : 4); + } + return [ + url, + parts[2] || undefined, + parts[3] || undefined + ]; +} +function parseSingleFFOrSafariStack(raw) { + let line = raw.trim(); + if (SAFARI_NATIVE_CODE_REGEXP.test(line)) { + return null; + } + if (line.includes(" > eval")) { + line = line.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1"); + } + if (!line.includes("@") && !line.includes(":")) { + return null; + } + // eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/optimal-quantifier-concatenation + const functionNameRegex = /((.*".+"[^@]*)?[^@]*)(@)/; + const matches = line.match(functionNameRegex); + const functionName = matches && matches[1] ? matches[1] : undefined; + const [url, lineNumber, columnNumber] = extractLocation(line.replace(functionNameRegex, "")); + if (!url || !lineNumber || !columnNumber) { + return null; + } + return { + file: url, + method: functionName || "", + line: Number.parseInt(lineNumber), + column: Number.parseInt(columnNumber) + }; +} +function parseSingleStack(raw) { + const line = raw.trim(); + if (!CHROME_IE_STACK_REGEXP.test(line)) { + return parseSingleFFOrSafariStack(line); + } + return parseSingleV8Stack(line); +} +// Based on https://github.com/stacktracejs/error-stack-parser +// Credit to stacktracejs +function parseSingleV8Stack(raw) { + let line = raw.trim(); + if (!CHROME_IE_STACK_REGEXP.test(line)) { + return null; + } + if (line.includes("(eval ")) { + line = line.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, ""); + } + let sanitizedLine = line.replace(/^\s+/, "").replace(/\(eval code/g, "(").replace(/^.*?\s+/, ""); + // capture and preserve the parenthesized location "(/foo/my bar.js:12:87)" in + // case it has spaces in it, as the string is split on \s+ later on + const location = sanitizedLine.match(/ (\(.+\)$)/); + // remove the parenthesized location from the line, if it was matched + sanitizedLine = location ? sanitizedLine.replace(location[0], "") : sanitizedLine; + // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine + // because this line doesn't have function name + const [url, lineNumber, columnNumber] = extractLocation(location ? location[1] : sanitizedLine); + let method = location && sanitizedLine || ""; + let file = url && ["eval", ""].includes(url) ? undefined : url; + if (!file || !lineNumber || !columnNumber) { + return null; + } + if (method.startsWith("async ")) { + method = method.slice(6); + } + if (file.startsWith("file://")) { + file = file.slice(7); + } + // normalize Windows path (\ -> /) + file = file.startsWith("node:") || file.startsWith("internal:") ? file : resolve(file); + if (method) { + method = method.replace(/__vite_ssr_import_\d+__\./g, ""); + } + return { + method, + file, + line: Number.parseInt(lineNumber), + column: Number.parseInt(columnNumber) + }; +} + +function createCompilerHints(options) { + const globalThisAccessor = (options === null || options === void 0 ? void 0 : options.globalThisKey) || "__vitest_mocker__"; + function _mocker() { + // @ts-expect-error injected by the plugin + return typeof globalThis[globalThisAccessor] !== "undefined" ? globalThis[globalThisAccessor] : new Proxy({}, { get(_, name) { + throw new Error("Vitest mocker was not initialized in this environment. " + `vi.${String(name)}() is forbidden.`); + } }); + } + return { + hoisted(factory) { + if (typeof factory !== "function") { + throw new TypeError(`vi.hoisted() expects a function, but received a ${typeof factory}`); + } + return factory(); + }, + mock(path, factory) { + if (typeof path !== "string") { + throw new TypeError(`vi.mock() expects a string path, but received a ${typeof path}`); + } + const importer = getImporter("mock"); + _mocker().queueMock(path, importer, typeof factory === "function" ? () => factory(() => _mocker().importActual(path, importer)) : factory); + }, + unmock(path) { + if (typeof path !== "string") { + throw new TypeError(`vi.unmock() expects a string path, but received a ${typeof path}`); + } + _mocker().queueUnmock(path, getImporter("unmock")); + }, + doMock(path, factory) { + if (typeof path !== "string") { + throw new TypeError(`vi.doMock() expects a string path, but received a ${typeof path}`); + } + const importer = getImporter("doMock"); + _mocker().queueMock(path, importer, typeof factory === "function" ? () => factory(() => _mocker().importActual(path, importer)) : factory); + }, + doUnmock(path) { + if (typeof path !== "string") { + throw new TypeError(`vi.doUnmock() expects a string path, but received a ${typeof path}`); + } + _mocker().queueUnmock(path, getImporter("doUnmock")); + }, + async importActual(path) { + return _mocker().importActual(path, getImporter("importActual")); + }, + async importMock(path) { + return _mocker().importMock(path, getImporter("importMock")); + } + }; +} +function getImporter(name) { + const stackTrace = /* @__PURE__ */ createSimpleStackTrace({ stackTraceLimit: 5 }); + const stackArray = stackTrace.split("\n"); + // if there is no message in a stack trace, use the item - 1 + const importerStackIndex = stackArray.findIndex((stack) => { + return stack.includes(` at Object.${name}`) || stack.includes(`${name}@`); + }); + const stack = /* @__PURE__ */ parseSingleStack(stackArray[importerStackIndex + 1]); + return (stack === null || stack === void 0 ? void 0 : stack.file) || ""; +} + +const hot = import.meta.hot || { + on: warn, + off: warn, + send: warn +}; +function warn() { + console.warn("Vitest mocker cannot work if Vite didn't establish WS connection."); +} +function rpc(event, data) { + hot.send(event, data); + return new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + reject(new Error(`Failed to resolve ${event} in time`)); + }, 5e3); + hot.on(`${event}:result`, function r(data) { + resolve(data); + clearTimeout(timeout); + hot.off(`${event}:result`, r); + }); + }); +} + +const { now } = Date; +class ModuleMocker { + registry = new MockerRegistry(); + queue = new Set(); + mockedIds = new Set(); + constructor(interceptor, rpc, spyOn, config) { + this.interceptor = interceptor; + this.rpc = rpc; + this.spyOn = spyOn; + this.config = config; + } + async prepare() { + if (!this.queue.size) { + return; + } + await Promise.all([...this.queue.values()]); + } + async resolveFactoryModule(id) { + const mock = this.registry.get(id); + if (!mock || mock.type !== "manual") { + throw new Error(`Mock ${id} wasn't registered. This is probably a Vitest error. Please, open a new issue with reproduction.`); + } + const result = await mock.resolve(); + return result; + } + getFactoryModule(id) { + const mock = this.registry.get(id); + if (!mock || mock.type !== "manual") { + throw new Error(`Mock ${id} wasn't registered. This is probably a Vitest error. Please, open a new issue with reproduction.`); + } + if (!mock.cache) { + throw new Error(`Mock ${id} wasn't resolved. This is probably a Vitest error. Please, open a new issue with reproduction.`); + } + return mock.cache; + } + async invalidate() { + const ids = Array.from(this.mockedIds); + if (!ids.length) { + return; + } + await this.rpc.invalidate(ids); + await this.interceptor.invalidate(); + this.registry.clear(); + } + async importActual(id, importer) { + const resolved = await this.rpc.resolveId(id, importer); + if (resolved == null) { + throw new Error(`[vitest] Cannot resolve "${id}" imported from "${importer}"`); + } + const ext = extname(resolved.id); + const url = new URL(resolved.url, location.href); + const query = `_vitest_original&ext${ext}`; + const actualUrl = `${url.pathname}${url.search ? `${url.search}&${query}` : `?${query}`}${url.hash}`; + return this.wrapDynamicImport(() => import( + /* @vite-ignore */ + actualUrl +)).then((mod) => { + if (!resolved.optimized || typeof mod.default === "undefined") { + return mod; + } + // vite injects this helper for optimized modules, so we try to follow the same behavior + const m = mod.default; + return (m === null || m === void 0 ? void 0 : m.__esModule) ? m : { + ...typeof m === "object" && !Array.isArray(m) || typeof m === "function" ? m : {}, + default: m + }; + }); + } + async importMock(rawId, importer) { + await this.prepare(); + const { resolvedId, resolvedUrl, redirectUrl } = await this.rpc.resolveMock(rawId, importer, { mock: "auto" }); + const mockUrl = this.resolveMockPath(cleanVersion(resolvedUrl)); + let mock = this.registry.get(mockUrl); + if (!mock) { + if (redirectUrl) { + const resolvedRedirect = new URL(this.resolveMockPath(cleanVersion(redirectUrl)), location.href).toString(); + mock = new RedirectedModule(rawId, resolvedId, mockUrl, resolvedRedirect); + } else { + mock = new AutomockedModule(rawId, resolvedId, mockUrl); + } + } + if (mock.type === "manual") { + return await mock.resolve(); + } + if (mock.type === "automock" || mock.type === "autospy") { + const url = new URL(`/@id/${resolvedId}`, location.href); + const query = url.search ? `${url.search}&t=${now()}` : `?t=${now()}`; + const moduleObject = await import( + /* @vite-ignore */ + `${url.pathname}${query}&mock=${mock.type}${url.hash}` +); + return this.mockObject(moduleObject, mock.type); + } + return import( + /* @vite-ignore */ + mock.redirect +); + } + mockObject(object, moduleType = "automock") { + return mockObject({ + globalConstructors: { + Object, + Function, + Array, + Map, + RegExp + }, + spyOn: this.spyOn, + type: moduleType + }, object); + } + queueMock(rawId, importer, factoryOrOptions) { + const promise = this.rpc.resolveMock(rawId, importer, { mock: typeof factoryOrOptions === "function" ? "factory" : (factoryOrOptions === null || factoryOrOptions === void 0 ? void 0 : factoryOrOptions.spy) ? "spy" : "auto" }).then(async ({ redirectUrl, resolvedId, resolvedUrl, needsInterop, mockType }) => { + const mockUrl = this.resolveMockPath(cleanVersion(resolvedUrl)); + this.mockedIds.add(resolvedId); + const factory = typeof factoryOrOptions === "function" ? async () => { + const data = await factoryOrOptions(); + // vite wraps all external modules that have "needsInterop" in a function that + // merges all exports from default into the module object + return needsInterop ? { default: data } : data; + } : undefined; + const mockRedirect = typeof redirectUrl === "string" ? new URL(this.resolveMockPath(cleanVersion(redirectUrl)), location.href).toString() : null; + let module; + if (mockType === "manual") { + module = this.registry.register("manual", rawId, resolvedId, mockUrl, factory); + } else if (mockType === "autospy") { + module = this.registry.register("autospy", rawId, resolvedId, mockUrl); + } else if (mockType === "redirect") { + module = this.registry.register("redirect", rawId, resolvedId, mockUrl, mockRedirect); + } else { + module = this.registry.register("automock", rawId, resolvedId, mockUrl); + } + await this.interceptor.register(module); + }).finally(() => { + this.queue.delete(promise); + }); + this.queue.add(promise); + } + queueUnmock(id, importer) { + const promise = this.rpc.resolveId(id, importer).then(async (resolved) => { + if (!resolved) { + return; + } + const mockUrl = this.resolveMockPath(cleanVersion(resolved.url)); + this.mockedIds.add(resolved.id); + this.registry.delete(mockUrl); + await this.interceptor.delete(mockUrl); + }).finally(() => { + this.queue.delete(promise); + }); + this.queue.add(promise); + } + // We need to await mock registration before importing the actual module + // In case there is a mocked module in the import chain + wrapDynamicImport(moduleFactory) { + if (typeof moduleFactory === "function") { + const promise = new Promise((resolve, reject) => { + this.prepare().finally(() => { + moduleFactory().then(resolve, reject); + }); + }); + return promise; + } + return moduleFactory; + } + resolveMockPath(path) { + const config = this.config; + const fsRoot = join("/@fs/", config.root); + // URL can be /file/path.js, but path is resolved to /file/path + if (path.startsWith(config.root)) { + return path.slice(config.root.length); + } + if (path.startsWith(fsRoot)) { + return path.slice(fsRoot.length); + } + return path; + } +} +const versionRegexp = /(\?|&)v=\w{8}/; +function cleanVersion(url) { + return url.replace(versionRegexp, ""); +} + +export { ModuleMocker as M, createCompilerHints as c, hot as h, rpc as r }; diff --git a/node_modules/@vitest/mocker/dist/chunk-pathe.M-eThtNZ.js b/node_modules/@vitest/mocker/dist/chunk-pathe.M-eThtNZ.js new file mode 100644 index 0000000..11a98f0 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/chunk-pathe.M-eThtNZ.js @@ -0,0 +1,174 @@ +const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//; +function normalizeWindowsPath(input = "") { + if (!input) { + return input; + } + return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase()); +} + +const _UNC_REGEX = /^[/\\]{2}/; +const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/; +const _DRIVE_LETTER_RE = /^[A-Za-z]:$/; +const _EXTNAME_RE = /.(\.[^./]+|\.)$/; +const normalize = function(path) { + if (path.length === 0) { + return "."; + } + path = normalizeWindowsPath(path); + const isUNCPath = path.match(_UNC_REGEX); + const isPathAbsolute = isAbsolute(path); + const trailingSeparator = path[path.length - 1] === "/"; + path = normalizeString(path, !isPathAbsolute); + if (path.length === 0) { + if (isPathAbsolute) { + return "/"; + } + return trailingSeparator ? "./" : "."; + } + if (trailingSeparator) { + path += "/"; + } + if (_DRIVE_LETTER_RE.test(path)) { + path += "/"; + } + if (isUNCPath) { + if (!isPathAbsolute) { + return `//./${path}`; + } + return `//${path}`; + } + return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path; +}; +const join = function(...segments) { + let path = ""; + for (const seg of segments) { + if (!seg) { + continue; + } + if (path.length > 0) { + const pathTrailing = path[path.length - 1] === "/"; + const segLeading = seg[0] === "/"; + const both = pathTrailing && segLeading; + if (both) { + path += seg.slice(1); + } else { + path += pathTrailing || segLeading ? seg : `/${seg}`; + } + } else { + path += seg; + } + } + return normalize(path); +}; +function cwd() { + if (typeof process !== "undefined" && typeof process.cwd === "function") { + return process.cwd().replace(/\\/g, "/"); + } + return "/"; +} +const resolve = function(...arguments_) { + arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument)); + let resolvedPath = ""; + let resolvedAbsolute = false; + for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) { + const path = index >= 0 ? arguments_[index] : cwd(); + if (!path || path.length === 0) { + continue; + } + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isAbsolute(path); + } + resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute); + if (resolvedAbsolute && !isAbsolute(resolvedPath)) { + return `/${resolvedPath}`; + } + return resolvedPath.length > 0 ? resolvedPath : "."; +}; +function normalizeString(path, allowAboveRoot) { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let char = null; + for (let index = 0; index <= path.length; ++index) { + if (index < path.length) { + char = path[index]; + } else if (char === "/") { + break; + } else { + char = "/"; + } + if (char === "/") { + if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) { + if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf("/"); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf("/"); + } + lastSlash = index; + dots = 0; + continue; + } else if (res.length > 0) { + res = ""; + lastSegmentLength = 0; + lastSlash = index; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + res += res.length > 0 ? "/.." : ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) { + res += `/${path.slice(lastSlash + 1, index)}`; + } else { + res = path.slice(lastSlash + 1, index); + } + lastSegmentLength = index - lastSlash - 1; + } + lastSlash = index; + dots = 0; + } else if (char === "." && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} +const isAbsolute = function(p) { + return _IS_ABSOLUTE_RE.test(p); +}; +const extname = function(p) { + if (p === "..") return ""; + const match = _EXTNAME_RE.exec(normalizeWindowsPath(p)); + return match && match[1] || ""; +}; +const dirname = function(p) { + const segments = normalizeWindowsPath(p).replace(/\/$/, "").split("/").slice(0, -1); + if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) { + segments[0] += "/"; + } + return segments.join("/") || (isAbsolute(p) ? "/" : "."); +}; +const basename = function(p, extension) { + const segments = normalizeWindowsPath(p).split("/"); + let lastSegment = ""; + for (let i = segments.length - 1; i >= 0; i--) { + const val = segments[i]; + if (val) { + lastSegment = val; + break; + } + } + return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment; +}; + +export { basename as b, dirname as d, extname as e, isAbsolute as i, join as j, resolve as r }; diff --git a/node_modules/@vitest/mocker/dist/chunk-registry.js b/node_modules/@vitest/mocker/dist/chunk-registry.js new file mode 100644 index 0000000..7996ea5 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/chunk-registry.js @@ -0,0 +1,182 @@ +class MockerRegistry { + registryByUrl = new Map(); + registryById = new Map(); + clear() { + this.registryByUrl.clear(); + this.registryById.clear(); + } + keys() { + return this.registryByUrl.keys(); + } + add(mock) { + this.registryByUrl.set(mock.url, mock); + this.registryById.set(mock.id, mock); + } + register(typeOrEvent, raw, id, url, factoryOrRedirect) { + const type = typeof typeOrEvent === "object" ? typeOrEvent.type : typeOrEvent; + if (typeof typeOrEvent === "object") { + const event = typeOrEvent; + if (event instanceof AutomockedModule || event instanceof AutospiedModule || event instanceof ManualMockedModule || event instanceof RedirectedModule) { + throw new TypeError(`[vitest] Cannot register a mock that is already defined. ` + `Expected a JSON representation from \`MockedModule.toJSON\`, instead got "${event.type}". ` + `Use "registry.add()" to update a mock instead.`); + } + if (event.type === "automock") { + const module = AutomockedModule.fromJSON(event); + this.add(module); + return module; + } else if (event.type === "autospy") { + const module = AutospiedModule.fromJSON(event); + this.add(module); + return module; + } else if (event.type === "redirect") { + const module = RedirectedModule.fromJSON(event); + this.add(module); + return module; + } else if (event.type === "manual") { + throw new Error(`Cannot set serialized manual mock. Define a factory function manually with \`ManualMockedModule.fromJSON()\`.`); + } else { + throw new Error(`Unknown mock type: ${event.type}`); + } + } + if (typeof raw !== "string") { + throw new TypeError("[vitest] Mocks require a raw string."); + } + if (typeof url !== "string") { + throw new TypeError("[vitest] Mocks require a url string."); + } + if (typeof id !== "string") { + throw new TypeError("[vitest] Mocks require an id string."); + } + if (type === "manual") { + if (typeof factoryOrRedirect !== "function") { + throw new TypeError("[vitest] Manual mocks require a factory function."); + } + const mock = new ManualMockedModule(raw, id, url, factoryOrRedirect); + this.add(mock); + return mock; + } else if (type === "automock" || type === "autospy") { + const mock = type === "automock" ? new AutomockedModule(raw, id, url) : new AutospiedModule(raw, id, url); + this.add(mock); + return mock; + } else if (type === "redirect") { + if (typeof factoryOrRedirect !== "string") { + throw new TypeError("[vitest] Redirect mocks require a redirect string."); + } + const mock = new RedirectedModule(raw, id, url, factoryOrRedirect); + this.add(mock); + return mock; + } else { + throw new Error(`[vitest] Unknown mock type: ${type}`); + } + } + delete(id) { + this.registryByUrl.delete(id); + } + get(id) { + return this.registryByUrl.get(id); + } + getById(id) { + return this.registryById.get(id); + } + has(id) { + return this.registryByUrl.has(id); + } +} +class AutomockedModule { + type = "automock"; + constructor(raw, id, url) { + this.raw = raw; + this.id = id; + this.url = url; + } + static fromJSON(data) { + return new AutospiedModule(data.raw, data.id, data.url); + } + toJSON() { + return { + type: this.type, + url: this.url, + raw: this.raw, + id: this.id + }; + } +} +class AutospiedModule { + type = "autospy"; + constructor(raw, id, url) { + this.raw = raw; + this.id = id; + this.url = url; + } + static fromJSON(data) { + return new AutospiedModule(data.raw, data.id, data.url); + } + toJSON() { + return { + type: this.type, + url: this.url, + id: this.id, + raw: this.raw + }; + } +} +class RedirectedModule { + type = "redirect"; + constructor(raw, id, url, redirect) { + this.raw = raw; + this.id = id; + this.url = url; + this.redirect = redirect; + } + static fromJSON(data) { + return new RedirectedModule(data.raw, data.id, data.url, data.redirect); + } + toJSON() { + return { + type: this.type, + url: this.url, + raw: this.raw, + id: this.id, + redirect: this.redirect + }; + } +} +class ManualMockedModule { + cache; + type = "manual"; + constructor(raw, id, url, factory) { + this.raw = raw; + this.id = id; + this.url = url; + this.factory = factory; + } + async resolve() { + if (this.cache) { + return this.cache; + } + let exports; + try { + exports = await this.factory(); + } catch (err) { + const vitestError = new Error("[vitest] There was an error when mocking a module. " + "If you are using \"vi.mock\" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. " + "Read more: https://vitest.dev/api/vi.html#vi-mock"); + vitestError.cause = err; + throw vitestError; + } + if (exports === null || typeof exports !== "object" || Array.isArray(exports)) { + throw new TypeError(`[vitest] vi.mock("${this.raw}", factory?: () => unknown) is not returning an object. Did you mean to return an object with a "default" key?`); + } + return this.cache = exports; + } + static fromJSON(data, factory) { + return new ManualMockedModule(data.raw, data.id, data.url, factory); + } + toJSON() { + return { + type: this.type, + url: this.url, + id: this.id, + raw: this.raw + }; + } +} + +export { AutomockedModule as A, MockerRegistry as M, RedirectedModule as R, ManualMockedModule as a, AutospiedModule as b }; diff --git a/node_modules/@vitest/mocker/dist/chunk-utils.js b/node_modules/@vitest/mocker/dist/chunk-utils.js new file mode 100644 index 0000000..3916d38 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/chunk-utils.js @@ -0,0 +1,16 @@ +const postfixRE = /[?#].*$/; +function cleanUrl(url) { + return url.replace(postfixRE, ""); +} +function createManualModuleSource(moduleUrl, exports, globalAccessor = "\"__vitest_mocker__\"") { + const source = `const module = globalThis[${globalAccessor}].getFactoryModule("${moduleUrl}");`; + const keys = exports.map((name) => { + if (name === "default") { + return `export default module["default"];`; + } + return `export const ${name} = module["${name}"];`; + }).join("\n"); + return `${source}\n${keys}`; +} + +export { cleanUrl as a, createManualModuleSource as c }; diff --git a/node_modules/@vitest/mocker/dist/index.d.ts b/node_modules/@vitest/mocker/dist/index.d.ts new file mode 100644 index 0000000..c091364 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/index.d.ts @@ -0,0 +1,21 @@ +import { M as MockedModuleType } from './registry.d-D765pazg.js'; +export { A as AutomockedModule, d as AutomockedModuleSerialized, a as AutospiedModule, e as AutospiedModuleSerialized, b as ManualMockedModule, f as ManualMockedModuleSerialized, g as MockedModule, h as MockedModuleSerialized, c as MockerRegistry, R as RedirectedModule, i as RedirectedModuleSerialized } from './registry.d-D765pazg.js'; +export { M as ModuleMockFactory, a as ModuleMockFactoryWithHelper, b as ModuleMockOptions } from './types.d-D_aRZRdy.js'; + +type Key = string | symbol; +interface MockObjectOptions { + type: MockedModuleType; + globalConstructors: GlobalConstructors; + spyOn: (obj: any, prop: Key) => any; +} +declare function mockObject(options: MockObjectOptions, object: Record, mockExports?: Record): Record; +interface GlobalConstructors { + Object: ObjectConstructor; + Function: FunctionConstructor; + RegExp: RegExpConstructor; + Array: ArrayConstructor; + Map: MapConstructor; +} + +export { MockedModuleType, mockObject }; +export type { GlobalConstructors, MockObjectOptions }; diff --git a/node_modules/@vitest/mocker/dist/index.js b/node_modules/@vitest/mocker/dist/index.js new file mode 100644 index 0000000..994ea21 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/index.js @@ -0,0 +1,174 @@ +export { A as AutomockedModule, b as AutospiedModule, a as ManualMockedModule, M as MockerRegistry, R as RedirectedModule } from './chunk-registry.js'; + +function mockObject(options, object, mockExports = {}) { + const finalizers = new Array(); + const refs = new RefTracker(); + const define = (container, key, value) => { + try { + container[key] = value; + return true; + } catch { + return false; + } + }; + const mockPropertiesOf = (container, newContainer) => { + const containerType = getType(container); + const isModule = containerType === "Module" || !!container.__esModule; + for (const { key: property, descriptor } of getAllMockableProperties(container, isModule, options.globalConstructors)) { + // Modules define their exports as getters. We want to process those. + if (!isModule && descriptor.get) { + try { + Object.defineProperty(newContainer, property, descriptor); + } catch {} + continue; + } + // Skip special read-only props, we don't want to mess with those. + if (isSpecialProp(property, containerType)) { + continue; + } + const value = container[property]; + // Special handling of references we've seen before to prevent infinite + // recursion in circular objects. + const refId = refs.getId(value); + if (refId !== undefined) { + finalizers.push(() => define(newContainer, property, refs.getMockedValue(refId))); + continue; + } + const type = getType(value); + if (Array.isArray(value)) { + define(newContainer, property, []); + continue; + } + const isFunction = type.includes("Function") && typeof value === "function"; + if ((!isFunction || value._isMockFunction) && type !== "Object" && type !== "Module") { + define(newContainer, property, value); + continue; + } + // Sometimes this assignment fails for some unknown reason. If it does, + // just move along. + if (!define(newContainer, property, isFunction ? value : {})) { + continue; + } + if (isFunction) { + if (!options.spyOn) { + throw new Error("[@vitest/mocker] `spyOn` is not defined. This is a Vitest error. Please open a new issue with reproduction."); + } + const spyOn = options.spyOn; + function mockFunction() { + // detect constructor call and mock each instance's methods + // so that mock states between prototype/instances don't affect each other + // (jest reference https://github.com/jestjs/jest/blob/2c3d2409879952157433de215ae0eee5188a4384/packages/jest-mock/src/index.ts#L678-L691) + if (this instanceof newContainer[property]) { + for (const { key, descriptor } of getAllMockableProperties(this, false, options.globalConstructors)) { + // skip getter since it's not mocked on prototype as well + if (descriptor.get) { + continue; + } + const value = this[key]; + const type = getType(value); + const isFunction = type.includes("Function") && typeof value === "function"; + if (isFunction) { + // mock and delegate calls to original prototype method, which should be also mocked already + const original = this[key]; + const mock = spyOn(this, key).mockImplementation(original); + const origMockReset = mock.mockReset; + mock.mockRestore = mock.mockReset = () => { + origMockReset.call(mock); + mock.mockImplementation(original); + return mock; + }; + } + } + } + } + const mock = spyOn(newContainer, property); + if (options.type === "automock") { + mock.mockImplementation(mockFunction); + const origMockReset = mock.mockReset; + mock.mockRestore = mock.mockReset = () => { + origMockReset.call(mock); + mock.mockImplementation(mockFunction); + return mock; + }; + } + // tinyspy retains length, but jest doesn't. + Object.defineProperty(newContainer[property], "length", { value: 0 }); + } + refs.track(value, newContainer[property]); + mockPropertiesOf(value, newContainer[property]); + } + }; + const mockedObject = mockExports; + mockPropertiesOf(object, mockedObject); + // Plug together refs + for (const finalizer of finalizers) { + finalizer(); + } + return mockedObject; +} +class RefTracker { + idMap = new Map(); + mockedValueMap = new Map(); + getId(value) { + return this.idMap.get(value); + } + getMockedValue(id) { + return this.mockedValueMap.get(id); + } + track(originalValue, mockedValue) { + const newId = this.idMap.size; + this.idMap.set(originalValue, newId); + this.mockedValueMap.set(newId, mockedValue); + return newId; + } +} +function getType(value) { + return Object.prototype.toString.apply(value).slice(8, -1); +} +function isSpecialProp(prop, parentType) { + return parentType.includes("Function") && typeof prop === "string" && [ + "arguments", + "callee", + "caller", + "length", + "name" + ].includes(prop); +} +function getAllMockableProperties(obj, isModule, constructors) { + const { Map, Object, Function, RegExp, Array } = constructors; + const allProps = new Map(); + let curr = obj; + do { + // we don't need properties from these + if (curr === Object.prototype || curr === Function.prototype || curr === RegExp.prototype) { + break; + } + collectOwnProperties(curr, (key) => { + const descriptor = Object.getOwnPropertyDescriptor(curr, key); + if (descriptor) { + allProps.set(key, { + key, + descriptor + }); + } + }); + } while (curr = Object.getPrototypeOf(curr)); + // default is not specified in ownKeys, if module is interoped + if (isModule && !allProps.has("default") && "default" in obj) { + const descriptor = Object.getOwnPropertyDescriptor(obj, "default"); + if (descriptor) { + allProps.set("default", { + key: "default", + descriptor + }); + } + } + return Array.from(allProps.values()); +} +function collectOwnProperties(obj, collector) { + const collect = typeof collector === "function" ? collector : (key) => collector.add(key); + Object.getOwnPropertyNames(obj).forEach(collect); + Object.getOwnPropertySymbols(obj).forEach(collect); +} + +export { mockObject }; diff --git a/node_modules/@vitest/mocker/dist/mocker.d-Ce9_ySj5.d.ts b/node_modules/@vitest/mocker/dist/mocker.d-Ce9_ySj5.d.ts new file mode 100644 index 0000000..0a905a0 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/mocker.d-Ce9_ySj5.d.ts @@ -0,0 +1,83 @@ +import { MaybeMockedDeep } from '@vitest/spy'; +import { b as ModuleMockOptions, a as ModuleMockFactoryWithHelper } from './types.d-D_aRZRdy.js'; +import { g as MockedModule, c as MockerRegistry, M as MockedModuleType } from './registry.d-D765pazg.js'; + +interface CompilerHintsOptions { + /** + * This is the key used to access the globalThis object in the worker. + * Unlike `globalThisAccessor` in other APIs, this is not injected into the script. + * ```ts + * // globalThisKey: '__my_variable__' produces: + * globalThis['__my_variable__'] + * // globalThisKey: '"__my_variable__"' produces: + * globalThis['"__my_variable__"'] // notice double quotes + * ``` + * @default '__vitest_mocker__' + */ + globalThisKey?: string; +} +interface ModuleMockerCompilerHints { + hoisted: (factory: () => T) => T; + mock: (path: string | Promise, factory?: ModuleMockOptions | ModuleMockFactoryWithHelper) => void; + unmock: (path: string | Promise) => void; + doMock: (path: string | Promise, factory?: ModuleMockOptions | ModuleMockFactoryWithHelper) => void; + doUnmock: (path: string | Promise) => void; + importActual: (path: string) => Promise; + importMock: (path: string) => Promise>; +} +declare function createCompilerHints(options?: CompilerHintsOptions): ModuleMockerCompilerHints; + +interface ModuleMockerInterceptor { + register: (module: MockedModule) => Promise; + delete: (url: string) => Promise; + invalidate: () => Promise; +} + +declare class ModuleMocker { + private interceptor; + private rpc; + private spyOn; + private config; + protected registry: MockerRegistry; + private queue; + private mockedIds; + constructor(interceptor: ModuleMockerInterceptor, rpc: ModuleMockerRPC, spyOn: (obj: any, method: string | symbol) => any, config: ModuleMockerConfig); + prepare(): Promise; + resolveFactoryModule(id: string): Promise>; + getFactoryModule(id: string): any; + invalidate(): Promise; + importActual(id: string, importer: string): Promise; + importMock(rawId: string, importer: string): Promise; + mockObject(object: Record, moduleType?: MockedModuleType): Record; + queueMock(rawId: string, importer: string, factoryOrOptions?: ModuleMockOptions | (() => any)): void; + queueUnmock(id: string, importer: string): void; + // We need to await mock registration before importing the actual module + // In case there is a mocked module in the import chain + wrapDynamicImport(moduleFactory: () => Promise): Promise; + private resolveMockPath; +} +interface ResolveIdResult { + id: string; + url: string; + optimized: boolean; +} +interface ResolveMockResult { + mockType: MockedModuleType; + resolvedId: string; + resolvedUrl: string; + redirectUrl?: string | null; + needsInterop?: boolean; +} +interface ModuleMockerRPC { + invalidate: (ids: string[]) => Promise; + resolveId: (id: string, importer: string) => Promise; + resolveMock: (id: string, importer: string, options: { + mock: "spy" | "factory" | "auto" + }) => Promise; +} +interface ModuleMockerConfig { + root: string; +} + +export { ModuleMocker as b, createCompilerHints as c }; +export type { CompilerHintsOptions as C, ModuleMockerInterceptor as M, ResolveIdResult as R, ModuleMockerCompilerHints as a, ModuleMockerConfig as d, ModuleMockerRPC as e, ResolveMockResult as f }; diff --git a/node_modules/@vitest/mocker/dist/node.d.ts b/node_modules/@vitest/mocker/dist/node.d.ts new file mode 100644 index 0000000..e77f2cd --- /dev/null +++ b/node_modules/@vitest/mocker/dist/node.d.ts @@ -0,0 +1,821 @@ +import { Plugin, Rollup, ViteDevServer } from 'vite'; +import MagicString, { SourceMap } from 'magic-string'; +import { c as MockerRegistry } from './registry.d-D765pazg.js'; +export { findMockRedirect } from './redirect.js'; + +declare function createManualModuleSource(moduleUrl: string, exports: string[], globalAccessor?: string): string; + +interface AutomockPluginOptions { + /** + * @default "__vitest_mocker__" + */ + globalThisAccessor?: string; +} +declare function automockPlugin(options?: AutomockPluginOptions): Plugin; +// TODO: better source map replacement +declare function automockModule(code: string, mockType: "automock" | "autospy", parse: (code: string) => any, options?: AutomockPluginOptions): MagicString; + +interface DynamicImportPluginOptions { + /** + * @default `"__vitest_mocker__"` + */ + globalThisAccessor?: string; + filter?: (id: string) => boolean; +} +declare function dynamicImportPlugin(options?: DynamicImportPluginOptions): Plugin; + +// This definition file follows a somewhat unusual format. ESTree allows +// runtime type checks based on the `type` parameter. In order to explain this +// to typescript we want to use discriminated union types: +// https://github.com/Microsoft/TypeScript/pull/9163 +// +// For ESTree this is a bit tricky because the high level interfaces like +// Node or Function are pulling double duty. We want to pass common fields down +// to the interfaces that extend them (like Identifier or +// ArrowFunctionExpression), but you can't extend a type union or enforce +// common fields on them. So we've split the high level interfaces into two +// types, a base type which passes down inherited fields, and a type union of +// all types which extend the base type. Only the type union is exported, and +// the union is how other types refer to the collection of inheriting types. +// +// This makes the definitions file here somewhat more difficult to maintain, +// but it has the notable advantage of making ESTree much easier to use as +// an end user. + +interface BaseNodeWithoutComments { + // Every leaf interface that extends BaseNode must specify a type property. + // The type property should be a string literal. For example, Identifier + // has: `type: "Identifier"` + type: string; + loc?: SourceLocation | null | undefined; + range?: [number, number] | undefined; +} + +interface BaseNode extends BaseNodeWithoutComments { + leadingComments?: Comment[] | undefined; + trailingComments?: Comment[] | undefined; +} + +interface NodeMap { + AssignmentProperty: AssignmentProperty; + CatchClause: CatchClause; + Class: Class; + ClassBody: ClassBody; + Expression: Expression; + Function: Function; + Identifier: Identifier; + Literal: Literal; + MethodDefinition: MethodDefinition; + ModuleDeclaration: ModuleDeclaration; + ModuleSpecifier: ModuleSpecifier; + Pattern: Pattern; + PrivateIdentifier: PrivateIdentifier; + Program: Program; + Property: Property; + PropertyDefinition: PropertyDefinition; + SpreadElement: SpreadElement; + Statement: Statement; + Super: Super; + SwitchCase: SwitchCase; + TemplateElement: TemplateElement; + VariableDeclarator: VariableDeclarator; +} + +type Node$1 = NodeMap[keyof NodeMap]; + +interface Comment extends BaseNodeWithoutComments { + type: "Line" | "Block"; + value: string; +} + +interface SourceLocation { + source?: string | null | undefined; + start: Position; + end: Position; +} + +interface Position { + /** >= 1 */ + line: number; + /** >= 0 */ + column: number; +} + +interface Program extends BaseNode { + type: "Program"; + sourceType: "script" | "module"; + body: Array; + comments?: Comment[] | undefined; +} + +interface Directive extends BaseNode { + type: "ExpressionStatement"; + expression: Literal; + directive: string; +} + +interface BaseFunction extends BaseNode { + params: Pattern[]; + generator?: boolean | undefined; + async?: boolean | undefined; + // The body is either BlockStatement or Expression because arrow functions + // can have a body that's either. FunctionDeclarations and + // FunctionExpressions have only BlockStatement bodies. + body: BlockStatement | Expression; +} + +type Function = FunctionDeclaration | FunctionExpression | ArrowFunctionExpression; + +type Statement = + | ExpressionStatement + | BlockStatement + | StaticBlock + | EmptyStatement + | DebuggerStatement + | WithStatement + | ReturnStatement + | LabeledStatement + | BreakStatement + | ContinueStatement + | IfStatement + | SwitchStatement + | ThrowStatement + | TryStatement + | WhileStatement + | DoWhileStatement + | ForStatement + | ForInStatement + | ForOfStatement + | Declaration; + +interface BaseStatement extends BaseNode {} + +interface EmptyStatement extends BaseStatement { + type: "EmptyStatement"; +} + +interface BlockStatement extends BaseStatement { + type: "BlockStatement"; + body: Statement[]; + innerComments?: Comment[] | undefined; +} + +interface StaticBlock extends Omit { + type: "StaticBlock"; +} + +interface ExpressionStatement extends BaseStatement { + type: "ExpressionStatement"; + expression: Expression; +} + +interface IfStatement extends BaseStatement { + type: "IfStatement"; + test: Expression; + consequent: Statement; + alternate?: Statement | null | undefined; +} + +interface LabeledStatement extends BaseStatement { + type: "LabeledStatement"; + label: Identifier; + body: Statement; +} + +interface BreakStatement extends BaseStatement { + type: "BreakStatement"; + label?: Identifier | null | undefined; +} + +interface ContinueStatement extends BaseStatement { + type: "ContinueStatement"; + label?: Identifier | null | undefined; +} + +interface WithStatement extends BaseStatement { + type: "WithStatement"; + object: Expression; + body: Statement; +} + +interface SwitchStatement extends BaseStatement { + type: "SwitchStatement"; + discriminant: Expression; + cases: SwitchCase[]; +} + +interface ReturnStatement extends BaseStatement { + type: "ReturnStatement"; + argument?: Expression | null | undefined; +} + +interface ThrowStatement extends BaseStatement { + type: "ThrowStatement"; + argument: Expression; +} + +interface TryStatement extends BaseStatement { + type: "TryStatement"; + block: BlockStatement; + handler?: CatchClause | null | undefined; + finalizer?: BlockStatement | null | undefined; +} + +interface WhileStatement extends BaseStatement { + type: "WhileStatement"; + test: Expression; + body: Statement; +} + +interface DoWhileStatement extends BaseStatement { + type: "DoWhileStatement"; + body: Statement; + test: Expression; +} + +interface ForStatement extends BaseStatement { + type: "ForStatement"; + init?: VariableDeclaration | Expression | null | undefined; + test?: Expression | null | undefined; + update?: Expression | null | undefined; + body: Statement; +} + +interface BaseForXStatement extends BaseStatement { + left: VariableDeclaration | Pattern; + right: Expression; + body: Statement; +} + +interface ForInStatement extends BaseForXStatement { + type: "ForInStatement"; +} + +interface DebuggerStatement extends BaseStatement { + type: "DebuggerStatement"; +} + +type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration; + +interface BaseDeclaration extends BaseStatement {} + +interface MaybeNamedFunctionDeclaration extends BaseFunction, BaseDeclaration { + type: "FunctionDeclaration"; + /** It is null when a function declaration is a part of the `export default function` statement */ + id: Identifier | null; + body: BlockStatement; +} + +interface FunctionDeclaration extends MaybeNamedFunctionDeclaration { + id: Identifier; +} + +interface VariableDeclaration extends BaseDeclaration { + type: "VariableDeclaration"; + declarations: VariableDeclarator[]; + kind: "var" | "let" | "const"; +} + +interface VariableDeclarator extends BaseNode { + type: "VariableDeclarator"; + id: Pattern; + init?: Expression | null | undefined; +} + +interface ExpressionMap { + ArrayExpression: ArrayExpression; + ArrowFunctionExpression: ArrowFunctionExpression; + AssignmentExpression: AssignmentExpression; + AwaitExpression: AwaitExpression; + BinaryExpression: BinaryExpression; + CallExpression: CallExpression; + ChainExpression: ChainExpression; + ClassExpression: ClassExpression; + ConditionalExpression: ConditionalExpression; + FunctionExpression: FunctionExpression; + Identifier: Identifier; + ImportExpression: ImportExpression; + Literal: Literal; + LogicalExpression: LogicalExpression; + MemberExpression: MemberExpression; + MetaProperty: MetaProperty; + NewExpression: NewExpression; + ObjectExpression: ObjectExpression; + SequenceExpression: SequenceExpression; + TaggedTemplateExpression: TaggedTemplateExpression; + TemplateLiteral: TemplateLiteral; + ThisExpression: ThisExpression; + UnaryExpression: UnaryExpression; + UpdateExpression: UpdateExpression; + YieldExpression: YieldExpression; +} + +type Expression = ExpressionMap[keyof ExpressionMap]; + +interface BaseExpression extends BaseNode {} + +type ChainElement = SimpleCallExpression | MemberExpression; + +interface ChainExpression extends BaseExpression { + type: "ChainExpression"; + expression: ChainElement; +} + +interface ThisExpression extends BaseExpression { + type: "ThisExpression"; +} + +interface ArrayExpression extends BaseExpression { + type: "ArrayExpression"; + elements: Array; +} + +interface ObjectExpression extends BaseExpression { + type: "ObjectExpression"; + properties: Array; +} + +interface PrivateIdentifier extends BaseNode { + type: "PrivateIdentifier"; + name: string; +} + +interface Property extends BaseNode { + type: "Property"; + key: Expression | PrivateIdentifier; + value: Expression | Pattern; // Could be an AssignmentProperty + kind: "init" | "get" | "set"; + method: boolean; + shorthand: boolean; + computed: boolean; +} + +interface PropertyDefinition extends BaseNode { + type: "PropertyDefinition"; + key: Expression | PrivateIdentifier; + value?: Expression | null | undefined; + computed: boolean; + static: boolean; +} + +interface FunctionExpression extends BaseFunction, BaseExpression { + id?: Identifier | null | undefined; + type: "FunctionExpression"; + body: BlockStatement; +} + +interface SequenceExpression extends BaseExpression { + type: "SequenceExpression"; + expressions: Expression[]; +} + +interface UnaryExpression extends BaseExpression { + type: "UnaryExpression"; + operator: UnaryOperator; + prefix: true; + argument: Expression; +} + +interface BinaryExpression extends BaseExpression { + type: "BinaryExpression"; + operator: BinaryOperator; + left: Expression | PrivateIdentifier; + right: Expression; +} + +interface AssignmentExpression extends BaseExpression { + type: "AssignmentExpression"; + operator: AssignmentOperator; + left: Pattern | MemberExpression; + right: Expression; +} + +interface UpdateExpression extends BaseExpression { + type: "UpdateExpression"; + operator: UpdateOperator; + argument: Expression; + prefix: boolean; +} + +interface LogicalExpression extends BaseExpression { + type: "LogicalExpression"; + operator: LogicalOperator; + left: Expression; + right: Expression; +} + +interface ConditionalExpression extends BaseExpression { + type: "ConditionalExpression"; + test: Expression; + alternate: Expression; + consequent: Expression; +} + +interface BaseCallExpression extends BaseExpression { + callee: Expression | Super; + arguments: Array; +} +type CallExpression = SimpleCallExpression | NewExpression; + +interface SimpleCallExpression extends BaseCallExpression { + type: "CallExpression"; + optional: boolean; +} + +interface NewExpression extends BaseCallExpression { + type: "NewExpression"; +} + +interface MemberExpression extends BaseExpression, BasePattern { + type: "MemberExpression"; + object: Expression | Super; + property: Expression | PrivateIdentifier; + computed: boolean; + optional: boolean; +} + +type Pattern = Identifier | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | MemberExpression; + +interface BasePattern extends BaseNode {} + +interface SwitchCase extends BaseNode { + type: "SwitchCase"; + test?: Expression | null | undefined; + consequent: Statement[]; +} + +interface CatchClause extends BaseNode { + type: "CatchClause"; + param: Pattern | null; + body: BlockStatement; +} + +interface Identifier extends BaseNode, BaseExpression, BasePattern { + type: "Identifier"; + name: string; +} + +type Literal = SimpleLiteral | RegExpLiteral | BigIntLiteral; + +interface SimpleLiteral extends BaseNode, BaseExpression { + type: "Literal"; + value: string | boolean | number | null; + raw?: string | undefined; +} + +interface RegExpLiteral extends BaseNode, BaseExpression { + type: "Literal"; + value?: RegExp | null | undefined; + regex: { + pattern: string; + flags: string; + }; + raw?: string | undefined; +} + +interface BigIntLiteral extends BaseNode, BaseExpression { + type: "Literal"; + value?: bigint | null | undefined; + bigint: string; + raw?: string | undefined; +} + +type UnaryOperator = "-" | "+" | "!" | "~" | "typeof" | "void" | "delete"; + +type BinaryOperator = + | "==" + | "!=" + | "===" + | "!==" + | "<" + | "<=" + | ">" + | ">=" + | "<<" + | ">>" + | ">>>" + | "+" + | "-" + | "*" + | "/" + | "%" + | "**" + | "|" + | "^" + | "&" + | "in" + | "instanceof"; + +type LogicalOperator = "||" | "&&" | "??"; + +type AssignmentOperator = + | "=" + | "+=" + | "-=" + | "*=" + | "/=" + | "%=" + | "**=" + | "<<=" + | ">>=" + | ">>>=" + | "|=" + | "^=" + | "&=" + | "||=" + | "&&=" + | "??="; + +type UpdateOperator = "++" | "--"; + +interface ForOfStatement extends BaseForXStatement { + type: "ForOfStatement"; + await: boolean; +} + +interface Super extends BaseNode { + type: "Super"; +} + +interface SpreadElement extends BaseNode { + type: "SpreadElement"; + argument: Expression; +} + +interface ArrowFunctionExpression extends BaseExpression, BaseFunction { + type: "ArrowFunctionExpression"; + expression: boolean; + body: BlockStatement | Expression; +} + +interface YieldExpression extends BaseExpression { + type: "YieldExpression"; + argument?: Expression | null | undefined; + delegate: boolean; +} + +interface TemplateLiteral extends BaseExpression { + type: "TemplateLiteral"; + quasis: TemplateElement[]; + expressions: Expression[]; +} + +interface TaggedTemplateExpression extends BaseExpression { + type: "TaggedTemplateExpression"; + tag: Expression; + quasi: TemplateLiteral; +} + +interface TemplateElement extends BaseNode { + type: "TemplateElement"; + tail: boolean; + value: { + /** It is null when the template literal is tagged and the text has an invalid escape (e.g. - tag`\unicode and \u{55}`) */ + cooked?: string | null | undefined; + raw: string; + }; +} + +interface AssignmentProperty extends Property { + value: Pattern; + kind: "init"; + method: boolean; // false +} + +interface ObjectPattern extends BasePattern { + type: "ObjectPattern"; + properties: Array; +} + +interface ArrayPattern extends BasePattern { + type: "ArrayPattern"; + elements: Array; +} + +interface RestElement extends BasePattern { + type: "RestElement"; + argument: Pattern; +} + +interface AssignmentPattern extends BasePattern { + type: "AssignmentPattern"; + left: Pattern; + right: Expression; +} + +type Class = ClassDeclaration | ClassExpression; +interface BaseClass extends BaseNode { + superClass?: Expression | null | undefined; + body: ClassBody; +} + +interface ClassBody extends BaseNode { + type: "ClassBody"; + body: Array; +} + +interface MethodDefinition extends BaseNode { + type: "MethodDefinition"; + key: Expression | PrivateIdentifier; + value: FunctionExpression; + kind: "constructor" | "method" | "get" | "set"; + computed: boolean; + static: boolean; +} + +interface MaybeNamedClassDeclaration extends BaseClass, BaseDeclaration { + type: "ClassDeclaration"; + /** It is null when a class declaration is a part of the `export default class` statement */ + id: Identifier | null; +} + +interface ClassDeclaration extends MaybeNamedClassDeclaration { + id: Identifier; +} + +interface ClassExpression extends BaseClass, BaseExpression { + type: "ClassExpression"; + id?: Identifier | null | undefined; +} + +interface MetaProperty extends BaseExpression { + type: "MetaProperty"; + meta: Identifier; + property: Identifier; +} + +type ModuleDeclaration = + | ImportDeclaration + | ExportNamedDeclaration + | ExportDefaultDeclaration + | ExportAllDeclaration; +interface BaseModuleDeclaration extends BaseNode {} + +type ModuleSpecifier = ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier; +interface BaseModuleSpecifier extends BaseNode { + local: Identifier; +} + +interface ImportDeclaration extends BaseModuleDeclaration { + type: "ImportDeclaration"; + specifiers: Array; + attributes: ImportAttribute[]; + source: Literal; +} + +interface ImportSpecifier extends BaseModuleSpecifier { + type: "ImportSpecifier"; + imported: Identifier | Literal; +} + +interface ImportAttribute extends BaseNode { + type: "ImportAttribute"; + key: Identifier | Literal; + value: Literal; +} + +interface ImportExpression extends BaseExpression { + type: "ImportExpression"; + source: Expression; + options?: Expression | null | undefined; +} + +interface ImportDefaultSpecifier extends BaseModuleSpecifier { + type: "ImportDefaultSpecifier"; +} + +interface ImportNamespaceSpecifier extends BaseModuleSpecifier { + type: "ImportNamespaceSpecifier"; +} + +interface ExportNamedDeclaration extends BaseModuleDeclaration { + type: "ExportNamedDeclaration"; + declaration?: Declaration | null | undefined; + specifiers: ExportSpecifier[]; + attributes: ImportAttribute[]; + source?: Literal | null | undefined; +} + +interface ExportSpecifier extends Omit { + type: "ExportSpecifier"; + local: Identifier | Literal; + exported: Identifier | Literal; +} + +interface ExportDefaultDeclaration extends BaseModuleDeclaration { + type: "ExportDefaultDeclaration"; + declaration: MaybeNamedFunctionDeclaration | MaybeNamedClassDeclaration | Expression; +} + +interface ExportAllDeclaration extends BaseModuleDeclaration { + type: "ExportAllDeclaration"; + exported: Identifier | Literal | null; + attributes: ImportAttribute[]; + source: Literal; +} + +interface AwaitExpression extends BaseExpression { + type: "AwaitExpression"; + argument: Expression; +} + +type Positioned = T & { + start: number + end: number +}; +type Node = Positioned; + +interface HoistMocksOptions { + /** + * List of modules that should always be imported before compiler hints. + * @default 'vitest' + */ + hoistedModule?: string; + /** + * @default ["vi", "vitest"] + */ + utilsObjectNames?: string[]; + /** + * @default ["mock", "unmock"] + */ + hoistableMockMethodNames?: string[]; + /** + * @default ["mock", "unmock", "doMock", "doUnmock"] + */ + dynamicImportMockMethodNames?: string[]; + /** + * @default ["hoisted"] + */ + hoistedMethodNames?: string[]; + regexpHoistable?: RegExp; + codeFrameGenerator?: CodeFrameGenerator; +} +interface HoistMocksPluginOptions extends Omit { + include?: string | RegExp | (string | RegExp)[]; + exclude?: string | RegExp | (string | RegExp)[]; + /** + * overrides include/exclude options + */ + filter?: (id: string) => boolean; +} +declare function hoistMocksPlugin(options?: HoistMocksPluginOptions): Plugin; +interface HoistMocksResult { + code: string; + map: SourceMap; +} +interface CodeFrameGenerator { + (node: Positioned, id: string, code: string): string; +} +// this is a fork of Vite SSR transform +declare function hoistMocks(code: string, id: string, parse: Rollup.PluginContext["parse"], options?: HoistMocksOptions): HoistMocksResult | undefined; + +interface InterceptorPluginOptions { + /** + * @default "__vitest_mocker__" + */ + globalThisAccessor?: string; + registry?: MockerRegistry; +} +declare function interceptorPlugin(options?: InterceptorPluginOptions): Plugin; + +interface MockerPluginOptions extends AutomockPluginOptions { + hoistMocks?: HoistMocksPluginOptions; +} +// this is an implementation for public usage +// vitest doesn't use this plugin directly +declare function mockerPlugin(options?: MockerPluginOptions): Plugin[]; + +interface ServerResolverOptions { + /** + * @default ['/node_modules/'] + */ + moduleDirectories?: string[]; +} +declare class ServerMockResolver { + private server; + private options; + constructor(server: ViteDevServer, options?: ServerResolverOptions); + resolveMock(rawId: string, importer: string, options: { + mock: "spy" | "factory" | "auto" + }): Promise; + invalidate(ids: string[]): void; + resolveId(id: string, importer?: string): Promise; + private normalizeResolveIdToUrl; + private resolveMockId; + private resolveModule; +} +interface ServerMockResolution { + mockType: "manual" | "redirect" | "automock" | "autospy"; + resolvedId: string; + resolvedUrl: string; + needsInterop?: boolean; + redirectUrl?: string | null; +} +interface ServerIdResolution { + id: string; + url: string; + optimized: boolean; +} + +export { ServerMockResolver, automockModule, automockPlugin, createManualModuleSource, dynamicImportPlugin, hoistMocks, hoistMocksPlugin, interceptorPlugin, mockerPlugin }; +export type { AutomockPluginOptions, HoistMocksPluginOptions, HoistMocksResult, InterceptorPluginOptions, ServerIdResolution, ServerMockResolution, ServerResolverOptions }; diff --git a/node_modules/@vitest/mocker/dist/node.js b/node_modules/@vitest/mocker/dist/node.js new file mode 100644 index 0000000..f7dad3e --- /dev/null +++ b/node_modules/@vitest/mocker/dist/node.js @@ -0,0 +1,1306 @@ +import { a as cleanUrl, c as createManualModuleSource } from './chunk-utils.js'; +import MagicString from 'magic-string'; +import { walk } from 'estree-walker'; +import { createFilter } from 'vite'; +import { readFile } from 'node:fs/promises'; +import { join } from 'node:path/posix'; +import { M as MockerRegistry, a as ManualMockedModule } from './chunk-registry.js'; +import { fileURLToPath } from 'node:url'; +import { existsSync, readFileSync } from 'node:fs'; +import { findMockRedirect } from './redirect.js'; +import { i as isAbsolute, j as join$1, r as resolve } from './chunk-pathe.M-eThtNZ.js'; +import 'node:module'; + +const isNodeInPatternWeakSet = new WeakSet(); +function setIsNodeInPattern(node) { + return isNodeInPatternWeakSet.add(node); +} +function isNodeInPattern(node) { + return isNodeInPatternWeakSet.has(node); +} +/** +* Same logic from \@vue/compiler-core & \@vue/compiler-sfc +* Except this is using acorn AST +*/ +function esmWalker(root, { onIdentifier, onImportMeta, onDynamicImport, onCallExpression }) { + const parentStack = []; + const varKindStack = []; + const scopeMap = new WeakMap(); + const identifiers = []; + const setScope = (node, name) => { + let scopeIds = scopeMap.get(node); + if (scopeIds && scopeIds.has(name)) { + return; + } + if (!scopeIds) { + scopeIds = new Set(); + scopeMap.set(node, scopeIds); + } + scopeIds.add(name); + }; + function isInScope(name, parents) { + return parents.some((node) => { + var _scopeMap$get; + return node && ((_scopeMap$get = scopeMap.get(node)) === null || _scopeMap$get === void 0 ? void 0 : _scopeMap$get.has(name)); + }); + } + function handlePattern(p, parentScope) { + if (p.type === "Identifier") { + setScope(parentScope, p.name); + } else if (p.type === "RestElement") { + handlePattern(p.argument, parentScope); + } else if (p.type === "ObjectPattern") { + p.properties.forEach((property) => { + if (property.type === "RestElement") { + setScope(parentScope, property.argument.name); + } else { + handlePattern(property.value, parentScope); + } + }); + } else if (p.type === "ArrayPattern") { + p.elements.forEach((element) => { + if (element) { + handlePattern(element, parentScope); + } + }); + } else if (p.type === "AssignmentPattern") { + handlePattern(p.left, parentScope); + } else { + setScope(parentScope, p.name); + } + } + walk(root, { + enter(node, parent) { + if (node.type === "ImportDeclaration") { + return this.skip(); + } + // track parent stack, skip for "else-if"/"else" branches as acorn nests + // the ast within "if" nodes instead of flattening them + if (parent && !(parent.type === "IfStatement" && node === parent.alternate)) { + parentStack.unshift(parent); + } + // track variable declaration kind stack used by VariableDeclarator + if (node.type === "VariableDeclaration") { + varKindStack.unshift(node.kind); + } + if (node.type === "CallExpression") { + onCallExpression === null || onCallExpression === void 0 ? void 0 : onCallExpression(node); + } + if (node.type === "MetaProperty" && node.meta.name === "import") { + onImportMeta === null || onImportMeta === void 0 ? void 0 : onImportMeta(node); + } else if (node.type === "ImportExpression") { + onDynamicImport === null || onDynamicImport === void 0 ? void 0 : onDynamicImport(node); + } + if (node.type === "Identifier") { + if (!isInScope(node.name, parentStack) && isRefIdentifier(node, parent, parentStack)) { + // record the identifier, for DFS -> BFS + identifiers.push([node, parentStack.slice(0)]); + } + } else if (isFunctionNode(node)) { + // If it is a function declaration, it could be shadowing an import + // Add its name to the scope so it won't get replaced + if (node.type === "FunctionDeclaration") { + const parentScope = findParentScope(parentStack); + if (parentScope) { + setScope(parentScope, node.id.name); + } + } + // walk function expressions and add its arguments to known identifiers + // so that we don't prefix them + node.params.forEach((p) => { + if (p.type === "ObjectPattern" || p.type === "ArrayPattern") { + handlePattern(p, node); + return; + } + walk(p.type === "AssignmentPattern" ? p.left : p, { enter(child, parent) { + // skip params default value of destructure + if ((parent === null || parent === void 0 ? void 0 : parent.type) === "AssignmentPattern" && (parent === null || parent === void 0 ? void 0 : parent.right) === child) { + return this.skip(); + } + if (child.type !== "Identifier") { + return; + } + // do not record as scope variable if is a destructuring keyword + if (isStaticPropertyKey(child, parent)) { + return; + } + // do not record if this is a default value + // assignment of a destructuring variable + if ((parent === null || parent === void 0 ? void 0 : parent.type) === "TemplateLiteral" && (parent === null || parent === void 0 ? void 0 : parent.expressions.includes(child)) || (parent === null || parent === void 0 ? void 0 : parent.type) === "CallExpression" && (parent === null || parent === void 0 ? void 0 : parent.callee) === child) { + return; + } + setScope(node, child.name); + } }); + }); + } else if (node.type === "Property" && parent.type === "ObjectPattern") { + // mark property in destructuring pattern + setIsNodeInPattern(node); + } else if (node.type === "VariableDeclarator") { + const parentFunction = findParentScope(parentStack, varKindStack[0] === "var"); + if (parentFunction) { + handlePattern(node.id, parentFunction); + } + } else if (node.type === "CatchClause" && node.param) { + handlePattern(node.param, node); + } + }, + leave(node, parent) { + // untrack parent stack from above + if (parent && !(parent.type === "IfStatement" && node === parent.alternate)) { + parentStack.shift(); + } + if (node.type === "VariableDeclaration") { + varKindStack.shift(); + } + } + }); + // emit the identifier events in BFS so the hoisted declarations + // can be captured correctly + identifiers.forEach(([node, stack]) => { + if (!isInScope(node.name, stack)) { + const parent = stack[0]; + const grandparent = stack[1]; + const hasBindingShortcut = isStaticProperty(parent) && parent.shorthand && (!isNodeInPattern(parent) || isInDestructuringAssignment(parent, parentStack)); + const classDeclaration = parent.type === "PropertyDefinition" && (grandparent === null || grandparent === void 0 ? void 0 : grandparent.type) === "ClassBody" || parent.type === "ClassDeclaration" && node === parent.superClass; + const classExpression = parent.type === "ClassExpression" && node === parent.id; + onIdentifier === null || onIdentifier === void 0 ? void 0 : onIdentifier(node, { + hasBindingShortcut, + classDeclaration, + classExpression + }, stack); + } + }); +} +function isRefIdentifier(id, parent, parentStack) { + // declaration id + if (parent.type === "CatchClause" || (parent.type === "VariableDeclarator" || parent.type === "ClassDeclaration") && parent.id === id) { + return false; + } + if (isFunctionNode(parent)) { + // function declaration/expression id + if (parent.id === id) { + return false; + } + // params list + if (parent.params.includes(id)) { + return false; + } + } + // class method name + if (parent.type === "MethodDefinition" && !parent.computed) { + return false; + } + // property key + if (isStaticPropertyKey(id, parent)) { + return false; + } + // object destructuring pattern + if (isNodeInPattern(parent) && parent.value === id) { + return false; + } + // non-assignment array destructuring pattern + if (parent.type === "ArrayPattern" && !isInDestructuringAssignment(parent, parentStack)) { + return false; + } + // member expression property + if (parent.type === "MemberExpression" && parent.property === id && !parent.computed) { + return false; + } + if (parent.type === "ExportSpecifier") { + return false; + } + // is a special keyword but parsed as identifier + if (id.name === "arguments") { + return false; + } + return true; +} +function isStaticProperty(node) { + return node && node.type === "Property" && !node.computed; +} +function isStaticPropertyKey(node, parent) { + return isStaticProperty(parent) && parent.key === node; +} +const functionNodeTypeRE = /Function(?:Expression|Declaration)$|Method$/; +function isFunctionNode(node) { + return functionNodeTypeRE.test(node.type); +} +const blockNodeTypeRE = /^BlockStatement$|^For(?:In|Of)?Statement$/; +function isBlock(node) { + return blockNodeTypeRE.test(node.type); +} +function findParentScope(parentStack, isVar = false) { + return parentStack.find(isVar ? isFunctionNode : isBlock); +} +function isInDestructuringAssignment(parent, parentStack) { + if (parent && (parent.type === "Property" || parent.type === "ArrayPattern")) { + return parentStack.some((i) => i.type === "AssignmentExpression"); + } + return false; +} +function getArbitraryModuleIdentifier(node) { + return node.type === "Identifier" ? node.name : node.raw; +} + +function automockPlugin(options = {}) { + return { + name: "vitest:automock", + enforce: "post", + transform(code, id) { + if (id.includes("mock=automock") || id.includes("mock=autospy")) { + const mockType = id.includes("mock=automock") ? "automock" : "autospy"; + const ms = automockModule(code, mockType, this.parse, options); + return { + code: ms.toString(), + map: ms.generateMap({ + hires: "boundary", + source: cleanUrl(id) + }) + }; + } + } + }; +} +// TODO: better source map replacement +function automockModule(code, mockType, parse, options = {}) { + const globalThisAccessor = options.globalThisAccessor || "\"__vitest_mocker__\""; + const ast = parse(code); + const m = new MagicString(code); + const allSpecifiers = []; + let importIndex = 0; + for (const _node of ast.body) { + if (_node.type === "ExportAllDeclaration") { + throw new Error(`automocking files with \`export *\` is not supported in browser mode because it cannot be statically analysed`); + } + if (_node.type === "ExportNamedDeclaration") { + const node = _node; + const declaration = node.declaration; + function traversePattern(expression) { + // export const test = '1' + if (expression.type === "Identifier") { + allSpecifiers.push({ name: expression.name }); + } else if (expression.type === "ArrayPattern") { + expression.elements.forEach((element) => { + if (!element) { + return; + } + traversePattern(element); + }); + } else if (expression.type === "ObjectPattern") { + expression.properties.forEach((property) => { + // export const { ...rest } = {} + if (property.type === "RestElement") { + traversePattern(property); + } else if (property.type === "Property") { + traversePattern(property.value); + } else ; + }); + } else if (expression.type === "RestElement") { + traversePattern(expression.argument); + } else if (expression.type === "AssignmentPattern") { + throw new Error(`AssignmentPattern is not supported. Please open a new bug report.`); + } else if (expression.type === "MemberExpression") { + throw new Error(`MemberExpression is not supported. Please open a new bug report.`); + } else ; + } + if (declaration) { + if (declaration.type === "FunctionDeclaration") { + allSpecifiers.push({ name: declaration.id.name }); + } else if (declaration.type === "VariableDeclaration") { + declaration.declarations.forEach((declaration) => { + traversePattern(declaration.id); + }); + } else if (declaration.type === "ClassDeclaration") { + allSpecifiers.push({ name: declaration.id.name }); + } else ; + m.remove(node.start, declaration.start); + } + const specifiers = node.specifiers || []; + const source = node.source; + if (!source && specifiers.length) { + specifiers.forEach((specifier) => { + allSpecifiers.push({ + alias: getArbitraryModuleIdentifier(specifier.exported), + name: getArbitraryModuleIdentifier(specifier.local) + }); + }); + m.remove(node.start, node.end); + } else if (source && specifiers.length) { + const importNames = []; + specifiers.forEach((specifier) => { + const importedName = `__vitest_imported_${importIndex++}__`; + importNames.push([getArbitraryModuleIdentifier(specifier.local), importedName]); + allSpecifiers.push({ + name: importedName, + alias: getArbitraryModuleIdentifier(specifier.exported) + }); + }); + const importString = `import { ${importNames.map(([name, alias]) => `${name} as ${alias}`).join(", ")} } from '${source.value}'`; + m.overwrite(node.start, node.end, importString); + } + } + if (_node.type === "ExportDefaultDeclaration") { + const node = _node; + const declaration = node.declaration; + allSpecifiers.push({ + name: "__vitest_default", + alias: "default" + }); + m.overwrite(node.start, declaration.start, `const __vitest_default = `); + } + } + const moduleObject = ` +const __vitest_current_es_module__ = { + __esModule: true, + ${allSpecifiers.map(({ name }) => `["${name}"]: ${name},`).join("\n ")} +} +const __vitest_mocked_module__ = globalThis[${globalThisAccessor}].mockObject(__vitest_current_es_module__, "${mockType}") +`; + const assigning = allSpecifiers.map(({ name }, index) => { + return `const __vitest_mocked_${index}__ = __vitest_mocked_module__["${name}"]`; + }).join("\n"); + const redeclarations = allSpecifiers.map(({ name, alias }, index) => { + return ` __vitest_mocked_${index}__ as ${alias || name},`; + }).join("\n"); + const specifiersExports = ` +export { +${redeclarations} +} +`; + m.append(moduleObject + assigning + specifiersExports); + return m; +} + +const regexDynamicImport = /import\s*\(/; +function dynamicImportPlugin(options = {}) { + return { + name: "vitest:browser:esm-injector", + enforce: "post", + transform(source, id) { + // TODO: test is not called for static imports + if (!regexDynamicImport.test(source)) { + return; + } + if (options.filter && !options.filter(id)) { + return; + } + return injectDynamicImport(source, id, this.parse, options); + } + }; +} +function injectDynamicImport(code, id, parse, options = {}) { + const s = new MagicString(code); + let ast; + try { + ast = parse(code); + } catch (err) { + console.error(`Cannot parse ${id}:\n${err.message}`); + return; + } + // 3. convert references to import bindings & import.meta references + esmWalker(ast, { + onImportMeta() { + // s.update(node.start, node.end, viImportMetaKey) + }, + onDynamicImport(node) { + const globalThisAccessor = options.globalThisAccessor || "\"__vitest_mocker__\""; + const replaceString = `globalThis[${globalThisAccessor}].wrapDynamicImport(() => import(`; + const importSubstring = code.substring(node.start, node.end); + const hasIgnore = importSubstring.includes("/* @vite-ignore */"); + s.overwrite(node.start, node.source.start, replaceString + (hasIgnore ? "/* @vite-ignore */ " : "")); + s.overwrite(node.end - 1, node.end, "))"); + } + }); + return { + code: s.toString(), + map: s.generateMap({ + hires: "boundary", + source: id + }) + }; +} + +// AST walker module for ESTree compatible trees + + +function makeTest(test) { + if (typeof test === "string") + { return function (type) { return type === test; } } + else if (!test) + { return function () { return true; } } + else + { return test } +} + +var Found = function Found(node, state) { this.node = node; this.state = state; }; + +// Find the innermost node of a given type that contains the given +// position. Interface similar to findNodeAt. +function findNodeAround(node, pos, test, baseVisitor, state) { + test = makeTest(test); + if (!baseVisitor) { baseVisitor = base; } + try { + (function c(node, st, override) { + var type = override || node.type; + if (node.start > pos || node.end < pos) { return } + baseVisitor[type](node, st, c); + if (test(type, node)) { throw new Found(node, st) } + })(node, state); + } catch (e) { + if (e instanceof Found) { return e } + throw e + } +} + +function skipThrough(node, st, c) { c(node, st); } +function ignore(_node, _st, _c) {} + +// Node walkers. + +var base = {}; + +base.Program = base.BlockStatement = base.StaticBlock = function (node, st, c) { + for (var i = 0, list = node.body; i < list.length; i += 1) + { + var stmt = list[i]; + + c(stmt, st, "Statement"); + } +}; +base.Statement = skipThrough; +base.EmptyStatement = ignore; +base.ExpressionStatement = base.ParenthesizedExpression = base.ChainExpression = + function (node, st, c) { return c(node.expression, st, "Expression"); }; +base.IfStatement = function (node, st, c) { + c(node.test, st, "Expression"); + c(node.consequent, st, "Statement"); + if (node.alternate) { c(node.alternate, st, "Statement"); } +}; +base.LabeledStatement = function (node, st, c) { return c(node.body, st, "Statement"); }; +base.BreakStatement = base.ContinueStatement = ignore; +base.WithStatement = function (node, st, c) { + c(node.object, st, "Expression"); + c(node.body, st, "Statement"); +}; +base.SwitchStatement = function (node, st, c) { + c(node.discriminant, st, "Expression"); + for (var i = 0, list = node.cases; i < list.length; i += 1) { + var cs = list[i]; + + c(cs, st); + } +}; +base.SwitchCase = function (node, st, c) { + if (node.test) { c(node.test, st, "Expression"); } + for (var i = 0, list = node.consequent; i < list.length; i += 1) + { + var cons = list[i]; + + c(cons, st, "Statement"); + } +}; +base.ReturnStatement = base.YieldExpression = base.AwaitExpression = function (node, st, c) { + if (node.argument) { c(node.argument, st, "Expression"); } +}; +base.ThrowStatement = base.SpreadElement = + function (node, st, c) { return c(node.argument, st, "Expression"); }; +base.TryStatement = function (node, st, c) { + c(node.block, st, "Statement"); + if (node.handler) { c(node.handler, st); } + if (node.finalizer) { c(node.finalizer, st, "Statement"); } +}; +base.CatchClause = function (node, st, c) { + if (node.param) { c(node.param, st, "Pattern"); } + c(node.body, st, "Statement"); +}; +base.WhileStatement = base.DoWhileStatement = function (node, st, c) { + c(node.test, st, "Expression"); + c(node.body, st, "Statement"); +}; +base.ForStatement = function (node, st, c) { + if (node.init) { c(node.init, st, "ForInit"); } + if (node.test) { c(node.test, st, "Expression"); } + if (node.update) { c(node.update, st, "Expression"); } + c(node.body, st, "Statement"); +}; +base.ForInStatement = base.ForOfStatement = function (node, st, c) { + c(node.left, st, "ForInit"); + c(node.right, st, "Expression"); + c(node.body, st, "Statement"); +}; +base.ForInit = function (node, st, c) { + if (node.type === "VariableDeclaration") { c(node, st); } + else { c(node, st, "Expression"); } +}; +base.DebuggerStatement = ignore; + +base.FunctionDeclaration = function (node, st, c) { return c(node, st, "Function"); }; +base.VariableDeclaration = function (node, st, c) { + for (var i = 0, list = node.declarations; i < list.length; i += 1) + { + var decl = list[i]; + + c(decl, st); + } +}; +base.VariableDeclarator = function (node, st, c) { + c(node.id, st, "Pattern"); + if (node.init) { c(node.init, st, "Expression"); } +}; + +base.Function = function (node, st, c) { + if (node.id) { c(node.id, st, "Pattern"); } + for (var i = 0, list = node.params; i < list.length; i += 1) + { + var param = list[i]; + + c(param, st, "Pattern"); + } + c(node.body, st, node.expression ? "Expression" : "Statement"); +}; + +base.Pattern = function (node, st, c) { + if (node.type === "Identifier") + { c(node, st, "VariablePattern"); } + else if (node.type === "MemberExpression") + { c(node, st, "MemberPattern"); } + else + { c(node, st); } +}; +base.VariablePattern = ignore; +base.MemberPattern = skipThrough; +base.RestElement = function (node, st, c) { return c(node.argument, st, "Pattern"); }; +base.ArrayPattern = function (node, st, c) { + for (var i = 0, list = node.elements; i < list.length; i += 1) { + var elt = list[i]; + + if (elt) { c(elt, st, "Pattern"); } + } +}; +base.ObjectPattern = function (node, st, c) { + for (var i = 0, list = node.properties; i < list.length; i += 1) { + var prop = list[i]; + + if (prop.type === "Property") { + if (prop.computed) { c(prop.key, st, "Expression"); } + c(prop.value, st, "Pattern"); + } else if (prop.type === "RestElement") { + c(prop.argument, st, "Pattern"); + } + } +}; + +base.Expression = skipThrough; +base.ThisExpression = base.Super = base.MetaProperty = ignore; +base.ArrayExpression = function (node, st, c) { + for (var i = 0, list = node.elements; i < list.length; i += 1) { + var elt = list[i]; + + if (elt) { c(elt, st, "Expression"); } + } +}; +base.ObjectExpression = function (node, st, c) { + for (var i = 0, list = node.properties; i < list.length; i += 1) + { + var prop = list[i]; + + c(prop, st); + } +}; +base.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration; +base.SequenceExpression = function (node, st, c) { + for (var i = 0, list = node.expressions; i < list.length; i += 1) + { + var expr = list[i]; + + c(expr, st, "Expression"); + } +}; +base.TemplateLiteral = function (node, st, c) { + for (var i = 0, list = node.quasis; i < list.length; i += 1) + { + var quasi = list[i]; + + c(quasi, st); + } + + for (var i$1 = 0, list$1 = node.expressions; i$1 < list$1.length; i$1 += 1) + { + var expr = list$1[i$1]; + + c(expr, st, "Expression"); + } +}; +base.TemplateElement = ignore; +base.UnaryExpression = base.UpdateExpression = function (node, st, c) { + c(node.argument, st, "Expression"); +}; +base.BinaryExpression = base.LogicalExpression = function (node, st, c) { + c(node.left, st, "Expression"); + c(node.right, st, "Expression"); +}; +base.AssignmentExpression = base.AssignmentPattern = function (node, st, c) { + c(node.left, st, "Pattern"); + c(node.right, st, "Expression"); +}; +base.ConditionalExpression = function (node, st, c) { + c(node.test, st, "Expression"); + c(node.consequent, st, "Expression"); + c(node.alternate, st, "Expression"); +}; +base.NewExpression = base.CallExpression = function (node, st, c) { + c(node.callee, st, "Expression"); + if (node.arguments) + { for (var i = 0, list = node.arguments; i < list.length; i += 1) + { + var arg = list[i]; + + c(arg, st, "Expression"); + } } +}; +base.MemberExpression = function (node, st, c) { + c(node.object, st, "Expression"); + if (node.computed) { c(node.property, st, "Expression"); } +}; +base.ExportNamedDeclaration = base.ExportDefaultDeclaration = function (node, st, c) { + if (node.declaration) + { c(node.declaration, st, node.type === "ExportNamedDeclaration" || node.declaration.id ? "Statement" : "Expression"); } + if (node.source) { c(node.source, st, "Expression"); } +}; +base.ExportAllDeclaration = function (node, st, c) { + if (node.exported) + { c(node.exported, st); } + c(node.source, st, "Expression"); +}; +base.ImportDeclaration = function (node, st, c) { + for (var i = 0, list = node.specifiers; i < list.length; i += 1) + { + var spec = list[i]; + + c(spec, st); + } + c(node.source, st, "Expression"); +}; +base.ImportExpression = function (node, st, c) { + c(node.source, st, "Expression"); +}; +base.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.PrivateIdentifier = base.Literal = ignore; + +base.TaggedTemplateExpression = function (node, st, c) { + c(node.tag, st, "Expression"); + c(node.quasi, st, "Expression"); +}; +base.ClassDeclaration = base.ClassExpression = function (node, st, c) { return c(node, st, "Class"); }; +base.Class = function (node, st, c) { + if (node.id) { c(node.id, st, "Pattern"); } + if (node.superClass) { c(node.superClass, st, "Expression"); } + c(node.body, st); +}; +base.ClassBody = function (node, st, c) { + for (var i = 0, list = node.body; i < list.length; i += 1) + { + var elt = list[i]; + + c(elt, st); + } +}; +base.MethodDefinition = base.PropertyDefinition = base.Property = function (node, st, c) { + if (node.computed) { c(node.key, st, "Expression"); } + if (node.value) { c(node.value, st, "Expression"); } +}; + +function hoistMocksPlugin(options = {}) { + const filter = options.filter || createFilter(options.include, options.exclude); + const { hoistableMockMethodNames = ["mock", "unmock"], dynamicImportMockMethodNames = [ + "mock", + "unmock", + "doMock", + "doUnmock" + ], hoistedMethodNames = ["hoisted"], utilsObjectNames = ["vi", "vitest"] } = options; + const methods = new Set([ + ...hoistableMockMethodNames, + ...hoistedMethodNames, + ...dynamicImportMockMethodNames + ]); + const regexpHoistable = new RegExp(`\\b(?:${utilsObjectNames.join("|")})\\s*\.\\s*(?:${Array.from(methods).join("|")})\\(`); + return { + name: "vitest:mocks", + enforce: "post", + transform(code, id) { + if (!filter(id)) { + return; + } + return hoistMocks(code, id, this.parse, { + regexpHoistable, + hoistableMockMethodNames, + hoistedMethodNames, + utilsObjectNames, + dynamicImportMockMethodNames, + ...options + }); + } + }; +} +const API_NOT_FOUND_ERROR = `There are some problems in resolving the mocks API. +You may encounter this issue when importing the mocks API from another module other than 'vitest'. +To fix this issue you can either: +- import the mocks API directly from 'vitest' +- enable the 'globals' options`; +function API_NOT_FOUND_CHECK(names) { + return `\nif (${names.map((name) => `typeof globalThis["${name}"] === "undefined"`).join(" && ")}) ` + `{ throw new Error(${JSON.stringify(API_NOT_FOUND_ERROR)}) }\n`; +} +function isIdentifier(node) { + return node.type === "Identifier"; +} +function getNodeTail(code, node) { + let end = node.end; + if (code[node.end] === ";") { + end += 1; + } + if (code[node.end] === "\n") { + return end + 1; + } + if (code[node.end + 1] === "\n") { + end += 1; + } + return end; +} +const regexpHoistable = /\b(?:vi|vitest)\s*\.\s*(?:mock|unmock|hoisted|doMock|doUnmock)\(/; +const hashbangRE = /^#!.*\n/; +// this is a fork of Vite SSR transform +function hoistMocks(code, id, parse, options = {}) { + var _hashbangRE$exec; + const needHoisting = (options.regexpHoistable || regexpHoistable).test(code); + if (!needHoisting) { + return; + } + const s = new MagicString(code); + let ast; + try { + ast = parse(code); + } catch (err) { + console.error(`Cannot parse ${id}:\n${err.message}.`); + return; + } + const { hoistableMockMethodNames = ["mock", "unmock"], dynamicImportMockMethodNames = [ + "mock", + "unmock", + "doMock", + "doUnmock" + ], hoistedMethodNames = ["hoisted"], utilsObjectNames = ["vi", "vitest"], hoistedModule = "vitest" } = options; + // hoist at the start of the file, after the hashbang + let hoistIndex = ((_hashbangRE$exec = hashbangRE.exec(code)) === null || _hashbangRE$exec === void 0 ? void 0 : _hashbangRE$exec[0].length) ?? 0; + let hoistedModuleImported = false; + let uid = 0; + const idToImportMap = new Map(); + const imports = []; + // this will transform import statements into dynamic ones, if there are imports + // it will keep the import as is, if we don't need to mock anything + // in browser environment it will wrap the module value with "vitest_wrap_module" function + // that returns a proxy to the module so that named exports can be mocked + function defineImport(importNode) { + const source = importNode.source.value; + // always hoist vitest import to top of the file, so + // "vi" helpers can access it + if (hoistedModule === source) { + hoistedModuleImported = true; + return; + } + const importId = `__vi_import_${uid++}__`; + imports.push({ + id: importId, + node: importNode + }); + return importId; + } + // 1. check all import statements and record id -> importName map + for (const node of ast.body) { + // import foo from 'foo' --> foo -> __import_foo__.default + // import { baz } from 'foo' --> baz -> __import_foo__.baz + // import * as ok from 'foo' --> ok -> __import_foo__ + if (node.type === "ImportDeclaration") { + const importId = defineImport(node); + if (!importId) { + continue; + } + for (const spec of node.specifiers) { + if (spec.type === "ImportSpecifier") { + if (spec.imported.type === "Identifier") { + idToImportMap.set(spec.local.name, `${importId}.${spec.imported.name}`); + } else { + idToImportMap.set(spec.local.name, `${importId}[${JSON.stringify(spec.imported.value)}]`); + } + } else if (spec.type === "ImportDefaultSpecifier") { + idToImportMap.set(spec.local.name, `${importId}.default`); + } else { + // namespace specifier + idToImportMap.set(spec.local.name, importId); + } + } + } + } + const declaredConst = new Set(); + const hoistedNodes = []; + function createSyntaxError(node, message) { + const _error = new SyntaxError(message); + Error.captureStackTrace(_error, createSyntaxError); + const serializedError = { + name: "SyntaxError", + message: _error.message, + stack: _error.stack + }; + if (options.codeFrameGenerator) { + serializedError.frame = options.codeFrameGenerator(node, id, code); + } + return serializedError; + } + function assertNotDefaultExport(node, error) { + var _findNodeAround; + const defaultExport = (_findNodeAround = findNodeAround(ast, node.start, "ExportDefaultDeclaration")) === null || _findNodeAround === void 0 ? void 0 : _findNodeAround.node; + if ((defaultExport === null || defaultExport === void 0 ? void 0 : defaultExport.declaration) === node || (defaultExport === null || defaultExport === void 0 ? void 0 : defaultExport.declaration.type) === "AwaitExpression" && defaultExport.declaration.argument === node) { + throw createSyntaxError(defaultExport, error); + } + } + function assertNotNamedExport(node, error) { + var _findNodeAround2; + const nodeExported = (_findNodeAround2 = findNodeAround(ast, node.start, "ExportNamedDeclaration")) === null || _findNodeAround2 === void 0 ? void 0 : _findNodeAround2.node; + if ((nodeExported === null || nodeExported === void 0 ? void 0 : nodeExported.declaration) === node) { + throw createSyntaxError(nodeExported, error); + } + } + function getVariableDeclaration(node) { + var _findNodeAround3, _declarationNode$decl; + const declarationNode = (_findNodeAround3 = findNodeAround(ast, node.start, "VariableDeclaration")) === null || _findNodeAround3 === void 0 ? void 0 : _findNodeAround3.node; + const init = declarationNode === null || declarationNode === void 0 || (_declarationNode$decl = declarationNode.declarations[0]) === null || _declarationNode$decl === void 0 ? void 0 : _declarationNode$decl.init; + if (init && (init === node || init.type === "AwaitExpression" && init.argument === node)) { + return declarationNode; + } + } + const usedUtilityExports = new Set(); + esmWalker(ast, { + onIdentifier(id, info, parentStack) { + const binding = idToImportMap.get(id.name); + if (!binding) { + return; + } + if (info.hasBindingShortcut) { + s.appendLeft(id.end, `: ${binding}`); + } else if (info.classDeclaration) { + if (!declaredConst.has(id.name)) { + declaredConst.add(id.name); + // locate the top-most node containing the class declaration + const topNode = parentStack[parentStack.length - 2]; + s.prependRight(topNode.start, `const ${id.name} = ${binding};\n`); + } + } else if (!info.classExpression) { + s.update(id.start, id.end, binding); + } + }, + onCallExpression(node) { + if (node.callee.type === "MemberExpression" && isIdentifier(node.callee.object) && utilsObjectNames.includes(node.callee.object.name) && isIdentifier(node.callee.property)) { + const methodName = node.callee.property.name; + usedUtilityExports.add(node.callee.object.name); + if (hoistableMockMethodNames.includes(methodName)) { + const method = `${node.callee.object.name}.${methodName}`; + assertNotDefaultExport(node, `Cannot export the result of "${method}". Remove export declaration because "${method}" doesn\'t return anything.`); + const declarationNode = getVariableDeclaration(node); + if (declarationNode) { + assertNotNamedExport(declarationNode, `Cannot export the result of "${method}". Remove export declaration because "${method}" doesn\'t return anything.`); + } + // rewrite vi.mock(import('..')) into vi.mock('..') + if (node.type === "CallExpression" && node.callee.type === "MemberExpression" && dynamicImportMockMethodNames.includes(node.callee.property.name)) { + const moduleInfo = node.arguments[0]; + // vi.mock(import('./path')) -> vi.mock('./path') + if (moduleInfo.type === "ImportExpression") { + const source = moduleInfo.source; + s.overwrite(moduleInfo.start, moduleInfo.end, s.slice(source.start, source.end)); + } + // vi.mock(await import('./path')) -> vi.mock('./path') + if (moduleInfo.type === "AwaitExpression" && moduleInfo.argument.type === "ImportExpression") { + const source = moduleInfo.argument.source; + s.overwrite(moduleInfo.start, moduleInfo.end, s.slice(source.start, source.end)); + } + } + hoistedNodes.push(node); + } else if (dynamicImportMockMethodNames.includes(methodName)) { + const moduleInfo = node.arguments[0]; + let source = null; + if (moduleInfo.type === "ImportExpression") { + source = moduleInfo.source; + } + if (moduleInfo.type === "AwaitExpression" && moduleInfo.argument.type === "ImportExpression") { + source = moduleInfo.argument.source; + } + if (source) { + s.overwrite(moduleInfo.start, moduleInfo.end, s.slice(source.start, source.end)); + } + } + if (hoistedMethodNames.includes(methodName)) { + assertNotDefaultExport(node, "Cannot export hoisted variable. You can control hoisting behavior by placing the import from this file first."); + const declarationNode = getVariableDeclaration(node); + if (declarationNode) { + assertNotNamedExport(declarationNode, "Cannot export hoisted variable. You can control hoisting behavior by placing the import from this file first."); + // hoist "const variable = vi.hoisted(() => {})" + hoistedNodes.push(declarationNode); + } else { + var _findNodeAround4; + const awaitedExpression = (_findNodeAround4 = findNodeAround(ast, node.start, "AwaitExpression")) === null || _findNodeAround4 === void 0 ? void 0 : _findNodeAround4.node; + // hoist "await vi.hoisted(async () => {})" or "vi.hoisted(() => {})" + const moveNode = (awaitedExpression === null || awaitedExpression === void 0 ? void 0 : awaitedExpression.argument) === node ? awaitedExpression : node; + hoistedNodes.push(moveNode); + } + } + } + } + }); + function getNodeName(node) { + const callee = node.callee || {}; + if (callee.type === "MemberExpression" && isIdentifier(callee.property) && isIdentifier(callee.object)) { + return `${callee.object.name}.${callee.property.name}()`; + } + return "\"hoisted method\""; + } + function getNodeCall(node) { + if (node.type === "CallExpression") { + return node; + } + if (node.type === "VariableDeclaration") { + const { declarations } = node; + const init = declarations[0].init; + if (init) { + return getNodeCall(init); + } + } + if (node.type === "AwaitExpression") { + const { argument } = node; + if (argument.type === "CallExpression") { + return getNodeCall(argument); + } + } + return node; + } + function createError(outsideNode, insideNode) { + const outsideCall = getNodeCall(outsideNode); + const insideCall = getNodeCall(insideNode); + throw createSyntaxError(insideCall, `Cannot call ${getNodeName(insideCall)} inside ${getNodeName(outsideCall)}: both methods are hoisted to the top of the file and not actually called inside each other.`); + } + // validate hoistedNodes doesn't have nodes inside other nodes + for (let i = 0; i < hoistedNodes.length; i++) { + const node = hoistedNodes[i]; + for (let j = i + 1; j < hoistedNodes.length; j++) { + const otherNode = hoistedNodes[j]; + if (node.start >= otherNode.start && node.end <= otherNode.end) { + throw createError(otherNode, node); + } + if (otherNode.start >= node.start && otherNode.end <= node.end) { + throw createError(node, otherNode); + } + } + } + // hoist vi.mock/vi.hoisted + for (const node of hoistedNodes) { + const end = getNodeTail(code, node); + // don't hoist into itself if it's already at the top + if (hoistIndex === end || hoistIndex === node.start) { + hoistIndex = end; + } else { + s.move(node.start, end, hoistIndex); + } + } + // hoist actual dynamic imports last so they are inserted after all hoisted mocks + for (const { node: importNode, id: importId } of imports) { + const source = importNode.source.value; + s.update(importNode.start, importNode.end, `const ${importId} = await import(${JSON.stringify(source)});\n`); + if (importNode.start === hoistIndex) { + // no need to hoist, but update hoistIndex to keep the order + hoistIndex = importNode.end; + } else { + // There will be an error if the module is called before it is imported, + // so the module import statement is hoisted to the top + s.move(importNode.start, importNode.end, hoistIndex); + } + } + if (!hoistedModuleImported && hoistedNodes.length) { + const utilityImports = [...usedUtilityExports]; + // "vi" or "vitest" is imported from a module other than "vitest" + if (utilityImports.some((name) => idToImportMap.has(name))) { + s.prepend(API_NOT_FOUND_CHECK(utilityImports)); + } else if (utilityImports.length) { + s.prepend(`import { ${[...usedUtilityExports].join(", ")} } from ${JSON.stringify(hoistedModule)}\n`); + } + } + return { + code: s.toString(), + map: s.generateMap({ + hires: "boundary", + source: id + }) + }; +} + +function interceptorPlugin(options = {}) { + const registry = options.registry || new MockerRegistry(); + return { + name: "vitest:mocks:interceptor", + enforce: "pre", + load: { + order: "pre", + async handler(id) { + const mock = registry.getById(id); + if (!mock) { + return; + } + if (mock.type === "manual") { + const exports = Object.keys(await mock.resolve()); + const accessor = options.globalThisAccessor || "\"__vitest_mocker__\""; + return createManualModuleSource(mock.url, exports, accessor); + } + if (mock.type === "redirect") { + return readFile(mock.redirect, "utf-8"); + } + } + }, + transform: { + order: "post", + handler(code, id) { + const mock = registry.getById(id); + if (!mock) { + return; + } + if (mock.type === "automock" || mock.type === "autospy") { + const m = automockModule(code, mock.type, this.parse, { globalThisAccessor: options.globalThisAccessor }); + return { + code: m.toString(), + map: m.generateMap({ + hires: "boundary", + source: cleanUrl(id) + }) + }; + } + } + }, + configureServer(server) { + server.ws.on("vitest:interceptor:register", (event) => { + if (event.type === "manual") { + const module = ManualMockedModule.fromJSON(event, async () => { + const keys = await getFactoryExports(event.url); + return Object.fromEntries(keys.map((key) => [key, null])); + }); + registry.add(module); + } else { + if (event.type === "redirect") { + const redirectUrl = new URL(event.redirect); + event.redirect = join(server.config.root, redirectUrl.pathname); + } + registry.register(event); + } + server.ws.send("vitest:interceptor:register:result"); + }); + server.ws.on("vitest:interceptor:delete", (id) => { + registry.delete(id); + server.ws.send("vitest:interceptor:delete:result"); + }); + server.ws.on("vitest:interceptor:invalidate", () => { + registry.clear(); + server.ws.send("vitest:interceptor:invalidate:result"); + }); + function getFactoryExports(url) { + server.ws.send("vitest:interceptor:resolve", url); + let timeout; + return new Promise((resolve, reject) => { + timeout = setTimeout(() => { + reject(new Error(`Timeout while waiting for factory exports of ${url}`)); + }, 1e4); + server.ws.on("vitest:interceptor:resolved", ({ url: resolvedUrl, keys }) => { + if (resolvedUrl === url) { + clearTimeout(timeout); + resolve(keys); + } + }); + }); + } + } + }; +} + +const VALID_ID_PREFIX = "/@id/"; +class ServerMockResolver { + constructor(server, options = {}) { + this.server = server; + this.options = options; + } + async resolveMock(rawId, importer, options) { + const { id, fsPath, external } = await this.resolveMockId(rawId, importer); + const resolvedUrl = this.normalizeResolveIdToUrl({ id }).url; + if (options.mock === "factory") { + var _manifest$fsPath; + const manifest = getViteDepsManifest(this.server.config); + const needsInterop = (manifest === null || manifest === void 0 || (_manifest$fsPath = manifest[fsPath]) === null || _manifest$fsPath === void 0 ? void 0 : _manifest$fsPath.needsInterop) ?? false; + return { + mockType: "manual", + resolvedId: id, + resolvedUrl, + needsInterop + }; + } + if (options.mock === "spy") { + return { + mockType: "autospy", + resolvedId: id, + resolvedUrl + }; + } + const redirectUrl = findMockRedirect(this.server.config.root, fsPath, external); + return { + mockType: redirectUrl === null ? "automock" : "redirect", + redirectUrl, + resolvedId: id, + resolvedUrl + }; + } + invalidate(ids) { + ids.forEach((id) => { + const moduleGraph = this.server.moduleGraph; + const module = moduleGraph.getModuleById(id); + if (module) { + module.transformResult = null; + } + }); + } + async resolveId(id, importer) { + const resolved = await this.server.pluginContainer.resolveId(id, importer, { ssr: false }); + if (!resolved) { + return null; + } + return this.normalizeResolveIdToUrl(resolved); + } + normalizeResolveIdToUrl(resolved) { + const isOptimized = resolved.id.startsWith(withTrailingSlash(this.server.config.cacheDir)); + let url; + // normalise the URL to be acceptable by the browser + // https://github.com/vitejs/vite/blob/14027b0f2a9b01c14815c38aab22baf5b29594bb/packages/vite/src/node/plugins/importAnalysis.ts#L103 + const root = this.server.config.root; + if (resolved.id.startsWith(withTrailingSlash(root))) { + url = resolved.id.slice(root.length); + } else if (resolved.id !== "/@react-refresh" && isAbsolute(resolved.id) && existsSync(cleanUrl(resolved.id))) { + url = join$1("/@fs/", resolved.id); + } else { + url = resolved.id; + } + if (url[0] !== "." && url[0] !== "/") { + url = resolved.id.startsWith(VALID_ID_PREFIX) ? resolved.id : VALID_ID_PREFIX + resolved.id.replace("\0", "__x00__"); + } + return { + id: resolved.id, + url, + optimized: isOptimized + }; + } + async resolveMockId(rawId, importer) { + if (!this.server.moduleGraph.getModuleById(importer) && !importer.startsWith(this.server.config.root)) { + importer = join$1(this.server.config.root, importer); + } + const resolved = await this.server.pluginContainer.resolveId(rawId, importer, { ssr: false }); + return this.resolveModule(rawId, resolved); + } + resolveModule(rawId, resolved) { + const id = (resolved === null || resolved === void 0 ? void 0 : resolved.id) || rawId; + const external = !isAbsolute(id) || isModuleDirectory(this.options, id) ? rawId : null; + return { + id, + fsPath: cleanUrl(id), + external + }; + } +} +function isModuleDirectory(config, path) { + const moduleDirectories = config.moduleDirectories || ["/node_modules/"]; + return moduleDirectories.some((dir) => path.includes(dir)); +} +const metadata = new WeakMap(); +function getViteDepsManifest(config) { + if (metadata.has(config)) { + return metadata.get(config); + } + const cacheDirPath = getDepsCacheDir(config); + const metadataPath = resolve(cacheDirPath, "_metadata.json"); + if (!existsSync(metadataPath)) { + return null; + } + const { optimized } = JSON.parse(readFileSync(metadataPath, "utf-8")); + const newManifest = {}; + for (const name in optimized) { + const dep = optimized[name]; + const file = resolve(cacheDirPath, dep.file); + newManifest[file] = { + hash: dep.fileHash, + needsInterop: dep.needsInterop + }; + } + metadata.set(config, newManifest); + return newManifest; +} +function getDepsCacheDir(config) { + return resolve(config.cacheDir, "deps"); +} +function withTrailingSlash(path) { + if (path[path.length - 1] !== "/") { + return `${path}/`; + } + return path; +} + +// this is an implementation for public usage +// vitest doesn't use this plugin directly +function mockerPlugin(options = {}) { + let server; + const registerPath = resolve(fileURLToPath(new URL("./register.js", import.meta.url))); + return [ + { + name: "vitest:mocker:ws-rpc", + config(_, { command }) { + if (command !== "serve") { + return; + } + return { + server: { preTransformRequests: false }, + optimizeDeps: { exclude: ["@vitest/mocker/register", "@vitest/mocker/browser"] } + }; + }, + configureServer(server_) { + server = server_; + const mockResolver = new ServerMockResolver(server); + server.ws.on("vitest:mocks:resolveId", async ({ id, importer }) => { + const resolved = await mockResolver.resolveId(id, importer); + server.ws.send("vitest:mocks:resolvedId:result", resolved); + }); + server.ws.on("vitest:mocks:resolveMock", async ({ id, importer, options }) => { + const resolved = await mockResolver.resolveMock(id, importer, options); + server.ws.send("vitest:mocks:resolveMock:result", resolved); + }); + server.ws.on("vitest:mocks:invalidate", async ({ ids }) => { + mockResolver.invalidate(ids); + server.ws.send("vitest:mocks:invalidate:result"); + }); + }, + async load(id) { + if (id !== registerPath) { + return; + } + if (!server) { + // mocker doesn't work during build + return "export {}"; + } + const content = await readFile(registerPath, "utf-8"); + const result = content.replace(/__VITEST_GLOBAL_THIS_ACCESSOR__/g, options.globalThisAccessor ?? "\"__vitest_mocker__\"").replace("__VITEST_MOCKER_ROOT__", JSON.stringify(server.config.root)); + return result; + } + }, + hoistMocksPlugin(options.hoistMocks), + interceptorPlugin(options), + automockPlugin(options), + dynamicImportPlugin(options) + ]; +} + +export { ServerMockResolver, automockModule, automockPlugin, createManualModuleSource, dynamicImportPlugin, findMockRedirect, hoistMocks, hoistMocksPlugin, interceptorPlugin, mockerPlugin }; diff --git a/node_modules/@vitest/mocker/dist/redirect.d.ts b/node_modules/@vitest/mocker/dist/redirect.d.ts new file mode 100644 index 0000000..1f8256b --- /dev/null +++ b/node_modules/@vitest/mocker/dist/redirect.d.ts @@ -0,0 +1,3 @@ +declare function findMockRedirect(root: string, mockPath: string, external: string | null): string | null; + +export { findMockRedirect }; diff --git a/node_modules/@vitest/mocker/dist/redirect.js b/node_modules/@vitest/mocker/dist/redirect.js new file mode 100644 index 0000000..2281e6c --- /dev/null +++ b/node_modules/@vitest/mocker/dist/redirect.js @@ -0,0 +1,75 @@ +import fs from 'node:fs'; +import { builtinModules } from 'node:module'; +import { d as dirname, j as join, b as basename, r as resolve, e as extname } from './chunk-pathe.M-eThtNZ.js'; + +const { existsSync, readdirSync, statSync } = fs; +function findMockRedirect(root, mockPath, external) { + const path = external || mockPath; + // it's a node_module alias + // all mocks should be inside /__mocks__ + if (external || isNodeBuiltin(mockPath) || !existsSync(mockPath)) { + const mockDirname = dirname(path); + const mockFolder = join(root, "__mocks__", mockDirname); + if (!existsSync(mockFolder)) { + return null; + } + const baseOriginal = basename(path); + function findFile(mockFolder, baseOriginal) { + const files = readdirSync(mockFolder); + for (const file of files) { + const baseFile = basename(file, extname(file)); + if (baseFile === baseOriginal) { + const path = resolve(mockFolder, file); + // if the same name, return the file + if (statSync(path).isFile()) { + return path; + } else { + // find folder/index.{js,ts} + const indexFile = findFile(path, "index"); + if (indexFile) { + return indexFile; + } + } + } + } + return null; + } + return findFile(mockFolder, baseOriginal); + } + const dir = dirname(path); + const baseId = basename(path); + const fullPath = resolve(dir, "__mocks__", baseId); + return existsSync(fullPath) ? fullPath : null; +} +const builtins = new Set([ + ...builtinModules, + "assert/strict", + "diagnostics_channel", + "dns/promises", + "fs/promises", + "path/posix", + "path/win32", + "readline/promises", + "stream/consumers", + "stream/promises", + "stream/web", + "timers/promises", + "util/types", + "wasi" +]); +// https://nodejs.org/api/modules.html#built-in-modules-with-mandatory-node-prefix +const prefixedBuiltins = new Set([ + "node:sea", + "node:sqlite", + "node:test", + "node:test/reporters" +]); +const NODE_BUILTIN_NAMESPACE = "node:"; +function isNodeBuiltin(id) { + if (prefixedBuiltins.has(id)) { + return true; + } + return builtins.has(id.startsWith(NODE_BUILTIN_NAMESPACE) ? id.slice(NODE_BUILTIN_NAMESPACE.length) : id); +} + +export { findMockRedirect }; diff --git a/node_modules/@vitest/mocker/dist/register.d.ts b/node_modules/@vitest/mocker/dist/register.d.ts new file mode 100644 index 0000000..e644d7f --- /dev/null +++ b/node_modules/@vitest/mocker/dist/register.d.ts @@ -0,0 +1,9 @@ +import { M as ModuleMockerInterceptor, a as ModuleMockerCompilerHints, b as ModuleMocker } from './mocker.d-Ce9_ySj5.js'; +import '@vitest/spy'; +import './types.d-D_aRZRdy.js'; +import './registry.d-D765pazg.js'; + +declare function registerModuleMocker(interceptor: (accessor: string) => ModuleMockerInterceptor): ModuleMockerCompilerHints; +declare function registerNativeFactoryResolver(mocker: ModuleMocker): void; + +export { registerModuleMocker, registerNativeFactoryResolver }; diff --git a/node_modules/@vitest/mocker/dist/register.js b/node_modules/@vitest/mocker/dist/register.js new file mode 100644 index 0000000..a45bf84 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/register.js @@ -0,0 +1,41 @@ +import { spyOn } from '@vitest/spy'; +import { M as ModuleMocker, r as rpc, c as createCompilerHints, h as hot } from './chunk-mocker.js'; +import './index.js'; +import './chunk-registry.js'; +import './chunk-pathe.M-eThtNZ.js'; + +function registerModuleMocker(interceptor) { + const mocker = new ModuleMocker(interceptor(__VITEST_GLOBAL_THIS_ACCESSOR__), { + resolveId(id, importer) { + return rpc("vitest:mocks:resolveId", { + id, + importer + }); + }, + resolveMock(id, importer, options) { + return rpc("vitest:mocks:resolveMock", { + id, + importer, + options + }); + }, + async invalidate(ids) { + return rpc("vitest:mocks:invalidate", { ids }); + } + }, spyOn, { root: __VITEST_MOCKER_ROOT__ }); + globalThis[__VITEST_GLOBAL_THIS_ACCESSOR__] = mocker; + registerNativeFactoryResolver(mocker); + return createCompilerHints({ globalThisKey: __VITEST_GLOBAL_THIS_ACCESSOR__ }); +} +function registerNativeFactoryResolver(mocker) { + hot.on("vitest:interceptor:resolve", async (url) => { + const exports = await mocker.resolveFactoryModule(url); + const keys = Object.keys(exports); + hot.send("vitest:interceptor:resolved", { + url, + keys + }); + }); +} + +export { registerModuleMocker, registerNativeFactoryResolver }; diff --git a/node_modules/@vitest/mocker/dist/registry.d-D765pazg.d.ts b/node_modules/@vitest/mocker/dist/registry.d-D765pazg.d.ts new file mode 100644 index 0000000..b0346d0 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/registry.d-D765pazg.d.ts @@ -0,0 +1,87 @@ +declare class MockerRegistry { + private readonly registryByUrl; + private readonly registryById; + clear(): void; + keys(): IterableIterator; + add(mock: MockedModule): void; + register(json: MockedModuleSerialized): MockedModule; + register(type: "redirect", raw: string, id: string, url: string, redirect: string): RedirectedModule; + register(type: "manual", raw: string, id: string, url: string, factory: () => any): ManualMockedModule; + register(type: "automock", raw: string, id: string, url: string): AutomockedModule; + register(type: "autospy", id: string, raw: string, url: string): AutospiedModule; + delete(id: string): void; + get(id: string): MockedModule | undefined; + getById(id: string): MockedModule | undefined; + has(id: string): boolean; +} +type MockedModule = AutomockedModule | AutospiedModule | ManualMockedModule | RedirectedModule; +type MockedModuleType = "automock" | "autospy" | "manual" | "redirect"; +type MockedModuleSerialized = AutomockedModuleSerialized | AutospiedModuleSerialized | ManualMockedModuleSerialized | RedirectedModuleSerialized; +declare class AutomockedModule { + raw: string; + id: string; + url: string; + readonly type = "automock"; + constructor(raw: string, id: string, url: string); + static fromJSON(data: AutomockedModuleSerialized): AutospiedModule; + toJSON(): AutomockedModuleSerialized; +} +interface AutomockedModuleSerialized { + type: "automock"; + url: string; + raw: string; + id: string; +} +declare class AutospiedModule { + raw: string; + id: string; + url: string; + readonly type = "autospy"; + constructor(raw: string, id: string, url: string); + static fromJSON(data: AutospiedModuleSerialized): AutospiedModule; + toJSON(): AutospiedModuleSerialized; +} +interface AutospiedModuleSerialized { + type: "autospy"; + url: string; + raw: string; + id: string; +} +declare class RedirectedModule { + raw: string; + id: string; + url: string; + redirect: string; + readonly type = "redirect"; + constructor(raw: string, id: string, url: string, redirect: string); + static fromJSON(data: RedirectedModuleSerialized): RedirectedModule; + toJSON(): RedirectedModuleSerialized; +} +interface RedirectedModuleSerialized { + type: "redirect"; + url: string; + id: string; + raw: string; + redirect: string; +} +declare class ManualMockedModule { + raw: string; + id: string; + url: string; + factory: () => any; + cache: Record | undefined; + readonly type = "manual"; + constructor(raw: string, id: string, url: string, factory: () => any); + resolve(): Promise>; + static fromJSON(data: ManualMockedModuleSerialized, factory: () => any): ManualMockedModule; + toJSON(): ManualMockedModuleSerialized; +} +interface ManualMockedModuleSerialized { + type: "manual"; + url: string; + id: string; + raw: string; +} + +export { AutomockedModule as A, RedirectedModule as R, AutospiedModule as a, ManualMockedModule as b, MockerRegistry as c }; +export type { MockedModuleType as M, AutomockedModuleSerialized as d, AutospiedModuleSerialized as e, ManualMockedModuleSerialized as f, MockedModule as g, MockedModuleSerialized as h, RedirectedModuleSerialized as i }; diff --git a/node_modules/@vitest/mocker/dist/types.d-D_aRZRdy.d.ts b/node_modules/@vitest/mocker/dist/types.d-D_aRZRdy.d.ts new file mode 100644 index 0000000..80ba117 --- /dev/null +++ b/node_modules/@vitest/mocker/dist/types.d-D_aRZRdy.d.ts @@ -0,0 +1,8 @@ +type Awaitable = T | PromiseLike; +type ModuleMockFactoryWithHelper = (importOriginal: () => Promise) => Awaitable>; +type ModuleMockFactory = () => any; +interface ModuleMockOptions { + spy?: boolean; +} + +export type { ModuleMockFactory as M, ModuleMockFactoryWithHelper as a, ModuleMockOptions as b }; diff --git a/node_modules/@vitest/mocker/package.json b/node_modules/@vitest/mocker/package.json new file mode 100644 index 0000000..61eae17 --- /dev/null +++ b/node_modules/@vitest/mocker/package.json @@ -0,0 +1,82 @@ +{ + "name": "@vitest/mocker", + "type": "module", + "version": "3.2.3", + "description": "Vitest module mocker implementation", + "license": "MIT", + "funding": "https://opencollective.com/vitest", + "homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/mocker#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vitest-dev/vitest.git", + "directory": "packages/mocker" + }, + "bugs": { + "url": "https://github.com/vitest-dev/vitest/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./node": { + "types": "./dist/node.d.ts", + "default": "./dist/node.js" + }, + "./browser": { + "types": "./dist/browser.d.ts", + "default": "./dist/browser.js" + }, + "./redirect": { + "types": "./dist/redirect.d.ts", + "default": "./dist/redirect.js" + }, + "./register": { + "types": "./dist/register.d.ts", + "default": "./dist/register.js" + }, + "./auto-register": { + "types": "./dist/register.d.ts", + "default": "./dist/register.js" + }, + "./*": "./*" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "*.d.ts", + "dist" + ], + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + }, + "dependencies": { + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17", + "@vitest/spy": "3.2.3" + }, + "devDependencies": { + "@types/estree": "^1.0.7", + "acorn-walk": "^8.3.4", + "msw": "^2.8.7", + "pathe": "^2.0.3", + "vite": "^5.4.0", + "@vitest/utils": "3.2.3", + "@vitest/spy": "3.2.3" + }, + "scripts": { + "build": "rimraf dist && rollup -c", + "dev": "rollup -c --watch" + } +} \ No newline at end of file diff --git a/node_modules/@vitest/pretty-format/LICENSE b/node_modules/@vitest/pretty-format/LICENSE new file mode 100644 index 0000000..5ae481f --- /dev/null +++ b/node_modules/@vitest/pretty-format/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-Present Vitest Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@vitest/pretty-format/dist/index.d.ts b/node_modules/@vitest/pretty-format/dist/index.d.ts new file mode 100644 index 0000000..206e69c --- /dev/null +++ b/node_modules/@vitest/pretty-format/dist/index.d.ts @@ -0,0 +1,119 @@ +/** +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +interface Colors { + comment: { + close: string + open: string + }; + content: { + close: string + open: string + }; + prop: { + close: string + open: string + }; + tag: { + close: string + open: string + }; + value: { + close: string + open: string + }; +} +type Indent = (arg0: string) => string; +type Refs = Array; +type Print = (arg0: unknown) => string; +type Theme = Required<{ + comment?: string + content?: string + prop?: string + tag?: string + value?: string +}>; +type CompareKeys = ((a: string, b: string) => number) | null | undefined; +type RequiredOptions = Required; +interface Options extends Omit { + compareKeys: CompareKeys; + theme: Theme; +} +interface PrettyFormatOptions { + callToJSON?: boolean; + escapeRegex?: boolean; + escapeString?: boolean; + highlight?: boolean; + indent?: number; + maxDepth?: number; + maxWidth?: number; + min?: boolean; + printBasicPrototype?: boolean; + printFunctionName?: boolean; + compareKeys?: CompareKeys; + plugins?: Plugins; +} +type OptionsReceived = PrettyFormatOptions; +interface Config { + callToJSON: boolean; + compareKeys: CompareKeys; + colors: Colors; + escapeRegex: boolean; + escapeString: boolean; + indent: string; + maxDepth: number; + maxWidth: number; + min: boolean; + plugins: Plugins; + printBasicPrototype: boolean; + printFunctionName: boolean; + spacingInner: string; + spacingOuter: string; +} +type Printer = (val: unknown, config: Config, indentation: string, depth: number, refs: Refs, hasCalledToJSON?: boolean) => string; +type Test = (arg0: any) => boolean; +interface NewPlugin { + serialize: (val: any, config: Config, indentation: string, depth: number, refs: Refs, printer: Printer) => string; + test: Test; +} +interface PluginOptions { + edgeSpacing: string; + min: boolean; + spacing: string; +} +interface OldPlugin { + print: (val: unknown, print: Print, indent: Indent, options: PluginOptions, colors: Colors) => string; + test: Test; +} +type Plugin = NewPlugin | OldPlugin; +type Plugins = Array; + +/** +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +declare const DEFAULT_OPTIONS: Options; +/** +* Returns a presentation string of your `val` object +* @param val any potential JavaScript object +* @param options Custom settings +*/ +declare function format(val: unknown, options?: OptionsReceived): string; +declare const plugins: { + AsymmetricMatcher: NewPlugin + DOMCollection: NewPlugin + DOMElement: NewPlugin + Immutable: NewPlugin + ReactElement: NewPlugin + ReactTestComponent: NewPlugin + Error: NewPlugin +}; + +export { DEFAULT_OPTIONS, format, plugins }; +export type { Colors, CompareKeys, Config, NewPlugin, OldPlugin, Options, OptionsReceived, Plugin, Plugins, PrettyFormatOptions, Printer, Refs, Theme }; diff --git a/node_modules/@vitest/pretty-format/dist/index.js b/node_modules/@vitest/pretty-format/dist/index.js new file mode 100644 index 0000000..35f8c01 --- /dev/null +++ b/node_modules/@vitest/pretty-format/dist/index.js @@ -0,0 +1,1387 @@ +import styles from 'tinyrainbow'; + +function _mergeNamespaces(n, m) { + m.forEach(function (e) { + e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) { + if (k !== 'default' && !(k in n)) { + var d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: function () { return e[k]; } + }); + } + }); + }); + return Object.freeze(n); +} + +function getKeysOfEnumerableProperties(object, compareKeys) { + const rawKeys = Object.keys(object); + const keys = compareKeys === null ? rawKeys : rawKeys.sort(compareKeys); + if (Object.getOwnPropertySymbols) { + for (const symbol of Object.getOwnPropertySymbols(object)) { + if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) { + keys.push(symbol); + } + } + } + return keys; +} +/** +* Return entries (for example, of a map) +* with spacing, indentation, and comma +* without surrounding punctuation (for example, braces) +*/ +function printIteratorEntries(iterator, config, indentation, depth, refs, printer, separator = ": ") { + let result = ""; + let width = 0; + let current = iterator.next(); + if (!current.done) { + result += config.spacingOuter; + const indentationNext = indentation + config.indent; + while (!current.done) { + result += indentationNext; + if (width++ === config.maxWidth) { + result += "…"; + break; + } + const name = printer(current.value[0], config, indentationNext, depth, refs); + const value = printer(current.value[1], config, indentationNext, depth, refs); + result += name + separator + value; + current = iterator.next(); + if (!current.done) { + result += `,${config.spacingInner}`; + } else if (!config.min) { + result += ","; + } + } + result += config.spacingOuter + indentation; + } + return result; +} +/** +* Return values (for example, of a set) +* with spacing, indentation, and comma +* without surrounding punctuation (braces or brackets) +*/ +function printIteratorValues(iterator, config, indentation, depth, refs, printer) { + let result = ""; + let width = 0; + let current = iterator.next(); + if (!current.done) { + result += config.spacingOuter; + const indentationNext = indentation + config.indent; + while (!current.done) { + result += indentationNext; + if (width++ === config.maxWidth) { + result += "…"; + break; + } + result += printer(current.value, config, indentationNext, depth, refs); + current = iterator.next(); + if (!current.done) { + result += `,${config.spacingInner}`; + } else if (!config.min) { + result += ","; + } + } + result += config.spacingOuter + indentation; + } + return result; +} +/** +* Return items (for example, of an array) +* with spacing, indentation, and comma +* without surrounding punctuation (for example, brackets) +*/ +function printListItems(list, config, indentation, depth, refs, printer) { + let result = ""; + list = list instanceof ArrayBuffer ? new DataView(list) : list; + const isDataView = (l) => l instanceof DataView; + const length = isDataView(list) ? list.byteLength : list.length; + if (length > 0) { + result += config.spacingOuter; + const indentationNext = indentation + config.indent; + for (let i = 0; i < length; i++) { + result += indentationNext; + if (i === config.maxWidth) { + result += "…"; + break; + } + if (isDataView(list) || i in list) { + result += printer(isDataView(list) ? list.getInt8(i) : list[i], config, indentationNext, depth, refs); + } + if (i < length - 1) { + result += `,${config.spacingInner}`; + } else if (!config.min) { + result += ","; + } + } + result += config.spacingOuter + indentation; + } + return result; +} +/** +* Return properties of an object +* with spacing, indentation, and comma +* without surrounding punctuation (for example, braces) +*/ +function printObjectProperties(val, config, indentation, depth, refs, printer) { + let result = ""; + const keys = getKeysOfEnumerableProperties(val, config.compareKeys); + if (keys.length > 0) { + result += config.spacingOuter; + const indentationNext = indentation + config.indent; + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const name = printer(key, config, indentationNext, depth, refs); + const value = printer(val[key], config, indentationNext, depth, refs); + result += `${indentationNext + name}: ${value}`; + if (i < keys.length - 1) { + result += `,${config.spacingInner}`; + } else if (!config.min) { + result += ","; + } + } + result += config.spacingOuter + indentation; + } + return result; +} + +const asymmetricMatcher = typeof Symbol === "function" && Symbol.for ? Symbol.for("jest.asymmetricMatcher") : 1267621; +const SPACE$2 = " "; +const serialize$5 = (val, config, indentation, depth, refs, printer) => { + const stringedValue = val.toString(); + if (stringedValue === "ArrayContaining" || stringedValue === "ArrayNotContaining") { + if (++depth > config.maxDepth) { + return `[${stringedValue}]`; + } + return `${stringedValue + SPACE$2}[${printListItems(val.sample, config, indentation, depth, refs, printer)}]`; + } + if (stringedValue === "ObjectContaining" || stringedValue === "ObjectNotContaining") { + if (++depth > config.maxDepth) { + return `[${stringedValue}]`; + } + return `${stringedValue + SPACE$2}{${printObjectProperties(val.sample, config, indentation, depth, refs, printer)}}`; + } + if (stringedValue === "StringMatching" || stringedValue === "StringNotMatching") { + return stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs); + } + if (stringedValue === "StringContaining" || stringedValue === "StringNotContaining") { + return stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs); + } + if (typeof val.toAsymmetricMatcher !== "function") { + throw new TypeError(`Asymmetric matcher ${val.constructor.name} does not implement toAsymmetricMatcher()`); + } + return val.toAsymmetricMatcher(); +}; +const test$5 = (val) => val && val.$$typeof === asymmetricMatcher; +const plugin$5 = { + serialize: serialize$5, + test: test$5 +}; + +const SPACE$1 = " "; +const OBJECT_NAMES = new Set(["DOMStringMap", "NamedNodeMap"]); +const ARRAY_REGEXP = /^(?:HTML\w*Collection|NodeList)$/; +function testName(name) { + return OBJECT_NAMES.has(name) || ARRAY_REGEXP.test(name); +} +const test$4 = (val) => val && val.constructor && !!val.constructor.name && testName(val.constructor.name); +function isNamedNodeMap(collection) { + return collection.constructor.name === "NamedNodeMap"; +} +const serialize$4 = (collection, config, indentation, depth, refs, printer) => { + const name = collection.constructor.name; + if (++depth > config.maxDepth) { + return `[${name}]`; + } + return (config.min ? "" : name + SPACE$1) + (OBJECT_NAMES.has(name) ? `{${printObjectProperties(isNamedNodeMap(collection) ? [...collection].reduce((props, attribute) => { + props[attribute.name] = attribute.value; + return props; + }, {}) : { ...collection }, config, indentation, depth, refs, printer)}}` : `[${printListItems([...collection], config, indentation, depth, refs, printer)}]`); +}; +const plugin$4 = { + serialize: serialize$4, + test: test$4 +}; + +/** +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +function escapeHTML(str) { + return str.replaceAll("<", "<").replaceAll(">", ">"); +} + +// Return empty string if keys is empty. +function printProps(keys, props, config, indentation, depth, refs, printer) { + const indentationNext = indentation + config.indent; + const colors = config.colors; + return keys.map((key) => { + const value = props[key]; + let printed = printer(value, config, indentationNext, depth, refs); + if (typeof value !== "string") { + if (printed.includes("\n")) { + printed = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation; + } + printed = `{${printed}}`; + } + return `${config.spacingInner + indentation + colors.prop.open + key + colors.prop.close}=${colors.value.open}${printed}${colors.value.close}`; + }).join(""); +} +// Return empty string if children is empty. +function printChildren(children, config, indentation, depth, refs, printer) { + return children.map((child) => config.spacingOuter + indentation + (typeof child === "string" ? printText(child, config) : printer(child, config, indentation, depth, refs))).join(""); +} +function printText(text, config) { + const contentColor = config.colors.content; + return contentColor.open + escapeHTML(text) + contentColor.close; +} +function printComment(comment, config) { + const commentColor = config.colors.comment; + return `${commentColor.open}${commentColor.close}`; +} +// Separate the functions to format props, children, and element, +// so a plugin could override a particular function, if needed. +// Too bad, so sad: the traditional (but unnecessary) space +// in a self-closing tagColor requires a second test of printedProps. +function printElement(type, printedProps, printedChildren, config, indentation) { + const tagColor = config.colors.tag; + return `${tagColor.open}<${type}${printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open}${printedChildren ? `>${tagColor.close}${printedChildren}${config.spacingOuter}${indentation}${tagColor.open}${tagColor.close}`; +} +function printElementAsLeaf(type, config) { + const tagColor = config.colors.tag; + return `${tagColor.open}<${type}${tagColor.close} …${tagColor.open} />${tagColor.close}`; +} + +const ELEMENT_NODE = 1; +const TEXT_NODE = 3; +const COMMENT_NODE = 8; +const FRAGMENT_NODE = 11; +const ELEMENT_REGEXP = /^(?:(?:HTML|SVG)\w*)?Element$/; +function testHasAttribute(val) { + try { + return typeof val.hasAttribute === "function" && val.hasAttribute("is"); + } catch { + return false; + } +} +function testNode(val) { + const constructorName = val.constructor.name; + const { nodeType, tagName } = val; + const isCustomElement = typeof tagName === "string" && tagName.includes("-") || testHasAttribute(val); + return nodeType === ELEMENT_NODE && (ELEMENT_REGEXP.test(constructorName) || isCustomElement) || nodeType === TEXT_NODE && constructorName === "Text" || nodeType === COMMENT_NODE && constructorName === "Comment" || nodeType === FRAGMENT_NODE && constructorName === "DocumentFragment"; +} +const test$3 = (val) => { + var _val$constructor; + return (val === null || val === void 0 || (_val$constructor = val.constructor) === null || _val$constructor === void 0 ? void 0 : _val$constructor.name) && testNode(val); +}; +function nodeIsText(node) { + return node.nodeType === TEXT_NODE; +} +function nodeIsComment(node) { + return node.nodeType === COMMENT_NODE; +} +function nodeIsFragment(node) { + return node.nodeType === FRAGMENT_NODE; +} +const serialize$3 = (node, config, indentation, depth, refs, printer) => { + if (nodeIsText(node)) { + return printText(node.data, config); + } + if (nodeIsComment(node)) { + return printComment(node.data, config); + } + const type = nodeIsFragment(node) ? "DocumentFragment" : node.tagName.toLowerCase(); + if (++depth > config.maxDepth) { + return printElementAsLeaf(type, config); + } + return printElement(type, printProps(nodeIsFragment(node) ? [] : Array.from(node.attributes, (attr) => attr.name).sort(), nodeIsFragment(node) ? {} : [...node.attributes].reduce((props, attribute) => { + props[attribute.name] = attribute.value; + return props; + }, {}), config, indentation + config.indent, depth, refs, printer), printChildren(Array.prototype.slice.call(node.childNodes || node.children), config, indentation + config.indent, depth, refs, printer), config, indentation); +}; +const plugin$3 = { + serialize: serialize$3, + test: test$3 +}; + +// SENTINEL constants are from https://github.com/facebook/immutable-js +const IS_ITERABLE_SENTINEL = "@@__IMMUTABLE_ITERABLE__@@"; +const IS_LIST_SENTINEL = "@@__IMMUTABLE_LIST__@@"; +const IS_KEYED_SENTINEL = "@@__IMMUTABLE_KEYED__@@"; +const IS_MAP_SENTINEL = "@@__IMMUTABLE_MAP__@@"; +const IS_ORDERED_SENTINEL = "@@__IMMUTABLE_ORDERED__@@"; +const IS_RECORD_SENTINEL = "@@__IMMUTABLE_RECORD__@@"; +const IS_SEQ_SENTINEL = "@@__IMMUTABLE_SEQ__@@"; +const IS_SET_SENTINEL = "@@__IMMUTABLE_SET__@@"; +const IS_STACK_SENTINEL = "@@__IMMUTABLE_STACK__@@"; +const getImmutableName = (name) => `Immutable.${name}`; +const printAsLeaf = (name) => `[${name}]`; +const SPACE = " "; +const LAZY = "…"; +function printImmutableEntries(val, config, indentation, depth, refs, printer, type) { + return ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}{${printIteratorEntries(val.entries(), config, indentation, depth, refs, printer)}}`; +} +// Record has an entries method because it is a collection in immutable v3. +// Return an iterator for Immutable Record from version v3 or v4. +function getRecordEntries(val) { + let i = 0; + return { next() { + if (i < val._keys.length) { + const key = val._keys[i++]; + return { + done: false, + value: [key, val.get(key)] + }; + } + return { + done: true, + value: undefined + }; + } }; +} +function printImmutableRecord(val, config, indentation, depth, refs, printer) { + // _name property is defined only for an Immutable Record instance + // which was constructed with a second optional descriptive name arg + const name = getImmutableName(val._name || "Record"); + return ++depth > config.maxDepth ? printAsLeaf(name) : `${name + SPACE}{${printIteratorEntries(getRecordEntries(val), config, indentation, depth, refs, printer)}}`; +} +function printImmutableSeq(val, config, indentation, depth, refs, printer) { + const name = getImmutableName("Seq"); + if (++depth > config.maxDepth) { + return printAsLeaf(name); + } + if (val[IS_KEYED_SENTINEL]) { + return `${name + SPACE}{${val._iter || val._object ? printIteratorEntries(val.entries(), config, indentation, depth, refs, printer) : LAZY}}`; + } + return `${name + SPACE}[${val._iter || val._array || val._collection || val._iterable ? printIteratorValues(val.values(), config, indentation, depth, refs, printer) : LAZY}]`; +} +function printImmutableValues(val, config, indentation, depth, refs, printer, type) { + return ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}[${printIteratorValues(val.values(), config, indentation, depth, refs, printer)}]`; +} +const serialize$2 = (val, config, indentation, depth, refs, printer) => { + if (val[IS_MAP_SENTINEL]) { + return printImmutableEntries(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? "OrderedMap" : "Map"); + } + if (val[IS_LIST_SENTINEL]) { + return printImmutableValues(val, config, indentation, depth, refs, printer, "List"); + } + if (val[IS_SET_SENTINEL]) { + return printImmutableValues(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? "OrderedSet" : "Set"); + } + if (val[IS_STACK_SENTINEL]) { + return printImmutableValues(val, config, indentation, depth, refs, printer, "Stack"); + } + if (val[IS_SEQ_SENTINEL]) { + return printImmutableSeq(val, config, indentation, depth, refs, printer); + } + // For compatibility with immutable v3 and v4, let record be the default. + return printImmutableRecord(val, config, indentation, depth, refs, printer); +}; +// Explicitly comparing sentinel properties to true avoids false positive +// when mock identity-obj-proxy returns the key as the value for any key. +const test$2 = (val) => val && (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true); +const plugin$2 = { + serialize: serialize$2, + test: test$2 +}; + +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +var reactIs$1 = {exports: {}}; + +var reactIs_production = {}; + +/** + * @license React + * react-is.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var hasRequiredReactIs_production; + +function requireReactIs_production () { + if (hasRequiredReactIs_production) return reactIs_production; + hasRequiredReactIs_production = 1; + var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), + REACT_PORTAL_TYPE = Symbol.for("react.portal"), + REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), + REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), + REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), + REACT_CONTEXT_TYPE = Symbol.for("react.context"), + REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), + REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), + REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), + REACT_MEMO_TYPE = Symbol.for("react.memo"), + REACT_LAZY_TYPE = Symbol.for("react.lazy"), + REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), + REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"); + function typeOf(object) { + if ("object" === typeof object && null !== object) { + var $$typeof = object.$$typeof; + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + switch (((object = object.type), object)) { + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + case REACT_SUSPENSE_LIST_TYPE: + case REACT_VIEW_TRANSITION_TYPE: + return object; + default: + switch (((object = object && object.$$typeof), object)) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + return object; + case REACT_CONSUMER_TYPE: + return object; + default: + return $$typeof; + } + } + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + } + reactIs_production.ContextConsumer = REACT_CONSUMER_TYPE; + reactIs_production.ContextProvider = REACT_CONTEXT_TYPE; + reactIs_production.Element = REACT_ELEMENT_TYPE; + reactIs_production.ForwardRef = REACT_FORWARD_REF_TYPE; + reactIs_production.Fragment = REACT_FRAGMENT_TYPE; + reactIs_production.Lazy = REACT_LAZY_TYPE; + reactIs_production.Memo = REACT_MEMO_TYPE; + reactIs_production.Portal = REACT_PORTAL_TYPE; + reactIs_production.Profiler = REACT_PROFILER_TYPE; + reactIs_production.StrictMode = REACT_STRICT_MODE_TYPE; + reactIs_production.Suspense = REACT_SUSPENSE_TYPE; + reactIs_production.SuspenseList = REACT_SUSPENSE_LIST_TYPE; + reactIs_production.isContextConsumer = function (object) { + return typeOf(object) === REACT_CONSUMER_TYPE; + }; + reactIs_production.isContextProvider = function (object) { + return typeOf(object) === REACT_CONTEXT_TYPE; + }; + reactIs_production.isElement = function (object) { + return ( + "object" === typeof object && + null !== object && + object.$$typeof === REACT_ELEMENT_TYPE + ); + }; + reactIs_production.isForwardRef = function (object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; + }; + reactIs_production.isFragment = function (object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; + }; + reactIs_production.isLazy = function (object) { + return typeOf(object) === REACT_LAZY_TYPE; + }; + reactIs_production.isMemo = function (object) { + return typeOf(object) === REACT_MEMO_TYPE; + }; + reactIs_production.isPortal = function (object) { + return typeOf(object) === REACT_PORTAL_TYPE; + }; + reactIs_production.isProfiler = function (object) { + return typeOf(object) === REACT_PROFILER_TYPE; + }; + reactIs_production.isStrictMode = function (object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; + }; + reactIs_production.isSuspense = function (object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; + }; + reactIs_production.isSuspenseList = function (object) { + return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; + }; + reactIs_production.isValidElementType = function (type) { + return "string" === typeof type || + "function" === typeof type || + type === REACT_FRAGMENT_TYPE || + type === REACT_PROFILER_TYPE || + type === REACT_STRICT_MODE_TYPE || + type === REACT_SUSPENSE_TYPE || + type === REACT_SUSPENSE_LIST_TYPE || + ("object" === typeof type && + null !== type && + (type.$$typeof === REACT_LAZY_TYPE || + type.$$typeof === REACT_MEMO_TYPE || + type.$$typeof === REACT_CONTEXT_TYPE || + type.$$typeof === REACT_CONSUMER_TYPE || + type.$$typeof === REACT_FORWARD_REF_TYPE || + type.$$typeof === REACT_CLIENT_REFERENCE || + void 0 !== type.getModuleId)) + ? true + : false; + }; + reactIs_production.typeOf = typeOf; + return reactIs_production; +} + +var reactIs_development$1 = {}; + +/** + * @license React + * react-is.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var hasRequiredReactIs_development$1; + +function requireReactIs_development$1 () { + if (hasRequiredReactIs_development$1) return reactIs_development$1; + hasRequiredReactIs_development$1 = 1; + "production" !== process.env.NODE_ENV && + (function () { + function typeOf(object) { + if ("object" === typeof object && null !== object) { + var $$typeof = object.$$typeof; + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + switch (((object = object.type), object)) { + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + case REACT_SUSPENSE_LIST_TYPE: + case REACT_VIEW_TRANSITION_TYPE: + return object; + default: + switch (((object = object && object.$$typeof), object)) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + return object; + case REACT_CONSUMER_TYPE: + return object; + default: + return $$typeof; + } + } + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + } + var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), + REACT_PORTAL_TYPE = Symbol.for("react.portal"), + REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), + REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), + REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), + REACT_CONTEXT_TYPE = Symbol.for("react.context"), + REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), + REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), + REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), + REACT_MEMO_TYPE = Symbol.for("react.memo"), + REACT_LAZY_TYPE = Symbol.for("react.lazy"), + REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), + REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"); + reactIs_development$1.ContextConsumer = REACT_CONSUMER_TYPE; + reactIs_development$1.ContextProvider = REACT_CONTEXT_TYPE; + reactIs_development$1.Element = REACT_ELEMENT_TYPE; + reactIs_development$1.ForwardRef = REACT_FORWARD_REF_TYPE; + reactIs_development$1.Fragment = REACT_FRAGMENT_TYPE; + reactIs_development$1.Lazy = REACT_LAZY_TYPE; + reactIs_development$1.Memo = REACT_MEMO_TYPE; + reactIs_development$1.Portal = REACT_PORTAL_TYPE; + reactIs_development$1.Profiler = REACT_PROFILER_TYPE; + reactIs_development$1.StrictMode = REACT_STRICT_MODE_TYPE; + reactIs_development$1.Suspense = REACT_SUSPENSE_TYPE; + reactIs_development$1.SuspenseList = REACT_SUSPENSE_LIST_TYPE; + reactIs_development$1.isContextConsumer = function (object) { + return typeOf(object) === REACT_CONSUMER_TYPE; + }; + reactIs_development$1.isContextProvider = function (object) { + return typeOf(object) === REACT_CONTEXT_TYPE; + }; + reactIs_development$1.isElement = function (object) { + return ( + "object" === typeof object && + null !== object && + object.$$typeof === REACT_ELEMENT_TYPE + ); + }; + reactIs_development$1.isForwardRef = function (object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; + }; + reactIs_development$1.isFragment = function (object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; + }; + reactIs_development$1.isLazy = function (object) { + return typeOf(object) === REACT_LAZY_TYPE; + }; + reactIs_development$1.isMemo = function (object) { + return typeOf(object) === REACT_MEMO_TYPE; + }; + reactIs_development$1.isPortal = function (object) { + return typeOf(object) === REACT_PORTAL_TYPE; + }; + reactIs_development$1.isProfiler = function (object) { + return typeOf(object) === REACT_PROFILER_TYPE; + }; + reactIs_development$1.isStrictMode = function (object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; + }; + reactIs_development$1.isSuspense = function (object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; + }; + reactIs_development$1.isSuspenseList = function (object) { + return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; + }; + reactIs_development$1.isValidElementType = function (type) { + return "string" === typeof type || + "function" === typeof type || + type === REACT_FRAGMENT_TYPE || + type === REACT_PROFILER_TYPE || + type === REACT_STRICT_MODE_TYPE || + type === REACT_SUSPENSE_TYPE || + type === REACT_SUSPENSE_LIST_TYPE || + ("object" === typeof type && + null !== type && + (type.$$typeof === REACT_LAZY_TYPE || + type.$$typeof === REACT_MEMO_TYPE || + type.$$typeof === REACT_CONTEXT_TYPE || + type.$$typeof === REACT_CONSUMER_TYPE || + type.$$typeof === REACT_FORWARD_REF_TYPE || + type.$$typeof === REACT_CLIENT_REFERENCE || + void 0 !== type.getModuleId)) + ? true + : false; + }; + reactIs_development$1.typeOf = typeOf; + })(); + return reactIs_development$1; +} + +var hasRequiredReactIs$1; + +function requireReactIs$1 () { + if (hasRequiredReactIs$1) return reactIs$1.exports; + hasRequiredReactIs$1 = 1; + + if (process.env.NODE_ENV === 'production') { + reactIs$1.exports = requireReactIs_production(); + } else { + reactIs$1.exports = requireReactIs_development$1(); + } + return reactIs$1.exports; +} + +var reactIsExports$1 = requireReactIs$1(); +var index$1 = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports$1); + +var ReactIs19 = /*#__PURE__*/_mergeNamespaces({ + __proto__: null, + default: index$1 +}, [reactIsExports$1]); + +var reactIs = {exports: {}}; + +var reactIs_production_min = {}; + +/** + * @license React + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var hasRequiredReactIs_production_min; + +function requireReactIs_production_min () { + if (hasRequiredReactIs_production_min) return reactIs_production_min; + hasRequiredReactIs_production_min = 1; +var b=Symbol.for("react.element"),c=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),e=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),g=Symbol.for("react.provider"),h=Symbol.for("react.context"),k=Symbol.for("react.server_context"),l=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),n=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),t=Symbol.for("react.offscreen"),u;u=Symbol.for("react.module.reference"); + function v(a){if("object"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}reactIs_production_min.ContextConsumer=h;reactIs_production_min.ContextProvider=g;reactIs_production_min.Element=b;reactIs_production_min.ForwardRef=l;reactIs_production_min.Fragment=d;reactIs_production_min.Lazy=q;reactIs_production_min.Memo=p;reactIs_production_min.Portal=c;reactIs_production_min.Profiler=f;reactIs_production_min.StrictMode=e;reactIs_production_min.Suspense=m; + reactIs_production_min.SuspenseList=n;reactIs_production_min.isAsyncMode=function(){return false};reactIs_production_min.isConcurrentMode=function(){return false};reactIs_production_min.isContextConsumer=function(a){return v(a)===h};reactIs_production_min.isContextProvider=function(a){return v(a)===g};reactIs_production_min.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===b};reactIs_production_min.isForwardRef=function(a){return v(a)===l};reactIs_production_min.isFragment=function(a){return v(a)===d};reactIs_production_min.isLazy=function(a){return v(a)===q};reactIs_production_min.isMemo=function(a){return v(a)===p}; + reactIs_production_min.isPortal=function(a){return v(a)===c};reactIs_production_min.isProfiler=function(a){return v(a)===f};reactIs_production_min.isStrictMode=function(a){return v(a)===e};reactIs_production_min.isSuspense=function(a){return v(a)===m};reactIs_production_min.isSuspenseList=function(a){return v(a)===n}; + reactIs_production_min.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||"object"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?true:false};reactIs_production_min.typeOf=v; + return reactIs_production_min; +} + +var reactIs_development = {}; + +/** + * @license React + * react-is.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var hasRequiredReactIs_development; + +function requireReactIs_development () { + if (hasRequiredReactIs_development) return reactIs_development; + hasRequiredReactIs_development = 1; + + if (process.env.NODE_ENV !== "production") { + (function() { + + // ATTENTION + // When adding new symbols to this file, + // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' + // The Symbol used to tag the ReactElement-like types. + var REACT_ELEMENT_TYPE = Symbol.for('react.element'); + var REACT_PORTAL_TYPE = Symbol.for('react.portal'); + var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment'); + var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode'); + var REACT_PROFILER_TYPE = Symbol.for('react.profiler'); + var REACT_PROVIDER_TYPE = Symbol.for('react.provider'); + var REACT_CONTEXT_TYPE = Symbol.for('react.context'); + var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context'); + var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref'); + var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense'); + var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list'); + var REACT_MEMO_TYPE = Symbol.for('react.memo'); + var REACT_LAZY_TYPE = Symbol.for('react.lazy'); + var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen'); + + // ----------------------------------------------------------------------------- + + var enableScopeAPI = false; // Experimental Create Event Handle API. + var enableCacheElement = false; + var enableTransitionTracing = false; // No known bugs, but needs performance testing + + var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber + // stuff. Intended to enable React core members to more easily debug scheduling + // issues in DEV builds. + + var enableDebugTracing = false; // Track which Fiber(s) schedule render work. + + var REACT_MODULE_REFERENCE; + + { + REACT_MODULE_REFERENCE = Symbol.for('react.module.reference'); + } + + function isValidElementType(type) { + if (typeof type === 'string' || typeof type === 'function') { + return true; + } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill). + + + if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) { + return true; + } + + if (typeof type === 'object' && type !== null) { + if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object + // types supported by any Flight configuration anywhere since + // we don't know which Flight build this will end up being used + // with. + type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) { + return true; + } + } + + return false; + } + + function typeOf(object) { + if (typeof object === 'object' && object !== null) { + var $$typeof = object.$$typeof; + + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + var type = object.type; + + switch (type) { + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + case REACT_SUSPENSE_LIST_TYPE: + return type; + + default: + var $$typeofType = type && type.$$typeof; + + switch ($$typeofType) { + case REACT_SERVER_CONTEXT_TYPE: + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + case REACT_PROVIDER_TYPE: + return $$typeofType; + + default: + return $$typeof; + } + + } + + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + + return undefined; + } + var ContextConsumer = REACT_CONTEXT_TYPE; + var ContextProvider = REACT_PROVIDER_TYPE; + var Element = REACT_ELEMENT_TYPE; + var ForwardRef = REACT_FORWARD_REF_TYPE; + var Fragment = REACT_FRAGMENT_TYPE; + var Lazy = REACT_LAZY_TYPE; + var Memo = REACT_MEMO_TYPE; + var Portal = REACT_PORTAL_TYPE; + var Profiler = REACT_PROFILER_TYPE; + var StrictMode = REACT_STRICT_MODE_TYPE; + var Suspense = REACT_SUSPENSE_TYPE; + var SuspenseList = REACT_SUSPENSE_LIST_TYPE; + var hasWarnedAboutDeprecatedIsAsyncMode = false; + var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated + + function isAsyncMode(object) { + { + if (!hasWarnedAboutDeprecatedIsAsyncMode) { + hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint + + console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.'); + } + } + + return false; + } + function isConcurrentMode(object) { + { + if (!hasWarnedAboutDeprecatedIsConcurrentMode) { + hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint + + console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.'); + } + } + + return false; + } + function isContextConsumer(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; + } + function isContextProvider(object) { + return typeOf(object) === REACT_PROVIDER_TYPE; + } + function isElement(object) { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + function isForwardRef(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; + } + function isFragment(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; + } + function isLazy(object) { + return typeOf(object) === REACT_LAZY_TYPE; + } + function isMemo(object) { + return typeOf(object) === REACT_MEMO_TYPE; + } + function isPortal(object) { + return typeOf(object) === REACT_PORTAL_TYPE; + } + function isProfiler(object) { + return typeOf(object) === REACT_PROFILER_TYPE; + } + function isStrictMode(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; + } + function isSuspense(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; + } + function isSuspenseList(object) { + return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; + } + + reactIs_development.ContextConsumer = ContextConsumer; + reactIs_development.ContextProvider = ContextProvider; + reactIs_development.Element = Element; + reactIs_development.ForwardRef = ForwardRef; + reactIs_development.Fragment = Fragment; + reactIs_development.Lazy = Lazy; + reactIs_development.Memo = Memo; + reactIs_development.Portal = Portal; + reactIs_development.Profiler = Profiler; + reactIs_development.StrictMode = StrictMode; + reactIs_development.Suspense = Suspense; + reactIs_development.SuspenseList = SuspenseList; + reactIs_development.isAsyncMode = isAsyncMode; + reactIs_development.isConcurrentMode = isConcurrentMode; + reactIs_development.isContextConsumer = isContextConsumer; + reactIs_development.isContextProvider = isContextProvider; + reactIs_development.isElement = isElement; + reactIs_development.isForwardRef = isForwardRef; + reactIs_development.isFragment = isFragment; + reactIs_development.isLazy = isLazy; + reactIs_development.isMemo = isMemo; + reactIs_development.isPortal = isPortal; + reactIs_development.isProfiler = isProfiler; + reactIs_development.isStrictMode = isStrictMode; + reactIs_development.isSuspense = isSuspense; + reactIs_development.isSuspenseList = isSuspenseList; + reactIs_development.isValidElementType = isValidElementType; + reactIs_development.typeOf = typeOf; + })(); + } + return reactIs_development; +} + +var hasRequiredReactIs; + +function requireReactIs () { + if (hasRequiredReactIs) return reactIs.exports; + hasRequiredReactIs = 1; + + if (process.env.NODE_ENV === 'production') { + reactIs.exports = requireReactIs_production_min(); + } else { + reactIs.exports = requireReactIs_development(); + } + return reactIs.exports; +} + +var reactIsExports = requireReactIs(); +var index = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports); + +var ReactIs18 = /*#__PURE__*/_mergeNamespaces({ + __proto__: null, + default: index +}, [reactIsExports]); + +const reactIsMethods = [ + "isAsyncMode", + "isConcurrentMode", + "isContextConsumer", + "isContextProvider", + "isElement", + "isForwardRef", + "isFragment", + "isLazy", + "isMemo", + "isPortal", + "isProfiler", + "isStrictMode", + "isSuspense", + "isSuspenseList", + "isValidElementType" +]; +const ReactIs = Object.fromEntries(reactIsMethods.map((m) => [m, (v) => ReactIs18[m](v) || ReactIs19[m](v)])); +// Given element.props.children, or subtree during recursive traversal, +// return flattened array of children. +function getChildren(arg, children = []) { + if (Array.isArray(arg)) { + for (const item of arg) { + getChildren(item, children); + } + } else if (arg != null && arg !== false && arg !== "") { + children.push(arg); + } + return children; +} +function getType(element) { + const type = element.type; + if (typeof type === "string") { + return type; + } + if (typeof type === "function") { + return type.displayName || type.name || "Unknown"; + } + if (ReactIs.isFragment(element)) { + return "React.Fragment"; + } + if (ReactIs.isSuspense(element)) { + return "React.Suspense"; + } + if (typeof type === "object" && type !== null) { + if (ReactIs.isContextProvider(element)) { + return "Context.Provider"; + } + if (ReactIs.isContextConsumer(element)) { + return "Context.Consumer"; + } + if (ReactIs.isForwardRef(element)) { + if (type.displayName) { + return type.displayName; + } + const functionName = type.render.displayName || type.render.name || ""; + return functionName === "" ? "ForwardRef" : `ForwardRef(${functionName})`; + } + if (ReactIs.isMemo(element)) { + const functionName = type.displayName || type.type.displayName || type.type.name || ""; + return functionName === "" ? "Memo" : `Memo(${functionName})`; + } + } + return "UNDEFINED"; +} +function getPropKeys$1(element) { + const { props } = element; + return Object.keys(props).filter((key) => key !== "children" && props[key] !== undefined).sort(); +} +const serialize$1 = (element, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(getType(element), config) : printElement(getType(element), printProps(getPropKeys$1(element), element.props, config, indentation + config.indent, depth, refs, printer), printChildren(getChildren(element.props.children), config, indentation + config.indent, depth, refs, printer), config, indentation); +const test$1 = (val) => val != null && ReactIs.isElement(val); +const plugin$1 = { + serialize: serialize$1, + test: test$1 +}; + +const testSymbol = typeof Symbol === "function" && Symbol.for ? Symbol.for("react.test.json") : 245830487; +function getPropKeys(object) { + const { props } = object; + return props ? Object.keys(props).filter((key) => props[key] !== undefined).sort() : []; +} +const serialize = (object, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(object.type, config) : printElement(object.type, object.props ? printProps(getPropKeys(object), object.props, config, indentation + config.indent, depth, refs, printer) : "", object.children ? printChildren(object.children, config, indentation + config.indent, depth, refs, printer) : "", config, indentation); +const test = (val) => val && val.$$typeof === testSymbol; +const plugin = { + serialize, + test +}; + +const toString = Object.prototype.toString; +const toISOString = Date.prototype.toISOString; +const errorToString = Error.prototype.toString; +const regExpToString = RegExp.prototype.toString; +/** +* Explicitly comparing typeof constructor to function avoids undefined as name +* when mock identity-obj-proxy returns the key as the value for any key. +*/ +function getConstructorName(val) { + return typeof val.constructor === "function" && val.constructor.name || "Object"; +} +/** Is val is equal to global window object? Works even if it does not exist :) */ +function isWindow(val) { + return typeof window !== "undefined" && val === window; +} +// eslint-disable-next-line regexp/no-super-linear-backtracking +const SYMBOL_REGEXP = /^Symbol\((.*)\)(.*)$/; +const NEWLINE_REGEXP = /\n/g; +class PrettyFormatPluginError extends Error { + constructor(message, stack) { + super(message); + this.stack = stack; + this.name = this.constructor.name; + } +} +function isToStringedArrayType(toStringed) { + return toStringed === "[object Array]" || toStringed === "[object ArrayBuffer]" || toStringed === "[object DataView]" || toStringed === "[object Float32Array]" || toStringed === "[object Float64Array]" || toStringed === "[object Int8Array]" || toStringed === "[object Int16Array]" || toStringed === "[object Int32Array]" || toStringed === "[object Uint8Array]" || toStringed === "[object Uint8ClampedArray]" || toStringed === "[object Uint16Array]" || toStringed === "[object Uint32Array]"; +} +function printNumber(val) { + return Object.is(val, -0) ? "-0" : String(val); +} +function printBigInt(val) { + return String(`${val}n`); +} +function printFunction(val, printFunctionName) { + if (!printFunctionName) { + return "[Function]"; + } + return `[Function ${val.name || "anonymous"}]`; +} +function printSymbol(val) { + return String(val).replace(SYMBOL_REGEXP, "Symbol($1)"); +} +function printError(val) { + return `[${errorToString.call(val)}]`; +} +/** +* The first port of call for printing an object, handles most of the +* data-types in JS. +*/ +function printBasicValue(val, printFunctionName, escapeRegex, escapeString) { + if (val === true || val === false) { + return `${val}`; + } + if (val === undefined) { + return "undefined"; + } + if (val === null) { + return "null"; + } + const typeOf = typeof val; + if (typeOf === "number") { + return printNumber(val); + } + if (typeOf === "bigint") { + return printBigInt(val); + } + if (typeOf === "string") { + if (escapeString) { + return `"${val.replaceAll(/"|\\/g, "\\$&")}"`; + } + return `"${val}"`; + } + if (typeOf === "function") { + return printFunction(val, printFunctionName); + } + if (typeOf === "symbol") { + return printSymbol(val); + } + const toStringed = toString.call(val); + if (toStringed === "[object WeakMap]") { + return "WeakMap {}"; + } + if (toStringed === "[object WeakSet]") { + return "WeakSet {}"; + } + if (toStringed === "[object Function]" || toStringed === "[object GeneratorFunction]") { + return printFunction(val, printFunctionName); + } + if (toStringed === "[object Symbol]") { + return printSymbol(val); + } + if (toStringed === "[object Date]") { + return Number.isNaN(+val) ? "Date { NaN }" : toISOString.call(val); + } + if (toStringed === "[object Error]") { + return printError(val); + } + if (toStringed === "[object RegExp]") { + if (escapeRegex) { + // https://github.com/benjamingr/RegExp.escape/blob/main/polyfill.js + return regExpToString.call(val).replaceAll(/[$()*+.?[\\\]^{|}]/g, "\\$&"); + } + return regExpToString.call(val); + } + if (val instanceof Error) { + return printError(val); + } + return null; +} +/** +* Handles more complex objects ( such as objects with circular references. +* maps and sets etc ) +*/ +function printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON) { + if (refs.includes(val)) { + return "[Circular]"; + } + refs = [...refs]; + refs.push(val); + const hitMaxDepth = ++depth > config.maxDepth; + const min = config.min; + if (config.callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === "function" && !hasCalledToJSON) { + return printer(val.toJSON(), config, indentation, depth, refs, true); + } + const toStringed = toString.call(val); + if (toStringed === "[object Arguments]") { + return hitMaxDepth ? "[Arguments]" : `${min ? "" : "Arguments "}[${printListItems(val, config, indentation, depth, refs, printer)}]`; + } + if (isToStringedArrayType(toStringed)) { + return hitMaxDepth ? `[${val.constructor.name}]` : `${min ? "" : !config.printBasicPrototype && val.constructor.name === "Array" ? "" : `${val.constructor.name} `}[${printListItems(val, config, indentation, depth, refs, printer)}]`; + } + if (toStringed === "[object Map]") { + return hitMaxDepth ? "[Map]" : `Map {${printIteratorEntries(val.entries(), config, indentation, depth, refs, printer, " => ")}}`; + } + if (toStringed === "[object Set]") { + return hitMaxDepth ? "[Set]" : `Set {${printIteratorValues(val.values(), config, indentation, depth, refs, printer)}}`; + } + // Avoid failure to serialize global window object in jsdom test environment. + // For example, not even relevant if window is prop of React element. + return hitMaxDepth || isWindow(val) ? `[${getConstructorName(val)}]` : `${min ? "" : !config.printBasicPrototype && getConstructorName(val) === "Object" ? "" : `${getConstructorName(val)} `}{${printObjectProperties(val, config, indentation, depth, refs, printer)}}`; +} +const ErrorPlugin = { + test: (val) => val && val instanceof Error, + serialize(val, config, indentation, depth, refs, printer) { + if (refs.includes(val)) { + return "[Circular]"; + } + refs = [...refs, val]; + const hitMaxDepth = ++depth > config.maxDepth; + const { message, cause,...rest } = val; + const entries = { + message, + ...typeof cause !== "undefined" ? { cause } : {}, + ...val instanceof AggregateError ? { errors: val.errors } : {}, + ...rest + }; + const name = val.name !== "Error" ? val.name : getConstructorName(val); + return hitMaxDepth ? `[${name}]` : `${name} {${printIteratorEntries(Object.entries(entries).values(), config, indentation, depth, refs, printer)}}`; + } +}; +function isNewPlugin(plugin) { + return plugin.serialize != null; +} +function printPlugin(plugin, val, config, indentation, depth, refs) { + let printed; + try { + printed = isNewPlugin(plugin) ? plugin.serialize(val, config, indentation, depth, refs, printer) : plugin.print(val, (valChild) => printer(valChild, config, indentation, depth, refs), (str) => { + const indentationNext = indentation + config.indent; + return indentationNext + str.replaceAll(NEWLINE_REGEXP, `\n${indentationNext}`); + }, { + edgeSpacing: config.spacingOuter, + min: config.min, + spacing: config.spacingInner + }, config.colors); + } catch (error) { + throw new PrettyFormatPluginError(error.message, error.stack); + } + if (typeof printed !== "string") { + throw new TypeError(`pretty-format: Plugin must return type "string" but instead returned "${typeof printed}".`); + } + return printed; +} +function findPlugin(plugins, val) { + for (const plugin of plugins) { + try { + if (plugin.test(val)) { + return plugin; + } + } catch (error) { + throw new PrettyFormatPluginError(error.message, error.stack); + } + } + return null; +} +function printer(val, config, indentation, depth, refs, hasCalledToJSON) { + const plugin = findPlugin(config.plugins, val); + if (plugin !== null) { + return printPlugin(plugin, val, config, indentation, depth, refs); + } + const basicResult = printBasicValue(val, config.printFunctionName, config.escapeRegex, config.escapeString); + if (basicResult !== null) { + return basicResult; + } + return printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON); +} +const DEFAULT_THEME = { + comment: "gray", + content: "reset", + prop: "yellow", + tag: "cyan", + value: "green" +}; +const DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME); +const DEFAULT_OPTIONS = { + callToJSON: true, + compareKeys: undefined, + escapeRegex: false, + escapeString: true, + highlight: false, + indent: 2, + maxDepth: Number.POSITIVE_INFINITY, + maxWidth: Number.POSITIVE_INFINITY, + min: false, + plugins: [], + printBasicPrototype: true, + printFunctionName: true, + theme: DEFAULT_THEME +}; +function validateOptions(options) { + for (const key of Object.keys(options)) { + if (!Object.prototype.hasOwnProperty.call(DEFAULT_OPTIONS, key)) { + throw new Error(`pretty-format: Unknown option "${key}".`); + } + } + if (options.min && options.indent !== undefined && options.indent !== 0) { + throw new Error("pretty-format: Options \"min\" and \"indent\" cannot be used together."); + } +} +function getColorsHighlight() { + return DEFAULT_THEME_KEYS.reduce((colors, key) => { + const value = DEFAULT_THEME[key]; + const color = value && styles[value]; + if (color && typeof color.close === "string" && typeof color.open === "string") { + colors[key] = color; + } else { + throw new Error(`pretty-format: Option "theme" has a key "${key}" whose value "${value}" is undefined in ansi-styles.`); + } + return colors; + }, Object.create(null)); +} +function getColorsEmpty() { + return DEFAULT_THEME_KEYS.reduce((colors, key) => { + colors[key] = { + close: "", + open: "" + }; + return colors; + }, Object.create(null)); +} +function getPrintFunctionName(options) { + return (options === null || options === void 0 ? void 0 : options.printFunctionName) ?? DEFAULT_OPTIONS.printFunctionName; +} +function getEscapeRegex(options) { + return (options === null || options === void 0 ? void 0 : options.escapeRegex) ?? DEFAULT_OPTIONS.escapeRegex; +} +function getEscapeString(options) { + return (options === null || options === void 0 ? void 0 : options.escapeString) ?? DEFAULT_OPTIONS.escapeString; +} +function getConfig(options) { + return { + callToJSON: (options === null || options === void 0 ? void 0 : options.callToJSON) ?? DEFAULT_OPTIONS.callToJSON, + colors: (options === null || options === void 0 ? void 0 : options.highlight) ? getColorsHighlight() : getColorsEmpty(), + compareKeys: typeof (options === null || options === void 0 ? void 0 : options.compareKeys) === "function" || (options === null || options === void 0 ? void 0 : options.compareKeys) === null ? options.compareKeys : DEFAULT_OPTIONS.compareKeys, + escapeRegex: getEscapeRegex(options), + escapeString: getEscapeString(options), + indent: (options === null || options === void 0 ? void 0 : options.min) ? "" : createIndent((options === null || options === void 0 ? void 0 : options.indent) ?? DEFAULT_OPTIONS.indent), + maxDepth: (options === null || options === void 0 ? void 0 : options.maxDepth) ?? DEFAULT_OPTIONS.maxDepth, + maxWidth: (options === null || options === void 0 ? void 0 : options.maxWidth) ?? DEFAULT_OPTIONS.maxWidth, + min: (options === null || options === void 0 ? void 0 : options.min) ?? DEFAULT_OPTIONS.min, + plugins: (options === null || options === void 0 ? void 0 : options.plugins) ?? DEFAULT_OPTIONS.plugins, + printBasicPrototype: (options === null || options === void 0 ? void 0 : options.printBasicPrototype) ?? true, + printFunctionName: getPrintFunctionName(options), + spacingInner: (options === null || options === void 0 ? void 0 : options.min) ? " " : "\n", + spacingOuter: (options === null || options === void 0 ? void 0 : options.min) ? "" : "\n" + }; +} +function createIndent(indent) { + return Array.from({ length: indent + 1 }).join(" "); +} +/** +* Returns a presentation string of your `val` object +* @param val any potential JavaScript object +* @param options Custom settings +*/ +function format(val, options) { + if (options) { + validateOptions(options); + if (options.plugins) { + const plugin = findPlugin(options.plugins, val); + if (plugin !== null) { + return printPlugin(plugin, val, getConfig(options), "", 0, []); + } + } + } + const basicResult = printBasicValue(val, getPrintFunctionName(options), getEscapeRegex(options), getEscapeString(options)); + if (basicResult !== null) { + return basicResult; + } + return printComplexValue(val, getConfig(options), "", 0, []); +} +const plugins = { + AsymmetricMatcher: plugin$5, + DOMCollection: plugin$4, + DOMElement: plugin$3, + Immutable: plugin$2, + ReactElement: plugin$1, + ReactTestComponent: plugin, + Error: ErrorPlugin +}; + +export { DEFAULT_OPTIONS, format, plugins }; diff --git a/node_modules/@vitest/pretty-format/package.json b/node_modules/@vitest/pretty-format/package.json new file mode 100644 index 0000000..d6ab2a3 --- /dev/null +++ b/node_modules/@vitest/pretty-format/package.json @@ -0,0 +1,44 @@ +{ + "name": "@vitest/pretty-format", + "type": "module", + "version": "3.2.3", + "description": "Fork of pretty-format with support for ESM", + "license": "MIT", + "funding": "https://opencollective.com/vitest", + "homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/utils#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vitest-dev/vitest.git", + "directory": "packages/pretty-format" + }, + "bugs": { + "url": "https://github.com/vitest-dev/vitest/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./*": "./*" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "*.d.ts", + "dist" + ], + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "devDependencies": { + "@types/react-is": "^19.0.0", + "react-is": "^19.1.0", + "react-is-18": "npm:react-is@18.3.1" + }, + "scripts": { + "build": "rimraf dist && rollup -c", + "dev": "rollup -c --watch" + } +} \ No newline at end of file diff --git a/node_modules/@vitest/runner/LICENSE b/node_modules/@vitest/runner/LICENSE new file mode 100644 index 0000000..5ae481f --- /dev/null +++ b/node_modules/@vitest/runner/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-Present Vitest Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@vitest/runner/README.md b/node_modules/@vitest/runner/README.md new file mode 100644 index 0000000..2796b6a --- /dev/null +++ b/node_modules/@vitest/runner/README.md @@ -0,0 +1,5 @@ +# @vitest/runner + +Vitest mechanism to collect and run tasks. + +[GitHub](https://github.com/vitest-dev/vitest) | [Documentation](https://vitest.dev/advanced/runner) diff --git a/node_modules/@vitest/runner/dist/chunk-hooks.js b/node_modules/@vitest/runner/dist/chunk-hooks.js new file mode 100644 index 0000000..462ab24 --- /dev/null +++ b/node_modules/@vitest/runner/dist/chunk-hooks.js @@ -0,0 +1,2251 @@ +import { isObject, createDefer, toArray, isNegativeNaN, format, objectAttr, objDisplay, getSafeTimers, shuffle, assertTypes } from '@vitest/utils'; +import { parseSingleStack } from '@vitest/utils/source-map'; +import { processError } from '@vitest/utils/error'; +import { stripLiteral } from 'strip-literal'; +import { relative } from 'pathe'; + +class PendingError extends Error { + code = "VITEST_PENDING"; + taskId; + constructor(message, task, note) { + super(message); + this.message = message; + this.note = note; + this.taskId = task.id; + } +} +class TestRunAbortError extends Error { + name = "TestRunAbortError"; + reason; + constructor(message, reason) { + super(message); + this.reason = reason; + } +} + +// use WeakMap here to make the Test and Suite object serializable +const fnMap = new WeakMap(); +const testFixtureMap = new WeakMap(); +const hooksMap = new WeakMap(); +function setFn(key, fn) { + fnMap.set(key, fn); +} +function getFn(key) { + return fnMap.get(key); +} +function setTestFixture(key, fixture) { + testFixtureMap.set(key, fixture); +} +function getTestFixture(key) { + return testFixtureMap.get(key); +} +function setHooks(key, hooks) { + hooksMap.set(key, hooks); +} +function getHooks(key) { + return hooksMap.get(key); +} + +async function runSetupFiles(config, files, runner) { + if (config.sequence.setupFiles === "parallel") { + await Promise.all(files.map(async (fsPath) => { + await runner.importFile(fsPath, "setup"); + })); + } else { + for (const fsPath of files) { + await runner.importFile(fsPath, "setup"); + } + } +} + +function mergeScopedFixtures(testFixtures, scopedFixtures) { + const scopedFixturesMap = scopedFixtures.reduce((map, fixture) => { + map[fixture.prop] = fixture; + return map; + }, {}); + const newFixtures = {}; + testFixtures.forEach((fixture) => { + const useFixture = scopedFixturesMap[fixture.prop] || { ...fixture }; + newFixtures[useFixture.prop] = useFixture; + }); + for (const fixtureKep in newFixtures) { + var _fixture$deps; + const fixture = newFixtures[fixtureKep]; + // if the fixture was define before the scope, then its dep + // will reference the original fixture instead of the scope + fixture.deps = (_fixture$deps = fixture.deps) === null || _fixture$deps === void 0 ? void 0 : _fixture$deps.map((dep) => newFixtures[dep.prop]); + } + return Object.values(newFixtures); +} +function mergeContextFixtures(fixtures, context, runner) { + const fixtureOptionKeys = [ + "auto", + "injected", + "scope" + ]; + const fixtureArray = Object.entries(fixtures).map(([prop, value]) => { + const fixtureItem = { value }; + if (Array.isArray(value) && value.length >= 2 && isObject(value[1]) && Object.keys(value[1]).some((key) => fixtureOptionKeys.includes(key))) { + var _runner$injectValue; + // fixture with options + Object.assign(fixtureItem, value[1]); + const userValue = value[0]; + fixtureItem.value = fixtureItem.injected ? ((_runner$injectValue = runner.injectValue) === null || _runner$injectValue === void 0 ? void 0 : _runner$injectValue.call(runner, prop)) ?? userValue : userValue; + } + fixtureItem.scope = fixtureItem.scope || "test"; + if (fixtureItem.scope === "worker" && !runner.getWorkerContext) { + fixtureItem.scope = "file"; + } + fixtureItem.prop = prop; + fixtureItem.isFn = typeof fixtureItem.value === "function"; + return fixtureItem; + }); + if (Array.isArray(context.fixtures)) { + context.fixtures = context.fixtures.concat(fixtureArray); + } else { + context.fixtures = fixtureArray; + } + // Update dependencies of fixture functions + fixtureArray.forEach((fixture) => { + if (fixture.isFn) { + const usedProps = getUsedProps(fixture.value); + if (usedProps.length) { + fixture.deps = context.fixtures.filter(({ prop }) => prop !== fixture.prop && usedProps.includes(prop)); + } + // test can access anything, so we ignore it + if (fixture.scope !== "test") { + var _fixture$deps2; + (_fixture$deps2 = fixture.deps) === null || _fixture$deps2 === void 0 ? void 0 : _fixture$deps2.forEach((dep) => { + if (!dep.isFn) { + // non fn fixtures are always resolved and available to anyone + return; + } + // worker scope can only import from worker scope + if (fixture.scope === "worker" && dep.scope === "worker") { + return; + } + // file scope an import from file and worker scopes + if (fixture.scope === "file" && dep.scope !== "test") { + return; + } + throw new SyntaxError(`cannot use the ${dep.scope} fixture "${dep.prop}" inside the ${fixture.scope} fixture "${fixture.prop}"`); + }); + } + } + }); + return context; +} +const fixtureValueMaps = new Map(); +const cleanupFnArrayMap = new Map(); +async function callFixtureCleanup(context) { + const cleanupFnArray = cleanupFnArrayMap.get(context) ?? []; + for (const cleanup of cleanupFnArray.reverse()) { + await cleanup(); + } + cleanupFnArrayMap.delete(context); +} +function withFixtures(runner, fn, testContext) { + return (hookContext) => { + const context = hookContext || testContext; + if (!context) { + return fn({}); + } + const fixtures = getTestFixture(context); + if (!(fixtures === null || fixtures === void 0 ? void 0 : fixtures.length)) { + return fn(context); + } + const usedProps = getUsedProps(fn); + const hasAutoFixture = fixtures.some(({ auto }) => auto); + if (!usedProps.length && !hasAutoFixture) { + return fn(context); + } + if (!fixtureValueMaps.get(context)) { + fixtureValueMaps.set(context, new Map()); + } + const fixtureValueMap = fixtureValueMaps.get(context); + if (!cleanupFnArrayMap.has(context)) { + cleanupFnArrayMap.set(context, []); + } + const cleanupFnArray = cleanupFnArrayMap.get(context); + const usedFixtures = fixtures.filter(({ prop, auto }) => auto || usedProps.includes(prop)); + const pendingFixtures = resolveDeps(usedFixtures); + if (!pendingFixtures.length) { + return fn(context); + } + async function resolveFixtures() { + for (const fixture of pendingFixtures) { + // fixture could be already initialized during "before" hook + if (fixtureValueMap.has(fixture)) { + continue; + } + const resolvedValue = await resolveFixtureValue(runner, fixture, context, cleanupFnArray); + context[fixture.prop] = resolvedValue; + fixtureValueMap.set(fixture, resolvedValue); + if (fixture.scope === "test") { + cleanupFnArray.unshift(() => { + fixtureValueMap.delete(fixture); + }); + } + } + } + return resolveFixtures().then(() => fn(context)); + }; +} +const globalFixturePromise = new WeakMap(); +function resolveFixtureValue(runner, fixture, context, cleanupFnArray) { + var _runner$getWorkerCont; + const fileContext = getFileContext(context.task.file); + const workerContext = (_runner$getWorkerCont = runner.getWorkerContext) === null || _runner$getWorkerCont === void 0 ? void 0 : _runner$getWorkerCont.call(runner); + if (!fixture.isFn) { + var _fixture$prop; + fileContext[_fixture$prop = fixture.prop] ?? (fileContext[_fixture$prop] = fixture.value); + if (workerContext) { + var _fixture$prop2; + workerContext[_fixture$prop2 = fixture.prop] ?? (workerContext[_fixture$prop2] = fixture.value); + } + return fixture.value; + } + if (fixture.scope === "test") { + return resolveFixtureFunction(fixture.value, context, cleanupFnArray); + } + // in case the test runs in parallel + if (globalFixturePromise.has(fixture)) { + return globalFixturePromise.get(fixture); + } + let fixtureContext; + if (fixture.scope === "worker") { + if (!workerContext) { + throw new TypeError("[@vitest/runner] The worker context is not available in the current test runner. Please, provide the `getWorkerContext` method when initiating the runner."); + } + fixtureContext = workerContext; + } else { + fixtureContext = fileContext; + } + if (fixture.prop in fixtureContext) { + return fixtureContext[fixture.prop]; + } + if (!cleanupFnArrayMap.has(fixtureContext)) { + cleanupFnArrayMap.set(fixtureContext, []); + } + const cleanupFnFileArray = cleanupFnArrayMap.get(fixtureContext); + const promise = resolveFixtureFunction(fixture.value, fixtureContext, cleanupFnFileArray).then((value) => { + fixtureContext[fixture.prop] = value; + globalFixturePromise.delete(fixture); + return value; + }); + globalFixturePromise.set(fixture, promise); + return promise; +} +async function resolveFixtureFunction(fixtureFn, context, cleanupFnArray) { + // wait for `use` call to extract fixture value + const useFnArgPromise = createDefer(); + let isUseFnArgResolved = false; + const fixtureReturn = fixtureFn(context, async (useFnArg) => { + // extract `use` argument + isUseFnArgResolved = true; + useFnArgPromise.resolve(useFnArg); + // suspend fixture teardown by holding off `useReturnPromise` resolution until cleanup + const useReturnPromise = createDefer(); + cleanupFnArray.push(async () => { + // start teardown by resolving `use` Promise + useReturnPromise.resolve(); + // wait for finishing teardown + await fixtureReturn; + }); + await useReturnPromise; + }).catch((e) => { + // treat fixture setup error as test failure + if (!isUseFnArgResolved) { + useFnArgPromise.reject(e); + return; + } + // otherwise re-throw to avoid silencing error during cleanup + throw e; + }); + return useFnArgPromise; +} +function resolveDeps(fixtures, depSet = new Set(), pendingFixtures = []) { + fixtures.forEach((fixture) => { + if (pendingFixtures.includes(fixture)) { + return; + } + if (!fixture.isFn || !fixture.deps) { + pendingFixtures.push(fixture); + return; + } + if (depSet.has(fixture)) { + throw new Error(`Circular fixture dependency detected: ${fixture.prop} <- ${[...depSet].reverse().map((d) => d.prop).join(" <- ")}`); + } + depSet.add(fixture); + resolveDeps(fixture.deps, depSet, pendingFixtures); + pendingFixtures.push(fixture); + depSet.clear(); + }); + return pendingFixtures; +} +function getUsedProps(fn) { + let fnString = stripLiteral(fn.toString()); + // match lowered async function and strip it off + // example code on esbuild-try https://esbuild.github.io/try/#YgAwLjI0LjAALS1zdXBwb3J0ZWQ6YXN5bmMtYXdhaXQ9ZmFsc2UAZQBlbnRyeS50cwBjb25zdCBvID0gewogIGYxOiBhc3luYyAoKSA9PiB7fSwKICBmMjogYXN5bmMgKGEpID0+IHt9LAogIGYzOiBhc3luYyAoYSwgYikgPT4ge30sCiAgZjQ6IGFzeW5jIGZ1bmN0aW9uKGEpIHt9LAogIGY1OiBhc3luYyBmdW5jdGlvbiBmZihhKSB7fSwKICBhc3luYyBmNihhKSB7fSwKCiAgZzE6IGFzeW5jICgpID0+IHt9LAogIGcyOiBhc3luYyAoeyBhIH0pID0+IHt9LAogIGczOiBhc3luYyAoeyBhIH0sIGIpID0+IHt9LAogIGc0OiBhc3luYyBmdW5jdGlvbiAoeyBhIH0pIHt9LAogIGc1OiBhc3luYyBmdW5jdGlvbiBnZyh7IGEgfSkge30sCiAgYXN5bmMgZzYoeyBhIH0pIHt9LAoKICBoMTogYXN5bmMgKCkgPT4ge30sCiAgLy8gY29tbWVudCBiZXR3ZWVuCiAgaDI6IGFzeW5jIChhKSA9PiB7fSwKfQ + // __async(this, null, function* + // __async(this, arguments, function* + // __async(this, [_0, _1], function* + if (/__async\((?:this|null), (?:null|arguments|\[[_0-9, ]*\]), function\*/.test(fnString)) { + fnString = fnString.split(/__async\((?:this|null),/)[1]; + } + const match = fnString.match(/[^(]*\(([^)]*)/); + if (!match) { + return []; + } + const args = splitByComma(match[1]); + if (!args.length) { + return []; + } + let first = args[0]; + if ("__VITEST_FIXTURE_INDEX__" in fn) { + first = args[fn.__VITEST_FIXTURE_INDEX__]; + if (!first) { + return []; + } + } + if (!(first.startsWith("{") && first.endsWith("}"))) { + throw new Error(`The first argument inside a fixture must use object destructuring pattern, e.g. ({ test } => {}). Instead, received "${first}".`); + } + const _first = first.slice(1, -1).replace(/\s/g, ""); + const props = splitByComma(_first).map((prop) => { + return prop.replace(/:.*|=.*/g, ""); + }); + const last = props.at(-1); + if (last && last.startsWith("...")) { + throw new Error(`Rest parameters are not supported in fixtures, received "${last}".`); + } + return props; +} +function splitByComma(s) { + const result = []; + const stack = []; + let start = 0; + for (let i = 0; i < s.length; i++) { + if (s[i] === "{" || s[i] === "[") { + stack.push(s[i] === "{" ? "}" : "]"); + } else if (s[i] === stack[stack.length - 1]) { + stack.pop(); + } else if (!stack.length && s[i] === ",") { + const token = s.substring(start, i).trim(); + if (token) { + result.push(token); + } + start = i + 1; + } + } + const lastToken = s.substring(start).trim(); + if (lastToken) { + result.push(lastToken); + } + return result; +} + +let _test; +function setCurrentTest(test) { + _test = test; +} +function getCurrentTest() { + return _test; +} +const tests = []; +function addRunningTest(test) { + tests.push(test); + return () => { + tests.splice(tests.indexOf(test)); + }; +} +function getRunningTests() { + return tests; +} + +function createChainable(keys, fn) { + function create(context) { + const chain = function(...args) { + return fn.apply(context, args); + }; + Object.assign(chain, fn); + chain.withContext = () => chain.bind(context); + chain.setContext = (key, value) => { + context[key] = value; + }; + chain.mergeContext = (ctx) => { + Object.assign(context, ctx); + }; + for (const key of keys) { + Object.defineProperty(chain, key, { get() { + return create({ + ...context, + [key]: true + }); + } }); + } + return chain; + } + const chain = create({}); + chain.fn = fn; + return chain; +} + +/** +* Creates a suite of tests, allowing for grouping and hierarchical organization of tests. +* Suites can contain both tests and other suites, enabling complex test structures. +* +* @param {string} name - The name of the suite, used for identification and reporting. +* @param {Function} fn - A function that defines the tests and suites within this suite. +* @example +* ```ts +* // Define a suite with two tests +* suite('Math operations', () => { +* test('should add two numbers', () => { +* expect(add(1, 2)).toBe(3); +* }); +* +* test('should subtract two numbers', () => { +* expect(subtract(5, 2)).toBe(3); +* }); +* }); +* ``` +* @example +* ```ts +* // Define nested suites +* suite('String operations', () => { +* suite('Trimming', () => { +* test('should trim whitespace from start and end', () => { +* expect(' hello '.trim()).toBe('hello'); +* }); +* }); +* +* suite('Concatenation', () => { +* test('should concatenate two strings', () => { +* expect('hello' + ' ' + 'world').toBe('hello world'); +* }); +* }); +* }); +* ``` +*/ +const suite = createSuite(); +/** +* Defines a test case with a given name and test function. The test function can optionally be configured with test options. +* +* @param {string | Function} name - The name of the test or a function that will be used as a test name. +* @param {TestOptions | TestFunction} [optionsOrFn] - Optional. The test options or the test function if no explicit name is provided. +* @param {number | TestOptions | TestFunction} [optionsOrTest] - Optional. The test function or options, depending on the previous parameters. +* @throws {Error} If called inside another test function. +* @example +* ```ts +* // Define a simple test +* test('should add two numbers', () => { +* expect(add(1, 2)).toBe(3); +* }); +* ``` +* @example +* ```ts +* // Define a test with options +* test('should subtract two numbers', { retry: 3 }, () => { +* expect(subtract(5, 2)).toBe(3); +* }); +* ``` +*/ +const test = createTest(function(name, optionsOrFn, optionsOrTest) { + if (getCurrentTest()) { + throw new Error("Calling the test function inside another test function is not allowed. Please put it inside \"describe\" or \"suite\" so it can be properly collected."); + } + getCurrentSuite().test.fn.call(this, formatName(name), optionsOrFn, optionsOrTest); +}); +/** +* Creates a suite of tests, allowing for grouping and hierarchical organization of tests. +* Suites can contain both tests and other suites, enabling complex test structures. +* +* @param {string} name - The name of the suite, used for identification and reporting. +* @param {Function} fn - A function that defines the tests and suites within this suite. +* @example +* ```ts +* // Define a suite with two tests +* describe('Math operations', () => { +* test('should add two numbers', () => { +* expect(add(1, 2)).toBe(3); +* }); +* +* test('should subtract two numbers', () => { +* expect(subtract(5, 2)).toBe(3); +* }); +* }); +* ``` +* @example +* ```ts +* // Define nested suites +* describe('String operations', () => { +* describe('Trimming', () => { +* test('should trim whitespace from start and end', () => { +* expect(' hello '.trim()).toBe('hello'); +* }); +* }); +* +* describe('Concatenation', () => { +* test('should concatenate two strings', () => { +* expect('hello' + ' ' + 'world').toBe('hello world'); +* }); +* }); +* }); +* ``` +*/ +const describe = suite; +/** +* Defines a test case with a given name and test function. The test function can optionally be configured with test options. +* +* @param {string | Function} name - The name of the test or a function that will be used as a test name. +* @param {TestOptions | TestFunction} [optionsOrFn] - Optional. The test options or the test function if no explicit name is provided. +* @param {number | TestOptions | TestFunction} [optionsOrTest] - Optional. The test function or options, depending on the previous parameters. +* @throws {Error} If called inside another test function. +* @example +* ```ts +* // Define a simple test +* it('adds two numbers', () => { +* expect(add(1, 2)).toBe(3); +* }); +* ``` +* @example +* ```ts +* // Define a test with options +* it('subtracts two numbers', { retry: 3 }, () => { +* expect(subtract(5, 2)).toBe(3); +* }); +* ``` +*/ +const it = test; +let runner; +let defaultSuite; +let currentTestFilepath; +function assert(condition, message) { + if (!condition) { + throw new Error(`Vitest failed to find ${message}. This is a bug in Vitest. Please, open an issue with reproduction.`); + } +} +function getDefaultSuite() { + assert(defaultSuite, "the default suite"); + return defaultSuite; +} +function getTestFilepath() { + return currentTestFilepath; +} +function getRunner() { + assert(runner, "the runner"); + return runner; +} +function createDefaultSuite(runner) { + const config = runner.config.sequence; + const collector = suite("", { concurrent: config.concurrent }, () => {}); + // no parent suite for top-level tests + delete collector.suite; + return collector; +} +function clearCollectorContext(filepath, currentRunner) { + if (!defaultSuite) { + defaultSuite = createDefaultSuite(currentRunner); + } + runner = currentRunner; + currentTestFilepath = filepath; + collectorContext.tasks.length = 0; + defaultSuite.clear(); + collectorContext.currentSuite = defaultSuite; +} +function getCurrentSuite() { + const currentSuite = collectorContext.currentSuite || defaultSuite; + assert(currentSuite, "the current suite"); + return currentSuite; +} +function createSuiteHooks() { + return { + beforeAll: [], + afterAll: [], + beforeEach: [], + afterEach: [] + }; +} +function parseArguments(optionsOrFn, optionsOrTest) { + let options = {}; + let fn = () => {}; + // it('', () => {}, { retry: 2 }) + if (typeof optionsOrTest === "object") { + // it('', { retry: 2 }, { retry: 3 }) + if (typeof optionsOrFn === "object") { + throw new TypeError("Cannot use two objects as arguments. Please provide options and a function callback in that order."); + } + console.warn("Using an object as a third argument is deprecated. Vitest 4 will throw an error if the third argument is not a timeout number. Please use the second argument for options. See more at https://vitest.dev/guide/migration"); + options = optionsOrTest; + } else if (typeof optionsOrTest === "number") { + options = { timeout: optionsOrTest }; + } else if (typeof optionsOrFn === "object") { + options = optionsOrFn; + } + if (typeof optionsOrFn === "function") { + if (typeof optionsOrTest === "function") { + throw new TypeError("Cannot use two functions as arguments. Please use the second argument for options."); + } + fn = optionsOrFn; + } else if (typeof optionsOrTest === "function") { + fn = optionsOrTest; + } + return { + options, + handler: fn + }; +} +// implementations +function createSuiteCollector(name, factory = () => {}, mode, each, suiteOptions, parentCollectorFixtures) { + const tasks = []; + let suite; + initSuite(true); + const task = function(name = "", options = {}) { + var _collectorContext$cur; + const timeout = (options === null || options === void 0 ? void 0 : options.timeout) ?? runner.config.testTimeout; + const task = { + id: "", + name, + suite: (_collectorContext$cur = collectorContext.currentSuite) === null || _collectorContext$cur === void 0 ? void 0 : _collectorContext$cur.suite, + each: options.each, + fails: options.fails, + context: undefined, + type: "test", + file: undefined, + timeout, + retry: options.retry ?? runner.config.retry, + repeats: options.repeats, + mode: options.only ? "only" : options.skip ? "skip" : options.todo ? "todo" : "run", + meta: options.meta ?? Object.create(null), + annotations: [] + }; + const handler = options.handler; + if (options.concurrent || !options.sequential && runner.config.sequence.concurrent) { + task.concurrent = true; + } + task.shuffle = suiteOptions === null || suiteOptions === void 0 ? void 0 : suiteOptions.shuffle; + const context = createTestContext(task, runner); + // create test context + Object.defineProperty(task, "context", { + value: context, + enumerable: false + }); + setTestFixture(context, options.fixtures); + // custom can be called from any place, let's assume the limit is 15 stacks + const limit = Error.stackTraceLimit; + Error.stackTraceLimit = 15; + const stackTraceError = new Error("STACK_TRACE_ERROR"); + Error.stackTraceLimit = limit; + if (handler) { + setFn(task, withTimeout(withAwaitAsyncAssertions(withFixtures(runner, handler, context), task), timeout, false, stackTraceError, (_, error) => abortIfTimeout([context], error))); + } + if (runner.config.includeTaskLocation) { + const error = stackTraceError.stack; + const stack = findTestFileStackTrace(error); + if (stack) { + task.location = stack; + } + } + tasks.push(task); + return task; + }; + const test = createTest(function(name, optionsOrFn, optionsOrTest) { + let { options, handler } = parseArguments(optionsOrFn, optionsOrTest); + // inherit repeats, retry, timeout from suite + if (typeof suiteOptions === "object") { + options = Object.assign({}, suiteOptions, options); + } + // inherit concurrent / sequential from suite + options.concurrent = this.concurrent || !this.sequential && (options === null || options === void 0 ? void 0 : options.concurrent); + options.sequential = this.sequential || !this.concurrent && (options === null || options === void 0 ? void 0 : options.sequential); + const test = task(formatName(name), { + ...this, + ...options, + handler + }); + test.type = "test"; + }); + let collectorFixtures = parentCollectorFixtures; + const collector = { + type: "collector", + name, + mode, + suite, + options: suiteOptions, + test, + tasks, + collect, + task, + clear, + on: addHook, + fixtures() { + return collectorFixtures; + }, + scoped(fixtures) { + const parsed = mergeContextFixtures(fixtures, { fixtures: collectorFixtures }, runner); + if (parsed.fixtures) { + collectorFixtures = parsed.fixtures; + } + } + }; + function addHook(name, ...fn) { + getHooks(suite)[name].push(...fn); + } + function initSuite(includeLocation) { + var _collectorContext$cur2; + if (typeof suiteOptions === "number") { + suiteOptions = { timeout: suiteOptions }; + } + suite = { + id: "", + type: "suite", + name, + suite: (_collectorContext$cur2 = collectorContext.currentSuite) === null || _collectorContext$cur2 === void 0 ? void 0 : _collectorContext$cur2.suite, + mode, + each, + file: undefined, + shuffle: suiteOptions === null || suiteOptions === void 0 ? void 0 : suiteOptions.shuffle, + tasks: [], + meta: Object.create(null), + concurrent: suiteOptions === null || suiteOptions === void 0 ? void 0 : suiteOptions.concurrent + }; + if (runner && includeLocation && runner.config.includeTaskLocation) { + const limit = Error.stackTraceLimit; + Error.stackTraceLimit = 15; + const error = new Error("stacktrace").stack; + Error.stackTraceLimit = limit; + const stack = findTestFileStackTrace(error); + if (stack) { + suite.location = stack; + } + } + setHooks(suite, createSuiteHooks()); + } + function clear() { + tasks.length = 0; + initSuite(false); + } + async function collect(file) { + if (!file) { + throw new TypeError("File is required to collect tasks."); + } + if (factory) { + await runWithSuite(collector, () => factory(test)); + } + const allChildren = []; + for (const i of tasks) { + allChildren.push(i.type === "collector" ? await i.collect(file) : i); + } + suite.file = file; + suite.tasks = allChildren; + allChildren.forEach((task) => { + task.file = file; + }); + return suite; + } + collectTask(collector); + return collector; +} +function withAwaitAsyncAssertions(fn, task) { + return async (...args) => { + const fnResult = await fn(...args); + // some async expect will be added to this array, in case user forget to await them + if (task.promises) { + const result = await Promise.allSettled(task.promises); + const errors = result.map((r) => r.status === "rejected" ? r.reason : undefined).filter(Boolean); + if (errors.length) { + throw errors; + } + } + return fnResult; + }; +} +function createSuite() { + function suiteFn(name, factoryOrOptions, optionsOrFactory) { + var _currentSuite$options; + const mode = this.only ? "only" : this.skip ? "skip" : this.todo ? "todo" : "run"; + const currentSuite = collectorContext.currentSuite || defaultSuite; + let { options, handler: factory } = parseArguments(factoryOrOptions, optionsOrFactory); + const isConcurrentSpecified = options.concurrent || this.concurrent || options.sequential === false; + const isSequentialSpecified = options.sequential || this.sequential || options.concurrent === false; + // inherit options from current suite + options = { + ...currentSuite === null || currentSuite === void 0 ? void 0 : currentSuite.options, + ...options, + shuffle: this.shuffle ?? options.shuffle ?? (currentSuite === null || currentSuite === void 0 || (_currentSuite$options = currentSuite.options) === null || _currentSuite$options === void 0 ? void 0 : _currentSuite$options.shuffle) ?? (runner === null || runner === void 0 ? void 0 : runner.config.sequence.shuffle) + }; + // inherit concurrent / sequential from suite + const isConcurrent = isConcurrentSpecified || options.concurrent && !isSequentialSpecified; + const isSequential = isSequentialSpecified || options.sequential && !isConcurrentSpecified; + options.concurrent = isConcurrent && !isSequential; + options.sequential = isSequential && !isConcurrent; + return createSuiteCollector(formatName(name), factory, mode, this.each, options, currentSuite === null || currentSuite === void 0 ? void 0 : currentSuite.fixtures()); + } + suiteFn.each = function(cases, ...args) { + const suite = this.withContext(); + this.setContext("each", true); + if (Array.isArray(cases) && args.length) { + cases = formatTemplateString(cases, args); + } + return (name, optionsOrFn, fnOrOptions) => { + const _name = formatName(name); + const arrayOnlyCases = cases.every(Array.isArray); + const { options, handler } = parseArguments(optionsOrFn, fnOrOptions); + const fnFirst = typeof optionsOrFn === "function" && typeof fnOrOptions === "object"; + cases.forEach((i, idx) => { + const items = Array.isArray(i) ? i : [i]; + if (fnFirst) { + if (arrayOnlyCases) { + suite(formatTitle(_name, items, idx), () => handler(...items), options); + } else { + suite(formatTitle(_name, items, idx), () => handler(i), options); + } + } else { + if (arrayOnlyCases) { + suite(formatTitle(_name, items, idx), options, () => handler(...items)); + } else { + suite(formatTitle(_name, items, idx), options, () => handler(i)); + } + } + }); + this.setContext("each", undefined); + }; + }; + suiteFn.for = function(cases, ...args) { + if (Array.isArray(cases) && args.length) { + cases = formatTemplateString(cases, args); + } + return (name, optionsOrFn, fnOrOptions) => { + const name_ = formatName(name); + const { options, handler } = parseArguments(optionsOrFn, fnOrOptions); + cases.forEach((item, idx) => { + suite(formatTitle(name_, toArray(item), idx), options, () => handler(item)); + }); + }; + }; + suiteFn.skipIf = (condition) => condition ? suite.skip : suite; + suiteFn.runIf = (condition) => condition ? suite : suite.skip; + return createChainable([ + "concurrent", + "sequential", + "shuffle", + "skip", + "only", + "todo" + ], suiteFn); +} +function createTaskCollector(fn, context) { + const taskFn = fn; + taskFn.each = function(cases, ...args) { + const test = this.withContext(); + this.setContext("each", true); + if (Array.isArray(cases) && args.length) { + cases = formatTemplateString(cases, args); + } + return (name, optionsOrFn, fnOrOptions) => { + const _name = formatName(name); + const arrayOnlyCases = cases.every(Array.isArray); + const { options, handler } = parseArguments(optionsOrFn, fnOrOptions); + const fnFirst = typeof optionsOrFn === "function" && typeof fnOrOptions === "object"; + cases.forEach((i, idx) => { + const items = Array.isArray(i) ? i : [i]; + if (fnFirst) { + if (arrayOnlyCases) { + test(formatTitle(_name, items, idx), () => handler(...items), options); + } else { + test(formatTitle(_name, items, idx), () => handler(i), options); + } + } else { + if (arrayOnlyCases) { + test(formatTitle(_name, items, idx), options, () => handler(...items)); + } else { + test(formatTitle(_name, items, idx), options, () => handler(i)); + } + } + }); + this.setContext("each", undefined); + }; + }; + taskFn.for = function(cases, ...args) { + const test = this.withContext(); + if (Array.isArray(cases) && args.length) { + cases = formatTemplateString(cases, args); + } + return (name, optionsOrFn, fnOrOptions) => { + const _name = formatName(name); + const { options, handler } = parseArguments(optionsOrFn, fnOrOptions); + cases.forEach((item, idx) => { + // monkey-patch handler to allow parsing fixture + const handlerWrapper = (ctx) => handler(item, ctx); + handlerWrapper.__VITEST_FIXTURE_INDEX__ = 1; + handlerWrapper.toString = () => handler.toString(); + test(formatTitle(_name, toArray(item), idx), options, handlerWrapper); + }); + }; + }; + taskFn.skipIf = function(condition) { + return condition ? this.skip : this; + }; + taskFn.runIf = function(condition) { + return condition ? this : this.skip; + }; + taskFn.scoped = function(fixtures) { + const collector = getCurrentSuite(); + collector.scoped(fixtures); + }; + taskFn.extend = function(fixtures) { + const _context = mergeContextFixtures(fixtures, context || {}, runner); + return createTest(function fn(name, optionsOrFn, optionsOrTest) { + const collector = getCurrentSuite(); + const scopedFixtures = collector.fixtures(); + const context = { ...this }; + if (scopedFixtures) { + context.fixtures = mergeScopedFixtures(context.fixtures || [], scopedFixtures); + } + collector.test.fn.call(context, formatName(name), optionsOrFn, optionsOrTest); + }, _context); + }; + const _test = createChainable([ + "concurrent", + "sequential", + "skip", + "only", + "todo", + "fails" + ], taskFn); + if (context) { + _test.mergeContext(context); + } + return _test; +} +function createTest(fn, context) { + return createTaskCollector(fn, context); +} +function formatName(name) { + return typeof name === "string" ? name : typeof name === "function" ? name.name || "" : String(name); +} +function formatTitle(template, items, idx) { + if (template.includes("%#") || template.includes("%$")) { + // '%#' match index of the test case + template = template.replace(/%%/g, "__vitest_escaped_%__").replace(/%#/g, `${idx}`).replace(/%\$/g, `${idx + 1}`).replace(/__vitest_escaped_%__/g, "%%"); + } + const count = template.split("%").length - 1; + if (template.includes("%f")) { + const placeholders = template.match(/%f/g) || []; + placeholders.forEach((_, i) => { + if (isNegativeNaN(items[i]) || Object.is(items[i], -0)) { + // Replace the i-th occurrence of '%f' with '-%f' + let occurrence = 0; + template = template.replace(/%f/g, (match) => { + occurrence++; + return occurrence === i + 1 ? "-%f" : match; + }); + } + }); + } + let formatted = format(template, ...items.slice(0, count)); + const isObjectItem = isObject(items[0]); + formatted = formatted.replace(/\$([$\w.]+)/g, (_, key) => { + var _runner$config; + const isArrayKey = /^\d+$/.test(key); + if (!isObjectItem && !isArrayKey) { + return `$${key}`; + } + const arrayElement = isArrayKey ? objectAttr(items, key) : undefined; + const value = isObjectItem ? objectAttr(items[0], key, arrayElement) : arrayElement; + return objDisplay(value, { truncate: runner === null || runner === void 0 || (_runner$config = runner.config) === null || _runner$config === void 0 || (_runner$config = _runner$config.chaiConfig) === null || _runner$config === void 0 ? void 0 : _runner$config.truncateThreshold }); + }); + return formatted; +} +function formatTemplateString(cases, args) { + const header = cases.join("").trim().replace(/ /g, "").split("\n").map((i) => i.split("|"))[0]; + const res = []; + for (let i = 0; i < Math.floor(args.length / header.length); i++) { + const oneCase = {}; + for (let j = 0; j < header.length; j++) { + oneCase[header[j]] = args[i * header.length + j]; + } + res.push(oneCase); + } + return res; +} +function findTestFileStackTrace(error) { + const testFilePath = getTestFilepath(); + // first line is the error message + const lines = error.split("\n").slice(1); + for (const line of lines) { + const stack = parseSingleStack(line); + if (stack && stack.file === testFilePath) { + return { + line: stack.line, + column: stack.column + }; + } + } +} + +/** +* If any tasks been marked as `only`, mark all other tasks as `skip`. +*/ +function interpretTaskModes(file, namePattern, testLocations, onlyMode, parentIsOnly, allowOnly) { + const matchedLocations = []; + const traverseSuite = (suite, parentIsOnly, parentMatchedWithLocation) => { + const suiteIsOnly = parentIsOnly || suite.mode === "only"; + suite.tasks.forEach((t) => { + // Check if either the parent suite or the task itself are marked as included + const includeTask = suiteIsOnly || t.mode === "only"; + if (onlyMode) { + if (t.type === "suite" && (includeTask || someTasksAreOnly(t))) { + // Don't skip this suite + if (t.mode === "only") { + checkAllowOnly(t, allowOnly); + t.mode = "run"; + } + } else if (t.mode === "run" && !includeTask) { + t.mode = "skip"; + } else if (t.mode === "only") { + checkAllowOnly(t, allowOnly); + t.mode = "run"; + } + } + let hasLocationMatch = parentMatchedWithLocation; + // Match test location against provided locations, only run if present + // in `testLocations`. Note: if `includeTaskLocations` is not enabled, + // all test will be skipped. + if (testLocations !== undefined && testLocations.length !== 0) { + if (t.location && (testLocations === null || testLocations === void 0 ? void 0 : testLocations.includes(t.location.line))) { + t.mode = "run"; + matchedLocations.push(t.location.line); + hasLocationMatch = true; + } else if (parentMatchedWithLocation) { + t.mode = "run"; + } else if (t.type === "test") { + t.mode = "skip"; + } + } + if (t.type === "test") { + if (namePattern && !getTaskFullName(t).match(namePattern)) { + t.mode = "skip"; + } + } else if (t.type === "suite") { + if (t.mode === "skip") { + skipAllTasks(t); + } else if (t.mode === "todo") { + todoAllTasks(t); + } else { + traverseSuite(t, includeTask, hasLocationMatch); + } + } + }); + // if all subtasks are skipped, mark as skip + if (suite.mode === "run" || suite.mode === "queued") { + if (suite.tasks.length && suite.tasks.every((i) => i.mode !== "run" && i.mode !== "queued")) { + suite.mode = "skip"; + } + } + }; + traverseSuite(file, parentIsOnly, false); + const nonMatching = testLocations === null || testLocations === void 0 ? void 0 : testLocations.filter((loc) => !matchedLocations.includes(loc)); + if (nonMatching && nonMatching.length !== 0) { + const message = nonMatching.length === 1 ? `line ${nonMatching[0]}` : `lines ${nonMatching.join(", ")}`; + if (file.result === undefined) { + file.result = { + state: "fail", + errors: [] + }; + } + if (file.result.errors === undefined) { + file.result.errors = []; + } + file.result.errors.push(processError(new Error(`No test found in ${file.name} in ${message}`))); + } +} +function getTaskFullName(task) { + return `${task.suite ? `${getTaskFullName(task.suite)} ` : ""}${task.name}`; +} +function someTasksAreOnly(suite) { + return suite.tasks.some((t) => t.mode === "only" || t.type === "suite" && someTasksAreOnly(t)); +} +function skipAllTasks(suite) { + suite.tasks.forEach((t) => { + if (t.mode === "run" || t.mode === "queued") { + t.mode = "skip"; + if (t.type === "suite") { + skipAllTasks(t); + } + } + }); +} +function todoAllTasks(suite) { + suite.tasks.forEach((t) => { + if (t.mode === "run" || t.mode === "queued") { + t.mode = "todo"; + if (t.type === "suite") { + todoAllTasks(t); + } + } + }); +} +function checkAllowOnly(task, allowOnly) { + if (allowOnly) { + return; + } + const error = processError(new Error("[Vitest] Unexpected .only modifier. Remove it or pass --allowOnly argument to bypass this error")); + task.result = { + state: "fail", + errors: [error] + }; +} +function generateHash(str) { + let hash = 0; + if (str.length === 0) { + return `${hash}`; + } + for (let i = 0; i < str.length; i++) { + const char = str.charCodeAt(i); + hash = (hash << 5) - hash + char; + hash = hash & hash; + } + return `${hash}`; +} +function calculateSuiteHash(parent) { + parent.tasks.forEach((t, idx) => { + t.id = `${parent.id}_${idx}`; + if (t.type === "suite") { + calculateSuiteHash(t); + } + }); +} +function createFileTask(filepath, root, projectName, pool) { + const path = relative(root, filepath); + const file = { + id: generateFileHash(path, projectName), + name: path, + type: "suite", + mode: "queued", + filepath, + tasks: [], + meta: Object.create(null), + projectName, + file: undefined, + pool + }; + file.file = file; + setFileContext(file, Object.create(null)); + return file; +} +/** +* Generate a unique ID for a file based on its path and project name +* @param file File relative to the root of the project to keep ID the same between different machines +* @param projectName The name of the test project +*/ +function generateFileHash(file, projectName) { + return generateHash(`${file}${projectName || ""}`); +} + +const now$2 = globalThis.performance ? globalThis.performance.now.bind(globalThis.performance) : Date.now; +async function collectTests(specs, runner) { + const files = []; + const config = runner.config; + for (const spec of specs) { + var _runner$onCollectStar; + const filepath = typeof spec === "string" ? spec : spec.filepath; + const testLocations = typeof spec === "string" ? undefined : spec.testLocations; + const file = createFileTask(filepath, config.root, config.name, runner.pool); + file.shuffle = config.sequence.shuffle; + (_runner$onCollectStar = runner.onCollectStart) === null || _runner$onCollectStar === void 0 ? void 0 : _runner$onCollectStar.call(runner, file); + clearCollectorContext(filepath, runner); + try { + var _runner$getImportDura; + const setupFiles = toArray(config.setupFiles); + if (setupFiles.length) { + const setupStart = now$2(); + await runSetupFiles(config, setupFiles, runner); + const setupEnd = now$2(); + file.setupDuration = setupEnd - setupStart; + } else { + file.setupDuration = 0; + } + const collectStart = now$2(); + await runner.importFile(filepath, "collect"); + const durations = (_runner$getImportDura = runner.getImportDurations) === null || _runner$getImportDura === void 0 ? void 0 : _runner$getImportDura.call(runner); + if (durations) { + file.importDurations = durations; + } + const defaultTasks = await getDefaultSuite().collect(file); + const fileHooks = createSuiteHooks(); + mergeHooks(fileHooks, getHooks(defaultTasks)); + for (const c of [...defaultTasks.tasks, ...collectorContext.tasks]) { + if (c.type === "test" || c.type === "suite") { + file.tasks.push(c); + } else if (c.type === "collector") { + const suite = await c.collect(file); + if (suite.name || suite.tasks.length) { + mergeHooks(fileHooks, getHooks(suite)); + file.tasks.push(suite); + } + } else { + // check that types are exhausted + c; + } + } + setHooks(file, fileHooks); + file.collectDuration = now$2() - collectStart; + } catch (e) { + var _runner$getImportDura2; + const error = processError(e); + file.result = { + state: "fail", + errors: [error] + }; + const durations = (_runner$getImportDura2 = runner.getImportDurations) === null || _runner$getImportDura2 === void 0 ? void 0 : _runner$getImportDura2.call(runner); + if (durations) { + file.importDurations = durations; + } + } + calculateSuiteHash(file); + const hasOnlyTasks = someTasksAreOnly(file); + interpretTaskModes(file, config.testNamePattern, testLocations, hasOnlyTasks, false, config.allowOnly); + if (file.mode === "queued") { + file.mode = "run"; + } + files.push(file); + } + return files; +} +function mergeHooks(baseHooks, hooks) { + for (const _key in hooks) { + const key = _key; + baseHooks[key].push(...hooks[key]); + } + return baseHooks; +} + +/** +* Return a function for running multiple async operations with limited concurrency. +*/ +function limitConcurrency(concurrency = Infinity) { + // The number of currently active + pending tasks. + let count = 0; + // The head and tail of the pending task queue, built using a singly linked list. + // Both head and tail are initially undefined, signifying an empty queue. + // They both become undefined again whenever there are no pending tasks. + let head; + let tail; + // A bookkeeping function executed whenever a task has been run to completion. + const finish = () => { + count--; + // Check if there are further pending tasks in the queue. + if (head) { + // Allow the next pending task to run and pop it from the queue. + head[0](); + head = head[1]; + // The head may now be undefined if there are no further pending tasks. + // In that case, set tail to undefined as well. + tail = head && tail; + } + }; + return (func, ...args) => { + // Create a promise chain that: + // 1. Waits for its turn in the task queue (if necessary). + // 2. Runs the task. + // 3. Allows the next pending task (if any) to run. + return new Promise((resolve) => { + if (count++ < concurrency) { + // No need to queue if fewer than maxConcurrency tasks are running. + resolve(); + } else if (tail) { + // There are pending tasks, so append to the queue. + tail = tail[1] = [resolve]; + } else { + // No other pending tasks, initialize the queue with a new tail and head. + head = tail = [resolve]; + } + }).then(() => { + // Running func here ensures that even a non-thenable result or an + // immediately thrown error gets wrapped into a Promise. + return func(...args); + }).finally(finish); + }; +} + +/** +* Partition in tasks groups by consecutive concurrent +*/ +function partitionSuiteChildren(suite) { + let tasksGroup = []; + const tasksGroups = []; + for (const c of suite.tasks) { + if (tasksGroup.length === 0 || c.concurrent === tasksGroup[0].concurrent) { + tasksGroup.push(c); + } else { + tasksGroups.push(tasksGroup); + tasksGroup = [c]; + } + } + if (tasksGroup.length > 0) { + tasksGroups.push(tasksGroup); + } + return tasksGroups; +} + +/** +* @deprecated use `isTestCase` instead +*/ +function isAtomTest(s) { + return isTestCase(s); +} +function isTestCase(s) { + return s.type === "test"; +} +function getTests(suite) { + const tests = []; + const arraySuites = toArray(suite); + for (const s of arraySuites) { + if (isTestCase(s)) { + tests.push(s); + } else { + for (const task of s.tasks) { + if (isTestCase(task)) { + tests.push(task); + } else { + const taskTests = getTests(task); + for (const test of taskTests) { + tests.push(test); + } + } + } + } + } + return tests; +} +function getTasks(tasks = []) { + return toArray(tasks).flatMap((s) => isTestCase(s) ? [s] : [s, ...getTasks(s.tasks)]); +} +function getSuites(suite) { + return toArray(suite).flatMap((s) => s.type === "suite" ? [s, ...getSuites(s.tasks)] : []); +} +function hasTests(suite) { + return toArray(suite).some((s) => s.tasks.some((c) => isTestCase(c) || hasTests(c))); +} +function hasFailed(suite) { + return toArray(suite).some((s) => { + var _s$result; + return ((_s$result = s.result) === null || _s$result === void 0 ? void 0 : _s$result.state) === "fail" || s.type === "suite" && hasFailed(s.tasks); + }); +} +function getNames(task) { + const names = [task.name]; + let current = task; + while (current === null || current === void 0 ? void 0 : current.suite) { + current = current.suite; + if (current === null || current === void 0 ? void 0 : current.name) { + names.unshift(current.name); + } + } + if (current !== task.file) { + names.unshift(task.file.name); + } + return names; +} +function getFullName(task, separator = " > ") { + return getNames(task).join(separator); +} +function getTestName(task, separator = " > ") { + return getNames(task).slice(1).join(separator); +} + +const now$1 = globalThis.performance ? globalThis.performance.now.bind(globalThis.performance) : Date.now; +const unixNow = Date.now; +const { clearTimeout, setTimeout } = getSafeTimers(); +function updateSuiteHookState(task, name, state, runner) { + if (!task.result) { + task.result = { state: "run" }; + } + if (!task.result.hooks) { + task.result.hooks = {}; + } + const suiteHooks = task.result.hooks; + if (suiteHooks) { + suiteHooks[name] = state; + let event = state === "run" ? "before-hook-start" : "before-hook-end"; + if (name === "afterAll" || name === "afterEach") { + event = state === "run" ? "after-hook-start" : "after-hook-end"; + } + updateTask(event, task, runner); + } +} +function getSuiteHooks(suite, name, sequence) { + const hooks = getHooks(suite)[name]; + if (sequence === "stack" && (name === "afterAll" || name === "afterEach")) { + return hooks.slice().reverse(); + } + return hooks; +} +async function callTestHooks(runner, test, hooks, sequence) { + if (sequence === "stack") { + hooks = hooks.slice().reverse(); + } + if (!hooks.length) { + return; + } + const context = test.context; + const onTestFailed = test.context.onTestFailed; + const onTestFinished = test.context.onTestFinished; + context.onTestFailed = () => { + throw new Error(`Cannot call "onTestFailed" inside a test hook.`); + }; + context.onTestFinished = () => { + throw new Error(`Cannot call "onTestFinished" inside a test hook.`); + }; + if (sequence === "parallel") { + try { + await Promise.all(hooks.map((fn) => fn(test.context))); + } catch (e) { + failTask(test.result, e, runner.config.diffOptions); + } + } else { + for (const fn of hooks) { + try { + await fn(test.context); + } catch (e) { + failTask(test.result, e, runner.config.diffOptions); + } + } + } + context.onTestFailed = onTestFailed; + context.onTestFinished = onTestFinished; +} +async function callSuiteHook(suite, currentTask, name, runner, args) { + const sequence = runner.config.sequence.hooks; + const callbacks = []; + // stop at file level + const parentSuite = "filepath" in suite ? null : suite.suite || suite.file; + if (name === "beforeEach" && parentSuite) { + callbacks.push(...await callSuiteHook(parentSuite, currentTask, name, runner, args)); + } + const hooks = getSuiteHooks(suite, name, sequence); + if (hooks.length > 0) { + updateSuiteHookState(currentTask, name, "run", runner); + } + async function runHook(hook) { + return getBeforeHookCleanupCallback(hook, await hook(...args), name === "beforeEach" ? args[0] : undefined); + } + if (sequence === "parallel") { + callbacks.push(...await Promise.all(hooks.map((hook) => runHook(hook)))); + } else { + for (const hook of hooks) { + callbacks.push(await runHook(hook)); + } + } + if (hooks.length > 0) { + updateSuiteHookState(currentTask, name, "pass", runner); + } + if (name === "afterEach" && parentSuite) { + callbacks.push(...await callSuiteHook(parentSuite, currentTask, name, runner, args)); + } + return callbacks; +} +const packs = new Map(); +const eventsPacks = []; +const pendingTasksUpdates = []; +function sendTasksUpdate(runner) { + if (packs.size) { + var _runner$onTaskUpdate; + const taskPacks = Array.from(packs).map(([id, task]) => { + return [ + id, + task[0], + task[1] + ]; + }); + const p = (_runner$onTaskUpdate = runner.onTaskUpdate) === null || _runner$onTaskUpdate === void 0 ? void 0 : _runner$onTaskUpdate.call(runner, taskPacks, eventsPacks); + if (p) { + pendingTasksUpdates.push(p); + // remove successful promise to not grow array indefnitely, + // but keep rejections so finishSendTasksUpdate can handle them + p.then(() => pendingTasksUpdates.splice(pendingTasksUpdates.indexOf(p), 1), () => {}); + } + eventsPacks.length = 0; + packs.clear(); + } +} +async function finishSendTasksUpdate(runner) { + sendTasksUpdate(runner); + await Promise.all(pendingTasksUpdates); +} +function throttle(fn, ms) { + let last = 0; + let pendingCall; + return function call(...args) { + const now = unixNow(); + if (now - last > ms) { + last = now; + clearTimeout(pendingCall); + pendingCall = undefined; + return fn.apply(this, args); + } + // Make sure fn is still called even if there are no further calls + pendingCall ?? (pendingCall = setTimeout(() => call.bind(this)(...args), ms)); + }; +} +// throttle based on summary reporter's DURATION_UPDATE_INTERVAL_MS +const sendTasksUpdateThrottled = throttle(sendTasksUpdate, 100); +function updateTask(event, task, runner) { + eventsPacks.push([ + task.id, + event, + undefined + ]); + packs.set(task.id, [task.result, task.meta]); + sendTasksUpdateThrottled(runner); +} +async function callCleanupHooks(runner, cleanups) { + const sequence = runner.config.sequence.hooks; + if (sequence === "stack") { + cleanups = cleanups.slice().reverse(); + } + if (sequence === "parallel") { + await Promise.all(cleanups.map(async (fn) => { + if (typeof fn !== "function") { + return; + } + await fn(); + })); + } else { + for (const fn of cleanups) { + if (typeof fn !== "function") { + continue; + } + await fn(); + } + } +} +async function runTest(test, runner) { + var _runner$onBeforeRunTa, _test$result, _runner$onAfterRunTas; + await ((_runner$onBeforeRunTa = runner.onBeforeRunTask) === null || _runner$onBeforeRunTa === void 0 ? void 0 : _runner$onBeforeRunTa.call(runner, test)); + if (test.mode !== "run" && test.mode !== "queued") { + updateTask("test-prepare", test, runner); + updateTask("test-finished", test, runner); + return; + } + if (((_test$result = test.result) === null || _test$result === void 0 ? void 0 : _test$result.state) === "fail") { + // should not be possible to get here, I think this is just copy pasted from suite + // TODO: maybe someone fails tests in `beforeAll` hooks? + // https://github.com/vitest-dev/vitest/pull/7069 + updateTask("test-failed-early", test, runner); + return; + } + const start = now$1(); + test.result = { + state: "run", + startTime: unixNow(), + retryCount: 0 + }; + updateTask("test-prepare", test, runner); + const cleanupRunningTest = addRunningTest(test); + setCurrentTest(test); + const suite = test.suite || test.file; + const repeats = test.repeats ?? 0; + for (let repeatCount = 0; repeatCount <= repeats; repeatCount++) { + const retry = test.retry ?? 0; + for (let retryCount = 0; retryCount <= retry; retryCount++) { + var _test$result2, _test$result3; + let beforeEachCleanups = []; + try { + var _runner$onBeforeTryTa, _runner$onAfterTryTas; + await ((_runner$onBeforeTryTa = runner.onBeforeTryTask) === null || _runner$onBeforeTryTa === void 0 ? void 0 : _runner$onBeforeTryTa.call(runner, test, { + retry: retryCount, + repeats: repeatCount + })); + test.result.repeatCount = repeatCount; + beforeEachCleanups = await callSuiteHook(suite, test, "beforeEach", runner, [test.context, suite]); + if (runner.runTask) { + await runner.runTask(test); + } else { + const fn = getFn(test); + if (!fn) { + throw new Error("Test function is not found. Did you add it using `setFn`?"); + } + await fn(); + } + await ((_runner$onAfterTryTas = runner.onAfterTryTask) === null || _runner$onAfterTryTas === void 0 ? void 0 : _runner$onAfterTryTas.call(runner, test, { + retry: retryCount, + repeats: repeatCount + })); + if (test.result.state !== "fail") { + if (!test.repeats) { + test.result.state = "pass"; + } else if (test.repeats && retry === retryCount) { + test.result.state = "pass"; + } + } + } catch (e) { + failTask(test.result, e, runner.config.diffOptions); + } + try { + var _runner$onTaskFinishe; + await ((_runner$onTaskFinishe = runner.onTaskFinished) === null || _runner$onTaskFinishe === void 0 ? void 0 : _runner$onTaskFinishe.call(runner, test)); + } catch (e) { + failTask(test.result, e, runner.config.diffOptions); + } + try { + await callSuiteHook(suite, test, "afterEach", runner, [test.context, suite]); + await callCleanupHooks(runner, beforeEachCleanups); + await callFixtureCleanup(test.context); + } catch (e) { + failTask(test.result, e, runner.config.diffOptions); + } + await callTestHooks(runner, test, test.onFinished || [], "stack"); + if (test.result.state === "fail") { + await callTestHooks(runner, test, test.onFailed || [], runner.config.sequence.hooks); + } + test.onFailed = undefined; + test.onFinished = undefined; + // skipped with new PendingError + if (((_test$result2 = test.result) === null || _test$result2 === void 0 ? void 0 : _test$result2.pending) || ((_test$result3 = test.result) === null || _test$result3 === void 0 ? void 0 : _test$result3.state) === "skip") { + var _test$result4; + test.mode = "skip"; + test.result = { + state: "skip", + note: (_test$result4 = test.result) === null || _test$result4 === void 0 ? void 0 : _test$result4.note, + pending: true, + duration: now$1() - start + }; + updateTask("test-finished", test, runner); + setCurrentTest(undefined); + cleanupRunningTest(); + return; + } + if (test.result.state === "pass") { + break; + } + if (retryCount < retry) { + // reset state when retry test + test.result.state = "run"; + test.result.retryCount = (test.result.retryCount ?? 0) + 1; + } + // update retry info + updateTask("test-retried", test, runner); + } + } + // if test is marked to be failed, flip the result + if (test.fails) { + if (test.result.state === "pass") { + const error = processError(new Error("Expect test to fail")); + test.result.state = "fail"; + test.result.errors = [error]; + } else { + test.result.state = "pass"; + test.result.errors = undefined; + } + } + cleanupRunningTest(); + setCurrentTest(undefined); + test.result.duration = now$1() - start; + await ((_runner$onAfterRunTas = runner.onAfterRunTask) === null || _runner$onAfterRunTas === void 0 ? void 0 : _runner$onAfterRunTas.call(runner, test)); + updateTask("test-finished", test, runner); +} +function failTask(result, err, diffOptions) { + if (err instanceof PendingError) { + result.state = "skip"; + result.note = err.note; + result.pending = true; + return; + } + result.state = "fail"; + const errors = Array.isArray(err) ? err : [err]; + for (const e of errors) { + const error = processError(e, diffOptions); + result.errors ?? (result.errors = []); + result.errors.push(error); + } +} +function markTasksAsSkipped(suite, runner) { + suite.tasks.forEach((t) => { + t.mode = "skip"; + t.result = { + ...t.result, + state: "skip" + }; + updateTask("test-finished", t, runner); + if (t.type === "suite") { + markTasksAsSkipped(t, runner); + } + }); +} +async function runSuite(suite, runner) { + var _runner$onBeforeRunSu, _suite$result; + await ((_runner$onBeforeRunSu = runner.onBeforeRunSuite) === null || _runner$onBeforeRunSu === void 0 ? void 0 : _runner$onBeforeRunSu.call(runner, suite)); + if (((_suite$result = suite.result) === null || _suite$result === void 0 ? void 0 : _suite$result.state) === "fail") { + markTasksAsSkipped(suite, runner); + // failed during collection + updateTask("suite-failed-early", suite, runner); + return; + } + const start = now$1(); + const mode = suite.mode; + suite.result = { + state: mode === "skip" || mode === "todo" ? mode : "run", + startTime: unixNow() + }; + updateTask("suite-prepare", suite, runner); + let beforeAllCleanups = []; + if (suite.mode === "skip") { + suite.result.state = "skip"; + updateTask("suite-finished", suite, runner); + } else if (suite.mode === "todo") { + suite.result.state = "todo"; + updateTask("suite-finished", suite, runner); + } else { + var _runner$onAfterRunSui; + try { + try { + beforeAllCleanups = await callSuiteHook(suite, suite, "beforeAll", runner, [suite]); + } catch (e) { + markTasksAsSkipped(suite, runner); + throw e; + } + if (runner.runSuite) { + await runner.runSuite(suite); + } else { + for (let tasksGroup of partitionSuiteChildren(suite)) { + if (tasksGroup[0].concurrent === true) { + await Promise.all(tasksGroup.map((c) => runSuiteChild(c, runner))); + } else { + const { sequence } = runner.config; + if (suite.shuffle) { + // run describe block independently from tests + const suites = tasksGroup.filter((group) => group.type === "suite"); + const tests = tasksGroup.filter((group) => group.type === "test"); + const groups = shuffle([suites, tests], sequence.seed); + tasksGroup = groups.flatMap((group) => shuffle(group, sequence.seed)); + } + for (const c of tasksGroup) { + await runSuiteChild(c, runner); + } + } + } + } + } catch (e) { + failTask(suite.result, e, runner.config.diffOptions); + } + try { + await callSuiteHook(suite, suite, "afterAll", runner, [suite]); + await callCleanupHooks(runner, beforeAllCleanups); + if (suite.file === suite) { + const context = getFileContext(suite); + await callFixtureCleanup(context); + } + } catch (e) { + failTask(suite.result, e, runner.config.diffOptions); + } + if (suite.mode === "run" || suite.mode === "queued") { + if (!runner.config.passWithNoTests && !hasTests(suite)) { + var _suite$result$errors; + suite.result.state = "fail"; + if (!((_suite$result$errors = suite.result.errors) === null || _suite$result$errors === void 0 ? void 0 : _suite$result$errors.length)) { + const error = processError(new Error(`No test found in suite ${suite.name}`)); + suite.result.errors = [error]; + } + } else if (hasFailed(suite)) { + suite.result.state = "fail"; + } else { + suite.result.state = "pass"; + } + } + suite.result.duration = now$1() - start; + updateTask("suite-finished", suite, runner); + await ((_runner$onAfterRunSui = runner.onAfterRunSuite) === null || _runner$onAfterRunSui === void 0 ? void 0 : _runner$onAfterRunSui.call(runner, suite)); + } +} +let limitMaxConcurrency; +async function runSuiteChild(c, runner) { + if (c.type === "test") { + return limitMaxConcurrency(() => runTest(c, runner)); + } else if (c.type === "suite") { + return runSuite(c, runner); + } +} +async function runFiles(files, runner) { + limitMaxConcurrency ?? (limitMaxConcurrency = limitConcurrency(runner.config.maxConcurrency)); + for (const file of files) { + if (!file.tasks.length && !runner.config.passWithNoTests) { + var _file$result; + if (!((_file$result = file.result) === null || _file$result === void 0 || (_file$result = _file$result.errors) === null || _file$result === void 0 ? void 0 : _file$result.length)) { + const error = processError(new Error(`No test suite found in file ${file.filepath}`)); + file.result = { + state: "fail", + errors: [error] + }; + } + } + await runSuite(file, runner); + } +} +const workerRunners = new WeakSet(); +async function startTests(specs, runner) { + var _runner$cancel; + const cancel = (_runner$cancel = runner.cancel) === null || _runner$cancel === void 0 ? void 0 : _runner$cancel.bind(runner); + // Ideally, we need to have an event listener for this, but only have a runner here. + // Adding another onCancel felt wrong (maybe it needs to be refactored) + runner.cancel = (reason) => { + // We intentionally create only one error since there is only one test run that can be cancelled + const error = new TestRunAbortError("The test run was aborted by the user.", reason); + getRunningTests().forEach((test) => abortContextSignal(test.context, error)); + return cancel === null || cancel === void 0 ? void 0 : cancel(reason); + }; + if (!workerRunners.has(runner)) { + var _runner$onCleanupWork; + (_runner$onCleanupWork = runner.onCleanupWorkerContext) === null || _runner$onCleanupWork === void 0 ? void 0 : _runner$onCleanupWork.call(runner, async () => { + var _runner$getWorkerCont; + const context = (_runner$getWorkerCont = runner.getWorkerContext) === null || _runner$getWorkerCont === void 0 ? void 0 : _runner$getWorkerCont.call(runner); + if (context) { + await callFixtureCleanup(context); + } + }); + workerRunners.add(runner); + } + try { + var _runner$onBeforeColle, _runner$onCollected, _runner$onBeforeRunFi, _runner$onAfterRunFil; + const paths = specs.map((f) => typeof f === "string" ? f : f.filepath); + await ((_runner$onBeforeColle = runner.onBeforeCollect) === null || _runner$onBeforeColle === void 0 ? void 0 : _runner$onBeforeColle.call(runner, paths)); + const files = await collectTests(specs, runner); + await ((_runner$onCollected = runner.onCollected) === null || _runner$onCollected === void 0 ? void 0 : _runner$onCollected.call(runner, files)); + await ((_runner$onBeforeRunFi = runner.onBeforeRunFiles) === null || _runner$onBeforeRunFi === void 0 ? void 0 : _runner$onBeforeRunFi.call(runner, files)); + await runFiles(files, runner); + await ((_runner$onAfterRunFil = runner.onAfterRunFiles) === null || _runner$onAfterRunFil === void 0 ? void 0 : _runner$onAfterRunFil.call(runner, files)); + await finishSendTasksUpdate(runner); + return files; + } finally { + runner.cancel = cancel; + } +} +async function publicCollect(specs, runner) { + var _runner$onBeforeColle2, _runner$onCollected2; + const paths = specs.map((f) => typeof f === "string" ? f : f.filepath); + await ((_runner$onBeforeColle2 = runner.onBeforeCollect) === null || _runner$onBeforeColle2 === void 0 ? void 0 : _runner$onBeforeColle2.call(runner, paths)); + const files = await collectTests(specs, runner); + await ((_runner$onCollected2 = runner.onCollected) === null || _runner$onCollected2 === void 0 ? void 0 : _runner$onCollected2.call(runner, files)); + return files; +} + +const now = Date.now; +const collectorContext = { + tasks: [], + currentSuite: null +}; +function collectTask(task) { + var _collectorContext$cur; + (_collectorContext$cur = collectorContext.currentSuite) === null || _collectorContext$cur === void 0 ? void 0 : _collectorContext$cur.tasks.push(task); +} +async function runWithSuite(suite, fn) { + const prev = collectorContext.currentSuite; + collectorContext.currentSuite = suite; + await fn(); + collectorContext.currentSuite = prev; +} +function withTimeout(fn, timeout, isHook = false, stackTraceError, onTimeout) { + if (timeout <= 0 || timeout === Number.POSITIVE_INFINITY) { + return fn; + } + const { setTimeout, clearTimeout } = getSafeTimers(); + // this function name is used to filter error in test/cli/test/fails.test.ts + return function runWithTimeout(...args) { + const startTime = now(); + const runner = getRunner(); + runner._currentTaskStartTime = startTime; + runner._currentTaskTimeout = timeout; + return new Promise((resolve_, reject_) => { + var _timer$unref; + const timer = setTimeout(() => { + clearTimeout(timer); + rejectTimeoutError(); + }, timeout); + // `unref` might not exist in browser + (_timer$unref = timer.unref) === null || _timer$unref === void 0 ? void 0 : _timer$unref.call(timer); + function rejectTimeoutError() { + const error = makeTimeoutError(isHook, timeout, stackTraceError); + onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout(args, error); + reject_(error); + } + function resolve(result) { + runner._currentTaskStartTime = undefined; + runner._currentTaskTimeout = undefined; + clearTimeout(timer); + // if test/hook took too long in microtask, setTimeout won't be triggered, + // but we still need to fail the test, see + // https://github.com/vitest-dev/vitest/issues/2920 + if (now() - startTime >= timeout) { + rejectTimeoutError(); + return; + } + resolve_(result); + } + function reject(error) { + runner._currentTaskStartTime = undefined; + runner._currentTaskTimeout = undefined; + clearTimeout(timer); + reject_(error); + } + // sync test/hook will be caught by try/catch + try { + const result = fn(...args); + // the result is a thenable, we don't wrap this in Promise.resolve + // to avoid creating new promises + if (typeof result === "object" && result != null && typeof result.then === "function") { + result.then(resolve, reject); + } else { + resolve(result); + } + } + // user sync test/hook throws an error +catch (error) { + reject(error); + } + }); + }; +} +const abortControllers = new WeakMap(); +function abortIfTimeout([context], error) { + if (context) { + abortContextSignal(context, error); + } +} +function abortContextSignal(context, error) { + const abortController = abortControllers.get(context); + abortController === null || abortController === void 0 ? void 0 : abortController.abort(error); +} +function createTestContext(test, runner) { + var _runner$extendTaskCon; + const context = function() { + throw new Error("done() callback is deprecated, use promise instead"); + }; + let abortController = abortControllers.get(context); + if (!abortController) { + abortController = new AbortController(); + abortControllers.set(context, abortController); + } + context.signal = abortController.signal; + context.task = test; + context.skip = (condition, note) => { + if (condition === false) { + // do nothing + return undefined; + } + test.result ?? (test.result = { state: "skip" }); + test.result.pending = true; + throw new PendingError("test is skipped; abort execution", test, typeof condition === "string" ? condition : note); + }; + async function annotate(message, location, type, attachment) { + const annotation = { + message, + type: type || "notice" + }; + if (attachment) { + if (!attachment.body && !attachment.path) { + throw new TypeError(`Test attachment requires body or path to be set. Both are missing.`); + } + if (attachment.body && attachment.path) { + throw new TypeError(`Test attachment requires only one of "body" or "path" to be set. Both are specified.`); + } + annotation.attachment = attachment; + // convert to a string so it's easier to serialise + if (attachment.body instanceof Uint8Array) { + attachment.body = encodeUint8Array(attachment.body); + } + } + if (location) { + annotation.location = location; + } + if (!runner.onTestAnnotate) { + throw new Error(`Test runner doesn't support test annotations.`); + } + await finishSendTasksUpdate(runner); + const resolvedAnnotation = await runner.onTestAnnotate(test, annotation); + test.annotations.push(resolvedAnnotation); + return resolvedAnnotation; + } + context.annotate = (message, type, attachment) => { + if (test.result && test.result.state !== "run") { + throw new Error(`Cannot annotate tests outside of the test run. The test "${test.name}" finished running with the "${test.result.state}" state already.`); + } + let location; + const stack = new Error("STACK_TRACE").stack; + const index = stack.includes("STACK_TRACE") ? 2 : 1; + const stackLine = stack.split("\n")[index]; + const parsed = parseSingleStack(stackLine); + if (parsed) { + location = { + file: parsed.file, + line: parsed.line, + column: parsed.column + }; + } + if (typeof type === "object") { + return recordAsyncAnnotation(test, annotate(message, location, undefined, type)); + } else { + return recordAsyncAnnotation(test, annotate(message, location, type, attachment)); + } + }; + context.onTestFailed = (handler, timeout) => { + test.onFailed || (test.onFailed = []); + test.onFailed.push(withTimeout(handler, timeout ?? runner.config.hookTimeout, true, new Error("STACK_TRACE_ERROR"), (_, error) => abortController.abort(error))); + }; + context.onTestFinished = (handler, timeout) => { + test.onFinished || (test.onFinished = []); + test.onFinished.push(withTimeout(handler, timeout ?? runner.config.hookTimeout, true, new Error("STACK_TRACE_ERROR"), (_, error) => abortController.abort(error))); + }; + return ((_runner$extendTaskCon = runner.extendTaskContext) === null || _runner$extendTaskCon === void 0 ? void 0 : _runner$extendTaskCon.call(runner, context)) || context; +} +function makeTimeoutError(isHook, timeout, stackTraceError) { + const message = `${isHook ? "Hook" : "Test"} timed out in ${timeout}ms.\nIf this is a long-running ${isHook ? "hook" : "test"}, pass a timeout value as the last argument or configure it globally with "${isHook ? "hookTimeout" : "testTimeout"}".`; + const error = new Error(message); + if (stackTraceError === null || stackTraceError === void 0 ? void 0 : stackTraceError.stack) { + error.stack = stackTraceError.stack.replace(error.message, stackTraceError.message); + } + return error; +} +const fileContexts = new WeakMap(); +function getFileContext(file) { + const context = fileContexts.get(file); + if (!context) { + throw new Error(`Cannot find file context for ${file.name}`); + } + return context; +} +function setFileContext(file, context) { + fileContexts.set(file, context); +} +const table = []; +for (let i = 65; i < 91; i++) { + table.push(String.fromCharCode(i)); +} +for (let i = 97; i < 123; i++) { + table.push(String.fromCharCode(i)); +} +for (let i = 0; i < 10; i++) { + table.push(i.toString(10)); +} +function encodeUint8Array(bytes) { + let base64 = ""; + const len = bytes.byteLength; + for (let i = 0; i < len; i += 3) { + if (len === i + 1) { + const a = (bytes[i] & 252) >> 2; + const b = (bytes[i] & 3) << 4; + base64 += table[a]; + base64 += table[b]; + base64 += "=="; + } else if (len === i + 2) { + const a = (bytes[i] & 252) >> 2; + const b = (bytes[i] & 3) << 4 | (bytes[i + 1] & 240) >> 4; + const c = (bytes[i + 1] & 15) << 2; + base64 += table[a]; + base64 += table[b]; + base64 += table[c]; + base64 += "="; + } else { + const a = (bytes[i] & 252) >> 2; + const b = (bytes[i] & 3) << 4 | (bytes[i + 1] & 240) >> 4; + const c = (bytes[i + 1] & 15) << 2 | (bytes[i + 2] & 192) >> 6; + const d = bytes[i + 2] & 63; + base64 += table[a]; + base64 += table[b]; + base64 += table[c]; + base64 += table[d]; + } + } + return base64; +} +function recordAsyncAnnotation(test, promise) { + // if promise is explicitly awaited, remove it from the list + promise = promise.finally(() => { + if (!test.promises) { + return; + } + const index = test.promises.indexOf(promise); + if (index !== -1) { + test.promises.splice(index, 1); + } + }); + // record promise + if (!test.promises) { + test.promises = []; + } + test.promises.push(promise); + return promise; +} + +function getDefaultHookTimeout() { + return getRunner().config.hookTimeout; +} +const CLEANUP_TIMEOUT_KEY = Symbol.for("VITEST_CLEANUP_TIMEOUT"); +const CLEANUP_STACK_TRACE_KEY = Symbol.for("VITEST_CLEANUP_STACK_TRACE"); +function getBeforeHookCleanupCallback(hook, result, context) { + if (typeof result === "function") { + const timeout = CLEANUP_TIMEOUT_KEY in hook && typeof hook[CLEANUP_TIMEOUT_KEY] === "number" ? hook[CLEANUP_TIMEOUT_KEY] : getDefaultHookTimeout(); + const stackTraceError = CLEANUP_STACK_TRACE_KEY in hook && hook[CLEANUP_STACK_TRACE_KEY] instanceof Error ? hook[CLEANUP_STACK_TRACE_KEY] : undefined; + return withTimeout(result, timeout, true, stackTraceError, (_, error) => { + if (context) { + abortContextSignal(context, error); + } + }); + } +} +/** +* Registers a callback function to be executed once before all tests within the current suite. +* This hook is useful for scenarios where you need to perform setup operations that are common to all tests in a suite, such as initializing a database connection or setting up a test environment. +* +* **Note:** The `beforeAll` hooks are executed in the order they are defined one after another. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed before all tests. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @returns {void} +* @example +* ```ts +* // Example of using beforeAll to set up a database connection +* beforeAll(async () => { +* await database.connect(); +* }); +* ``` +*/ +function beforeAll(fn, timeout = getDefaultHookTimeout()) { + assertTypes(fn, "\"beforeAll\" callback", ["function"]); + const stackTraceError = new Error("STACK_TRACE_ERROR"); + return getCurrentSuite().on("beforeAll", Object.assign(withTimeout(fn, timeout, true, stackTraceError), { + [CLEANUP_TIMEOUT_KEY]: timeout, + [CLEANUP_STACK_TRACE_KEY]: stackTraceError + })); +} +/** +* Registers a callback function to be executed once after all tests within the current suite have completed. +* This hook is useful for scenarios where you need to perform cleanup operations after all tests in a suite have run, such as closing database connections or cleaning up temporary files. +* +* **Note:** The `afterAll` hooks are running in reverse order of their registration. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed after all tests. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @returns {void} +* @example +* ```ts +* // Example of using afterAll to close a database connection +* afterAll(async () => { +* await database.disconnect(); +* }); +* ``` +*/ +function afterAll(fn, timeout) { + assertTypes(fn, "\"afterAll\" callback", ["function"]); + return getCurrentSuite().on("afterAll", withTimeout(fn, timeout ?? getDefaultHookTimeout(), true, new Error("STACK_TRACE_ERROR"))); +} +/** +* Registers a callback function to be executed before each test within the current suite. +* This hook is useful for scenarios where you need to reset or reinitialize the test environment before each test runs, such as resetting database states, clearing caches, or reinitializing variables. +* +* **Note:** The `beforeEach` hooks are executed in the order they are defined one after another. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed before each test. This function receives an `TestContext` parameter if additional test context is needed. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @returns {void} +* @example +* ```ts +* // Example of using beforeEach to reset a database state +* beforeEach(async () => { +* await database.reset(); +* }); +* ``` +*/ +function beforeEach(fn, timeout = getDefaultHookTimeout()) { + assertTypes(fn, "\"beforeEach\" callback", ["function"]); + const stackTraceError = new Error("STACK_TRACE_ERROR"); + const runner = getRunner(); + return getCurrentSuite().on("beforeEach", Object.assign(withTimeout(withFixtures(runner, fn), timeout ?? getDefaultHookTimeout(), true, stackTraceError, abortIfTimeout), { + [CLEANUP_TIMEOUT_KEY]: timeout, + [CLEANUP_STACK_TRACE_KEY]: stackTraceError + })); +} +/** +* Registers a callback function to be executed after each test within the current suite has completed. +* This hook is useful for scenarios where you need to clean up or reset the test environment after each test runs, such as deleting temporary files, clearing test-specific database entries, or resetting mocked functions. +* +* **Note:** The `afterEach` hooks are running in reverse order of their registration. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed after each test. This function receives an `TestContext` parameter if additional test context is needed. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @returns {void} +* @example +* ```ts +* // Example of using afterEach to delete temporary files created during a test +* afterEach(async () => { +* await fileSystem.deleteTempFiles(); +* }); +* ``` +*/ +function afterEach(fn, timeout) { + assertTypes(fn, "\"afterEach\" callback", ["function"]); + const runner = getRunner(); + return getCurrentSuite().on("afterEach", withTimeout(withFixtures(runner, fn), timeout ?? getDefaultHookTimeout(), true, new Error("STACK_TRACE_ERROR"), abortIfTimeout)); +} +/** +* Registers a callback function to be executed when a test fails within the current suite. +* This function allows for custom actions to be performed in response to test failures, such as logging, cleanup, or additional diagnostics. +* +* **Note:** The `onTestFailed` hooks are running in reverse order of their registration. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed upon a test failure. The function receives the test result (including errors). +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @throws {Error} Throws an error if the function is not called within a test. +* @returns {void} +* @example +* ```ts +* // Example of using onTestFailed to log failure details +* onTestFailed(({ errors }) => { +* console.log(`Test failed: ${test.name}`, errors); +* }); +* ``` +*/ +const onTestFailed = createTestHook("onTestFailed", (test, handler, timeout) => { + test.onFailed || (test.onFailed = []); + test.onFailed.push(withTimeout(handler, timeout ?? getDefaultHookTimeout(), true, new Error("STACK_TRACE_ERROR"), abortIfTimeout)); +}); +/** +* Registers a callback function to be executed when the current test finishes, regardless of the outcome (pass or fail). +* This function is ideal for performing actions that should occur after every test execution, such as cleanup, logging, or resetting shared resources. +* +* This hook is useful if you have access to a resource in the test itself and you want to clean it up after the test finishes. It is a more compact way to clean up resources than using the combination of `beforeEach` and `afterEach`. +* +* **Note:** The `onTestFinished` hooks are running in reverse order of their registration. You can configure this by changing the `sequence.hooks` option in the config file. +* +* **Note:** The `onTestFinished` hook is not called if the test is canceled with a dynamic `ctx.skip()` call. +* +* @param {Function} fn - The callback function to be executed after a test finishes. The function can receive parameters providing details about the completed test, including its success or failure status. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @throws {Error} Throws an error if the function is not called within a test. +* @returns {void} +* @example +* ```ts +* // Example of using onTestFinished for cleanup +* const db = await connectToDatabase(); +* onTestFinished(async () => { +* await db.disconnect(); +* }); +* ``` +*/ +const onTestFinished = createTestHook("onTestFinished", (test, handler, timeout) => { + test.onFinished || (test.onFinished = []); + test.onFinished.push(withTimeout(handler, timeout ?? getDefaultHookTimeout(), true, new Error("STACK_TRACE_ERROR"), abortIfTimeout)); +}); +function createTestHook(name, handler) { + return (fn, timeout) => { + assertTypes(fn, `"${name}" callback`, ["function"]); + const current = getCurrentTest(); + if (!current) { + throw new Error(`Hook ${name}() can only be called inside a test`); + } + return handler(current, fn, timeout); + }; +} + +export { someTasksAreOnly as A, limitConcurrency as B, partitionSuiteChildren as C, getFullName as D, getNames as E, getSuites as F, getTasks as G, getTestName as H, getTests as I, hasFailed as J, hasTests as K, isAtomTest as L, isTestCase as M, afterAll as a, afterEach as b, beforeAll as c, beforeEach as d, onTestFinished as e, getHooks as f, getFn as g, setHooks as h, startTests as i, createTaskCollector as j, describe as k, getCurrentSuite as l, it as m, suite as n, onTestFailed as o, publicCollect as p, getCurrentTest as q, createChainable as r, setFn as s, test as t, updateTask as u, calculateSuiteHash as v, createFileTask as w, generateFileHash as x, generateHash as y, interpretTaskModes as z }; diff --git a/node_modules/@vitest/runner/dist/index.d.ts b/node_modules/@vitest/runner/dist/index.d.ts new file mode 100644 index 0000000..a3ab107 --- /dev/null +++ b/node_modules/@vitest/runner/dist/index.d.ts @@ -0,0 +1,261 @@ +import { A as AfterAllListener, b as AfterEachListener, B as BeforeAllListener, d as BeforeEachListener, e as TaskHook, O as OnTestFailedHandler, f as OnTestFinishedHandler, a as Test, g as Custom, S as Suite, h as SuiteHooks, F as File, i as TaskUpdateEvent, T as Task, j as TestAPI, k as SuiteAPI, l as SuiteCollector } from './tasks.d-CkscK4of.js'; +export { D as DoneCallback, E as ExtendedContext, m as Fixture, n as FixtureFn, o as FixtureOptions, p as Fixtures, H as HookCleanupCallback, q as HookListener, I as ImportDuration, r as InferFixturesTypes, R as RunMode, s as RuntimeContext, t as SequenceHooks, u as SequenceSetupFiles, v as SuiteFactory, w as TaskBase, x as TaskContext, y as TaskCustomOptions, z as TaskEventPack, G as TaskMeta, J as TaskPopulated, K as TaskResult, L as TaskResultPack, M as TaskState, N as TestAnnotation, P as TestAnnotationLocation, Q as TestAttachment, U as TestContext, V as TestFunction, W as TestOptions, X as Use } from './tasks.d-CkscK4of.js'; +import { Awaitable } from '@vitest/utils'; +import { FileSpecification, VitestRunner } from './types.js'; +export { CancelReason, VitestRunnerConfig, VitestRunnerConstructor, VitestRunnerImportSource } from './types.js'; +export { processError } from '@vitest/utils/error'; +import '@vitest/utils/diff'; + +/** +* Registers a callback function to be executed once before all tests within the current suite. +* This hook is useful for scenarios where you need to perform setup operations that are common to all tests in a suite, such as initializing a database connection or setting up a test environment. +* +* **Note:** The `beforeAll` hooks are executed in the order they are defined one after another. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed before all tests. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @returns {void} +* @example +* ```ts +* // Example of using beforeAll to set up a database connection +* beforeAll(async () => { +* await database.connect(); +* }); +* ``` +*/ +declare function beforeAll(fn: BeforeAllListener, timeout?: number): void; +/** +* Registers a callback function to be executed once after all tests within the current suite have completed. +* This hook is useful for scenarios where you need to perform cleanup operations after all tests in a suite have run, such as closing database connections or cleaning up temporary files. +* +* **Note:** The `afterAll` hooks are running in reverse order of their registration. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed after all tests. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @returns {void} +* @example +* ```ts +* // Example of using afterAll to close a database connection +* afterAll(async () => { +* await database.disconnect(); +* }); +* ``` +*/ +declare function afterAll(fn: AfterAllListener, timeout?: number): void; +/** +* Registers a callback function to be executed before each test within the current suite. +* This hook is useful for scenarios where you need to reset or reinitialize the test environment before each test runs, such as resetting database states, clearing caches, or reinitializing variables. +* +* **Note:** The `beforeEach` hooks are executed in the order they are defined one after another. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed before each test. This function receives an `TestContext` parameter if additional test context is needed. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @returns {void} +* @example +* ```ts +* // Example of using beforeEach to reset a database state +* beforeEach(async () => { +* await database.reset(); +* }); +* ``` +*/ +declare function beforeEach(fn: BeforeEachListener, timeout?: number): void; +/** +* Registers a callback function to be executed after each test within the current suite has completed. +* This hook is useful for scenarios where you need to clean up or reset the test environment after each test runs, such as deleting temporary files, clearing test-specific database entries, or resetting mocked functions. +* +* **Note:** The `afterEach` hooks are running in reverse order of their registration. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed after each test. This function receives an `TestContext` parameter if additional test context is needed. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @returns {void} +* @example +* ```ts +* // Example of using afterEach to delete temporary files created during a test +* afterEach(async () => { +* await fileSystem.deleteTempFiles(); +* }); +* ``` +*/ +declare function afterEach(fn: AfterEachListener, timeout?: number): void; +/** +* Registers a callback function to be executed when a test fails within the current suite. +* This function allows for custom actions to be performed in response to test failures, such as logging, cleanup, or additional diagnostics. +* +* **Note:** The `onTestFailed` hooks are running in reverse order of their registration. You can configure this by changing the `sequence.hooks` option in the config file. +* +* @param {Function} fn - The callback function to be executed upon a test failure. The function receives the test result (including errors). +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @throws {Error} Throws an error if the function is not called within a test. +* @returns {void} +* @example +* ```ts +* // Example of using onTestFailed to log failure details +* onTestFailed(({ errors }) => { +* console.log(`Test failed: ${test.name}`, errors); +* }); +* ``` +*/ +declare const onTestFailed: TaskHook; +/** +* Registers a callback function to be executed when the current test finishes, regardless of the outcome (pass or fail). +* This function is ideal for performing actions that should occur after every test execution, such as cleanup, logging, or resetting shared resources. +* +* This hook is useful if you have access to a resource in the test itself and you want to clean it up after the test finishes. It is a more compact way to clean up resources than using the combination of `beforeEach` and `afterEach`. +* +* **Note:** The `onTestFinished` hooks are running in reverse order of their registration. You can configure this by changing the `sequence.hooks` option in the config file. +* +* **Note:** The `onTestFinished` hook is not called if the test is canceled with a dynamic `ctx.skip()` call. +* +* @param {Function} fn - The callback function to be executed after a test finishes. The function can receive parameters providing details about the completed test, including its success or failure status. +* @param {number} [timeout] - Optional timeout in milliseconds for the hook. If not provided, the default hook timeout from the runner's configuration is used. +* @throws {Error} Throws an error if the function is not called within a test. +* @returns {void} +* @example +* ```ts +* // Example of using onTestFinished for cleanup +* const db = await connectToDatabase(); +* onTestFinished(async () => { +* await db.disconnect(); +* }); +* ``` +*/ +declare const onTestFinished: TaskHook; + +declare function setFn(key: Test | Custom, fn: () => Awaitable): void; +declare function getFn(key: Task): () => Awaitable; +declare function setHooks(key: Suite, hooks: SuiteHooks): void; +declare function getHooks(key: Suite): SuiteHooks; + +declare function updateTask(event: TaskUpdateEvent, task: Task, runner: VitestRunner): void; +declare function startTests(specs: string[] | FileSpecification[], runner: VitestRunner): Promise; +declare function publicCollect(specs: string[] | FileSpecification[], runner: VitestRunner): Promise; + +/** +* Creates a suite of tests, allowing for grouping and hierarchical organization of tests. +* Suites can contain both tests and other suites, enabling complex test structures. +* +* @param {string} name - The name of the suite, used for identification and reporting. +* @param {Function} fn - A function that defines the tests and suites within this suite. +* @example +* ```ts +* // Define a suite with two tests +* suite('Math operations', () => { +* test('should add two numbers', () => { +* expect(add(1, 2)).toBe(3); +* }); +* +* test('should subtract two numbers', () => { +* expect(subtract(5, 2)).toBe(3); +* }); +* }); +* ``` +* @example +* ```ts +* // Define nested suites +* suite('String operations', () => { +* suite('Trimming', () => { +* test('should trim whitespace from start and end', () => { +* expect(' hello '.trim()).toBe('hello'); +* }); +* }); +* +* suite('Concatenation', () => { +* test('should concatenate two strings', () => { +* expect('hello' + ' ' + 'world').toBe('hello world'); +* }); +* }); +* }); +* ``` +*/ +declare const suite: SuiteAPI; +/** +* Defines a test case with a given name and test function. The test function can optionally be configured with test options. +* +* @param {string | Function} name - The name of the test or a function that will be used as a test name. +* @param {TestOptions | TestFunction} [optionsOrFn] - Optional. The test options or the test function if no explicit name is provided. +* @param {number | TestOptions | TestFunction} [optionsOrTest] - Optional. The test function or options, depending on the previous parameters. +* @throws {Error} If called inside another test function. +* @example +* ```ts +* // Define a simple test +* test('should add two numbers', () => { +* expect(add(1, 2)).toBe(3); +* }); +* ``` +* @example +* ```ts +* // Define a test with options +* test('should subtract two numbers', { retry: 3 }, () => { +* expect(subtract(5, 2)).toBe(3); +* }); +* ``` +*/ +declare const test: TestAPI; +/** +* Creates a suite of tests, allowing for grouping and hierarchical organization of tests. +* Suites can contain both tests and other suites, enabling complex test structures. +* +* @param {string} name - The name of the suite, used for identification and reporting. +* @param {Function} fn - A function that defines the tests and suites within this suite. +* @example +* ```ts +* // Define a suite with two tests +* describe('Math operations', () => { +* test('should add two numbers', () => { +* expect(add(1, 2)).toBe(3); +* }); +* +* test('should subtract two numbers', () => { +* expect(subtract(5, 2)).toBe(3); +* }); +* }); +* ``` +* @example +* ```ts +* // Define nested suites +* describe('String operations', () => { +* describe('Trimming', () => { +* test('should trim whitespace from start and end', () => { +* expect(' hello '.trim()).toBe('hello'); +* }); +* }); +* +* describe('Concatenation', () => { +* test('should concatenate two strings', () => { +* expect('hello' + ' ' + 'world').toBe('hello world'); +* }); +* }); +* }); +* ``` +*/ +declare const describe: SuiteAPI; +/** +* Defines a test case with a given name and test function. The test function can optionally be configured with test options. +* +* @param {string | Function} name - The name of the test or a function that will be used as a test name. +* @param {TestOptions | TestFunction} [optionsOrFn] - Optional. The test options or the test function if no explicit name is provided. +* @param {number | TestOptions | TestFunction} [optionsOrTest] - Optional. The test function or options, depending on the previous parameters. +* @throws {Error} If called inside another test function. +* @example +* ```ts +* // Define a simple test +* it('adds two numbers', () => { +* expect(add(1, 2)).toBe(3); +* }); +* ``` +* @example +* ```ts +* // Define a test with options +* it('subtracts two numbers', { retry: 3 }, () => { +* expect(subtract(5, 2)).toBe(3); +* }); +* ``` +*/ +declare const it: TestAPI; +declare function getCurrentSuite(): SuiteCollector; +declare function createTaskCollector(fn: (...args: any[]) => any, context?: Record): TestAPI; + +declare function getCurrentTest(): T; + +export { AfterAllListener, AfterEachListener, BeforeAllListener, BeforeEachListener, Custom, TestAPI as CustomAPI, File, FileSpecification, OnTestFailedHandler, OnTestFinishedHandler, Suite, SuiteAPI, SuiteCollector, SuiteHooks, Task, TaskHook, TaskUpdateEvent, Test, TestAPI, VitestRunner, afterAll, afterEach, beforeAll, beforeEach, publicCollect as collectTests, createTaskCollector, describe, getCurrentSuite, getCurrentTest, getFn, getHooks, it, onTestFailed, onTestFinished, setFn, setHooks, startTests, suite, test, updateTask }; diff --git a/node_modules/@vitest/runner/dist/index.js b/node_modules/@vitest/runner/dist/index.js new file mode 100644 index 0000000..069be46 --- /dev/null +++ b/node_modules/@vitest/runner/dist/index.js @@ -0,0 +1,6 @@ +export { a as afterAll, b as afterEach, c as beforeAll, d as beforeEach, p as collectTests, j as createTaskCollector, k as describe, l as getCurrentSuite, q as getCurrentTest, g as getFn, f as getHooks, m as it, o as onTestFailed, e as onTestFinished, s as setFn, h as setHooks, i as startTests, n as suite, t as test, u as updateTask } from './chunk-hooks.js'; +export { processError } from '@vitest/utils/error'; +import '@vitest/utils'; +import '@vitest/utils/source-map'; +import 'strip-literal'; +import 'pathe'; diff --git a/node_modules/@vitest/runner/dist/tasks.d-CkscK4of.d.ts b/node_modules/@vitest/runner/dist/tasks.d-CkscK4of.d.ts new file mode 100644 index 0000000..f32846a --- /dev/null +++ b/node_modules/@vitest/runner/dist/tasks.d-CkscK4of.d.ts @@ -0,0 +1,558 @@ +import { ErrorWithDiff, Awaitable } from '@vitest/utils'; + +interface FixtureItem extends FixtureOptions { + prop: string; + value: any; + scope: "test" | "file" | "worker"; + /** + * Indicates whether the fixture is a function + */ + isFn: boolean; + /** + * The dependencies(fixtures) of current fixture function. + */ + deps?: FixtureItem[]; +} + +type ChainableFunction< + T extends string, + F extends (...args: any) => any, + C = object +> = F & { [x in T] : ChainableFunction } & { + fn: (this: Record, ...args: Parameters) => ReturnType +} & C; +declare function createChainable< + T extends string, + Args extends any[], + R = any +>(keys: T[], fn: (this: Record, ...args: Args) => R): ChainableFunction R>; + +type RunMode = "run" | "skip" | "only" | "todo" | "queued"; +type TaskState = RunMode | "pass" | "fail"; +interface TaskBase { + /** + * Unique task identifier. Based on the file id and the position of the task. + * The id of the file task is based on the file path relative to root and project name. + * It will not change between runs. + * @example `1201091390`, `1201091390_0`, `1201091390_0_1` + */ + id: string; + /** + * Task name provided by the user. If no name was provided, it will be an empty string. + */ + name: string; + /** + * Task mode. + * - **skip**: task is skipped + * - **only**: only this task and other tasks with `only` mode will run + * - **todo**: task is marked as a todo, alias for `skip` + * - **run**: task will run or already ran + * - **queued**: task will start running next. It can only exist on the File + */ + mode: RunMode; + /** + * Custom metadata for the task. JSON reporter will save this data. + */ + meta: TaskMeta; + /** + * Whether the task was produced with `.each()` method. + */ + each?: boolean; + /** + * Whether the task should run concurrently with other tasks. + */ + concurrent?: boolean; + /** + * Whether the tasks of the suite run in a random order. + */ + shuffle?: boolean; + /** + * Suite that this task is part of. File task or the global suite will have no parent. + */ + suite?: Suite; + /** + * Result of the task. Suite and file tasks will only have the result if there + * was an error during collection or inside `afterAll`/`beforeAll`. + */ + result?: TaskResult; + /** + * The amount of times the task should be retried if it fails. + * @default 0 + */ + retry?: number; + /** + * The amount of times the task should be repeated after the successful run. + * If the task fails, it will not be retried unless `retry` is specified. + * @default 0 + */ + repeats?: number; + /** + * Location of the task in the file. This field is populated only if + * `includeTaskLocation` option is set. It is generated by calling `new Error` + * and parsing the stack trace, so the location might differ depending on the runtime. + */ + location?: { + line: number + column: number + }; +} +interface TaskPopulated extends TaskBase { + /** + * File task. It's the root task of the file. + */ + file: File; + /** + * Whether the task should succeed if it fails. If the task fails, it will be marked as passed. + */ + fails?: boolean; + /** + * Store promises (from async expects) to wait for them before finishing the test + */ + promises?: Promise[]; +} +/** +* Custom metadata that can be used in reporters. +*/ +interface TaskMeta {} +/** +* The result of calling a task. +*/ +interface TaskResult { + /** + * State of the task. Inherits the `task.mode` during collection. + * When the task has finished, it will be changed to `pass` or `fail`. + * - **pass**: task ran successfully + * - **fail**: task failed + */ + state: TaskState; + /** + * Errors that occurred during the task execution. It is possible to have several errors + * if `expect.soft()` failed multiple times or `retry` was triggered. + */ + errors?: ErrorWithDiff[]; + /** + * How long in milliseconds the task took to run. + */ + duration?: number; + /** + * Time in milliseconds when the task started running. + */ + startTime?: number; + /** + * Heap size in bytes after the task finished. + * Only available if `logHeapUsage` option is set and `process.memoryUsage` is defined. + */ + heap?: number; + /** + * State of related to this task hooks. Useful during reporting. + */ + hooks?: Partial>; + /** + * The amount of times the task was retried. The task is retried only if it + * failed and `retry` option is set. + */ + retryCount?: number; + /** + * The amount of times the task was repeated. The task is repeated only if + * `repeats` option is set. This number also contains `retryCount`. + */ + repeatCount?: number; +} +/** The time spent importing & executing a non-externalized file. */ +interface ImportDuration { + /** The time spent importing & executing the file itself, not counting all non-externalized imports that the file does. */ + selfTime: number; + /** The time spent importing & executing the file and all its imports. */ + totalTime: number; +} +/** +* The tuple representing a single task update. +* Usually reported after the task finishes. +*/ +type TaskResultPack = [id: string, result: TaskResult | undefined, meta: TaskMeta]; +interface TaskEventData { + annotation?: TestAnnotation | undefined; +} +type TaskEventPack = [id: string, event: TaskUpdateEvent, data: TaskEventData | undefined]; +type TaskUpdateEvent = "test-failed-early" | "suite-failed-early" | "test-prepare" | "test-finished" | "test-retried" | "suite-prepare" | "suite-finished" | "before-hook-start" | "before-hook-end" | "after-hook-start" | "after-hook-end" | "test-annotation"; +interface Suite extends TaskBase { + type: "suite"; + /** + * File task. It's the root task of the file. + */ + file: File; + /** + * An array of tasks that are part of the suite. + */ + tasks: Task[]; +} +interface File extends Suite { + /** + * The name of the pool that the file belongs to. + * @default 'forks' + */ + pool?: string; + /** + * The path to the file in UNIX format. + */ + filepath: string; + /** + * The name of the workspace project the file belongs to. + */ + projectName: string | undefined; + /** + * The time it took to collect all tests in the file. + * This time also includes importing all the file dependencies. + */ + collectDuration?: number; + /** + * The time it took to import the setup file. + */ + setupDuration?: number; + /** The time spent importing every non-externalized dependency that Vitest has processed. */ + importDurations?: Record; +} +interface Test extends TaskPopulated { + type: "test"; + /** + * Test context that will be passed to the test function. + */ + context: TestContext & ExtraContext; + /** + * The test timeout in milliseconds. + */ + timeout: number; + /** + * An array of custom annotations. + */ + annotations: TestAnnotation[]; +} +interface TestAttachment { + contentType?: string; + path?: string; + body?: string | Uint8Array; +} +interface TestAnnotationLocation { + line: number; + column: number; + file: string; +} +interface TestAnnotation { + message: string; + type: string; + location?: TestAnnotationLocation; + attachment?: TestAttachment; +} +/** +* @deprecated Use `Test` instead. `type: 'custom'` is not used since 2.2 +*/ +type Custom = Test; +type Task = Test | Suite | File; +/** +* @deprecated Vitest doesn't provide `done()` anymore +*/ +type DoneCallback = (error?: any) => void; +type TestFunction = (context: TestContext & ExtraContext) => Awaitable | void; +// jest's ExtractEachCallbackArgs +type ExtractEachCallbackArgs> = { + 1: [T[0]] + 2: [T[0], T[1]] + 3: [T[0], T[1], T[2]] + 4: [T[0], T[1], T[2], T[3]] + 5: [T[0], T[1], T[2], T[3], T[4]] + 6: [T[0], T[1], T[2], T[3], T[4], T[5]] + 7: [T[0], T[1], T[2], T[3], T[4], T[5], T[6]] + 8: [T[0], T[1], T[2], T[3], T[4], T[5], T[6], T[7]] + 9: [T[0], T[1], T[2], T[3], T[4], T[5], T[6], T[7], T[8]] + 10: [T[0], T[1], T[2], T[3], T[4], T[5], T[6], T[7], T[8], T[9]] + fallback: Array ? U : any> +}[T extends Readonly<[any]> ? 1 : T extends Readonly<[any, any]> ? 2 : T extends Readonly<[any, any, any]> ? 3 : T extends Readonly<[any, any, any, any]> ? 4 : T extends Readonly<[any, any, any, any, any]> ? 5 : T extends Readonly<[any, any, any, any, any, any]> ? 6 : T extends Readonly<[any, any, any, any, any, any, any]> ? 7 : T extends Readonly<[any, any, any, any, any, any, any, any]> ? 8 : T extends Readonly<[any, any, any, any, any, any, any, any, any]> ? 9 : T extends Readonly<[any, any, any, any, any, any, any, any, any, any]> ? 10 : "fallback"]; +interface EachFunctionReturn { + /** + * @deprecated Use options as the second argument instead + */ + (name: string | Function, fn: (...args: T) => Awaitable, options: TestCollectorOptions): void; + (name: string | Function, fn: (...args: T) => Awaitable, options?: number | TestCollectorOptions): void; + (name: string | Function, options: TestCollectorOptions, fn: (...args: T) => Awaitable): void; +} +interface TestEachFunction { + (cases: ReadonlyArray): EachFunctionReturn; + >(cases: ReadonlyArray): EachFunctionReturn>; + (cases: ReadonlyArray): EachFunctionReturn; + (...args: [TemplateStringsArray, ...any]): EachFunctionReturn; +} +interface TestForFunctionReturn< + Arg, + Context +> { + (name: string | Function, fn: (arg: Arg, context: Context) => Awaitable): void; + (name: string | Function, options: TestCollectorOptions, fn: (args: Arg, context: Context) => Awaitable): void; +} +interface TestForFunction { + // test.for([1, 2, 3]) + // test.for([[1, 2], [3, 4, 5]]) + (cases: ReadonlyArray): TestForFunctionReturn; + // test.for` + // a | b + // {1} | {2} + // {3} | {4} + // ` + (strings: TemplateStringsArray, ...values: any[]): TestForFunctionReturn; +} +interface SuiteForFunction { + (cases: ReadonlyArray): EachFunctionReturn<[T]>; + (...args: [TemplateStringsArray, ...any]): EachFunctionReturn; +} +interface TestCollectorCallable { + /** + * @deprecated Use options as the second argument instead + */ + (name: string | Function, fn: TestFunction, options: TestCollectorOptions): void; + (name: string | Function, fn?: TestFunction, options?: number | TestCollectorOptions): void; + (name: string | Function, options?: TestCollectorOptions, fn?: TestFunction): void; +} +type ChainableTestAPI = ChainableFunction<"concurrent" | "sequential" | "only" | "skip" | "todo" | "fails", TestCollectorCallable, { + each: TestEachFunction + for: TestForFunction +}>; +type TestCollectorOptions = Omit; +interface TestOptions { + /** + * Test timeout. + */ + timeout?: number; + /** + * Times to retry the test if fails. Useful for making flaky tests more stable. + * When retries is up, the last test error will be thrown. + * + * @default 0 + */ + retry?: number; + /** + * How many times the test will run again. + * Only inner tests will repeat if set on `describe()`, nested `describe()` will inherit parent's repeat by default. + * + * @default 0 + */ + repeats?: number; + /** + * Whether suites and tests run concurrently. + * Tests inherit `concurrent` from `describe()` and nested `describe()` will inherit from parent's `concurrent`. + */ + concurrent?: boolean; + /** + * Whether tests run sequentially. + * Tests inherit `sequential` from `describe()` and nested `describe()` will inherit from parent's `sequential`. + */ + sequential?: boolean; + /** + * Whether the tasks of the suite run in a random order. + */ + shuffle?: boolean; + /** + * Whether the test should be skipped. + */ + skip?: boolean; + /** + * Should this test be the only one running in a suite. + */ + only?: boolean; + /** + * Whether the test should be skipped and marked as a todo. + */ + todo?: boolean; + /** + * Whether the test is expected to fail. If it does, the test will pass, otherwise it will fail. + */ + fails?: boolean; +} +interface ExtendedAPI { + skipIf: (condition: any) => ChainableTestAPI; + runIf: (condition: any) => ChainableTestAPI; +} +type TestAPI = ChainableTestAPI & ExtendedAPI & { + extend: = object>(fixtures: Fixtures) => TestAPI<{ [K in keyof T | keyof ExtraContext] : K extends keyof T ? T[K] : K extends keyof ExtraContext ? ExtraContext[K] : never }> + scoped: (fixtures: Fixtures>) => void +}; + +interface FixtureOptions { + /** + * Whether to automatically set up current fixture, even though it's not being used in tests. + * @default false + */ + auto?: boolean; + /** + * Indicated if the injected value from the config should be preferred over the fixture value + */ + injected?: boolean; + /** + * When should the fixture be set up. + * - **test**: fixture will be set up before every test + * - **worker**: fixture will be set up once per worker + * - **file**: fixture will be set up once per file + * + * **Warning:** The `vmThreads` and `vmForks` pools initiate worker fixtures once per test file. + * @default 'test' + */ + scope?: "test" | "worker" | "file"; +} +type Use = (value: T) => Promise; +type FixtureFn< + T, + K extends keyof T, + ExtraContext +> = (context: Omit & ExtraContext, use: Use) => Promise; +type Fixture< + T, + K extends keyof T, + ExtraContext = object +> = ((...args: any) => any) extends T[K] ? T[K] extends any ? FixtureFn>> : never : T[K] | (T[K] extends any ? FixtureFn>> : never); +type Fixtures< + T extends Record, + ExtraContext = object +> = { [K in keyof T] : Fixture | [Fixture, FixtureOptions?] }; +type InferFixturesTypes = T extends TestAPI ? C : T; +interface SuiteCollectorCallable { + /** + * @deprecated Use options as the second argument instead + */ + (name: string | Function, fn: SuiteFactory, options: TestOptions): SuiteCollector; + (name: string | Function, fn?: SuiteFactory, options?: number | TestOptions): SuiteCollector; + (name: string | Function, options: TestOptions, fn?: SuiteFactory): SuiteCollector; +} +type ChainableSuiteAPI = ChainableFunction<"concurrent" | "sequential" | "only" | "skip" | "todo" | "shuffle", SuiteCollectorCallable, { + each: TestEachFunction + for: SuiteForFunction +}>; +type SuiteAPI = ChainableSuiteAPI & { + skipIf: (condition: any) => ChainableSuiteAPI + runIf: (condition: any) => ChainableSuiteAPI +}; +/** +* @deprecated +*/ +type HookListener< + T extends any[], + Return = void +> = (...args: T) => Awaitable; +/** +* @deprecated +*/ +type HookCleanupCallback = unknown; +interface BeforeAllListener { + (suite: Readonly): Awaitable; +} +interface AfterAllListener { + (suite: Readonly): Awaitable; +} +interface BeforeEachListener { + (context: TestContext & ExtraContext, suite: Readonly): Awaitable; +} +interface AfterEachListener { + (context: TestContext & ExtraContext, suite: Readonly): Awaitable; +} +interface SuiteHooks { + beforeAll: BeforeAllListener[]; + afterAll: AfterAllListener[]; + beforeEach: BeforeEachListener[]; + afterEach: AfterEachListener[]; +} +interface TaskCustomOptions extends TestOptions { + /** + * Whether the task was produced with `.each()` method. + */ + each?: boolean; + /** + * Custom metadata for the task that will be assigned to `task.meta`. + */ + meta?: Record; + /** + * Task fixtures. + */ + fixtures?: FixtureItem[]; + /** + * Function that will be called when the task is executed. + * If nothing is provided, the runner will try to get the function using `getFn(task)`. + * If the runner cannot find the function, the task will be marked as failed. + */ + handler?: (context: TestContext) => Awaitable; +} +interface SuiteCollector { + readonly name: string; + readonly mode: RunMode; + options?: TestOptions; + type: "collector"; + test: TestAPI; + tasks: (Suite | Test | SuiteCollector)[]; + scoped: (fixtures: Fixtures) => void; + fixtures: () => FixtureItem[] | undefined; + suite?: Suite; + task: (name: string, options?: TaskCustomOptions) => Test; + collect: (file: File) => Promise; + clear: () => void; + on: >(name: T, ...fn: SuiteHooks[T]) => void; +} +type SuiteFactory = (test: TestAPI) => Awaitable; +interface RuntimeContext { + tasks: (SuiteCollector | Test)[]; + currentSuite: SuiteCollector | null; +} +/** +* User's custom test context. +*/ +interface TestContext { + /** + * Metadata of the current test + */ + readonly task: Readonly; + /** + * An [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that will be aborted if the test times out or + * the test run was cancelled. + * @see {@link https://vitest.dev/guide/test-context#signal} + */ + readonly signal: AbortSignal; + /** + * Extract hooks on test failed + * @see {@link https://vitest.dev/guide/test-context#ontestfailed} + */ + readonly onTestFailed: (fn: OnTestFailedHandler, timeout?: number) => void; + /** + * Extract hooks on test failed + * @see {@link https://vitest.dev/guide/test-context#ontestfinished} + */ + readonly onTestFinished: (fn: OnTestFinishedHandler, timeout?: number) => void; + /** + * Mark tests as skipped. All execution after this call will be skipped. + * This function throws an error, so make sure you are not catching it accidentally. + * @see {@link https://vitest.dev/guide/test-context#skip} + */ + readonly skip: { + (note?: string): never + (condition: boolean, note?: string): void + }; + /** + * Add a test annotation that will be displayed by your reporter. + * @see {@link https://vitest.dev/guide/test-context#annotate} + */ + readonly annotate: { + (message: string, type?: string, attachment?: TestAttachment): Promise + (message: string, attachment?: TestAttachment): Promise + }; +} +/** +* Context that's always available in the test function. +* @deprecated use `TestContext` instead +*/ +interface TaskContext extends TestContext {} +/** @deprecated use `TestContext` instead */ +type ExtendedContext = TaskContext & TestContext; +type OnTestFailedHandler = (context: TestContext) => Awaitable; +type OnTestFinishedHandler = (context: TestContext) => Awaitable; +interface TaskHook { + (fn: HookListener, timeout?: number): void; +} +type SequenceHooks = "stack" | "list" | "parallel"; +type SequenceSetupFiles = "list" | "parallel"; + +export { createChainable as c }; +export type { AfterAllListener as A, BeforeAllListener as B, ChainableFunction as C, DoneCallback as D, ExtendedContext as E, File as F, TaskMeta as G, HookCleanupCallback as H, ImportDuration as I, TaskPopulated as J, TaskResult as K, TaskResultPack as L, TaskState as M, TestAnnotation as N, OnTestFailedHandler as O, TestAnnotationLocation as P, TestAttachment as Q, RunMode as R, Suite as S, Task as T, TestContext as U, TestFunction as V, TestOptions as W, Use as X, Test as a, AfterEachListener as b, BeforeEachListener as d, TaskHook as e, OnTestFinishedHandler as f, Custom as g, SuiteHooks as h, TaskUpdateEvent as i, TestAPI as j, SuiteAPI as k, SuiteCollector as l, Fixture as m, FixtureFn as n, FixtureOptions as o, Fixtures as p, HookListener as q, InferFixturesTypes as r, RuntimeContext as s, SequenceHooks as t, SequenceSetupFiles as u, SuiteFactory as v, TaskBase as w, TaskContext as x, TaskCustomOptions as y, TaskEventPack as z }; diff --git a/node_modules/@vitest/runner/dist/types.d.ts b/node_modules/@vitest/runner/dist/types.d.ts new file mode 100644 index 0000000..61cdd65 --- /dev/null +++ b/node_modules/@vitest/runner/dist/types.d.ts @@ -0,0 +1,163 @@ +import { DiffOptions } from '@vitest/utils/diff'; +import { F as File, a as Test, S as Suite, L as TaskResultPack, z as TaskEventPack, N as TestAnnotation, U as TestContext, I as ImportDuration, t as SequenceHooks, u as SequenceSetupFiles } from './tasks.d-CkscK4of.js'; +export { A as AfterAllListener, b as AfterEachListener, B as BeforeAllListener, d as BeforeEachListener, g as Custom, j as CustomAPI, D as DoneCallback, E as ExtendedContext, m as Fixture, n as FixtureFn, o as FixtureOptions, p as Fixtures, H as HookCleanupCallback, q as HookListener, r as InferFixturesTypes, O as OnTestFailedHandler, f as OnTestFinishedHandler, R as RunMode, s as RuntimeContext, k as SuiteAPI, l as SuiteCollector, v as SuiteFactory, h as SuiteHooks, T as Task, w as TaskBase, x as TaskContext, y as TaskCustomOptions, e as TaskHook, G as TaskMeta, J as TaskPopulated, K as TaskResult, M as TaskState, i as TaskUpdateEvent, j as TestAPI, P as TestAnnotationLocation, Q as TestAttachment, V as TestFunction, W as TestOptions, X as Use } from './tasks.d-CkscK4of.js'; +import '@vitest/utils'; + +/** +* This is a subset of Vitest config that's required for the runner to work. +*/ +interface VitestRunnerConfig { + root: string; + setupFiles: string[]; + name?: string; + passWithNoTests: boolean; + testNamePattern?: RegExp; + allowOnly?: boolean; + sequence: { + shuffle?: boolean + concurrent?: boolean + seed: number + hooks: SequenceHooks + setupFiles: SequenceSetupFiles + }; + chaiConfig?: { + truncateThreshold?: number + }; + maxConcurrency: number; + testTimeout: number; + hookTimeout: number; + retry: number; + includeTaskLocation?: boolean; + diffOptions?: DiffOptions; +} +/** +* Possible options to run a single file in a test. +*/ +interface FileSpecification { + filepath: string; + testLocations: number[] | undefined; +} +type VitestRunnerImportSource = "collect" | "setup"; +interface VitestRunnerConstructor { + new (config: VitestRunnerConfig): VitestRunner; +} +type CancelReason = "keyboard-input" | "test-failure" | (string & Record); +interface VitestRunner { + /** + * First thing that's getting called before actually collecting and running tests. + */ + onBeforeCollect?: (paths: string[]) => unknown; + /** + * Called after the file task was created but not collected yet. + */ + onCollectStart?: (file: File) => unknown; + /** + * Called after collecting tests and before "onBeforeRun". + */ + onCollected?: (files: File[]) => unknown; + /** + * Called when test runner should cancel next test runs. + * Runner should listen for this method and mark tests and suites as skipped in + * "onBeforeRunSuite" and "onBeforeRunTask" when called. + */ + cancel?: (reason: CancelReason) => unknown; + /** + * Called before running a single test. Doesn't have "result" yet. + */ + onBeforeRunTask?: (test: Test) => unknown; + /** + * Called before actually running the test function. Already has "result" with "state" and "startTime". + */ + onBeforeTryTask?: (test: Test, options: { + retry: number + repeats: number + }) => unknown; + /** + * When the task has finished running, but before cleanup hooks are called + */ + onTaskFinished?: (test: Test) => unknown; + /** + * Called after result and state are set. + */ + onAfterRunTask?: (test: Test) => unknown; + /** + * Called right after running the test function. Doesn't have new state yet. Will not be called, if the test function throws. + */ + onAfterTryTask?: (test: Test, options: { + retry: number + repeats: number + }) => unknown; + /** + * Called before running a single suite. Doesn't have "result" yet. + */ + onBeforeRunSuite?: (suite: Suite) => unknown; + /** + * Called after running a single suite. Has state and result. + */ + onAfterRunSuite?: (suite: Suite) => unknown; + /** + * If defined, will be called instead of usual Vitest suite partition and handling. + * "before" and "after" hooks will not be ignored. + */ + runSuite?: (suite: Suite) => Promise; + /** + * If defined, will be called instead of usual Vitest handling. Useful, if you have your custom test function. + * "before" and "after" hooks will not be ignored. + */ + runTask?: (test: Test) => Promise; + /** + * Called, when a task is updated. The same as "onTaskUpdate" in a reporter, but this is running in the same thread as tests. + */ + onTaskUpdate?: (task: TaskResultPack[], events: TaskEventPack[]) => Promise; + /** + * Called when annotation is added via the `context.annotate` method. + */ + onTestAnnotate?: (test: Test, annotation: TestAnnotation) => Promise; + /** + * Called before running all tests in collected paths. + */ + onBeforeRunFiles?: (files: File[]) => unknown; + /** + * Called right after running all tests in collected paths. + */ + onAfterRunFiles?: (files: File[]) => unknown; + /** + * Called when new context for a test is defined. Useful if you want to add custom properties to the context. + * If you only want to define custom context, consider using "beforeAll" in "setupFiles" instead. + * + * @see https://vitest.dev/advanced/runner#your-task-function + */ + extendTaskContext?: (context: TestContext) => TestContext; + /** + * Called when test and setup files are imported. Can be called in two situations: when collecting tests and when importing setup files. + */ + importFile: (filepath: string, source: VitestRunnerImportSource) => unknown; + /** + * Function that is called when the runner attempts to get the value when `test.extend` is used with `{ injected: true }` + */ + injectValue?: (key: string) => unknown; + /** + * Gets the time spent importing each individual non-externalized file that Vitest collected. + */ + getImportDurations?: () => Record; + /** + * Publicly available configuration. + */ + config: VitestRunnerConfig; + /** + * The name of the current pool. Can affect how stack trace is inferred on the server side. + */ + pool?: string; + /** + * Return the worker context for fixtures specified with `scope: 'worker'` + */ + getWorkerContext?: () => Record; + onCleanupWorkerContext?: (cleanup: () => unknown) => void; + /** @private */ + _currentTaskStartTime?: number; + /** @private */ + _currentTaskTimeout?: number; +} + +export { File, ImportDuration, SequenceHooks, SequenceSetupFiles, Suite, TaskEventPack, TaskResultPack, Test, TestAnnotation, TestContext }; +export type { CancelReason, FileSpecification, VitestRunner, VitestRunnerConfig, VitestRunnerConstructor, VitestRunnerImportSource }; diff --git a/node_modules/@vitest/runner/dist/types.js b/node_modules/@vitest/runner/dist/types.js new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/node_modules/@vitest/runner/dist/types.js @@ -0,0 +1 @@ + diff --git a/node_modules/@vitest/runner/dist/utils.d.ts b/node_modules/@vitest/runner/dist/utils.d.ts new file mode 100644 index 0000000..52b193a --- /dev/null +++ b/node_modules/@vitest/runner/dist/utils.d.ts @@ -0,0 +1,47 @@ +import { S as Suite, F as File, T as Task, a as Test } from './tasks.d-CkscK4of.js'; +export { C as ChainableFunction, c as createChainable } from './tasks.d-CkscK4of.js'; +import { Arrayable } from '@vitest/utils'; + +/** +* If any tasks been marked as `only`, mark all other tasks as `skip`. +*/ +declare function interpretTaskModes(file: Suite, namePattern?: string | RegExp, testLocations?: number[] | undefined, onlyMode?: boolean, parentIsOnly?: boolean, allowOnly?: boolean): void; +declare function someTasksAreOnly(suite: Suite): boolean; +declare function generateHash(str: string): string; +declare function calculateSuiteHash(parent: Suite): void; +declare function createFileTask(filepath: string, root: string, projectName: string | undefined, pool?: string): File; +/** +* Generate a unique ID for a file based on its path and project name +* @param file File relative to the root of the project to keep ID the same between different machines +* @param projectName The name of the test project +*/ +declare function generateFileHash(file: string, projectName: string | undefined): string; + +/** +* Return a function for running multiple async operations with limited concurrency. +*/ +declare function limitConcurrency(concurrency?: number): < + Args extends unknown[], + T +>(func: (...args: Args) => PromiseLike | T, ...args: Args) => Promise; + +/** +* Partition in tasks groups by consecutive concurrent +*/ +declare function partitionSuiteChildren(suite: Suite): Task[][]; + +/** +* @deprecated use `isTestCase` instead +*/ +declare function isAtomTest(s: Task): s is Test; +declare function isTestCase(s: Task): s is Test; +declare function getTests(suite: Arrayable): Test[]; +declare function getTasks(tasks?: Arrayable): Task[]; +declare function getSuites(suite: Arrayable): Suite[]; +declare function hasTests(suite: Arrayable): boolean; +declare function hasFailed(suite: Arrayable): boolean; +declare function getNames(task: Task): string[]; +declare function getFullName(task: Task, separator?: string): string; +declare function getTestName(task: Task, separator?: string): string; + +export { calculateSuiteHash, createFileTask, generateFileHash, generateHash, getFullName, getNames, getSuites, getTasks, getTestName, getTests, hasFailed, hasTests, interpretTaskModes, isAtomTest, isTestCase, limitConcurrency, partitionSuiteChildren, someTasksAreOnly }; diff --git a/node_modules/@vitest/runner/dist/utils.js b/node_modules/@vitest/runner/dist/utils.js new file mode 100644 index 0000000..46f081c --- /dev/null +++ b/node_modules/@vitest/runner/dist/utils.js @@ -0,0 +1,6 @@ +export { v as calculateSuiteHash, r as createChainable, w as createFileTask, x as generateFileHash, y as generateHash, D as getFullName, E as getNames, F as getSuites, G as getTasks, H as getTestName, I as getTests, J as hasFailed, K as hasTests, z as interpretTaskModes, L as isAtomTest, M as isTestCase, B as limitConcurrency, C as partitionSuiteChildren, A as someTasksAreOnly } from './chunk-hooks.js'; +import '@vitest/utils'; +import '@vitest/utils/source-map'; +import '@vitest/utils/error'; +import 'strip-literal'; +import 'pathe'; diff --git a/node_modules/@vitest/runner/package.json b/node_modules/@vitest/runner/package.json new file mode 100644 index 0000000..3b78bf5 --- /dev/null +++ b/node_modules/@vitest/runner/package.json @@ -0,0 +1,49 @@ +{ + "name": "@vitest/runner", + "type": "module", + "version": "3.2.3", + "description": "Vitest test runner", + "license": "MIT", + "funding": "https://opencollective.com/vitest", + "homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/runner#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vitest-dev/vitest.git", + "directory": "packages/runner" + }, + "bugs": { + "url": "https://github.com/vitest-dev/vitest/issues" + }, + "sideEffects": true, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./utils": { + "types": "./dist/utils.d.ts", + "default": "./dist/utils.js" + }, + "./types": { + "types": "./dist/types.d.ts", + "default": "./dist/types.js" + }, + "./*": "./*" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "*.d.ts", + "dist" + ], + "dependencies": { + "pathe": "^2.0.3", + "strip-literal": "^3.0.0", + "@vitest/utils": "3.2.3" + }, + "scripts": { + "build": "rimraf dist && rollup -c", + "dev": "rollup -c --watch" + } +} \ No newline at end of file diff --git a/node_modules/@vitest/runner/types.d.ts b/node_modules/@vitest/runner/types.d.ts new file mode 100644 index 0000000..26a1254 --- /dev/null +++ b/node_modules/@vitest/runner/types.d.ts @@ -0,0 +1 @@ +export * from './dist/types.js' diff --git a/node_modules/@vitest/runner/utils.d.ts b/node_modules/@vitest/runner/utils.d.ts new file mode 100644 index 0000000..e3f344e --- /dev/null +++ b/node_modules/@vitest/runner/utils.d.ts @@ -0,0 +1 @@ +export * from './dist/utils.js' diff --git a/node_modules/@vitest/snapshot/LICENSE b/node_modules/@vitest/snapshot/LICENSE new file mode 100644 index 0000000..5ae481f --- /dev/null +++ b/node_modules/@vitest/snapshot/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-Present Vitest Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@vitest/snapshot/README.md b/node_modules/@vitest/snapshot/README.md new file mode 100644 index 0000000..edf0817 --- /dev/null +++ b/node_modules/@vitest/snapshot/README.md @@ -0,0 +1,84 @@ +# @vitest/snapshot + +Lightweight implementation of Jest's snapshots. + +## Usage + +```js +import { SnapshotClient } from '@vitest/snapshot' +import { NodeSnapshotEnvironment } from '@vitest/snapshot/environment' +import { SnapshotManager } from '@vitest/snapshot/manager' + +const client = new SnapshotClient({ + // you need to provide your own equality check implementation if you use it + // this function is called when `.toMatchSnapshot({ property: 1 })` is called + isEqual: (received, expected) => + equals(received, expected, [iterableEquality, subsetEquality]), +}) + +// class that implements snapshot saving and reading +// by default uses fs module, but you can provide your own implementation depending on the environment +const environment = new NodeSnapshotEnvironment() + +// you need to implement this yourselves, +// this depends on your runner +function getCurrentFilepath() { + return '/file.spec.js' +} +function getCurrentTestName() { + return 'test1' +} + +// example for inline snapshots, nothing is required to support regular snapshots, +// just call `assert` with `isInline: false` +function wrapper(received) { + function __INLINE_SNAPSHOT__(inlineSnapshot, message) { + client.assert({ + received, + message, + isInline: true, + inlineSnapshot, + filepath: getCurrentFilepath(), + name: getCurrentTestName(), + }) + } + return { + // the name is hard-coded, it should be inside another function, so Vitest can find the actual test file where it was called (parses call stack trace + 2) + // you can override this behaviour in SnapshotState's `_inferInlineSnapshotStack` method by providing your own SnapshotState to SnapshotClient constructor + toMatchInlineSnapshot: (...args) => __INLINE_SNAPSHOT__(...args), + } +} + +const options = { + updateSnapshot: 'new', + snapshotEnvironment: environment, +} + +await client.startCurrentRun( + getCurrentFilepath(), + getCurrentTestName(), + options +) + +// this will save snapshot to a file which is returned by "snapshotEnvironment.resolvePath" +client.assert({ + received: 'some text', + isInline: false, +}) + +// uses "pretty-format", so it requires quotes +// also naming is hard-coded when parsing test files +wrapper('text 1').toMatchInlineSnapshot() +wrapper('text 2').toMatchInlineSnapshot('"text 2"') + +const result = await client.finishCurrentRun() // this saves files and returns SnapshotResult + +// you can use manager to manage several clients +const manager = new SnapshotManager(options) +manager.add(result) + +// do something +// and then read the summary + +console.log(manager.summary) +``` diff --git a/node_modules/@vitest/snapshot/dist/environment.d-DHdQ1Csl.d.ts b/node_modules/@vitest/snapshot/dist/environment.d-DHdQ1Csl.d.ts new file mode 100644 index 0000000..435ae4f --- /dev/null +++ b/node_modules/@vitest/snapshot/dist/environment.d-DHdQ1Csl.d.ts @@ -0,0 +1,22 @@ +interface ParsedStack { + method: string; + file: string; + line: number; + column: number; +} + +interface SnapshotEnvironment { + getVersion: () => string; + getHeader: () => string; + resolvePath: (filepath: string) => Promise; + resolveRawPath: (testPath: string, rawPath: string) => Promise; + saveSnapshotFile: (filepath: string, snapshot: string) => Promise; + readSnapshotFile: (filepath: string) => Promise; + removeSnapshotFile: (filepath: string) => Promise; + processStackTrace?: (stack: ParsedStack) => ParsedStack; +} +interface SnapshotEnvironmentOptions { + snapshotsDirName?: string; +} + +export type { ParsedStack as P, SnapshotEnvironment as S, SnapshotEnvironmentOptions as a }; diff --git a/node_modules/@vitest/snapshot/dist/environment.d.ts b/node_modules/@vitest/snapshot/dist/environment.d.ts new file mode 100644 index 0000000..efa86bc --- /dev/null +++ b/node_modules/@vitest/snapshot/dist/environment.d.ts @@ -0,0 +1,16 @@ +import { S as SnapshotEnvironment, a as SnapshotEnvironmentOptions } from './environment.d-DHdQ1Csl.js'; + +declare class NodeSnapshotEnvironment implements SnapshotEnvironment { + private options; + constructor(options?: SnapshotEnvironmentOptions); + getVersion(): string; + getHeader(): string; + resolveRawPath(testPath: string, rawPath: string): Promise; + resolvePath(filepath: string): Promise; + prepareDirectory(dirPath: string): Promise; + saveSnapshotFile(filepath: string, snapshot: string): Promise; + readSnapshotFile(filepath: string): Promise; + removeSnapshotFile(filepath: string): Promise; +} + +export { NodeSnapshotEnvironment, SnapshotEnvironment }; diff --git a/node_modules/@vitest/snapshot/dist/environment.js b/node_modules/@vitest/snapshot/dist/environment.js new file mode 100644 index 0000000..079b478 --- /dev/null +++ b/node_modules/@vitest/snapshot/dist/environment.js @@ -0,0 +1,40 @@ +import { promises, existsSync } from 'node:fs'; +import { resolve, isAbsolute, dirname, join, basename } from 'pathe'; + +class NodeSnapshotEnvironment { + constructor(options = {}) { + this.options = options; + } + getVersion() { + return "1"; + } + getHeader() { + return `// Snapshot v${this.getVersion()}`; + } + async resolveRawPath(testPath, rawPath) { + return isAbsolute(rawPath) ? rawPath : resolve(dirname(testPath), rawPath); + } + async resolvePath(filepath) { + return join(join(dirname(filepath), this.options.snapshotsDirName ?? "__snapshots__"), `${basename(filepath)}.snap`); + } + async prepareDirectory(dirPath) { + await promises.mkdir(dirPath, { recursive: true }); + } + async saveSnapshotFile(filepath, snapshot) { + await promises.mkdir(dirname(filepath), { recursive: true }); + await promises.writeFile(filepath, snapshot, "utf-8"); + } + async readSnapshotFile(filepath) { + if (!existsSync(filepath)) { + return null; + } + return promises.readFile(filepath, "utf-8"); + } + async removeSnapshotFile(filepath) { + if (existsSync(filepath)) { + await promises.unlink(filepath); + } + } +} + +export { NodeSnapshotEnvironment }; diff --git a/node_modules/@vitest/snapshot/dist/index.d.ts b/node_modules/@vitest/snapshot/dist/index.d.ts new file mode 100644 index 0000000..007ae79 --- /dev/null +++ b/node_modules/@vitest/snapshot/dist/index.d.ts @@ -0,0 +1,137 @@ +import { S as SnapshotStateOptions, a as SnapshotMatchOptions, b as SnapshotResult, R as RawSnapshotInfo } from './rawSnapshot.d-lFsMJFUd.js'; +export { c as SnapshotData, d as SnapshotSerializer, e as SnapshotSummary, f as SnapshotUpdateState, U as UncheckedSnapshot } from './rawSnapshot.d-lFsMJFUd.js'; +import { S as SnapshotEnvironment, P as ParsedStack } from './environment.d-DHdQ1Csl.js'; +import { Plugin, Plugins } from '@vitest/pretty-format'; + +/** +* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +declare class DefaultMap< + K, + V +> extends Map { + private defaultFn; + constructor(defaultFn: (key: K) => V, entries?: Iterable); + get(key: K): V; +} +declare class CounterMap extends DefaultMap { + constructor(); + // compat for jest-image-snapshot https://github.com/vitest-dev/vitest/issues/7322 + // `valueOf` and `Snapshot.added` setter allows + // snapshotState.added = snapshotState.added + 1 + // to function as + // snapshotState.added.total_ = snapshotState.added.total() + 1 + _total: number | undefined; + valueOf(): number; + increment(key: K): void; + total(): number; +} + +interface SnapshotReturnOptions { + actual: string; + count: number; + expected?: string; + key: string; + pass: boolean; +} +interface SaveStatus { + deleted: boolean; + saved: boolean; +} +declare class SnapshotState { + testFilePath: string; + snapshotPath: string; + private _counters; + private _dirty; + private _updateSnapshot; + private _snapshotData; + private _initialData; + private _inlineSnapshots; + private _inlineSnapshotStacks; + private _testIdToKeys; + private _rawSnapshots; + private _uncheckedKeys; + private _snapshotFormat; + private _environment; + private _fileExists; + expand: boolean; + // getter/setter for jest-image-snapshot compat + // https://github.com/vitest-dev/vitest/issues/7322 + private _added; + private _matched; + private _unmatched; + private _updated; + get added(): CounterMap; + set added(value: number); + get matched(): CounterMap; + set matched(value: number); + get unmatched(): CounterMap; + set unmatched(value: number); + get updated(): CounterMap; + set updated(value: number); + private constructor(); + static create(testFilePath: string, options: SnapshotStateOptions): Promise; + get environment(): SnapshotEnvironment; + markSnapshotsAsCheckedForTest(testName: string): void; + clearTest(testId: string): void; + protected _inferInlineSnapshotStack(stacks: ParsedStack[]): ParsedStack | null; + private _addSnapshot; + save(): Promise; + getUncheckedCount(): number; + getUncheckedKeys(): Array; + removeUncheckedKeys(): void; + match({ testId, testName, received, key, inlineSnapshot, isInline, error, rawSnapshot }: SnapshotMatchOptions): SnapshotReturnOptions; + pack(): Promise; +} + +interface AssertOptions { + received: unknown; + filepath: string; + name: string; + /** + * Not required but needed for `SnapshotClient.clearTest` to implement test-retry behavior. + * @default name + */ + testId?: string; + message?: string; + isInline?: boolean; + properties?: object; + inlineSnapshot?: string; + error?: Error; + errorMessage?: string; + rawSnapshot?: RawSnapshotInfo; +} +interface SnapshotClientOptions { + isEqual?: (received: unknown, expected: unknown) => boolean; +} +declare class SnapshotClient { + private options; + snapshotStateMap: Map; + constructor(options?: SnapshotClientOptions); + setup(filepath: string, options: SnapshotStateOptions): Promise; + finish(filepath: string): Promise; + skipTest(filepath: string, testName: string): void; + clearTest(filepath: string, testId: string): void; + getSnapshotState(filepath: string): SnapshotState; + assert(options: AssertOptions): void; + assertRaw(options: AssertOptions): Promise; + clear(): void; +} + +declare function stripSnapshotIndentation(inlineSnapshot: string): string; + +/** +* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +declare function addSerializer(plugin: Plugin): void; +declare function getSerializers(): Plugins; + +export { SnapshotClient, SnapshotMatchOptions, SnapshotResult, SnapshotState, SnapshotStateOptions, addSerializer, getSerializers, stripSnapshotIndentation }; diff --git a/node_modules/@vitest/snapshot/dist/index.js b/node_modules/@vitest/snapshot/dist/index.js new file mode 100644 index 0000000..65b3d20 --- /dev/null +++ b/node_modules/@vitest/snapshot/dist/index.js @@ -0,0 +1,2321 @@ +import { resolve as resolve$2 } from 'pathe'; +import { plugins, format } from '@vitest/pretty-format'; + +const comma = ','.charCodeAt(0); +const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; +const intToChar = new Uint8Array(64); // 64 possible chars. +const charToInt = new Uint8Array(128); // z is 122 in ASCII +for (let i = 0; i < chars.length; i++) { + const c = chars.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; +} +function decodeInteger(reader, relative) { + let value = 0; + let shift = 0; + let integer = 0; + do { + const c = reader.next(); + integer = charToInt[c]; + value |= (integer & 31) << shift; + shift += 5; + } while (integer & 32); + const shouldNegate = value & 1; + value >>>= 1; + if (shouldNegate) { + value = -2147483648 | -value; + } + return relative + value; +} +function hasMoreVlq(reader, max) { + if (reader.pos >= max) + return false; + return reader.peek() !== comma; +} +class StringReader { + constructor(buffer) { + this.pos = 0; + this.buffer = buffer; + } + next() { + return this.buffer.charCodeAt(this.pos++); + } + peek() { + return this.buffer.charCodeAt(this.pos); + } + indexOf(char) { + const { buffer, pos } = this; + const idx = buffer.indexOf(char, pos); + return idx === -1 ? buffer.length : idx; + } +} + +function decode(mappings) { + const { length } = mappings; + const reader = new StringReader(mappings); + const decoded = []; + let genColumn = 0; + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + do { + const semi = reader.indexOf(';'); + const line = []; + let sorted = true; + let lastCol = 0; + genColumn = 0; + while (reader.pos < semi) { + let seg; + genColumn = decodeInteger(reader, genColumn); + if (genColumn < lastCol) + sorted = false; + lastCol = genColumn; + if (hasMoreVlq(reader, semi)) { + sourcesIndex = decodeInteger(reader, sourcesIndex); + sourceLine = decodeInteger(reader, sourceLine); + sourceColumn = decodeInteger(reader, sourceColumn); + if (hasMoreVlq(reader, semi)) { + namesIndex = decodeInteger(reader, namesIndex); + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]; + } + else { + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn]; + } + } + else { + seg = [genColumn]; + } + line.push(seg); + reader.pos++; + } + if (!sorted) + sort(line); + decoded.push(line); + reader.pos = semi + 1; + } while (reader.pos <= length); + return decoded; +} +function sort(line) { + line.sort(sortComparator$1); +} +function sortComparator$1(a, b) { + return a[0] - b[0]; +} + +// Matches the scheme of a URL, eg "http://" +const schemeRegex = /^[\w+.-]+:\/\//; +/** + * Matches the parts of a URL: + * 1. Scheme, including ":", guaranteed. + * 2. User/password, including "@", optional. + * 3. Host, guaranteed. + * 4. Port, including ":", optional. + * 5. Path, including "/", optional. + * 6. Query, including "?", optional. + * 7. Hash, including "#", optional. + */ +const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/; +/** + * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start + * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive). + * + * 1. Host, optional. + * 2. Path, which may include "/", guaranteed. + * 3. Query, including "?", optional. + * 4. Hash, including "#", optional. + */ +const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i; +var UrlType; +(function (UrlType) { + UrlType[UrlType["Empty"] = 1] = "Empty"; + UrlType[UrlType["Hash"] = 2] = "Hash"; + UrlType[UrlType["Query"] = 3] = "Query"; + UrlType[UrlType["RelativePath"] = 4] = "RelativePath"; + UrlType[UrlType["AbsolutePath"] = 5] = "AbsolutePath"; + UrlType[UrlType["SchemeRelative"] = 6] = "SchemeRelative"; + UrlType[UrlType["Absolute"] = 7] = "Absolute"; +})(UrlType || (UrlType = {})); +function isAbsoluteUrl(input) { + return schemeRegex.test(input); +} +function isSchemeRelativeUrl(input) { + return input.startsWith('//'); +} +function isAbsolutePath(input) { + return input.startsWith('/'); +} +function isFileUrl(input) { + return input.startsWith('file:'); +} +function isRelative(input) { + return /^[.?#]/.test(input); +} +function parseAbsoluteUrl(input) { + const match = urlRegex.exec(input); + return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || ''); +} +function parseFileUrl(input) { + const match = fileRegex.exec(input); + const path = match[2]; + return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || ''); +} +function makeUrl(scheme, user, host, port, path, query, hash) { + return { + scheme, + user, + host, + port, + path, + query, + hash, + type: UrlType.Absolute, + }; +} +function parseUrl(input) { + if (isSchemeRelativeUrl(input)) { + const url = parseAbsoluteUrl('http:' + input); + url.scheme = ''; + url.type = UrlType.SchemeRelative; + return url; + } + if (isAbsolutePath(input)) { + const url = parseAbsoluteUrl('http://foo.com' + input); + url.scheme = ''; + url.host = ''; + url.type = UrlType.AbsolutePath; + return url; + } + if (isFileUrl(input)) + return parseFileUrl(input); + if (isAbsoluteUrl(input)) + return parseAbsoluteUrl(input); + const url = parseAbsoluteUrl('http://foo.com/' + input); + url.scheme = ''; + url.host = ''; + url.type = input + ? input.startsWith('?') + ? UrlType.Query + : input.startsWith('#') + ? UrlType.Hash + : UrlType.RelativePath + : UrlType.Empty; + return url; +} +function stripPathFilename(path) { + // If a path ends with a parent directory "..", then it's a relative path with excess parent + // paths. It's not a file, so we can't strip it. + if (path.endsWith('/..')) + return path; + const index = path.lastIndexOf('/'); + return path.slice(0, index + 1); +} +function mergePaths(url, base) { + normalizePath(base, base.type); + // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative + // path). + if (url.path === '/') { + url.path = base.path; + } + else { + // Resolution happens relative to the base path's directory, not the file. + url.path = stripPathFilename(base.path) + url.path; + } +} +/** + * The path can have empty directories "//", unneeded parents "foo/..", or current directory + * "foo/.". We need to normalize to a standard representation. + */ +function normalizePath(url, type) { + const rel = type <= UrlType.RelativePath; + const pieces = url.path.split('/'); + // We need to preserve the first piece always, so that we output a leading slash. The item at + // pieces[0] is an empty string. + let pointer = 1; + // Positive is the number of real directories we've output, used for popping a parent directory. + // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo". + let positive = 0; + // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will + // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a + // real directory, we won't need to append, unless the other conditions happen again. + let addTrailingSlash = false; + for (let i = 1; i < pieces.length; i++) { + const piece = pieces[i]; + // An empty directory, could be a trailing slash, or just a double "//" in the path. + if (!piece) { + addTrailingSlash = true; + continue; + } + // If we encounter a real directory, then we don't need to append anymore. + addTrailingSlash = false; + // A current directory, which we can always drop. + if (piece === '.') + continue; + // A parent directory, we need to see if there are any real directories we can pop. Else, we + // have an excess of parents, and we'll need to keep the "..". + if (piece === '..') { + if (positive) { + addTrailingSlash = true; + positive--; + pointer--; + } + else if (rel) { + // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute + // URL, protocol relative URL, or an absolute path, we don't need to keep excess. + pieces[pointer++] = piece; + } + continue; + } + // We've encountered a real directory. Move it to the next insertion pointer, which accounts for + // any popped or dropped directories. + pieces[pointer++] = piece; + positive++; + } + let path = ''; + for (let i = 1; i < pointer; i++) { + path += '/' + pieces[i]; + } + if (!path || (addTrailingSlash && !path.endsWith('/..'))) { + path += '/'; + } + url.path = path; +} +/** + * Attempts to resolve `input` URL/path relative to `base`. + */ +function resolve$1(input, base) { + if (!input && !base) + return ''; + const url = parseUrl(input); + let inputType = url.type; + if (base && inputType !== UrlType.Absolute) { + const baseUrl = parseUrl(base); + const baseType = baseUrl.type; + switch (inputType) { + case UrlType.Empty: + url.hash = baseUrl.hash; + // fall through + case UrlType.Hash: + url.query = baseUrl.query; + // fall through + case UrlType.Query: + case UrlType.RelativePath: + mergePaths(url, baseUrl); + // fall through + case UrlType.AbsolutePath: + // The host, user, and port are joined, you can't copy one without the others. + url.user = baseUrl.user; + url.host = baseUrl.host; + url.port = baseUrl.port; + // fall through + case UrlType.SchemeRelative: + // The input doesn't have a schema at least, so we need to copy at least that over. + url.scheme = baseUrl.scheme; + } + if (baseType > inputType) + inputType = baseType; + } + normalizePath(url, inputType); + const queryHash = url.query + url.hash; + switch (inputType) { + // This is impossible, because of the empty checks at the start of the function. + // case UrlType.Empty: + case UrlType.Hash: + case UrlType.Query: + return queryHash; + case UrlType.RelativePath: { + // The first char is always a "/", and we need it to be relative. + const path = url.path.slice(1); + if (!path) + return queryHash || '.'; + if (isRelative(base || input) && !isRelative(path)) { + // If base started with a leading ".", or there is no base and input started with a ".", + // then we need to ensure that the relative path starts with a ".". We don't know if + // relative starts with a "..", though, so check before prepending. + return './' + path + queryHash; + } + return path + queryHash; + } + case UrlType.AbsolutePath: + return url.path + queryHash; + default: + return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash; + } +} + +function resolve(input, base) { + // The base is always treated as a directory, if it's not empty. + // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327 + // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401 + if (base && !base.endsWith('/')) + base += '/'; + return resolve$1(input, base); +} + +/** + * Removes everything after the last "/", but leaves the slash. + */ +function stripFilename(path) { + if (!path) + return ''; + const index = path.lastIndexOf('/'); + return path.slice(0, index + 1); +} + +const COLUMN = 0; +const SOURCES_INDEX = 1; +const SOURCE_LINE = 2; +const SOURCE_COLUMN = 3; +const NAMES_INDEX = 4; + +function maybeSort(mappings, owned) { + const unsortedIndex = nextUnsortedSegmentLine(mappings, 0); + if (unsortedIndex === mappings.length) + return mappings; + // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If + // not, we do not want to modify the consumer's input array. + if (!owned) + mappings = mappings.slice(); + for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) { + mappings[i] = sortSegments(mappings[i], owned); + } + return mappings; +} +function nextUnsortedSegmentLine(mappings, start) { + for (let i = start; i < mappings.length; i++) { + if (!isSorted(mappings[i])) + return i; + } + return mappings.length; +} +function isSorted(line) { + for (let j = 1; j < line.length; j++) { + if (line[j][COLUMN] < line[j - 1][COLUMN]) { + return false; + } + } + return true; +} +function sortSegments(line, owned) { + if (!owned) + line = line.slice(); + return line.sort(sortComparator); +} +function sortComparator(a, b) { + return a[COLUMN] - b[COLUMN]; +} + +let found = false; +/** + * A binary search implementation that returns the index if a match is found. + * If no match is found, then the left-index (the index associated with the item that comes just + * before the desired index) is returned. To maintain proper sort order, a splice would happen at + * the next index: + * + * ```js + * const array = [1, 3]; + * const needle = 2; + * const index = binarySearch(array, needle, (item, needle) => item - needle); + * + * assert.equal(index, 0); + * array.splice(index + 1, 0, needle); + * assert.deepEqual(array, [1, 2, 3]); + * ``` + */ +function binarySearch(haystack, needle, low, high) { + while (low <= high) { + const mid = low + ((high - low) >> 1); + const cmp = haystack[mid][COLUMN] - needle; + if (cmp === 0) { + found = true; + return mid; + } + if (cmp < 0) { + low = mid + 1; + } + else { + high = mid - 1; + } + } + found = false; + return low - 1; +} +function upperBound(haystack, needle, index) { + for (let i = index + 1; i < haystack.length; index = i++) { + if (haystack[i][COLUMN] !== needle) + break; + } + return index; +} +function lowerBound(haystack, needle, index) { + for (let i = index - 1; i >= 0; index = i--) { + if (haystack[i][COLUMN] !== needle) + break; + } + return index; +} +function memoizedState() { + return { + lastKey: -1, + lastNeedle: -1, + lastIndex: -1, + }; +} +/** + * This overly complicated beast is just to record the last tested line/column and the resulting + * index, allowing us to skip a few tests if mappings are monotonically increasing. + */ +function memoizedBinarySearch(haystack, needle, state, key) { + const { lastKey, lastNeedle, lastIndex } = state; + let low = 0; + let high = haystack.length - 1; + if (key === lastKey) { + if (needle === lastNeedle) { + found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle; + return lastIndex; + } + if (needle >= lastNeedle) { + // lastIndex may be -1 if the previous needle was not found. + low = lastIndex === -1 ? 0 : lastIndex; + } + else { + high = lastIndex; + } + } + state.lastKey = key; + state.lastNeedle = needle; + return (state.lastIndex = binarySearch(haystack, needle, low, high)); +} + +const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)'; +const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)'; +const LEAST_UPPER_BOUND = -1; +const GREATEST_LOWER_BOUND = 1; +class TraceMap { + constructor(map, mapUrl) { + const isString = typeof map === 'string'; + if (!isString && map._decodedMemo) + return map; + const parsed = (isString ? JSON.parse(map) : map); + const { version, file, names, sourceRoot, sources, sourcesContent } = parsed; + this.version = version; + this.file = file; + this.names = names || []; + this.sourceRoot = sourceRoot; + this.sources = sources; + this.sourcesContent = sourcesContent; + this.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || undefined; + const from = resolve(sourceRoot || '', stripFilename(mapUrl)); + this.resolvedSources = sources.map((s) => resolve(s || '', from)); + const { mappings } = parsed; + if (typeof mappings === 'string') { + this._encoded = mappings; + this._decoded = undefined; + } + else { + this._encoded = undefined; + this._decoded = maybeSort(mappings, isString); + } + this._decodedMemo = memoizedState(); + this._bySources = undefined; + this._bySourceMemos = undefined; + } +} +/** + * Typescript doesn't allow friend access to private fields, so this just casts the map into a type + * with public access modifiers. + */ +function cast(map) { + return map; +} +/** + * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field. + */ +function decodedMappings(map) { + var _a; + return ((_a = cast(map))._decoded || (_a._decoded = decode(cast(map)._encoded))); +} +/** + * A higher-level API to find the source/line/column associated with a generated line/column + * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in + * `source-map` library. + */ +function originalPositionFor(map, needle) { + let { line, column, bias } = needle; + line--; + if (line < 0) + throw new Error(LINE_GTR_ZERO); + if (column < 0) + throw new Error(COL_GTR_EQ_ZERO); + const decoded = decodedMappings(map); + // It's common for parent source maps to have pointers to lines that have no + // mapping (like a "//# sourceMappingURL=") at the end of the child file. + if (line >= decoded.length) + return OMapping(null, null, null, null); + const segments = decoded[line]; + const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND); + if (index === -1) + return OMapping(null, null, null, null); + const segment = segments[index]; + if (segment.length === 1) + return OMapping(null, null, null, null); + const { names, resolvedSources } = map; + return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null); +} +function OMapping(source, line, column, name) { + return { source, line, column, name }; +} +function traceSegmentInternal(segments, memo, line, column, bias) { + let index = memoizedBinarySearch(segments, column, memo, line); + if (found) { + index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index); + } + else if (bias === LEAST_UPPER_BOUND) + index++; + if (index === -1 || index === segments.length) + return -1; + return index; +} + +/** +* Get original stacktrace without source map support the most performant way. +* - Create only 1 stack frame. +* - Rewrite prepareStackTrace to bypass "support-stack-trace" (usually takes ~250ms). +*/ +function notNullish(v) { + return v != null; +} +function isPrimitive(value) { + return value === null || typeof value !== "function" && typeof value !== "object"; +} +function isObject(item) { + return item != null && typeof item === "object" && !Array.isArray(item); +} +/** +* If code starts with a function call, will return its last index, respecting arguments. +* This will return 25 - last ending character of toMatch ")" +* Also works with callbacks +* ``` +* toMatch({ test: '123' }); +* toBeAliased('123') +* ``` +*/ +function getCallLastIndex(code) { + let charIndex = -1; + let inString = null; + let startedBracers = 0; + let endedBracers = 0; + let beforeChar = null; + while (charIndex <= code.length) { + beforeChar = code[charIndex]; + charIndex++; + const char = code[charIndex]; + const isCharString = char === "\"" || char === "'" || char === "`"; + if (isCharString && beforeChar !== "\\") { + if (inString === char) { + inString = null; + } else if (!inString) { + inString = char; + } + } + if (!inString) { + if (char === "(") { + startedBracers++; + } + if (char === ")") { + endedBracers++; + } + } + if (startedBracers && endedBracers && startedBracers === endedBracers) { + return charIndex; + } + } + return null; +} + +const CHROME_IE_STACK_REGEXP = /^\s*at .*(?:\S:\d+|\(native\))/m; +const SAFARI_NATIVE_CODE_REGEXP = /^(?:eval@)?(?:\[native code\])?$/; +const stackIgnorePatterns = [ + "node:internal", + /\/packages\/\w+\/dist\//, + /\/@vitest\/\w+\/dist\//, + "/vitest/dist/", + "/vitest/src/", + "/vite-node/dist/", + "/vite-node/src/", + "/node_modules/chai/", + "/node_modules/tinypool/", + "/node_modules/tinyspy/", + "/deps/chunk-", + "/deps/@vitest", + "/deps/loupe", + "/deps/chai", + /node:\w+/, + /__vitest_test__/, + /__vitest_browser__/, + /\/deps\/vitest_/ +]; +function extractLocation(urlLike) { + // Fail-fast but return locations like "(native)" + if (!urlLike.includes(":")) { + return [urlLike]; + } + const regExp = /(.+?)(?::(\d+))?(?::(\d+))?$/; + const parts = regExp.exec(urlLike.replace(/^\(|\)$/g, "")); + if (!parts) { + return [urlLike]; + } + let url = parts[1]; + if (url.startsWith("async ")) { + url = url.slice(6); + } + if (url.startsWith("http:") || url.startsWith("https:")) { + const urlObj = new URL(url); + urlObj.searchParams.delete("import"); + urlObj.searchParams.delete("browserv"); + url = urlObj.pathname + urlObj.hash + urlObj.search; + } + if (url.startsWith("/@fs/")) { + const isWindows = /^\/@fs\/[a-zA-Z]:\//.test(url); + url = url.slice(isWindows ? 5 : 4); + } + return [ + url, + parts[2] || undefined, + parts[3] || undefined + ]; +} +function parseSingleFFOrSafariStack(raw) { + let line = raw.trim(); + if (SAFARI_NATIVE_CODE_REGEXP.test(line)) { + return null; + } + if (line.includes(" > eval")) { + line = line.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1"); + } + if (!line.includes("@") && !line.includes(":")) { + return null; + } + // eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/optimal-quantifier-concatenation + const functionNameRegex = /((.*".+"[^@]*)?[^@]*)(@)/; + const matches = line.match(functionNameRegex); + const functionName = matches && matches[1] ? matches[1] : undefined; + const [url, lineNumber, columnNumber] = extractLocation(line.replace(functionNameRegex, "")); + if (!url || !lineNumber || !columnNumber) { + return null; + } + return { + file: url, + method: functionName || "", + line: Number.parseInt(lineNumber), + column: Number.parseInt(columnNumber) + }; +} +// Based on https://github.com/stacktracejs/error-stack-parser +// Credit to stacktracejs +function parseSingleV8Stack(raw) { + let line = raw.trim(); + if (!CHROME_IE_STACK_REGEXP.test(line)) { + return null; + } + if (line.includes("(eval ")) { + line = line.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, ""); + } + let sanitizedLine = line.replace(/^\s+/, "").replace(/\(eval code/g, "(").replace(/^.*?\s+/, ""); + // capture and preserve the parenthesized location "(/foo/my bar.js:12:87)" in + // case it has spaces in it, as the string is split on \s+ later on + const location = sanitizedLine.match(/ (\(.+\)$)/); + // remove the parenthesized location from the line, if it was matched + sanitizedLine = location ? sanitizedLine.replace(location[0], "") : sanitizedLine; + // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine + // because this line doesn't have function name + const [url, lineNumber, columnNumber] = extractLocation(location ? location[1] : sanitizedLine); + let method = location && sanitizedLine || ""; + let file = url && ["eval", ""].includes(url) ? undefined : url; + if (!file || !lineNumber || !columnNumber) { + return null; + } + if (method.startsWith("async ")) { + method = method.slice(6); + } + if (file.startsWith("file://")) { + file = file.slice(7); + } + // normalize Windows path (\ -> /) + file = file.startsWith("node:") || file.startsWith("internal:") ? file : resolve$2(file); + if (method) { + method = method.replace(/__vite_ssr_import_\d+__\./g, ""); + } + return { + method, + file, + line: Number.parseInt(lineNumber), + column: Number.parseInt(columnNumber) + }; +} +function parseStacktrace(stack, options = {}) { + const { ignoreStackEntries = stackIgnorePatterns } = options; + const stacks = !CHROME_IE_STACK_REGEXP.test(stack) ? parseFFOrSafariStackTrace(stack) : parseV8Stacktrace(stack); + return stacks.map((stack) => { + var _options$getSourceMap; + if (options.getUrlId) { + stack.file = options.getUrlId(stack.file); + } + const map = (_options$getSourceMap = options.getSourceMap) === null || _options$getSourceMap === void 0 ? void 0 : _options$getSourceMap.call(options, stack.file); + if (!map || typeof map !== "object" || !map.version) { + return shouldFilter(ignoreStackEntries, stack.file) ? null : stack; + } + const traceMap = new TraceMap(map); + const { line, column, source, name } = originalPositionFor(traceMap, stack); + let file = stack.file; + if (source) { + const fileUrl = stack.file.startsWith("file://") ? stack.file : `file://${stack.file}`; + const sourceRootUrl = map.sourceRoot ? new URL(map.sourceRoot, fileUrl) : fileUrl; + file = new URL(source, sourceRootUrl).pathname; + // if the file path is on windows, we need to remove the leading slash + if (file.match(/\/\w:\//)) { + file = file.slice(1); + } + } + if (shouldFilter(ignoreStackEntries, file)) { + return null; + } + if (line != null && column != null) { + return { + line, + column, + file, + method: name || stack.method + }; + } + return stack; + }).filter((s) => s != null); +} +function shouldFilter(ignoreStackEntries, file) { + return ignoreStackEntries.some((p) => file.match(p)); +} +function parseFFOrSafariStackTrace(stack) { + return stack.split("\n").map((line) => parseSingleFFOrSafariStack(line)).filter(notNullish); +} +function parseV8Stacktrace(stack) { + return stack.split("\n").map((line) => parseSingleV8Stack(line)).filter(notNullish); +} +function parseErrorStacktrace(e, options = {}) { + if (!e || isPrimitive(e)) { + return []; + } + if (e.stacks) { + return e.stacks; + } + const stackStr = e.stack || ""; + // if "stack" property was overwritten at runtime to be something else, + // ignore the value because we don't know how to process it + let stackFrames = typeof stackStr === "string" ? parseStacktrace(stackStr, options) : []; + if (!stackFrames.length) { + const e_ = e; + if (e_.fileName != null && e_.lineNumber != null && e_.columnNumber != null) { + stackFrames = parseStacktrace(`${e_.fileName}:${e_.lineNumber}:${e_.columnNumber}`, options); + } + if (e_.sourceURL != null && e_.line != null && e_._column != null) { + stackFrames = parseStacktrace(`${e_.sourceURL}:${e_.line}:${e_.column}`, options); + } + } + if (options.frameFilter) { + stackFrames = stackFrames.filter((f) => options.frameFilter(e, f) !== false); + } + e.stacks = stackFrames; + return stackFrames; +} + +let getPromiseValue = () => 'Promise{…}'; +try { + // @ts-ignore + const { getPromiseDetails, kPending, kRejected } = process.binding('util'); + if (Array.isArray(getPromiseDetails(Promise.resolve()))) { + getPromiseValue = (value, options) => { + const [state, innerValue] = getPromiseDetails(value); + if (state === kPending) { + return 'Promise{}'; + } + return `Promise${state === kRejected ? '!' : ''}{${options.inspect(innerValue, options)}}`; + }; + } +} +catch (notNode) { + /* ignore */ +} + +/* ! + * loupe + * Copyright(c) 2013 Jake Luer + * MIT Licensed + */ +let nodeInspect = false; +try { + // eslint-disable-next-line global-require + // @ts-ignore + const nodeUtil = require('util'); + nodeInspect = nodeUtil.inspect ? nodeUtil.inspect.custom : false; +} +catch (noNodeInspect) { + nodeInspect = false; +} + +const { AsymmetricMatcher: AsymmetricMatcher$1, DOMCollection: DOMCollection$1, DOMElement: DOMElement$1, Immutable: Immutable$1, ReactElement: ReactElement$1, ReactTestComponent: ReactTestComponent$1 } = plugins; + +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +var jsTokens_1; +var hasRequiredJsTokens; + +function requireJsTokens () { + if (hasRequiredJsTokens) return jsTokens_1; + hasRequiredJsTokens = 1; + // Copyright 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell + // License: MIT. + var Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace; + RegularExpressionLiteral = /\/(?![*\/])(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\\]).|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/yu; + Punctuator = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y; + Identifier = /(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/yu; + StringLiteral = /(['"])(?:(?!\1)[^\\\n\r]|\\(?:\r\n|[^]))*(\1)?/y; + NumericLiteral = /(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y; + Template = /[`}](?:[^`\\$]|\\[^]|\$(?!\{))*(`|\$\{)?/y; + WhiteSpace = /[\t\v\f\ufeff\p{Zs}]+/yu; + LineTerminatorSequence = /\r?\n|[\r\u2028\u2029]/y; + MultiLineComment = /\/\*(?:[^*]|\*(?!\/))*(\*\/)?/y; + SingleLineComment = /\/\/.*/y; + JSXPunctuator = /[<>.:={}]|\/(?![\/*])/y; + JSXIdentifier = /[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/yu; + JSXString = /(['"])(?:(?!\1)[^])*(\1)?/y; + JSXText = /[^<>{}]+/y; + TokensPrecedingExpression = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/; + TokensNotPrecedingObjectLiteral = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/; + KeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/; + KeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/; + Newline = RegExp(LineTerminatorSequence.source); + jsTokens_1 = function*(input, {jsx = false} = {}) { + var braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack; + ({length} = input); + lastIndex = 0; + lastSignificantToken = ""; + stack = [ + {tag: "JS"} + ]; + braces = []; + parenNesting = 0; + postfixIncDec = false; + while (lastIndex < length) { + mode = stack[stack.length - 1]; + switch (mode.tag) { + case "JS": + case "JSNonExpressionParen": + case "InterpolationInTemplate": + case "InterpolationInJSX": + if (input[lastIndex] === "/" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) { + RegularExpressionLiteral.lastIndex = lastIndex; + if (match = RegularExpressionLiteral.exec(input)) { + lastIndex = RegularExpressionLiteral.lastIndex; + lastSignificantToken = match[0]; + postfixIncDec = true; + yield ({ + type: "RegularExpressionLiteral", + value: match[0], + closed: match[1] !== void 0 && match[1] !== "\\" + }); + continue; + } + } + Punctuator.lastIndex = lastIndex; + if (match = Punctuator.exec(input)) { + punctuator = match[0]; + nextLastIndex = Punctuator.lastIndex; + nextLastSignificantToken = punctuator; + switch (punctuator) { + case "(": + if (lastSignificantToken === "?NonExpressionParenKeyword") { + stack.push({ + tag: "JSNonExpressionParen", + nesting: parenNesting + }); + } + parenNesting++; + postfixIncDec = false; + break; + case ")": + parenNesting--; + postfixIncDec = true; + if (mode.tag === "JSNonExpressionParen" && parenNesting === mode.nesting) { + stack.pop(); + nextLastSignificantToken = "?NonExpressionParenEnd"; + postfixIncDec = false; + } + break; + case "{": + Punctuator.lastIndex = 0; + isExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken)); + braces.push(isExpression); + postfixIncDec = false; + break; + case "}": + switch (mode.tag) { + case "InterpolationInTemplate": + if (braces.length === mode.nesting) { + Template.lastIndex = lastIndex; + match = Template.exec(input); + lastIndex = Template.lastIndex; + lastSignificantToken = match[0]; + if (match[1] === "${") { + lastSignificantToken = "?InterpolationInTemplate"; + postfixIncDec = false; + yield ({ + type: "TemplateMiddle", + value: match[0] + }); + } else { + stack.pop(); + postfixIncDec = true; + yield ({ + type: "TemplateTail", + value: match[0], + closed: match[1] === "`" + }); + } + continue; + } + break; + case "InterpolationInJSX": + if (braces.length === mode.nesting) { + stack.pop(); + lastIndex += 1; + lastSignificantToken = "}"; + yield ({ + type: "JSXPunctuator", + value: "}" + }); + continue; + } + } + postfixIncDec = braces.pop(); + nextLastSignificantToken = postfixIncDec ? "?ExpressionBraceEnd" : "}"; + break; + case "]": + postfixIncDec = true; + break; + case "++": + case "--": + nextLastSignificantToken = postfixIncDec ? "?PostfixIncDec" : "?UnaryIncDec"; + break; + case "<": + if (jsx && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) { + stack.push({tag: "JSXTag"}); + lastIndex += 1; + lastSignificantToken = "<"; + yield ({ + type: "JSXPunctuator", + value: punctuator + }); + continue; + } + postfixIncDec = false; + break; + default: + postfixIncDec = false; + } + lastIndex = nextLastIndex; + lastSignificantToken = nextLastSignificantToken; + yield ({ + type: "Punctuator", + value: punctuator + }); + continue; + } + Identifier.lastIndex = lastIndex; + if (match = Identifier.exec(input)) { + lastIndex = Identifier.lastIndex; + nextLastSignificantToken = match[0]; + switch (match[0]) { + case "for": + case "if": + case "while": + case "with": + if (lastSignificantToken !== "." && lastSignificantToken !== "?.") { + nextLastSignificantToken = "?NonExpressionParenKeyword"; + } + } + lastSignificantToken = nextLastSignificantToken; + postfixIncDec = !KeywordsWithExpressionAfter.test(match[0]); + yield ({ + type: match[1] === "#" ? "PrivateIdentifier" : "IdentifierName", + value: match[0] + }); + continue; + } + StringLiteral.lastIndex = lastIndex; + if (match = StringLiteral.exec(input)) { + lastIndex = StringLiteral.lastIndex; + lastSignificantToken = match[0]; + postfixIncDec = true; + yield ({ + type: "StringLiteral", + value: match[0], + closed: match[2] !== void 0 + }); + continue; + } + NumericLiteral.lastIndex = lastIndex; + if (match = NumericLiteral.exec(input)) { + lastIndex = NumericLiteral.lastIndex; + lastSignificantToken = match[0]; + postfixIncDec = true; + yield ({ + type: "NumericLiteral", + value: match[0] + }); + continue; + } + Template.lastIndex = lastIndex; + if (match = Template.exec(input)) { + lastIndex = Template.lastIndex; + lastSignificantToken = match[0]; + if (match[1] === "${") { + lastSignificantToken = "?InterpolationInTemplate"; + stack.push({ + tag: "InterpolationInTemplate", + nesting: braces.length + }); + postfixIncDec = false; + yield ({ + type: "TemplateHead", + value: match[0] + }); + } else { + postfixIncDec = true; + yield ({ + type: "NoSubstitutionTemplate", + value: match[0], + closed: match[1] === "`" + }); + } + continue; + } + break; + case "JSXTag": + case "JSXTagEnd": + JSXPunctuator.lastIndex = lastIndex; + if (match = JSXPunctuator.exec(input)) { + lastIndex = JSXPunctuator.lastIndex; + nextLastSignificantToken = match[0]; + switch (match[0]) { + case "<": + stack.push({tag: "JSXTag"}); + break; + case ">": + stack.pop(); + if (lastSignificantToken === "/" || mode.tag === "JSXTagEnd") { + nextLastSignificantToken = "?JSX"; + postfixIncDec = true; + } else { + stack.push({tag: "JSXChildren"}); + } + break; + case "{": + stack.push({ + tag: "InterpolationInJSX", + nesting: braces.length + }); + nextLastSignificantToken = "?InterpolationInJSX"; + postfixIncDec = false; + break; + case "/": + if (lastSignificantToken === "<") { + stack.pop(); + if (stack[stack.length - 1].tag === "JSXChildren") { + stack.pop(); + } + stack.push({tag: "JSXTagEnd"}); + } + } + lastSignificantToken = nextLastSignificantToken; + yield ({ + type: "JSXPunctuator", + value: match[0] + }); + continue; + } + JSXIdentifier.lastIndex = lastIndex; + if (match = JSXIdentifier.exec(input)) { + lastIndex = JSXIdentifier.lastIndex; + lastSignificantToken = match[0]; + yield ({ + type: "JSXIdentifier", + value: match[0] + }); + continue; + } + JSXString.lastIndex = lastIndex; + if (match = JSXString.exec(input)) { + lastIndex = JSXString.lastIndex; + lastSignificantToken = match[0]; + yield ({ + type: "JSXString", + value: match[0], + closed: match[2] !== void 0 + }); + continue; + } + break; + case "JSXChildren": + JSXText.lastIndex = lastIndex; + if (match = JSXText.exec(input)) { + lastIndex = JSXText.lastIndex; + lastSignificantToken = match[0]; + yield ({ + type: "JSXText", + value: match[0] + }); + continue; + } + switch (input[lastIndex]) { + case "<": + stack.push({tag: "JSXTag"}); + lastIndex++; + lastSignificantToken = "<"; + yield ({ + type: "JSXPunctuator", + value: "<" + }); + continue; + case "{": + stack.push({ + tag: "InterpolationInJSX", + nesting: braces.length + }); + lastIndex++; + lastSignificantToken = "?InterpolationInJSX"; + postfixIncDec = false; + yield ({ + type: "JSXPunctuator", + value: "{" + }); + continue; + } + } + WhiteSpace.lastIndex = lastIndex; + if (match = WhiteSpace.exec(input)) { + lastIndex = WhiteSpace.lastIndex; + yield ({ + type: "WhiteSpace", + value: match[0] + }); + continue; + } + LineTerminatorSequence.lastIndex = lastIndex; + if (match = LineTerminatorSequence.exec(input)) { + lastIndex = LineTerminatorSequence.lastIndex; + postfixIncDec = false; + if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) { + lastSignificantToken = "?NoLineTerminatorHere"; + } + yield ({ + type: "LineTerminatorSequence", + value: match[0] + }); + continue; + } + MultiLineComment.lastIndex = lastIndex; + if (match = MultiLineComment.exec(input)) { + lastIndex = MultiLineComment.lastIndex; + if (Newline.test(match[0])) { + postfixIncDec = false; + if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) { + lastSignificantToken = "?NoLineTerminatorHere"; + } + } + yield ({ + type: "MultiLineComment", + value: match[0], + closed: match[1] !== void 0 + }); + continue; + } + SingleLineComment.lastIndex = lastIndex; + if (match = SingleLineComment.exec(input)) { + lastIndex = SingleLineComment.lastIndex; + postfixIncDec = false; + yield ({ + type: "SingleLineComment", + value: match[0] + }); + continue; + } + firstCodePoint = String.fromCodePoint(input.codePointAt(lastIndex)); + lastIndex += firstCodePoint.length; + lastSignificantToken = firstCodePoint; + postfixIncDec = false; + yield ({ + type: mode.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid", + value: firstCodePoint + }); + } + return void 0; + }; + return jsTokens_1; +} + +requireJsTokens(); + +// src/index.ts +var reservedWords = { + keyword: [ + "break", + "case", + "catch", + "continue", + "debugger", + "default", + "do", + "else", + "finally", + "for", + "function", + "if", + "return", + "switch", + "throw", + "try", + "var", + "const", + "while", + "with", + "new", + "this", + "super", + "class", + "extends", + "export", + "import", + "null", + "true", + "false", + "in", + "instanceof", + "typeof", + "void", + "delete" + ], + strict: [ + "implements", + "interface", + "let", + "package", + "private", + "protected", + "public", + "static", + "yield" + ] +}; new Set(reservedWords.keyword); new Set(reservedWords.strict); + +// src/index.ts +var f = { + reset: [0, 0], + bold: [1, 22, "\x1B[22m\x1B[1m"], + dim: [2, 22, "\x1B[22m\x1B[2m"], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29], + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + blackBright: [90, 39], + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39], + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] +}, h = Object.entries(f); +function a(n) { + return String(n); +} +a.open = ""; +a.close = ""; +function C(n = false) { + let e = typeof process != "undefined" ? process : void 0, i = (e == null ? void 0 : e.env) || {}, g = (e == null ? void 0 : e.argv) || []; + return !("NO_COLOR" in i || g.includes("--no-color")) && ("FORCE_COLOR" in i || g.includes("--color") || (e == null ? void 0 : e.platform) === "win32" || n && i.TERM !== "dumb" || "CI" in i) || typeof window != "undefined" && !!window.chrome; +} +function p(n = false) { + let e = C(n), i = (r, t, c, o) => { + let l = "", s = 0; + do + l += r.substring(s, o) + c, s = o + t.length, o = r.indexOf(t, s); + while (~o); + return l + r.substring(s); + }, g = (r, t, c = r) => { + let o = (l) => { + let s = String(l), b = s.indexOf(t, r.length); + return ~b ? r + i(s, t, c, b) + t : r + s + t; + }; + return o.open = r, o.close = t, o; + }, u = { + isColorSupported: e + }, d = (r) => `\x1B[${r}m`; + for (let [r, t] of h) + u[r] = e ? g( + d(t[0]), + d(t[1]), + t[2] + ) : a; + return u; +} + +p(); + +const lineSplitRE = /\r?\n/; +function positionToOffset(source, lineNumber, columnNumber) { + const lines = source.split(lineSplitRE); + const nl = /\r\n/.test(source) ? 2 : 1; + let start = 0; + if (lineNumber > lines.length) { + return source.length; + } + for (let i = 0; i < lineNumber - 1; i++) { + start += lines[i].length + nl; + } + return start + columnNumber; +} +function offsetToLineNumber(source, offset) { + if (offset > source.length) { + throw new Error(`offset is longer than source length! offset ${offset} > length ${source.length}`); + } + const lines = source.split(lineSplitRE); + const nl = /\r\n/.test(source) ? 2 : 1; + let counted = 0; + let line = 0; + for (; line < lines.length; line++) { + const lineLength = lines[line].length + nl; + if (counted + lineLength >= offset) { + break; + } + counted += lineLength; + } + return line + 1; +} + +async function saveInlineSnapshots(environment, snapshots) { + const MagicString = (await import('magic-string')).default; + const files = new Set(snapshots.map((i) => i.file)); + await Promise.all(Array.from(files).map(async (file) => { + const snaps = snapshots.filter((i) => i.file === file); + const code = await environment.readSnapshotFile(file); + const s = new MagicString(code); + for (const snap of snaps) { + const index = positionToOffset(code, snap.line, snap.column); + replaceInlineSnap(code, s, index, snap.snapshot); + } + const transformed = s.toString(); + if (transformed !== code) { + await environment.saveSnapshotFile(file, transformed); + } + })); +} +const startObjectRegex = /(?:toMatchInlineSnapshot|toThrowErrorMatchingInlineSnapshot)\s*\(\s*(?:\/\*[\s\S]*\*\/\s*|\/\/.*(?:[\n\r\u2028\u2029]\s*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))*\{/; +function replaceObjectSnap(code, s, index, newSnap) { + let _code = code.slice(index); + const startMatch = startObjectRegex.exec(_code); + if (!startMatch) { + return false; + } + _code = _code.slice(startMatch.index); + let callEnd = getCallLastIndex(_code); + if (callEnd === null) { + return false; + } + callEnd += index + startMatch.index; + const shapeStart = index + startMatch.index + startMatch[0].length; + const shapeEnd = getObjectShapeEndIndex(code, shapeStart); + const snap = `, ${prepareSnapString(newSnap, code, index)}`; + if (shapeEnd === callEnd) { + // toMatchInlineSnapshot({ foo: expect.any(String) }) + s.appendLeft(callEnd, snap); + } else { + // toMatchInlineSnapshot({ foo: expect.any(String) }, ``) + s.overwrite(shapeEnd, callEnd, snap); + } + return true; +} +function getObjectShapeEndIndex(code, index) { + let startBraces = 1; + let endBraces = 0; + while (startBraces !== endBraces && index < code.length) { + const s = code[index++]; + if (s === "{") { + startBraces++; + } else if (s === "}") { + endBraces++; + } + } + return index; +} +function prepareSnapString(snap, source, index) { + const lineNumber = offsetToLineNumber(source, index); + const line = source.split(lineSplitRE)[lineNumber - 1]; + const indent = line.match(/^\s*/)[0] || ""; + const indentNext = indent.includes(" ") ? `${indent}\t` : `${indent} `; + const lines = snap.trim().replace(/\\/g, "\\\\").split(/\n/g); + const isOneline = lines.length <= 1; + const quote = "`"; + if (isOneline) { + return `${quote}${lines.join("\n").replace(/`/g, "\\`").replace(/\$\{/g, "\\${")}${quote}`; + } + return `${quote}\n${lines.map((i) => i ? indentNext + i : "").join("\n").replace(/`/g, "\\`").replace(/\$\{/g, "\\${")}\n${indent}${quote}`; +} +const toMatchInlineName = "toMatchInlineSnapshot"; +const toThrowErrorMatchingInlineName = "toThrowErrorMatchingInlineSnapshot"; +// on webkit, the line number is at the end of the method, not at the start +function getCodeStartingAtIndex(code, index) { + const indexInline = index - toMatchInlineName.length; + if (code.slice(indexInline, index) === toMatchInlineName) { + return { + code: code.slice(indexInline), + index: indexInline + }; + } + const indexThrowInline = index - toThrowErrorMatchingInlineName.length; + if (code.slice(index - indexThrowInline, index) === toThrowErrorMatchingInlineName) { + return { + code: code.slice(index - indexThrowInline), + index: index - indexThrowInline + }; + } + return { + code: code.slice(index), + index + }; +} +const startRegex = /(?:toMatchInlineSnapshot|toThrowErrorMatchingInlineSnapshot)\s*\(\s*(?:\/\*[\s\S]*\*\/\s*|\/\/.*(?:[\n\r\u2028\u2029]\s*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))*[\w$]*(['"`)])/; +function replaceInlineSnap(code, s, currentIndex, newSnap) { + const { code: codeStartingAtIndex, index } = getCodeStartingAtIndex(code, currentIndex); + const startMatch = startRegex.exec(codeStartingAtIndex); + const firstKeywordMatch = /toMatchInlineSnapshot|toThrowErrorMatchingInlineSnapshot/.exec(codeStartingAtIndex); + if (!startMatch || startMatch.index !== (firstKeywordMatch === null || firstKeywordMatch === void 0 ? void 0 : firstKeywordMatch.index)) { + return replaceObjectSnap(code, s, index, newSnap); + } + const quote = startMatch[1]; + const startIndex = index + startMatch.index + startMatch[0].length; + const snapString = prepareSnapString(newSnap, code, index); + if (quote === ")") { + s.appendRight(startIndex - 1, snapString); + return true; + } + const quoteEndRE = new RegExp(`(?:^|[^\\\\])${quote}`); + const endMatch = quoteEndRE.exec(code.slice(startIndex)); + if (!endMatch) { + return false; + } + const endIndex = startIndex + endMatch.index + endMatch[0].length; + s.overwrite(startIndex - 1, endIndex, snapString); + return true; +} +const INDENTATION_REGEX = /^([^\S\n]*)\S/m; +function stripSnapshotIndentation(inlineSnapshot) { + // Find indentation if exists. + const match = inlineSnapshot.match(INDENTATION_REGEX); + if (!match || !match[1]) { + // No indentation. + return inlineSnapshot; + } + const indentation = match[1]; + const lines = inlineSnapshot.split(/\n/g); + if (lines.length <= 2) { + // Must be at least 3 lines. + return inlineSnapshot; + } + if (lines[0].trim() !== "" || lines[lines.length - 1].trim() !== "") { + // If not blank first and last lines, abort. + return inlineSnapshot; + } + for (let i = 1; i < lines.length - 1; i++) { + if (lines[i] !== "") { + if (lines[i].indexOf(indentation) !== 0) { + // All lines except first and last should either be blank or have the same + // indent as the first line (or more). If this isn't the case we don't + // want to touch the snapshot at all. + return inlineSnapshot; + } + lines[i] = lines[i].substring(indentation.length); + } + } + // Last line is a special case because it won't have the same indent as others + // but may still have been given some indent to line up. + lines[lines.length - 1] = ""; + // Return inline snapshot, now at indent 0. + inlineSnapshot = lines.join("\n"); + return inlineSnapshot; +} + +async function saveRawSnapshots(environment, snapshots) { + await Promise.all(snapshots.map(async (snap) => { + if (!snap.readonly) { + await environment.saveSnapshotFile(snap.file, snap.snapshot); + } + })); +} + +var naturalCompare$1 = {exports: {}}; + +var hasRequiredNaturalCompare; + +function requireNaturalCompare () { + if (hasRequiredNaturalCompare) return naturalCompare$1.exports; + hasRequiredNaturalCompare = 1; + /* + * @version 1.4.0 + * @date 2015-10-26 + * @stability 3 - Stable + * @author Lauri Rooden (https://github.com/litejs/natural-compare-lite) + * @license MIT License + */ + + + var naturalCompare = function(a, b) { + var i, codeA + , codeB = 1 + , posA = 0 + , posB = 0 + , alphabet = String.alphabet; + + function getCode(str, pos, code) { + if (code) { + for (i = pos; code = getCode(str, i), code < 76 && code > 65;) ++i; + return +str.slice(pos - 1, i) + } + code = alphabet && alphabet.indexOf(str.charAt(pos)); + return code > -1 ? code + 76 : ((code = str.charCodeAt(pos) || 0), code < 45 || code > 127) ? code + : code < 46 ? 65 // - + : code < 48 ? code - 1 + : code < 58 ? code + 18 // 0-9 + : code < 65 ? code - 11 + : code < 91 ? code + 11 // A-Z + : code < 97 ? code - 37 + : code < 123 ? code + 5 // a-z + : code - 63 + } + + + if ((a+="") != (b+="")) for (;codeB;) { + codeA = getCode(a, posA++); + codeB = getCode(b, posB++); + + if (codeA < 76 && codeB < 76 && codeA > 66 && codeB > 66) { + codeA = getCode(a, posA, posA); + codeB = getCode(b, posB, posA = i); + posB = i; + } + + if (codeA != codeB) return (codeA < codeB) ? -1 : 1 + } + return 0 + }; + + try { + naturalCompare$1.exports = naturalCompare; + } catch (e) { + String.naturalCompare = naturalCompare; + } + return naturalCompare$1.exports; +} + +var naturalCompareExports = requireNaturalCompare(); +var naturalCompare = /*@__PURE__*/getDefaultExportFromCjs(naturalCompareExports); + +const serialize$1 = (val, config, indentation, depth, refs, printer) => { + // Serialize a non-default name, even if config.printFunctionName is false. + const name = val.getMockName(); + const nameString = name === "vi.fn()" ? "" : ` ${name}`; + let callsString = ""; + if (val.mock.calls.length !== 0) { + const indentationNext = indentation + config.indent; + callsString = ` {${config.spacingOuter}${indentationNext}"calls": ${printer(val.mock.calls, config, indentationNext, depth, refs)}${config.min ? ", " : ","}${config.spacingOuter}${indentationNext}"results": ${printer(val.mock.results, config, indentationNext, depth, refs)}${config.min ? "" : ","}${config.spacingOuter}${indentation}}`; + } + return `[MockFunction${nameString}]${callsString}`; +}; +const test = (val) => val && !!val._isMockFunction; +const plugin = { + serialize: serialize$1, + test +}; + +const { DOMCollection, DOMElement, Immutable, ReactElement, ReactTestComponent, AsymmetricMatcher } = plugins; +let PLUGINS = [ + ReactTestComponent, + ReactElement, + DOMElement, + DOMCollection, + Immutable, + AsymmetricMatcher, + plugin +]; +function addSerializer(plugin) { + PLUGINS = [plugin].concat(PLUGINS); +} +function getSerializers() { + return PLUGINS; +} + +// TODO: rewrite and clean up +function testNameToKey(testName, count) { + return `${testName} ${count}`; +} +function keyToTestName(key) { + if (!/ \d+$/.test(key)) { + throw new Error("Snapshot keys must end with a number."); + } + return key.replace(/ \d+$/, ""); +} +function getSnapshotData(content, options) { + const update = options.updateSnapshot; + const data = Object.create(null); + let snapshotContents = ""; + let dirty = false; + if (content != null) { + try { + snapshotContents = content; + // eslint-disable-next-line no-new-func + const populate = new Function("exports", snapshotContents); + populate(data); + } catch {} + } + // const validationResult = validateSnapshotVersion(snapshotContents) + const isInvalid = snapshotContents; + // if (update === 'none' && isInvalid) + // throw validationResult + if ((update === "all" || update === "new") && isInvalid) { + dirty = true; + } + return { + data, + dirty + }; +} +// Add extra line breaks at beginning and end of multiline snapshot +// to make the content easier to read. +function addExtraLineBreaks(string) { + return string.includes("\n") ? `\n${string}\n` : string; +} +// Remove extra line breaks at beginning and end of multiline snapshot. +// Instead of trim, which can remove additional newlines or spaces +// at beginning or end of the content from a custom serializer. +function removeExtraLineBreaks(string) { + return string.length > 2 && string.startsWith("\n") && string.endsWith("\n") ? string.slice(1, -1) : string; +} +// export const removeLinesBeforeExternalMatcherTrap = (stack: string): string => { +// const lines = stack.split('\n') +// for (let i = 0; i < lines.length; i += 1) { +// // It's a function name specified in `packages/expect/src/index.ts` +// // for external custom matchers. +// if (lines[i].includes('__EXTERNAL_MATCHER_TRAP__')) +// return lines.slice(i + 1).join('\n') +// } +// return stack +// } +const escapeRegex = true; +const printFunctionName = false; +function serialize(val, indent = 2, formatOverrides = {}) { + return normalizeNewlines(format(val, { + escapeRegex, + indent, + plugins: getSerializers(), + printFunctionName, + ...formatOverrides + })); +} +function escapeBacktickString(str) { + return str.replace(/`|\\|\$\{/g, "\\$&"); +} +function printBacktickString(str) { + return `\`${escapeBacktickString(str)}\``; +} +function normalizeNewlines(string) { + return string.replace(/\r\n|\r/g, "\n"); +} +async function saveSnapshotFile(environment, snapshotData, snapshotPath) { + const snapshots = Object.keys(snapshotData).sort(naturalCompare).map((key) => `exports[${printBacktickString(key)}] = ${printBacktickString(normalizeNewlines(snapshotData[key]))};`); + const content = `${environment.getHeader()}\n\n${snapshots.join("\n\n")}\n`; + const oldContent = await environment.readSnapshotFile(snapshotPath); + const skipWriting = oldContent != null && oldContent === content; + if (skipWriting) { + return; + } + await environment.saveSnapshotFile(snapshotPath, content); +} +function deepMergeArray(target = [], source = []) { + const mergedOutput = Array.from(target); + source.forEach((sourceElement, index) => { + const targetElement = mergedOutput[index]; + if (Array.isArray(target[index])) { + mergedOutput[index] = deepMergeArray(target[index], sourceElement); + } else if (isObject(targetElement)) { + mergedOutput[index] = deepMergeSnapshot(target[index], sourceElement); + } else { + // Source does not exist in target or target is primitive and cannot be deep merged + mergedOutput[index] = sourceElement; + } + }); + return mergedOutput; +} +/** +* Deep merge, but considers asymmetric matchers. Unlike base util's deep merge, +* will merge any object-like instance. +* Compatible with Jest's snapshot matcher. Should not be used outside of snapshot. +* +* @example +* ```ts +* toMatchSnapshot({ +* name: expect.stringContaining('text') +* }) +* ``` +*/ +function deepMergeSnapshot(target, source) { + if (isObject(target) && isObject(source)) { + const mergedOutput = { ...target }; + Object.keys(source).forEach((key) => { + if (isObject(source[key]) && !source[key].$$typeof) { + if (!(key in target)) { + Object.assign(mergedOutput, { [key]: source[key] }); + } else { + mergedOutput[key] = deepMergeSnapshot(target[key], source[key]); + } + } else if (Array.isArray(source[key])) { + mergedOutput[key] = deepMergeArray(target[key], source[key]); + } else { + Object.assign(mergedOutput, { [key]: source[key] }); + } + }); + return mergedOutput; + } else if (Array.isArray(target) && Array.isArray(source)) { + return deepMergeArray(target, source); + } + return target; +} +class DefaultMap extends Map { + constructor(defaultFn, entries) { + super(entries); + this.defaultFn = defaultFn; + } + get(key) { + if (!this.has(key)) { + this.set(key, this.defaultFn(key)); + } + return super.get(key); + } +} +class CounterMap extends DefaultMap { + constructor() { + super(() => 0); + } + // compat for jest-image-snapshot https://github.com/vitest-dev/vitest/issues/7322 + // `valueOf` and `Snapshot.added` setter allows + // snapshotState.added = snapshotState.added + 1 + // to function as + // snapshotState.added.total_ = snapshotState.added.total() + 1 + _total; + valueOf() { + return this._total = this.total(); + } + increment(key) { + if (typeof this._total !== "undefined") { + this._total++; + } + this.set(key, this.get(key) + 1); + } + total() { + if (typeof this._total !== "undefined") { + return this._total; + } + let total = 0; + for (const x of this.values()) { + total += x; + } + return total; + } +} + +function isSameStackPosition(x, y) { + return x.file === y.file && x.column === y.column && x.line === y.line; +} +class SnapshotState { + _counters = new CounterMap(); + _dirty; + _updateSnapshot; + _snapshotData; + _initialData; + _inlineSnapshots; + _inlineSnapshotStacks; + _testIdToKeys = new DefaultMap(() => []); + _rawSnapshots; + _uncheckedKeys; + _snapshotFormat; + _environment; + _fileExists; + expand; + // getter/setter for jest-image-snapshot compat + // https://github.com/vitest-dev/vitest/issues/7322 + _added = new CounterMap(); + _matched = new CounterMap(); + _unmatched = new CounterMap(); + _updated = new CounterMap(); + get added() { + return this._added; + } + set added(value) { + this._added._total = value; + } + get matched() { + return this._matched; + } + set matched(value) { + this._matched._total = value; + } + get unmatched() { + return this._unmatched; + } + set unmatched(value) { + this._unmatched._total = value; + } + get updated() { + return this._updated; + } + set updated(value) { + this._updated._total = value; + } + constructor(testFilePath, snapshotPath, snapshotContent, options) { + this.testFilePath = testFilePath; + this.snapshotPath = snapshotPath; + const { data, dirty } = getSnapshotData(snapshotContent, options); + this._fileExists = snapshotContent != null; + this._initialData = { ...data }; + this._snapshotData = { ...data }; + this._dirty = dirty; + this._inlineSnapshots = []; + this._inlineSnapshotStacks = []; + this._rawSnapshots = []; + this._uncheckedKeys = new Set(Object.keys(this._snapshotData)); + this.expand = options.expand || false; + this._updateSnapshot = options.updateSnapshot; + this._snapshotFormat = { + printBasicPrototype: false, + escapeString: false, + ...options.snapshotFormat + }; + this._environment = options.snapshotEnvironment; + } + static async create(testFilePath, options) { + const snapshotPath = await options.snapshotEnvironment.resolvePath(testFilePath); + const content = await options.snapshotEnvironment.readSnapshotFile(snapshotPath); + return new SnapshotState(testFilePath, snapshotPath, content, options); + } + get environment() { + return this._environment; + } + markSnapshotsAsCheckedForTest(testName) { + this._uncheckedKeys.forEach((uncheckedKey) => { + // skip snapshots with following keys + // testName n + // testName > xxx n (this is for toMatchSnapshot("xxx") API) + if (/ \d+$| > /.test(uncheckedKey.slice(testName.length))) { + this._uncheckedKeys.delete(uncheckedKey); + } + }); + } + clearTest(testId) { + // clear inline + this._inlineSnapshots = this._inlineSnapshots.filter((s) => s.testId !== testId); + this._inlineSnapshotStacks = this._inlineSnapshotStacks.filter((s) => s.testId !== testId); + // clear file + for (const key of this._testIdToKeys.get(testId)) { + const name = keyToTestName(key); + const count = this._counters.get(name); + if (count > 0) { + if (key in this._snapshotData || key in this._initialData) { + this._snapshotData[key] = this._initialData[key]; + } + this._counters.set(name, count - 1); + } + } + this._testIdToKeys.delete(testId); + // clear stats + this.added.delete(testId); + this.updated.delete(testId); + this.matched.delete(testId); + this.unmatched.delete(testId); + } + _inferInlineSnapshotStack(stacks) { + // if called inside resolves/rejects, stacktrace is different + const promiseIndex = stacks.findIndex((i) => i.method.match(/__VITEST_(RESOLVES|REJECTS)__/)); + if (promiseIndex !== -1) { + return stacks[promiseIndex + 3]; + } + // inline snapshot function is called __INLINE_SNAPSHOT__ + // in integrations/snapshot/chai.ts + const stackIndex = stacks.findIndex((i) => i.method.includes("__INLINE_SNAPSHOT__")); + return stackIndex !== -1 ? stacks[stackIndex + 2] : null; + } + _addSnapshot(key, receivedSerialized, options) { + this._dirty = true; + if (options.stack) { + this._inlineSnapshots.push({ + snapshot: receivedSerialized, + testId: options.testId, + ...options.stack + }); + } else if (options.rawSnapshot) { + this._rawSnapshots.push({ + ...options.rawSnapshot, + snapshot: receivedSerialized + }); + } else { + this._snapshotData[key] = receivedSerialized; + } + } + async save() { + const hasExternalSnapshots = Object.keys(this._snapshotData).length; + const hasInlineSnapshots = this._inlineSnapshots.length; + const hasRawSnapshots = this._rawSnapshots.length; + const isEmpty = !hasExternalSnapshots && !hasInlineSnapshots && !hasRawSnapshots; + const status = { + deleted: false, + saved: false + }; + if ((this._dirty || this._uncheckedKeys.size) && !isEmpty) { + if (hasExternalSnapshots) { + await saveSnapshotFile(this._environment, this._snapshotData, this.snapshotPath); + this._fileExists = true; + } + if (hasInlineSnapshots) { + await saveInlineSnapshots(this._environment, this._inlineSnapshots); + } + if (hasRawSnapshots) { + await saveRawSnapshots(this._environment, this._rawSnapshots); + } + status.saved = true; + } else if (!hasExternalSnapshots && this._fileExists) { + if (this._updateSnapshot === "all") { + await this._environment.removeSnapshotFile(this.snapshotPath); + this._fileExists = false; + } + status.deleted = true; + } + return status; + } + getUncheckedCount() { + return this._uncheckedKeys.size || 0; + } + getUncheckedKeys() { + return Array.from(this._uncheckedKeys); + } + removeUncheckedKeys() { + if (this._updateSnapshot === "all" && this._uncheckedKeys.size) { + this._dirty = true; + this._uncheckedKeys.forEach((key) => delete this._snapshotData[key]); + this._uncheckedKeys.clear(); + } + } + match({ testId, testName, received, key, inlineSnapshot, isInline, error, rawSnapshot }) { + // this also increments counter for inline snapshots. maybe we shouldn't? + this._counters.increment(testName); + const count = this._counters.get(testName); + if (!key) { + key = testNameToKey(testName, count); + } + this._testIdToKeys.get(testId).push(key); + // Do not mark the snapshot as "checked" if the snapshot is inline and + // there's an external snapshot. This way the external snapshot can be + // removed with `--updateSnapshot`. + if (!(isInline && this._snapshotData[key] !== undefined)) { + this._uncheckedKeys.delete(key); + } + let receivedSerialized = rawSnapshot && typeof received === "string" ? received : serialize(received, undefined, this._snapshotFormat); + if (!rawSnapshot) { + receivedSerialized = addExtraLineBreaks(receivedSerialized); + } + if (rawSnapshot) { + // normalize EOL when snapshot contains CRLF but received is LF + if (rawSnapshot.content && rawSnapshot.content.match(/\r\n/) && !receivedSerialized.match(/\r\n/)) { + rawSnapshot.content = normalizeNewlines(rawSnapshot.content); + } + } + const expected = isInline ? inlineSnapshot : rawSnapshot ? rawSnapshot.content : this._snapshotData[key]; + const expectedTrimmed = rawSnapshot ? expected : expected === null || expected === void 0 ? void 0 : expected.trim(); + const pass = expectedTrimmed === (rawSnapshot ? receivedSerialized : receivedSerialized.trim()); + const hasSnapshot = expected !== undefined; + const snapshotIsPersisted = isInline || this._fileExists || rawSnapshot && rawSnapshot.content != null; + if (pass && !isInline && !rawSnapshot) { + // Executing a snapshot file as JavaScript and writing the strings back + // when other snapshots have changed loses the proper escaping for some + // characters. Since we check every snapshot in every test, use the newly + // generated formatted string. + // Note that this is only relevant when a snapshot is added and the dirty + // flag is set. + this._snapshotData[key] = receivedSerialized; + } + // find call site of toMatchInlineSnapshot + let stack; + if (isInline) { + var _this$environment$pro, _this$environment; + const stacks = parseErrorStacktrace(error || new Error("snapshot"), { ignoreStackEntries: [] }); + const _stack = this._inferInlineSnapshotStack(stacks); + if (!_stack) { + throw new Error(`@vitest/snapshot: Couldn't infer stack frame for inline snapshot.\n${JSON.stringify(stacks)}`); + } + stack = ((_this$environment$pro = (_this$environment = this.environment).processStackTrace) === null || _this$environment$pro === void 0 ? void 0 : _this$environment$pro.call(_this$environment, _stack)) || _stack; + // removing 1 column, because source map points to the wrong + // location for js files, but `column-1` points to the same in both js/ts + // https://github.com/vitejs/vite/issues/8657 + stack.column--; + // reject multiple inline snapshots at the same location if snapshot is different + const snapshotsWithSameStack = this._inlineSnapshotStacks.filter((s) => isSameStackPosition(s, stack)); + if (snapshotsWithSameStack.length > 0) { + // ensure only one snapshot will be written at the same location + this._inlineSnapshots = this._inlineSnapshots.filter((s) => !isSameStackPosition(s, stack)); + const differentSnapshot = snapshotsWithSameStack.find((s) => s.snapshot !== receivedSerialized); + if (differentSnapshot) { + throw Object.assign(new Error("toMatchInlineSnapshot with different snapshots cannot be called at the same location"), { + actual: receivedSerialized, + expected: differentSnapshot.snapshot + }); + } + } + this._inlineSnapshotStacks.push({ + ...stack, + testId, + snapshot: receivedSerialized + }); + } + // These are the conditions on when to write snapshots: + // * There's no snapshot file in a non-CI environment. + // * There is a snapshot file and we decided to update the snapshot. + // * There is a snapshot file, but it doesn't have this snapshot. + // These are the conditions on when not to write snapshots: + // * The update flag is set to 'none'. + // * There's no snapshot file or a file without this snapshot on a CI environment. + if (hasSnapshot && this._updateSnapshot === "all" || (!hasSnapshot || !snapshotIsPersisted) && (this._updateSnapshot === "new" || this._updateSnapshot === "all")) { + if (this._updateSnapshot === "all") { + if (!pass) { + if (hasSnapshot) { + this.updated.increment(testId); + } else { + this.added.increment(testId); + } + this._addSnapshot(key, receivedSerialized, { + stack, + testId, + rawSnapshot + }); + } else { + this.matched.increment(testId); + } + } else { + this._addSnapshot(key, receivedSerialized, { + stack, + testId, + rawSnapshot + }); + this.added.increment(testId); + } + return { + actual: "", + count, + expected: "", + key, + pass: true + }; + } else { + if (!pass) { + this.unmatched.increment(testId); + return { + actual: rawSnapshot ? receivedSerialized : removeExtraLineBreaks(receivedSerialized), + count, + expected: expectedTrimmed !== undefined ? rawSnapshot ? expectedTrimmed : removeExtraLineBreaks(expectedTrimmed) : undefined, + key, + pass: false + }; + } else { + this.matched.increment(testId); + return { + actual: "", + count, + expected: "", + key, + pass: true + }; + } + } + } + async pack() { + const snapshot = { + filepath: this.testFilePath, + added: 0, + fileDeleted: false, + matched: 0, + unchecked: 0, + uncheckedKeys: [], + unmatched: 0, + updated: 0 + }; + const uncheckedCount = this.getUncheckedCount(); + const uncheckedKeys = this.getUncheckedKeys(); + if (uncheckedCount) { + this.removeUncheckedKeys(); + } + const status = await this.save(); + snapshot.fileDeleted = status.deleted; + snapshot.added = this.added.total(); + snapshot.matched = this.matched.total(); + snapshot.unmatched = this.unmatched.total(); + snapshot.updated = this.updated.total(); + snapshot.unchecked = !status.deleted ? uncheckedCount : 0; + snapshot.uncheckedKeys = Array.from(uncheckedKeys); + return snapshot; + } +} + +function createMismatchError(message, expand, actual, expected) { + const error = new Error(message); + Object.defineProperty(error, "actual", { + value: actual, + enumerable: true, + configurable: true, + writable: true + }); + Object.defineProperty(error, "expected", { + value: expected, + enumerable: true, + configurable: true, + writable: true + }); + Object.defineProperty(error, "diffOptions", { value: { expand } }); + return error; +} +class SnapshotClient { + snapshotStateMap = new Map(); + constructor(options = {}) { + this.options = options; + } + async setup(filepath, options) { + if (this.snapshotStateMap.has(filepath)) { + return; + } + this.snapshotStateMap.set(filepath, await SnapshotState.create(filepath, options)); + } + async finish(filepath) { + const state = this.getSnapshotState(filepath); + const result = await state.pack(); + this.snapshotStateMap.delete(filepath); + return result; + } + skipTest(filepath, testName) { + const state = this.getSnapshotState(filepath); + state.markSnapshotsAsCheckedForTest(testName); + } + clearTest(filepath, testId) { + const state = this.getSnapshotState(filepath); + state.clearTest(testId); + } + getSnapshotState(filepath) { + const state = this.snapshotStateMap.get(filepath); + if (!state) { + throw new Error(`The snapshot state for '${filepath}' is not found. Did you call 'SnapshotClient.setup()'?`); + } + return state; + } + assert(options) { + const { filepath, name, testId = name, message, isInline = false, properties, inlineSnapshot, error, errorMessage, rawSnapshot } = options; + let { received } = options; + if (!filepath) { + throw new Error("Snapshot cannot be used outside of test"); + } + const snapshotState = this.getSnapshotState(filepath); + if (typeof properties === "object") { + if (typeof received !== "object" || !received) { + throw new Error("Received value must be an object when the matcher has properties"); + } + try { + var _this$options$isEqual, _this$options; + const pass = ((_this$options$isEqual = (_this$options = this.options).isEqual) === null || _this$options$isEqual === void 0 ? void 0 : _this$options$isEqual.call(_this$options, received, properties)) ?? false; + // const pass = equals(received, properties, [iterableEquality, subsetEquality]) + if (!pass) { + throw createMismatchError("Snapshot properties mismatched", snapshotState.expand, received, properties); + } else { + received = deepMergeSnapshot(received, properties); + } + } catch (err) { + err.message = errorMessage || "Snapshot mismatched"; + throw err; + } + } + const testName = [name, ...message ? [message] : []].join(" > "); + const { actual, expected, key, pass } = snapshotState.match({ + testId, + testName, + received, + isInline, + error, + inlineSnapshot, + rawSnapshot + }); + if (!pass) { + throw createMismatchError(`Snapshot \`${key || "unknown"}\` mismatched`, snapshotState.expand, rawSnapshot ? actual : actual === null || actual === void 0 ? void 0 : actual.trim(), rawSnapshot ? expected : expected === null || expected === void 0 ? void 0 : expected.trim()); + } + } + async assertRaw(options) { + if (!options.rawSnapshot) { + throw new Error("Raw snapshot is required"); + } + const { filepath, rawSnapshot } = options; + if (rawSnapshot.content == null) { + if (!filepath) { + throw new Error("Snapshot cannot be used outside of test"); + } + const snapshotState = this.getSnapshotState(filepath); + // save the filepath, so it don't lose even if the await make it out-of-context + options.filepath || (options.filepath = filepath); + // resolve and read the raw snapshot file + rawSnapshot.file = await snapshotState.environment.resolveRawPath(filepath, rawSnapshot.file); + rawSnapshot.content = await snapshotState.environment.readSnapshotFile(rawSnapshot.file) ?? undefined; + } + return this.assert(options); + } + clear() { + this.snapshotStateMap.clear(); + } +} + +export { SnapshotClient, SnapshotState, addSerializer, getSerializers, stripSnapshotIndentation }; diff --git a/node_modules/@vitest/snapshot/dist/manager.d.ts b/node_modules/@vitest/snapshot/dist/manager.d.ts new file mode 100644 index 0000000..a782935 --- /dev/null +++ b/node_modules/@vitest/snapshot/dist/manager.d.ts @@ -0,0 +1,18 @@ +import { S as SnapshotStateOptions, e as SnapshotSummary, b as SnapshotResult } from './rawSnapshot.d-lFsMJFUd.js'; +import '@vitest/pretty-format'; +import './environment.d-DHdQ1Csl.js'; + +declare class SnapshotManager { + options: Omit; + summary: SnapshotSummary; + extension: string; + constructor(options: Omit); + clear(): void; + add(result: SnapshotResult): void; + resolvePath(testPath: string, context?: T): string; + resolveRawPath(testPath: string, rawPath: string): string; +} +declare function emptySummary(options: Omit): SnapshotSummary; +declare function addSnapshotResult(summary: SnapshotSummary, result: SnapshotResult): void; + +export { SnapshotManager, addSnapshotResult, emptySummary }; diff --git a/node_modules/@vitest/snapshot/dist/manager.js b/node_modules/@vitest/snapshot/dist/manager.js new file mode 100644 index 0000000..90a36a3 --- /dev/null +++ b/node_modules/@vitest/snapshot/dist/manager.js @@ -0,0 +1,73 @@ +import { join, dirname, basename, resolve, isAbsolute } from 'pathe'; + +class SnapshotManager { + summary; + extension = ".snap"; + constructor(options) { + this.options = options; + this.clear(); + } + clear() { + this.summary = emptySummary(this.options); + } + add(result) { + addSnapshotResult(this.summary, result); + } + resolvePath(testPath, context) { + const resolver = this.options.resolveSnapshotPath || (() => { + return join(join(dirname(testPath), "__snapshots__"), `${basename(testPath)}${this.extension}`); + }); + const path = resolver(testPath, this.extension, context); + return path; + } + resolveRawPath(testPath, rawPath) { + return isAbsolute(rawPath) ? rawPath : resolve(dirname(testPath), rawPath); + } +} +function emptySummary(options) { + const summary = { + added: 0, + failure: false, + filesAdded: 0, + filesRemoved: 0, + filesRemovedList: [], + filesUnmatched: 0, + filesUpdated: 0, + matched: 0, + total: 0, + unchecked: 0, + uncheckedKeysByFile: [], + unmatched: 0, + updated: 0, + didUpdate: options.updateSnapshot === "all" + }; + return summary; +} +function addSnapshotResult(summary, result) { + if (result.added) { + summary.filesAdded++; + } + if (result.fileDeleted) { + summary.filesRemoved++; + } + if (result.unmatched) { + summary.filesUnmatched++; + } + if (result.updated) { + summary.filesUpdated++; + } + summary.added += result.added; + summary.matched += result.matched; + summary.unchecked += result.unchecked; + if (result.uncheckedKeys && result.uncheckedKeys.length > 0) { + summary.uncheckedKeysByFile.push({ + filePath: result.filepath, + keys: result.uncheckedKeys + }); + } + summary.unmatched += result.unmatched; + summary.updated += result.updated; + summary.total += result.added + result.matched + result.unmatched + result.updated; +} + +export { SnapshotManager, addSnapshotResult, emptySummary }; diff --git a/node_modules/@vitest/snapshot/dist/rawSnapshot.d-lFsMJFUd.d.ts b/node_modules/@vitest/snapshot/dist/rawSnapshot.d-lFsMJFUd.d.ts new file mode 100644 index 0000000..96fa2dd --- /dev/null +++ b/node_modules/@vitest/snapshot/dist/rawSnapshot.d-lFsMJFUd.d.ts @@ -0,0 +1,61 @@ +import { OptionsReceived, Plugin } from '@vitest/pretty-format'; +import { S as SnapshotEnvironment } from './environment.d-DHdQ1Csl.js'; + +type SnapshotData = Record; +type SnapshotUpdateState = "all" | "new" | "none"; +type SnapshotSerializer = Plugin; +interface SnapshotStateOptions { + updateSnapshot: SnapshotUpdateState; + snapshotEnvironment: SnapshotEnvironment; + expand?: boolean; + snapshotFormat?: OptionsReceived; + resolveSnapshotPath?: (path: string, extension: string, context?: any) => string; +} +interface SnapshotMatchOptions { + testId: string; + testName: string; + received: unknown; + key?: string; + inlineSnapshot?: string; + isInline: boolean; + error?: Error; + rawSnapshot?: RawSnapshotInfo; +} +interface SnapshotResult { + filepath: string; + added: number; + fileDeleted: boolean; + matched: number; + unchecked: number; + uncheckedKeys: Array; + unmatched: number; + updated: number; +} +interface UncheckedSnapshot { + filePath: string; + keys: Array; +} +interface SnapshotSummary { + added: number; + didUpdate: boolean; + failure: boolean; + filesAdded: number; + filesRemoved: number; + filesRemovedList: Array; + filesUnmatched: number; + filesUpdated: number; + matched: number; + total: number; + unchecked: number; + uncheckedKeysByFile: Array; + unmatched: number; + updated: number; +} + +interface RawSnapshotInfo { + file: string; + readonly?: boolean; + content?: string; +} + +export type { RawSnapshotInfo as R, SnapshotStateOptions as S, UncheckedSnapshot as U, SnapshotMatchOptions as a, SnapshotResult as b, SnapshotData as c, SnapshotSerializer as d, SnapshotSummary as e, SnapshotUpdateState as f }; diff --git a/node_modules/@vitest/snapshot/environment.d.ts b/node_modules/@vitest/snapshot/environment.d.ts new file mode 100644 index 0000000..855f0d1 --- /dev/null +++ b/node_modules/@vitest/snapshot/environment.d.ts @@ -0,0 +1 @@ +export * from './dist/environment.js' diff --git a/node_modules/@vitest/snapshot/manager.d.ts b/node_modules/@vitest/snapshot/manager.d.ts new file mode 100644 index 0000000..f3e8077 --- /dev/null +++ b/node_modules/@vitest/snapshot/manager.d.ts @@ -0,0 +1 @@ +export * from './dist/manager.js' diff --git a/node_modules/@vitest/snapshot/package.json b/node_modules/@vitest/snapshot/package.json new file mode 100644 index 0000000..4596d66 --- /dev/null +++ b/node_modules/@vitest/snapshot/package.json @@ -0,0 +1,54 @@ +{ + "name": "@vitest/snapshot", + "type": "module", + "version": "3.2.3", + "description": "Vitest snapshot manager", + "license": "MIT", + "funding": "https://opencollective.com/vitest", + "homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/snapshot#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vitest-dev/vitest.git", + "directory": "packages/snapshot" + }, + "bugs": { + "url": "https://github.com/vitest-dev/vitest/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./environment": { + "types": "./dist/environment.d.ts", + "default": "./dist/environment.js" + }, + "./manager": { + "types": "./dist/manager.d.ts", + "default": "./dist/manager.js" + }, + "./*": "./*" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "*.d.ts", + "dist" + ], + "dependencies": { + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "@vitest/pretty-format": "3.2.3" + }, + "devDependencies": { + "@types/natural-compare": "^1.4.3", + "natural-compare": "^1.4.0", + "@vitest/utils": "3.2.3" + }, + "scripts": { + "build": "rimraf dist && rollup -c", + "dev": "rollup -c --watch" + } +} \ No newline at end of file diff --git a/node_modules/@vitest/spy/LICENSE b/node_modules/@vitest/spy/LICENSE new file mode 100644 index 0000000..5ae481f --- /dev/null +++ b/node_modules/@vitest/spy/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-Present Vitest Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@vitest/spy/README.md b/node_modules/@vitest/spy/README.md new file mode 100644 index 0000000..5d23c87 --- /dev/null +++ b/node_modules/@vitest/spy/README.md @@ -0,0 +1,3 @@ +# @vitest/spy + +Lightweight Jest compatible spy implementation. diff --git a/node_modules/@vitest/spy/dist/index.d.ts b/node_modules/@vitest/spy/dist/index.d.ts new file mode 100644 index 0000000..daf9b04 --- /dev/null +++ b/node_modules/@vitest/spy/dist/index.d.ts @@ -0,0 +1,356 @@ +interface MockResultReturn { + type: "return"; + /** + * The value that was returned from the function. If function returned a Promise, then this will be a resolved value. + */ + value: T; +} +interface MockResultIncomplete { + type: "incomplete"; + value: undefined; +} +interface MockResultThrow { + type: "throw"; + /** + * An error that was thrown during function execution. + */ + value: any; +} +interface MockSettledResultFulfilled { + type: "fulfilled"; + value: T; +} +interface MockSettledResultRejected { + type: "rejected"; + value: any; +} +type MockResult = MockResultReturn | MockResultThrow | MockResultIncomplete; +type MockSettledResult = MockSettledResultFulfilled | MockSettledResultRejected; +interface MockContext { + /** + * This is an array containing all arguments for each call. One item of the array is the arguments of that call. + * + * @see https://vitest.dev/api/mock#mock-calls + * @example + * const fn = vi.fn() + * + * fn('arg1', 'arg2') + * fn('arg3') + * + * fn.mock.calls === [ + * ['arg1', 'arg2'], // first call + * ['arg3'], // second call + * ] + */ + calls: Parameters[]; + /** + * This is an array containing all instances that were instantiated when mock was called with a `new` keyword. Note that this is an actual context (`this`) of the function, not a return value. + * @see https://vitest.dev/api/mock#mock-instances + */ + instances: ReturnType[]; + /** + * An array of `this` values that were used during each call to the mock function. + * @see https://vitest.dev/api/mock#mock-contexts + */ + contexts: ThisParameterType[]; + /** + * The order of mock's execution. This returns an array of numbers which are shared between all defined mocks. + * + * @see https://vitest.dev/api/mock#mock-invocationcallorder + * @example + * const fn1 = vi.fn() + * const fn2 = vi.fn() + * + * fn1() + * fn2() + * fn1() + * + * fn1.mock.invocationCallOrder === [1, 3] + * fn2.mock.invocationCallOrder === [2] + */ + invocationCallOrder: number[]; + /** + * This is an array containing all values that were `returned` from the function. + * + * The `value` property contains the returned value or thrown error. If the function returned a `Promise`, then `result` will always be `'return'` even if the promise was rejected. + * + * @see https://vitest.dev/api/mock#mock-results + * @example + * const fn = vi.fn() + * .mockReturnValueOnce('result') + * .mockImplementationOnce(() => { throw new Error('thrown error') }) + * + * const result = fn() + * + * try { + * fn() + * } + * catch {} + * + * fn.mock.results === [ + * { + * type: 'return', + * value: 'result', + * }, + * { + * type: 'throw', + * value: Error, + * }, + * ] + */ + results: MockResult>[]; + /** + * An array containing all values that were `resolved` or `rejected` from the function. + * + * This array will be empty if the function was never resolved or rejected. + * + * @see https://vitest.dev/api/mock#mock-settledresults + * @example + * const fn = vi.fn().mockResolvedValueOnce('result') + * + * const result = fn() + * + * fn.mock.settledResults === [] + * fn.mock.results === [ + * { + * type: 'return', + * value: Promise<'result'>, + * }, + * ] + * + * await result + * + * fn.mock.settledResults === [ + * { + * type: 'fulfilled', + * value: 'result', + * }, + * ] + */ + settledResults: MockSettledResult>>[]; + /** + * This contains the arguments of the last call. If spy wasn't called, will return `undefined`. + * @see https://vitest.dev/api/mock#mock-lastcall + */ + lastCall: Parameters | undefined; +} +type Procedure = (...args: any[]) => any; +// pick a single function type from function overloads, unions, etc... +type NormalizedProcedure = (...args: Parameters) => ReturnType; +type Methods = keyof { [K in keyof T as T[K] extends Procedure ? K : never] : T[K] }; +type Properties = { [K in keyof T] : T[K] extends Procedure ? never : K }[keyof T] & (string | symbol); +type Classes = { [K in keyof T] : T[K] extends new (...args: any[]) => any ? K : never }[keyof T] & (string | symbol); +/* +cf. https://typescript-eslint.io/rules/method-signature-style/ + +Typescript assignability is different between +{ foo: (f: T) => U } (this is "method-signature-style") +and +{ foo(f: T): U } + +Jest uses the latter for `MockInstance.mockImplementation` etc... and it allows assignment such as: +const boolFn: Jest.Mock<() => boolean> = jest.fn<() => true>(() => true) +*/ +/* eslint-disable ts/method-signature-style */ +interface MockInstance extends Disposable { + /** + * Use it to return the name assigned to the mock with the `.mockName(name)` method. By default, it will return `vi.fn()`. + * @see https://vitest.dev/api/mock#getmockname + */ + getMockName(): string; + /** + * Sets the internal mock name. This is useful for identifying the mock when an assertion fails. + * @see https://vitest.dev/api/mock#mockname + */ + mockName(name: string): this; + /** + * Current context of the mock. It stores information about all invocation calls, instances, and results. + */ + mock: MockContext; + /** + * Clears all information about every call. After calling it, all properties on `.mock` will return to their initial state. This method does not reset implementations. It is useful for cleaning up mocks between different assertions. + * + * To automatically call this method before each test, enable the [`clearMocks`](https://vitest.dev/config/#clearmocks) setting in the configuration. + * @see https://vitest.dev/api/mock#mockclear + */ + mockClear(): this; + /** + * Does what `mockClear` does and resets inner implementation to the original function. This also resets all "once" implementations. + * + * Note that resetting a mock from `vi.fn()` will set implementation to an empty function that returns `undefined`. + * Resetting a mock from `vi.fn(impl)` will set implementation to `impl`. It is useful for completely resetting a mock to its default state. + * + * To automatically call this method before each test, enable the [`mockReset`](https://vitest.dev/config/#mockreset) setting in the configuration. + * @see https://vitest.dev/api/mock#mockreset + */ + mockReset(): this; + /** + * Does what `mockReset` does and restores original descriptors of spied-on objects. + * + * Note that restoring mock from `vi.fn()` will set implementation to an empty function that returns `undefined`. Restoring a `vi.fn(impl)` will restore implementation to `impl`. + * @see https://vitest.dev/api/mock#mockrestore + */ + mockRestore(): void; + /** + * Returns current permanent mock implementation if there is one. + * + * If mock was created with `vi.fn`, it will consider passed down method as a mock implementation. + * + * If mock was created with `vi.spyOn`, it will return `undefined` unless a custom implementation was provided. + */ + getMockImplementation(): NormalizedProcedure | undefined; + /** + * Accepts a function to be used as the mock implementation. TypeScript expects the arguments and return type to match those of the original function. + * @see https://vitest.dev/api/mock#mockimplementation + * @example + * const increment = vi.fn().mockImplementation(count => count + 1); + * expect(increment(3)).toBe(4); + */ + mockImplementation(fn: NormalizedProcedure): this; + /** + * Accepts a function to be used as the mock implementation. TypeScript expects the arguments and return type to match those of the original function. This method can be chained to produce different results for multiple function calls. + * + * When the mocked function runs out of implementations, it will invoke the default implementation set with `vi.fn(() => defaultValue)` or `.mockImplementation(() => defaultValue)` if they were called. + * @see https://vitest.dev/api/mock#mockimplementationonce + * @example + * const fn = vi.fn(count => count).mockImplementationOnce(count => count + 1); + * expect(fn(3)).toBe(4); + * expect(fn(3)).toBe(3); + */ + mockImplementationOnce(fn: NormalizedProcedure): this; + /** + * Overrides the original mock implementation temporarily while the callback is being executed. + * + * Note that this method takes precedence over the [`mockImplementationOnce`](https://vitest.dev/api/mock#mockimplementationonce). + * @see https://vitest.dev/api/mock#withimplementation + * @example + * const myMockFn = vi.fn(() => 'original') + * + * myMockFn.withImplementation(() => 'temp', () => { + * myMockFn() // 'temp' + * }) + * + * myMockFn() // 'original' + */ + withImplementation(fn: NormalizedProcedure, cb: () => T2): T2 extends Promise ? Promise : this; + /** + * Use this if you need to return the `this` context from the method without invoking the actual implementation. + * @see https://vitest.dev/api/mock#mockreturnthis + */ + mockReturnThis(): this; + /** + * Accepts a value that will be returned whenever the mock function is called. TypeScript will only accept values that match the return type of the original function. + * @see https://vitest.dev/api/mock#mockreturnvalue + * @example + * const mock = vi.fn() + * mock.mockReturnValue(42) + * mock() // 42 + * mock.mockReturnValue(43) + * mock() // 43 + */ + mockReturnValue(value: ReturnType): this; + /** + * Accepts a value that will be returned whenever the mock function is called. TypeScript will only accept values that match the return type of the original function. + * + * When the mocked function runs out of implementations, it will invoke the default implementation set with `vi.fn(() => defaultValue)` or `.mockImplementation(() => defaultValue)` if they were called. + * @example + * const myMockFn = vi + * .fn() + * .mockReturnValue('default') + * .mockReturnValueOnce('first call') + * .mockReturnValueOnce('second call') + * + * // 'first call', 'second call', 'default' + * console.log(myMockFn(), myMockFn(), myMockFn()) + */ + mockReturnValueOnce(value: ReturnType): this; + /** + * Accepts a value that will be resolved when the async function is called. TypeScript will only accept values that match the return type of the original function. + * @example + * const asyncMock = vi.fn().mockResolvedValue(42) + * asyncMock() // Promise<42> + */ + mockResolvedValue(value: Awaited>): this; + /** + * Accepts a value that will be resolved during the next function call. TypeScript will only accept values that match the return type of the original function. If chained, each consecutive call will resolve the specified value. + * @example + * const myMockFn = vi + * .fn() + * .mockResolvedValue('default') + * .mockResolvedValueOnce('first call') + * .mockResolvedValueOnce('second call') + * + * // Promise<'first call'>, Promise<'second call'>, Promise<'default'> + * console.log(myMockFn(), myMockFn(), myMockFn()) + */ + mockResolvedValueOnce(value: Awaited>): this; + /** + * Accepts an error that will be rejected when async function is called. + * @example + * const asyncMock = vi.fn().mockRejectedValue(new Error('Async error')) + * await asyncMock() // throws Error<'Async error'> + */ + mockRejectedValue(error: unknown): this; + /** + * Accepts a value that will be rejected during the next function call. If chained, each consecutive call will reject the specified value. + * @example + * const asyncMock = vi + * .fn() + * .mockResolvedValueOnce('first call') + * .mockRejectedValueOnce(new Error('Async error')) + * + * await asyncMock() // first call + * await asyncMock() // throws Error<'Async error'> + */ + mockRejectedValueOnce(error: unknown): this; +} +/* eslint-enable ts/method-signature-style */ +interface Mock extends MockInstance { + new (...args: Parameters): ReturnType; + (...args: Parameters): ReturnType; +} +type PartialMaybePromise = T extends Promise> ? Promise>> : Partial; +interface PartialMock extends MockInstance<(...args: Parameters) => PartialMaybePromise>> { + new (...args: Parameters): ReturnType; + (...args: Parameters): ReturnType; +} +type MaybeMockedConstructor = T extends new (...args: Array) => infer R ? Mock<(...args: ConstructorParameters) => R> : T; +type MockedFunction = Mock & { [K in keyof T] : T[K] }; +type PartiallyMockedFunction = PartialMock & { [K in keyof T] : T[K] }; +type MockedFunctionDeep = Mock & MockedObjectDeep; +type PartiallyMockedFunctionDeep = PartialMock & MockedObjectDeep; +type MockedObject = MaybeMockedConstructor & { [K in Methods] : T[K] extends Procedure ? MockedFunction : T[K] } & { [K in Properties] : T[K] }; +type MockedObjectDeep = MaybeMockedConstructor & { [K in Methods] : T[K] extends Procedure ? MockedFunctionDeep : T[K] } & { [K in Properties] : MaybeMockedDeep }; +type MaybeMockedDeep = T extends Procedure ? MockedFunctionDeep : T extends object ? MockedObjectDeep : T; +type MaybePartiallyMockedDeep = T extends Procedure ? PartiallyMockedFunctionDeep : T extends object ? MockedObjectDeep : T; +type MaybeMocked = T extends Procedure ? MockedFunction : T extends object ? MockedObject : T; +type MaybePartiallyMocked = T extends Procedure ? PartiallyMockedFunction : T extends object ? MockedObject : T; +interface Constructable { + new (...args: any[]): any; +} +type MockedClass = MockInstance<(...args: ConstructorParameters) => InstanceType> & { + prototype: T extends { + prototype: any + } ? Mocked : never +} & T; +type Mocked = { [P in keyof T] : T[P] extends Procedure ? MockInstance : T[P] extends Constructable ? MockedClass : T[P] } & T; +declare const mocks: Set>; +declare function isMockFunction(fn: any): fn is MockInstance; +declare function spyOn< + T, + S extends Properties> +>(obj: T, methodName: S, accessType: "get"): MockInstance<() => T[S]>; +declare function spyOn< + T, + G extends Properties> +>(obj: T, methodName: G, accessType: "set"): MockInstance<(arg: T[G]) => void>; +declare function spyOn< + T, + M extends Classes> | Methods> +>(obj: T, methodName: M): Required[M] extends { + new (...args: infer A): infer R +} ? MockInstance<(this: R, ...args: A) => R> : T[M] extends Procedure ? MockInstance : never; +declare function fn(implementation?: T): Mock; + +export { fn, isMockFunction, mocks, spyOn }; +export type { MaybeMocked, MaybeMockedConstructor, MaybeMockedDeep, MaybePartiallyMocked, MaybePartiallyMockedDeep, Mock, MockContext, MockInstance, MockResult, MockSettledResult, Mocked, MockedClass, MockedFunction, MockedFunctionDeep, MockedObject, MockedObjectDeep, PartialMock, PartiallyMockedFunction, PartiallyMockedFunctionDeep }; diff --git a/node_modules/@vitest/spy/dist/index.js b/node_modules/@vitest/spy/dist/index.js new file mode 100644 index 0000000..c0e9446 --- /dev/null +++ b/node_modules/@vitest/spy/dist/index.js @@ -0,0 +1,184 @@ +import * as tinyspy from 'tinyspy'; + +const mocks = new Set(); +function isMockFunction(fn) { + return typeof fn === "function" && "_isMockFunction" in fn && fn._isMockFunction; +} +function spyOn(obj, method, accessType) { + const dictionary = { + get: "getter", + set: "setter" + }; + const objMethod = accessType ? { [dictionary[accessType]]: method } : method; + let state; + const descriptor = getDescriptor(obj, method); + const fn = descriptor && descriptor[accessType || "value"]; + // inherit implementations if it was already mocked + if (isMockFunction(fn)) { + state = fn.mock._state(); + } + const stub = tinyspy.internalSpyOn(obj, objMethod); + const spy = enhanceSpy(stub); + if (state) { + spy.mock._state(state); + } + return spy; +} +let callOrder = 0; +function enhanceSpy(spy) { + const stub = spy; + let implementation; + let onceImplementations = []; + let implementationChangedTemporarily = false; + let instances = []; + let contexts = []; + let invocations = []; + const state = tinyspy.getInternalState(spy); + const mockContext = { + get calls() { + return state.calls; + }, + get contexts() { + return contexts; + }, + get instances() { + return instances; + }, + get invocationCallOrder() { + return invocations; + }, + get results() { + return state.results.map(([callType, value]) => { + const type = callType === "error" ? "throw" : "return"; + return { + type, + value + }; + }); + }, + get settledResults() { + return state.resolves.map(([callType, value]) => { + const type = callType === "error" ? "rejected" : "fulfilled"; + return { + type, + value + }; + }); + }, + get lastCall() { + return state.calls[state.calls.length - 1]; + }, + _state(state) { + if (state) { + implementation = state.implementation; + onceImplementations = state.onceImplementations; + implementationChangedTemporarily = state.implementationChangedTemporarily; + } + return { + implementation, + onceImplementations, + implementationChangedTemporarily + }; + } + }; + function mockCall(...args) { + instances.push(this); + contexts.push(this); + invocations.push(++callOrder); + const impl = implementationChangedTemporarily ? implementation : onceImplementations.shift() || implementation || state.getOriginal() || (() => {}); + return impl.apply(this, args); + } + let name = stub.name; + stub.getMockName = () => name || "vi.fn()"; + stub.mockName = (n) => { + name = n; + return stub; + }; + stub.mockClear = () => { + state.reset(); + instances = []; + contexts = []; + invocations = []; + return stub; + }; + stub.mockReset = () => { + stub.mockClear(); + implementation = undefined; + onceImplementations = []; + return stub; + }; + stub.mockRestore = () => { + stub.mockReset(); + state.restore(); + return stub; + }; + if (Symbol.dispose) { + stub[Symbol.dispose] = () => stub.mockRestore(); + } + stub.getMockImplementation = () => implementationChangedTemporarily ? implementation : onceImplementations.at(0) || implementation; + stub.mockImplementation = (fn) => { + implementation = fn; + state.willCall(mockCall); + return stub; + }; + stub.mockImplementationOnce = (fn) => { + onceImplementations.push(fn); + return stub; + }; + function withImplementation(fn, cb) { + const originalImplementation = implementation; + implementation = fn; + state.willCall(mockCall); + implementationChangedTemporarily = true; + const reset = () => { + implementation = originalImplementation; + implementationChangedTemporarily = false; + }; + const result = cb(); + if (typeof result === "object" && result && typeof result.then === "function") { + return result.then(() => { + reset(); + return stub; + }); + } + reset(); + return stub; + } + stub.withImplementation = withImplementation; + stub.mockReturnThis = () => stub.mockImplementation(function() { + return this; + }); + stub.mockReturnValue = (val) => stub.mockImplementation(() => val); + stub.mockReturnValueOnce = (val) => stub.mockImplementationOnce(() => val); + stub.mockResolvedValue = (val) => stub.mockImplementation(() => Promise.resolve(val)); + stub.mockResolvedValueOnce = (val) => stub.mockImplementationOnce(() => Promise.resolve(val)); + stub.mockRejectedValue = (val) => stub.mockImplementation(() => Promise.reject(val)); + stub.mockRejectedValueOnce = (val) => stub.mockImplementationOnce(() => Promise.reject(val)); + Object.defineProperty(stub, "mock", { get: () => mockContext }); + state.willCall(mockCall); + mocks.add(stub); + return stub; +} +function fn(implementation) { + const enhancedSpy = enhanceSpy(tinyspy.internalSpyOn({ spy: implementation || function() {} }, "spy")); + if (implementation) { + enhancedSpy.mockImplementation(implementation); + } + return enhancedSpy; +} +function getDescriptor(obj, method) { + const objDescriptor = Object.getOwnPropertyDescriptor(obj, method); + if (objDescriptor) { + return objDescriptor; + } + let currentProto = Object.getPrototypeOf(obj); + while (currentProto !== null) { + const descriptor = Object.getOwnPropertyDescriptor(currentProto, method); + if (descriptor) { + return descriptor; + } + currentProto = Object.getPrototypeOf(currentProto); + } +} + +export { fn, isMockFunction, mocks, spyOn }; diff --git a/node_modules/@vitest/spy/package.json b/node_modules/@vitest/spy/package.json new file mode 100644 index 0000000..dd67aea --- /dev/null +++ b/node_modules/@vitest/spy/package.json @@ -0,0 +1,38 @@ +{ + "name": "@vitest/spy", + "type": "module", + "version": "3.2.3", + "description": "Lightweight Jest compatible spy implementation", + "license": "MIT", + "funding": "https://opencollective.com/vitest", + "homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/spy#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vitest-dev/vitest.git", + "directory": "packages/spy" + }, + "bugs": { + "url": "https://github.com/vitest-dev/vitest/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./*": "./*" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "dependencies": { + "tinyspy": "^4.0.3" + }, + "scripts": { + "build": "rimraf dist && rollup -c", + "dev": "rollup -c --watch" + } +} \ No newline at end of file diff --git a/node_modules/@vitest/utils/LICENSE b/node_modules/@vitest/utils/LICENSE new file mode 100644 index 0000000..5ae481f --- /dev/null +++ b/node_modules/@vitest/utils/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-Present Vitest Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@vitest/utils/diff.d.ts b/node_modules/@vitest/utils/diff.d.ts new file mode 100644 index 0000000..0a66b86 --- /dev/null +++ b/node_modules/@vitest/utils/diff.d.ts @@ -0,0 +1 @@ +export * from './dist/diff.js' diff --git a/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.js b/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.js new file mode 100644 index 0000000..a864755 --- /dev/null +++ b/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.js @@ -0,0 +1,158 @@ +import { plugins, format as format$1 } from '@vitest/pretty-format'; +import * as loupe from 'loupe'; + +const { AsymmetricMatcher, DOMCollection, DOMElement, Immutable, ReactElement, ReactTestComponent } = plugins; +const PLUGINS = [ + ReactTestComponent, + ReactElement, + DOMElement, + DOMCollection, + Immutable, + AsymmetricMatcher +]; +function stringify(object, maxDepth = 10, { maxLength,...options } = {}) { + const MAX_LENGTH = maxLength ?? 1e4; + let result; + try { + result = format$1(object, { + maxDepth, + escapeString: false, + plugins: PLUGINS, + ...options + }); + } catch { + result = format$1(object, { + callToJSON: false, + maxDepth, + escapeString: false, + plugins: PLUGINS, + ...options + }); + } + // Prevents infinite loop https://github.com/vitest-dev/vitest/issues/7249 + return result.length >= MAX_LENGTH && maxDepth > 1 ? stringify(object, Math.floor(Math.min(maxDepth, Number.MAX_SAFE_INTEGER) / 2), { + maxLength, + ...options + }) : result; +} +const formatRegExp = /%[sdjifoOc%]/g; +function format(...args) { + if (typeof args[0] !== "string") { + const objects = []; + for (let i = 0; i < args.length; i++) { + objects.push(inspect(args[i], { + depth: 0, + colors: false + })); + } + return objects.join(" "); + } + const len = args.length; + let i = 1; + const template = args[0]; + let str = String(template).replace(formatRegExp, (x) => { + if (x === "%%") { + return "%"; + } + if (i >= len) { + return x; + } + switch (x) { + case "%s": { + const value = args[i++]; + if (typeof value === "bigint") { + return `${value.toString()}n`; + } + if (typeof value === "number" && value === 0 && 1 / value < 0) { + return "-0"; + } + if (typeof value === "object" && value !== null) { + if (typeof value.toString === "function" && value.toString !== Object.prototype.toString) { + return value.toString(); + } + return inspect(value, { + depth: 0, + colors: false + }); + } + return String(value); + } + case "%d": { + const value = args[i++]; + if (typeof value === "bigint") { + return `${value.toString()}n`; + } + return Number(value).toString(); + } + case "%i": { + const value = args[i++]; + if (typeof value === "bigint") { + return `${value.toString()}n`; + } + return Number.parseInt(String(value)).toString(); + } + case "%f": return Number.parseFloat(String(args[i++])).toString(); + case "%o": return inspect(args[i++], { + showHidden: true, + showProxy: true + }); + case "%O": return inspect(args[i++]); + case "%c": { + i++; + return ""; + } + case "%j": try { + return JSON.stringify(args[i++]); + } catch (err) { + const m = err.message; + if (m.includes("circular structure") || m.includes("cyclic structures") || m.includes("cyclic object")) { + return "[Circular]"; + } + throw err; + } + default: return x; + } + }); + for (let x = args[i]; i < len; x = args[++i]) { + if (x === null || typeof x !== "object") { + str += ` ${x}`; + } else { + str += ` ${inspect(x)}`; + } + } + return str; +} +function inspect(obj, options = {}) { + if (options.truncate === 0) { + options.truncate = Number.POSITIVE_INFINITY; + } + return loupe.inspect(obj, options); +} +function objDisplay(obj, options = {}) { + if (typeof options.truncate === "undefined") { + options.truncate = 40; + } + const str = inspect(obj, options); + const type = Object.prototype.toString.call(obj); + if (options.truncate && str.length >= options.truncate) { + if (type === "[object Function]") { + const fn = obj; + return !fn.name ? "[Function]" : `[Function: ${fn.name}]`; + } else if (type === "[object Array]") { + return `[ Array(${obj.length}) ]`; + } else if (type === "[object Object]") { + const keys = Object.keys(obj); + const kstr = keys.length > 2 ? `${keys.splice(0, 2).join(", ")}, ...` : keys.join(", "); + return `{ Object (${kstr}) }`; + } else { + return str; + } + } + return str; +} + +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +export { format as f, getDefaultExportFromCjs as g, inspect as i, objDisplay as o, stringify as s }; diff --git a/node_modules/@vitest/utils/dist/diff.d.ts b/node_modules/@vitest/utils/dist/diff.d.ts new file mode 100644 index 0000000..b8addc3 --- /dev/null +++ b/node_modules/@vitest/utils/dist/diff.d.ts @@ -0,0 +1,104 @@ +import { D as DiffOptions } from './types.d-BCElaP-c.js'; +export { a as DiffOptionsColor, S as SerializedDiffOptions } from './types.d-BCElaP-c.js'; +import '@vitest/pretty-format'; + +/** +* Diff Match and Patch +* Copyright 2018 The diff-match-patch Authors. +* https://github.com/google/diff-match-patch +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +/** +* @fileoverview Computes the difference between two texts to create a patch. +* Applies the patch onto another text, allowing for errors. +* @author fraser@google.com (Neil Fraser) +*/ +/** +* CHANGES by pedrottimark to diff_match_patch_uncompressed.ts file: +* +* 1. Delete anything not needed to use diff_cleanupSemantic method +* 2. Convert from prototype properties to var declarations +* 3. Convert Diff to class from constructor and prototype +* 4. Add type annotations for arguments and return values +* 5. Add exports +*/ +/** +* The data structure representing a diff is an array of tuples: +* [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']] +* which means: delete 'Hello', add 'Goodbye' and keep ' world.' +*/ +declare const DIFF_DELETE = -1; +declare const DIFF_INSERT = 1; +declare const DIFF_EQUAL = 0; +/** +* Class representing one diff tuple. +* Attempts to look like a two-element array (which is what this used to be). +* @param {number} op Operation, one of: DIFF_DELETE, DIFF_INSERT, DIFF_EQUAL. +* @param {string} text Text to be deleted, inserted, or retained. +* @constructor +*/ +declare class Diff { + 0: number; + 1: string; + constructor(op: number, text: string); +} + +/** +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +// Compare two arrays of strings line-by-line. Format as comparison lines. +declare function diffLinesUnified(aLines: Array, bLines: Array, options?: DiffOptions): string; +// Given two pairs of arrays of strings: +// Compare the pair of comparison arrays line-by-line. +// Format the corresponding lines in the pair of displayable arrays. +declare function diffLinesUnified2(aLinesDisplay: Array, bLinesDisplay: Array, aLinesCompare: Array, bLinesCompare: Array, options?: DiffOptions): string; +// Compare two arrays of strings line-by-line. +declare function diffLinesRaw(aLines: Array, bLines: Array, options?: DiffOptions): [Array, boolean]; + +/** +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +// Compare two strings character-by-character. +// Format as comparison lines in which changed substrings have inverse colors. +declare function diffStringsUnified(a: string, b: string, options?: DiffOptions): string; +// Compare two strings character-by-character. +// Optionally clean up small common substrings, also known as chaff. +declare function diffStringsRaw(a: string, b: string, cleanup: boolean, options?: DiffOptions): [Array, boolean]; + +// Generate a string that will highlight the difference between two values +// with green and red. (similar to how github does code diffing) +/** +* @param a Expected value +* @param b Received value +* @param options Diff options +* @returns {string | null} a string diff +*/ +declare function diff(a: any, b: any, options?: DiffOptions): string | undefined; +declare function printDiffOrStringify(received: unknown, expected: unknown, options?: DiffOptions): string | undefined; +declare function replaceAsymmetricMatcher(actual: any, expected: any, actualReplaced?: WeakSet, expectedReplaced?: WeakSet): { + replacedActual: any + replacedExpected: any +}; +type PrintLabel = (string: string) => string; +declare function getLabelPrinter(...strings: Array): PrintLabel; + +export { DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT, Diff, DiffOptions, diff, diffLinesRaw, diffLinesUnified, diffLinesUnified2, diffStringsRaw, diffStringsUnified, getLabelPrinter, printDiffOrStringify, replaceAsymmetricMatcher }; diff --git a/node_modules/@vitest/utils/dist/diff.js b/node_modules/@vitest/utils/dist/diff.js new file mode 100644 index 0000000..0974891 --- /dev/null +++ b/node_modules/@vitest/utils/dist/diff.js @@ -0,0 +1,2185 @@ +import { plugins, format } from '@vitest/pretty-format'; +import c from 'tinyrainbow'; +import { g as getDefaultExportFromCjs, s as stringify } from './chunk-_commonjsHelpers.js'; +import { deepClone, getOwnProperties, getType as getType$1 } from './helpers.js'; +import 'loupe'; + +/** +* Diff Match and Patch +* Copyright 2018 The diff-match-patch Authors. +* https://github.com/google/diff-match-patch +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +/** +* @fileoverview Computes the difference between two texts to create a patch. +* Applies the patch onto another text, allowing for errors. +* @author fraser@google.com (Neil Fraser) +*/ +/** +* CHANGES by pedrottimark to diff_match_patch_uncompressed.ts file: +* +* 1. Delete anything not needed to use diff_cleanupSemantic method +* 2. Convert from prototype properties to var declarations +* 3. Convert Diff to class from constructor and prototype +* 4. Add type annotations for arguments and return values +* 5. Add exports +*/ +/** +* The data structure representing a diff is an array of tuples: +* [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']] +* which means: delete 'Hello', add 'Goodbye' and keep ' world.' +*/ +const DIFF_DELETE = -1; +const DIFF_INSERT = 1; +const DIFF_EQUAL = 0; +/** +* Class representing one diff tuple. +* Attempts to look like a two-element array (which is what this used to be). +* @param {number} op Operation, one of: DIFF_DELETE, DIFF_INSERT, DIFF_EQUAL. +* @param {string} text Text to be deleted, inserted, or retained. +* @constructor +*/ +class Diff { + 0; + 1; + constructor(op, text) { + this[0] = op; + this[1] = text; + } +} +/** +* Determine the common prefix of two strings. +* @param {string} text1 First string. +* @param {string} text2 Second string. +* @return {number} The number of characters common to the start of each +* string. +*/ +function diff_commonPrefix(text1, text2) { + // Quick check for common null cases. + if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) { + return 0; + } + // Binary search. + // Performance analysis: https://neil.fraser.name/news/2007/10/09/ + let pointermin = 0; + let pointermax = Math.min(text1.length, text2.length); + let pointermid = pointermax; + let pointerstart = 0; + while (pointermin < pointermid) { + if (text1.substring(pointerstart, pointermid) === text2.substring(pointerstart, pointermid)) { + pointermin = pointermid; + pointerstart = pointermin; + } else { + pointermax = pointermid; + } + pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin); + } + return pointermid; +} +/** +* Determine the common suffix of two strings. +* @param {string} text1 First string. +* @param {string} text2 Second string. +* @return {number} The number of characters common to the end of each string. +*/ +function diff_commonSuffix(text1, text2) { + // Quick check for common null cases. + if (!text1 || !text2 || text1.charAt(text1.length - 1) !== text2.charAt(text2.length - 1)) { + return 0; + } + // Binary search. + // Performance analysis: https://neil.fraser.name/news/2007/10/09/ + let pointermin = 0; + let pointermax = Math.min(text1.length, text2.length); + let pointermid = pointermax; + let pointerend = 0; + while (pointermin < pointermid) { + if (text1.substring(text1.length - pointermid, text1.length - pointerend) === text2.substring(text2.length - pointermid, text2.length - pointerend)) { + pointermin = pointermid; + pointerend = pointermin; + } else { + pointermax = pointermid; + } + pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin); + } + return pointermid; +} +/** +* Determine if the suffix of one string is the prefix of another. +* @param {string} text1 First string. +* @param {string} text2 Second string. +* @return {number} The number of characters common to the end of the first +* string and the start of the second string. +* @private +*/ +function diff_commonOverlap_(text1, text2) { + // Cache the text lengths to prevent multiple calls. + const text1_length = text1.length; + const text2_length = text2.length; + // Eliminate the null case. + if (text1_length === 0 || text2_length === 0) { + return 0; + } + // Truncate the longer string. + if (text1_length > text2_length) { + text1 = text1.substring(text1_length - text2_length); + } else if (text1_length < text2_length) { + text2 = text2.substring(0, text1_length); + } + const text_length = Math.min(text1_length, text2_length); + // Quick check for the worst case. + if (text1 === text2) { + return text_length; + } + // Start by looking for a single character match + // and increase length until no match is found. + // Performance analysis: https://neil.fraser.name/news/2010/11/04/ + let best = 0; + let length = 1; + while (true) { + const pattern = text1.substring(text_length - length); + const found = text2.indexOf(pattern); + if (found === -1) { + return best; + } + length += found; + if (found === 0 || text1.substring(text_length - length) === text2.substring(0, length)) { + best = length; + length++; + } + } +} +/** +* Reduce the number of edits by eliminating semantically trivial equalities. +* @param {!Array.} diffs Array of diff tuples. +*/ +function diff_cleanupSemantic(diffs) { + let changes = false; + const equalities = []; + let equalitiesLength = 0; + /** @type {?string} */ + let lastEquality = null; + // Always equal to diffs[equalities[equalitiesLength - 1]][1] + let pointer = 0; + // Number of characters that changed prior to the equality. + let length_insertions1 = 0; + let length_deletions1 = 0; + // Number of characters that changed after the equality. + let length_insertions2 = 0; + let length_deletions2 = 0; + while (pointer < diffs.length) { + if (diffs[pointer][0] === DIFF_EQUAL) { + // Equality found. + equalities[equalitiesLength++] = pointer; + length_insertions1 = length_insertions2; + length_deletions1 = length_deletions2; + length_insertions2 = 0; + length_deletions2 = 0; + lastEquality = diffs[pointer][1]; + } else { + // An insertion or deletion. + if (diffs[pointer][0] === DIFF_INSERT) { + length_insertions2 += diffs[pointer][1].length; + } else { + length_deletions2 += diffs[pointer][1].length; + } + // Eliminate an equality that is smaller or equal to the edits on both + // sides of it. + if (lastEquality && lastEquality.length <= Math.max(length_insertions1, length_deletions1) && lastEquality.length <= Math.max(length_insertions2, length_deletions2)) { + // Duplicate record. + diffs.splice(equalities[equalitiesLength - 1], 0, new Diff(DIFF_DELETE, lastEquality)); + // Change second copy to insert. + diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT; + // Throw away the equality we just deleted. + equalitiesLength--; + // Throw away the previous equality (it needs to be reevaluated). + equalitiesLength--; + pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1; + length_insertions1 = 0; + length_deletions1 = 0; + length_insertions2 = 0; + length_deletions2 = 0; + lastEquality = null; + changes = true; + } + } + pointer++; + } + // Normalize the diff. + if (changes) { + diff_cleanupMerge(diffs); + } + diff_cleanupSemanticLossless(diffs); + // Find any overlaps between deletions and insertions. + // e.g: abcxxxxxxdef + // -> abcxxxdef + // e.g: xxxabcdefxxx + // -> defxxxabc + // Only extract an overlap if it is as big as the edit ahead or behind it. + pointer = 1; + while (pointer < diffs.length) { + if (diffs[pointer - 1][0] === DIFF_DELETE && diffs[pointer][0] === DIFF_INSERT) { + const deletion = diffs[pointer - 1][1]; + const insertion = diffs[pointer][1]; + const overlap_length1 = diff_commonOverlap_(deletion, insertion); + const overlap_length2 = diff_commonOverlap_(insertion, deletion); + if (overlap_length1 >= overlap_length2) { + if (overlap_length1 >= deletion.length / 2 || overlap_length1 >= insertion.length / 2) { + // Overlap found. Insert an equality and trim the surrounding edits. + diffs.splice(pointer, 0, new Diff(DIFF_EQUAL, insertion.substring(0, overlap_length1))); + diffs[pointer - 1][1] = deletion.substring(0, deletion.length - overlap_length1); + diffs[pointer + 1][1] = insertion.substring(overlap_length1); + pointer++; + } + } else { + if (overlap_length2 >= deletion.length / 2 || overlap_length2 >= insertion.length / 2) { + // Reverse overlap found. + // Insert an equality and swap and trim the surrounding edits. + diffs.splice(pointer, 0, new Diff(DIFF_EQUAL, deletion.substring(0, overlap_length2))); + diffs[pointer - 1][0] = DIFF_INSERT; + diffs[pointer - 1][1] = insertion.substring(0, insertion.length - overlap_length2); + diffs[pointer + 1][0] = DIFF_DELETE; + diffs[pointer + 1][1] = deletion.substring(overlap_length2); + pointer++; + } + } + pointer++; + } + pointer++; + } +} +// Define some regex patterns for matching boundaries. +const nonAlphaNumericRegex_ = /[^a-z0-9]/i; +const whitespaceRegex_ = /\s/; +const linebreakRegex_ = /[\r\n]/; +const blanklineEndRegex_ = /\n\r?\n$/; +const blanklineStartRegex_ = /^\r?\n\r?\n/; +/** +* Look for single edits surrounded on both sides by equalities +* which can be shifted sideways to align the edit to a word boundary. +* e.g: The cat came. -> The cat came. +* @param {!Array.} diffs Array of diff tuples. +*/ +function diff_cleanupSemanticLossless(diffs) { + let pointer = 1; + // Intentionally ignore the first and last element (don't need checking). + while (pointer < diffs.length - 1) { + if (diffs[pointer - 1][0] === DIFF_EQUAL && diffs[pointer + 1][0] === DIFF_EQUAL) { + // This is a single edit surrounded by equalities. + let equality1 = diffs[pointer - 1][1]; + let edit = diffs[pointer][1]; + let equality2 = diffs[pointer + 1][1]; + // First, shift the edit as far left as possible. + const commonOffset = diff_commonSuffix(equality1, edit); + if (commonOffset) { + const commonString = edit.substring(edit.length - commonOffset); + equality1 = equality1.substring(0, equality1.length - commonOffset); + edit = commonString + edit.substring(0, edit.length - commonOffset); + equality2 = commonString + equality2; + } + // Second, step character by character right, looking for the best fit. + let bestEquality1 = equality1; + let bestEdit = edit; + let bestEquality2 = equality2; + let bestScore = diff_cleanupSemanticScore_(equality1, edit) + diff_cleanupSemanticScore_(edit, equality2); + while (edit.charAt(0) === equality2.charAt(0)) { + equality1 += edit.charAt(0); + edit = edit.substring(1) + equality2.charAt(0); + equality2 = equality2.substring(1); + const score = diff_cleanupSemanticScore_(equality1, edit) + diff_cleanupSemanticScore_(edit, equality2); + // The >= encourages trailing rather than leading whitespace on edits. + if (score >= bestScore) { + bestScore = score; + bestEquality1 = equality1; + bestEdit = edit; + bestEquality2 = equality2; + } + } + if (diffs[pointer - 1][1] !== bestEquality1) { + // We have an improvement, save it back to the diff. + if (bestEquality1) { + diffs[pointer - 1][1] = bestEquality1; + } else { + diffs.splice(pointer - 1, 1); + pointer--; + } + diffs[pointer][1] = bestEdit; + if (bestEquality2) { + diffs[pointer + 1][1] = bestEquality2; + } else { + diffs.splice(pointer + 1, 1); + pointer--; + } + } + } + pointer++; + } +} +/** +* Reorder and merge like edit sections. Merge equalities. +* Any edit section can move as long as it doesn't cross an equality. +* @param {!Array.} diffs Array of diff tuples. +*/ +function diff_cleanupMerge(diffs) { + // Add a dummy entry at the end. + diffs.push(new Diff(DIFF_EQUAL, "")); + let pointer = 0; + let count_delete = 0; + let count_insert = 0; + let text_delete = ""; + let text_insert = ""; + let commonlength; + while (pointer < diffs.length) { + switch (diffs[pointer][0]) { + case DIFF_INSERT: + count_insert++; + text_insert += diffs[pointer][1]; + pointer++; + break; + case DIFF_DELETE: + count_delete++; + text_delete += diffs[pointer][1]; + pointer++; + break; + case DIFF_EQUAL: + // Upon reaching an equality, check for prior redundancies. + if (count_delete + count_insert > 1) { + if (count_delete !== 0 && count_insert !== 0) { + // Factor out any common prefixes. + commonlength = diff_commonPrefix(text_insert, text_delete); + if (commonlength !== 0) { + if (pointer - count_delete - count_insert > 0 && diffs[pointer - count_delete - count_insert - 1][0] === DIFF_EQUAL) { + diffs[pointer - count_delete - count_insert - 1][1] += text_insert.substring(0, commonlength); + } else { + diffs.splice(0, 0, new Diff(DIFF_EQUAL, text_insert.substring(0, commonlength))); + pointer++; + } + text_insert = text_insert.substring(commonlength); + text_delete = text_delete.substring(commonlength); + } + // Factor out any common suffixes. + commonlength = diff_commonSuffix(text_insert, text_delete); + if (commonlength !== 0) { + diffs[pointer][1] = text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1]; + text_insert = text_insert.substring(0, text_insert.length - commonlength); + text_delete = text_delete.substring(0, text_delete.length - commonlength); + } + } + // Delete the offending records and add the merged ones. + pointer -= count_delete + count_insert; + diffs.splice(pointer, count_delete + count_insert); + if (text_delete.length) { + diffs.splice(pointer, 0, new Diff(DIFF_DELETE, text_delete)); + pointer++; + } + if (text_insert.length) { + diffs.splice(pointer, 0, new Diff(DIFF_INSERT, text_insert)); + pointer++; + } + pointer++; + } else if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) { + // Merge this equality with the previous one. + diffs[pointer - 1][1] += diffs[pointer][1]; + diffs.splice(pointer, 1); + } else { + pointer++; + } + count_insert = 0; + count_delete = 0; + text_delete = ""; + text_insert = ""; + break; + } + } + if (diffs[diffs.length - 1][1] === "") { + diffs.pop(); + } + // Second pass: look for single edits surrounded on both sides by equalities + // which can be shifted sideways to eliminate an equality. + // e.g: ABAC -> ABAC + let changes = false; + pointer = 1; + // Intentionally ignore the first and last element (don't need checking). + while (pointer < diffs.length - 1) { + if (diffs[pointer - 1][0] === DIFF_EQUAL && diffs[pointer + 1][0] === DIFF_EQUAL) { + // This is a single edit surrounded by equalities. + if (diffs[pointer][1].substring(diffs[pointer][1].length - diffs[pointer - 1][1].length) === diffs[pointer - 1][1]) { + // Shift the edit over the previous equality. + diffs[pointer][1] = diffs[pointer - 1][1] + diffs[pointer][1].substring(0, diffs[pointer][1].length - diffs[pointer - 1][1].length); + diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1]; + diffs.splice(pointer - 1, 1); + changes = true; + } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) === diffs[pointer + 1][1]) { + // Shift the edit over the next equality. + diffs[pointer - 1][1] += diffs[pointer + 1][1]; + diffs[pointer][1] = diffs[pointer][1].substring(diffs[pointer + 1][1].length) + diffs[pointer + 1][1]; + diffs.splice(pointer + 1, 1); + changes = true; + } + } + pointer++; + } + // If shifts were made, the diff needs reordering and another shift sweep. + if (changes) { + diff_cleanupMerge(diffs); + } +} +/** +* Given two strings, compute a score representing whether the internal +* boundary falls on logical boundaries. +* Scores range from 6 (best) to 0 (worst). +* Closure, but does not reference any external variables. +* @param {string} one First string. +* @param {string} two Second string. +* @return {number} The score. +* @private +*/ +function diff_cleanupSemanticScore_(one, two) { + if (!one || !two) { + // Edges are the best. + return 6; + } + // Each port of this function behaves slightly differently due to + // subtle differences in each language's definition of things like + // 'whitespace'. Since this function's purpose is largely cosmetic, + // the choice has been made to use each language's native features + // rather than force total conformity. + const char1 = one.charAt(one.length - 1); + const char2 = two.charAt(0); + const nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex_); + const nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex_); + const whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex_); + const whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex_); + const lineBreak1 = whitespace1 && char1.match(linebreakRegex_); + const lineBreak2 = whitespace2 && char2.match(linebreakRegex_); + const blankLine1 = lineBreak1 && one.match(blanklineEndRegex_); + const blankLine2 = lineBreak2 && two.match(blanklineStartRegex_); + if (blankLine1 || blankLine2) { + // Five points for blank lines. + return 5; + } else if (lineBreak1 || lineBreak2) { + // Four points for line breaks. + return 4; + } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) { + // Three points for end of sentences. + return 3; + } else if (whitespace1 || whitespace2) { + // Two points for whitespace. + return 2; + } else if (nonAlphaNumeric1 || nonAlphaNumeric2) { + // One point for non-alphanumeric. + return 1; + } + return 0; +} + +/** +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ +const NO_DIFF_MESSAGE = "Compared values have no visual difference."; +const SIMILAR_MESSAGE = "Compared values serialize to the same structure.\n" + "Printing internal object structure without calling `toJSON` instead."; + +var build = {}; + +var hasRequiredBuild; + +function requireBuild () { + if (hasRequiredBuild) return build; + hasRequiredBuild = 1; + + Object.defineProperty(build, '__esModule', { + value: true + }); + build.default = diffSequence; + /** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + // This diff-sequences package implements the linear space variation in + // An O(ND) Difference Algorithm and Its Variations by Eugene W. Myers + + // Relationship in notation between Myers paper and this package: + // A is a + // N is aLength, aEnd - aStart, and so on + // x is aIndex, aFirst, aLast, and so on + // B is b + // M is bLength, bEnd - bStart, and so on + // y is bIndex, bFirst, bLast, and so on + // Δ = N - M is negative of baDeltaLength = bLength - aLength + // D is d + // k is kF + // k + Δ is kF = kR - baDeltaLength + // V is aIndexesF or aIndexesR (see comment below about Indexes type) + // index intervals [1, N] and [1, M] are [0, aLength) and [0, bLength) + // starting point in forward direction (0, 0) is (-1, -1) + // starting point in reverse direction (N + 1, M + 1) is (aLength, bLength) + + // The “edit graph” for sequences a and b corresponds to items: + // in a on the horizontal axis + // in b on the vertical axis + // + // Given a-coordinate of a point in a diagonal, you can compute b-coordinate. + // + // Forward diagonals kF: + // zero diagonal intersects top left corner + // positive diagonals intersect top edge + // negative diagonals insersect left edge + // + // Reverse diagonals kR: + // zero diagonal intersects bottom right corner + // positive diagonals intersect right edge + // negative diagonals intersect bottom edge + + // The graph contains a directed acyclic graph of edges: + // horizontal: delete an item from a + // vertical: insert an item from b + // diagonal: common item in a and b + // + // The algorithm solves dual problems in the graph analogy: + // Find longest common subsequence: path with maximum number of diagonal edges + // Find shortest edit script: path with minimum number of non-diagonal edges + + // Input callback function compares items at indexes in the sequences. + + // Output callback function receives the number of adjacent items + // and starting indexes of each common subsequence. + // Either original functions or wrapped to swap indexes if graph is transposed. + // Indexes in sequence a of last point of forward or reverse paths in graph. + // Myers algorithm indexes by diagonal k which for negative is bad deopt in V8. + // This package indexes by iF and iR which are greater than or equal to zero. + // and also updates the index arrays in place to cut memory in half. + // kF = 2 * iF - d + // kR = d - 2 * iR + // Division of index intervals in sequences a and b at the middle change. + // Invariant: intervals do not have common items at the start or end. + const pkg = 'diff-sequences'; // for error messages + const NOT_YET_SET = 0; // small int instead of undefined to avoid deopt in V8 + + // Return the number of common items that follow in forward direction. + // The length of what Myers paper calls a “snake” in a forward path. + const countCommonItemsF = (aIndex, aEnd, bIndex, bEnd, isCommon) => { + let nCommon = 0; + while (aIndex < aEnd && bIndex < bEnd && isCommon(aIndex, bIndex)) { + aIndex += 1; + bIndex += 1; + nCommon += 1; + } + return nCommon; + }; + + // Return the number of common items that precede in reverse direction. + // The length of what Myers paper calls a “snake” in a reverse path. + const countCommonItemsR = (aStart, aIndex, bStart, bIndex, isCommon) => { + let nCommon = 0; + while (aStart <= aIndex && bStart <= bIndex && isCommon(aIndex, bIndex)) { + aIndex -= 1; + bIndex -= 1; + nCommon += 1; + } + return nCommon; + }; + + // A simple function to extend forward paths from (d - 1) to d changes + // when forward and reverse paths cannot yet overlap. + const extendPathsF = ( + d, + aEnd, + bEnd, + bF, + isCommon, + aIndexesF, + iMaxF // return the value because optimization might decrease it + ) => { + // Unroll the first iteration. + let iF = 0; + let kF = -d; // kF = 2 * iF - d + let aFirst = aIndexesF[iF]; // in first iteration always insert + let aIndexPrev1 = aFirst; // prev value of [iF - 1] in next iteration + aIndexesF[iF] += countCommonItemsF( + aFirst + 1, + aEnd, + bF + aFirst - kF + 1, + bEnd, + isCommon + ); + + // Optimization: skip diagonals in which paths cannot ever overlap. + const nF = d < iMaxF ? d : iMaxF; + + // The diagonals kF are odd when d is odd and even when d is even. + for (iF += 1, kF += 2; iF <= nF; iF += 1, kF += 2) { + // To get first point of path segment, move one change in forward direction + // from last point of previous path segment in an adjacent diagonal. + // In last possible iteration when iF === d and kF === d always delete. + if (iF !== d && aIndexPrev1 < aIndexesF[iF]) { + aFirst = aIndexesF[iF]; // vertical to insert from b + } else { + aFirst = aIndexPrev1 + 1; // horizontal to delete from a + + if (aEnd <= aFirst) { + // Optimization: delete moved past right of graph. + return iF - 1; + } + } + + // To get last point of path segment, move along diagonal of common items. + aIndexPrev1 = aIndexesF[iF]; + aIndexesF[iF] = + aFirst + + countCommonItemsF(aFirst + 1, aEnd, bF + aFirst - kF + 1, bEnd, isCommon); + } + return iMaxF; + }; + + // A simple function to extend reverse paths from (d - 1) to d changes + // when reverse and forward paths cannot yet overlap. + const extendPathsR = ( + d, + aStart, + bStart, + bR, + isCommon, + aIndexesR, + iMaxR // return the value because optimization might decrease it + ) => { + // Unroll the first iteration. + let iR = 0; + let kR = d; // kR = d - 2 * iR + let aFirst = aIndexesR[iR]; // in first iteration always insert + let aIndexPrev1 = aFirst; // prev value of [iR - 1] in next iteration + aIndexesR[iR] -= countCommonItemsR( + aStart, + aFirst - 1, + bStart, + bR + aFirst - kR - 1, + isCommon + ); + + // Optimization: skip diagonals in which paths cannot ever overlap. + const nR = d < iMaxR ? d : iMaxR; + + // The diagonals kR are odd when d is odd and even when d is even. + for (iR += 1, kR -= 2; iR <= nR; iR += 1, kR -= 2) { + // To get first point of path segment, move one change in reverse direction + // from last point of previous path segment in an adjacent diagonal. + // In last possible iteration when iR === d and kR === -d always delete. + if (iR !== d && aIndexesR[iR] < aIndexPrev1) { + aFirst = aIndexesR[iR]; // vertical to insert from b + } else { + aFirst = aIndexPrev1 - 1; // horizontal to delete from a + + if (aFirst < aStart) { + // Optimization: delete moved past left of graph. + return iR - 1; + } + } + + // To get last point of path segment, move along diagonal of common items. + aIndexPrev1 = aIndexesR[iR]; + aIndexesR[iR] = + aFirst - + countCommonItemsR( + aStart, + aFirst - 1, + bStart, + bR + aFirst - kR - 1, + isCommon + ); + } + return iMaxR; + }; + + // A complete function to extend forward paths from (d - 1) to d changes. + // Return true if a path overlaps reverse path of (d - 1) changes in its diagonal. + const extendOverlappablePathsF = ( + d, + aStart, + aEnd, + bStart, + bEnd, + isCommon, + aIndexesF, + iMaxF, + aIndexesR, + iMaxR, + division // update prop values if return true + ) => { + const bF = bStart - aStart; // bIndex = bF + aIndex - kF + const aLength = aEnd - aStart; + const bLength = bEnd - bStart; + const baDeltaLength = bLength - aLength; // kF = kR - baDeltaLength + + // Range of diagonals in which forward and reverse paths might overlap. + const kMinOverlapF = -baDeltaLength - (d - 1); // -(d - 1) <= kR + const kMaxOverlapF = -baDeltaLength + (d - 1); // kR <= (d - 1) + + let aIndexPrev1 = NOT_YET_SET; // prev value of [iF - 1] in next iteration + + // Optimization: skip diagonals in which paths cannot ever overlap. + const nF = d < iMaxF ? d : iMaxF; + + // The diagonals kF = 2 * iF - d are odd when d is odd and even when d is even. + for (let iF = 0, kF = -d; iF <= nF; iF += 1, kF += 2) { + // To get first point of path segment, move one change in forward direction + // from last point of previous path segment in an adjacent diagonal. + // In first iteration when iF === 0 and kF === -d always insert. + // In last possible iteration when iF === d and kF === d always delete. + const insert = iF === 0 || (iF !== d && aIndexPrev1 < aIndexesF[iF]); + const aLastPrev = insert ? aIndexesF[iF] : aIndexPrev1; + const aFirst = insert + ? aLastPrev // vertical to insert from b + : aLastPrev + 1; // horizontal to delete from a + + // To get last point of path segment, move along diagonal of common items. + const bFirst = bF + aFirst - kF; + const nCommonF = countCommonItemsF( + aFirst + 1, + aEnd, + bFirst + 1, + bEnd, + isCommon + ); + const aLast = aFirst + nCommonF; + aIndexPrev1 = aIndexesF[iF]; + aIndexesF[iF] = aLast; + if (kMinOverlapF <= kF && kF <= kMaxOverlapF) { + // Solve for iR of reverse path with (d - 1) changes in diagonal kF: + // kR = kF + baDeltaLength + // kR = (d - 1) - 2 * iR + const iR = (d - 1 - (kF + baDeltaLength)) / 2; + + // If this forward path overlaps the reverse path in this diagonal, + // then this is the middle change of the index intervals. + if (iR <= iMaxR && aIndexesR[iR] - 1 <= aLast) { + // Unlike the Myers algorithm which finds only the middle “snake” + // this package can find two common subsequences per division. + // Last point of previous path segment is on an adjacent diagonal. + const bLastPrev = bF + aLastPrev - (insert ? kF + 1 : kF - 1); + + // Because of invariant that intervals preceding the middle change + // cannot have common items at the end, + // move in reverse direction along a diagonal of common items. + const nCommonR = countCommonItemsR( + aStart, + aLastPrev, + bStart, + bLastPrev, + isCommon + ); + const aIndexPrevFirst = aLastPrev - nCommonR; + const bIndexPrevFirst = bLastPrev - nCommonR; + const aEndPreceding = aIndexPrevFirst + 1; + const bEndPreceding = bIndexPrevFirst + 1; + division.nChangePreceding = d - 1; + if (d - 1 === aEndPreceding + bEndPreceding - aStart - bStart) { + // Optimization: number of preceding changes in forward direction + // is equal to number of items in preceding interval, + // therefore it cannot contain any common items. + division.aEndPreceding = aStart; + division.bEndPreceding = bStart; + } else { + division.aEndPreceding = aEndPreceding; + division.bEndPreceding = bEndPreceding; + } + division.nCommonPreceding = nCommonR; + if (nCommonR !== 0) { + division.aCommonPreceding = aEndPreceding; + division.bCommonPreceding = bEndPreceding; + } + division.nCommonFollowing = nCommonF; + if (nCommonF !== 0) { + division.aCommonFollowing = aFirst + 1; + division.bCommonFollowing = bFirst + 1; + } + const aStartFollowing = aLast + 1; + const bStartFollowing = bFirst + nCommonF + 1; + division.nChangeFollowing = d - 1; + if (d - 1 === aEnd + bEnd - aStartFollowing - bStartFollowing) { + // Optimization: number of changes in reverse direction + // is equal to number of items in following interval, + // therefore it cannot contain any common items. + division.aStartFollowing = aEnd; + division.bStartFollowing = bEnd; + } else { + division.aStartFollowing = aStartFollowing; + division.bStartFollowing = bStartFollowing; + } + return true; + } + } + } + return false; + }; + + // A complete function to extend reverse paths from (d - 1) to d changes. + // Return true if a path overlaps forward path of d changes in its diagonal. + const extendOverlappablePathsR = ( + d, + aStart, + aEnd, + bStart, + bEnd, + isCommon, + aIndexesF, + iMaxF, + aIndexesR, + iMaxR, + division // update prop values if return true + ) => { + const bR = bEnd - aEnd; // bIndex = bR + aIndex - kR + const aLength = aEnd - aStart; + const bLength = bEnd - bStart; + const baDeltaLength = bLength - aLength; // kR = kF + baDeltaLength + + // Range of diagonals in which forward and reverse paths might overlap. + const kMinOverlapR = baDeltaLength - d; // -d <= kF + const kMaxOverlapR = baDeltaLength + d; // kF <= d + + let aIndexPrev1 = NOT_YET_SET; // prev value of [iR - 1] in next iteration + + // Optimization: skip diagonals in which paths cannot ever overlap. + const nR = d < iMaxR ? d : iMaxR; + + // The diagonals kR = d - 2 * iR are odd when d is odd and even when d is even. + for (let iR = 0, kR = d; iR <= nR; iR += 1, kR -= 2) { + // To get first point of path segment, move one change in reverse direction + // from last point of previous path segment in an adjacent diagonal. + // In first iteration when iR === 0 and kR === d always insert. + // In last possible iteration when iR === d and kR === -d always delete. + const insert = iR === 0 || (iR !== d && aIndexesR[iR] < aIndexPrev1); + const aLastPrev = insert ? aIndexesR[iR] : aIndexPrev1; + const aFirst = insert + ? aLastPrev // vertical to insert from b + : aLastPrev - 1; // horizontal to delete from a + + // To get last point of path segment, move along diagonal of common items. + const bFirst = bR + aFirst - kR; + const nCommonR = countCommonItemsR( + aStart, + aFirst - 1, + bStart, + bFirst - 1, + isCommon + ); + const aLast = aFirst - nCommonR; + aIndexPrev1 = aIndexesR[iR]; + aIndexesR[iR] = aLast; + if (kMinOverlapR <= kR && kR <= kMaxOverlapR) { + // Solve for iF of forward path with d changes in diagonal kR: + // kF = kR - baDeltaLength + // kF = 2 * iF - d + const iF = (d + (kR - baDeltaLength)) / 2; + + // If this reverse path overlaps the forward path in this diagonal, + // then this is a middle change of the index intervals. + if (iF <= iMaxF && aLast - 1 <= aIndexesF[iF]) { + const bLast = bFirst - nCommonR; + division.nChangePreceding = d; + if (d === aLast + bLast - aStart - bStart) { + // Optimization: number of changes in reverse direction + // is equal to number of items in preceding interval, + // therefore it cannot contain any common items. + division.aEndPreceding = aStart; + division.bEndPreceding = bStart; + } else { + division.aEndPreceding = aLast; + division.bEndPreceding = bLast; + } + division.nCommonPreceding = nCommonR; + if (nCommonR !== 0) { + // The last point of reverse path segment is start of common subsequence. + division.aCommonPreceding = aLast; + division.bCommonPreceding = bLast; + } + division.nChangeFollowing = d - 1; + if (d === 1) { + // There is no previous path segment. + division.nCommonFollowing = 0; + division.aStartFollowing = aEnd; + division.bStartFollowing = bEnd; + } else { + // Unlike the Myers algorithm which finds only the middle “snake” + // this package can find two common subsequences per division. + // Last point of previous path segment is on an adjacent diagonal. + const bLastPrev = bR + aLastPrev - (insert ? kR - 1 : kR + 1); + + // Because of invariant that intervals following the middle change + // cannot have common items at the start, + // move in forward direction along a diagonal of common items. + const nCommonF = countCommonItemsF( + aLastPrev, + aEnd, + bLastPrev, + bEnd, + isCommon + ); + division.nCommonFollowing = nCommonF; + if (nCommonF !== 0) { + // The last point of reverse path segment is start of common subsequence. + division.aCommonFollowing = aLastPrev; + division.bCommonFollowing = bLastPrev; + } + const aStartFollowing = aLastPrev + nCommonF; // aFirstPrev + const bStartFollowing = bLastPrev + nCommonF; // bFirstPrev + + if (d - 1 === aEnd + bEnd - aStartFollowing - bStartFollowing) { + // Optimization: number of changes in forward direction + // is equal to number of items in following interval, + // therefore it cannot contain any common items. + division.aStartFollowing = aEnd; + division.bStartFollowing = bEnd; + } else { + division.aStartFollowing = aStartFollowing; + division.bStartFollowing = bStartFollowing; + } + } + return true; + } + } + } + return false; + }; + + // Given index intervals and input function to compare items at indexes, + // divide at the middle change. + // + // DO NOT CALL if start === end, because interval cannot contain common items + // and because this function will throw the “no overlap” error. + const divide = ( + nChange, + aStart, + aEnd, + bStart, + bEnd, + isCommon, + aIndexesF, + aIndexesR, + division // output + ) => { + const bF = bStart - aStart; // bIndex = bF + aIndex - kF + const bR = bEnd - aEnd; // bIndex = bR + aIndex - kR + const aLength = aEnd - aStart; + const bLength = bEnd - bStart; + + // Because graph has square or portrait orientation, + // length difference is minimum number of items to insert from b. + // Corresponding forward and reverse diagonals in graph + // depend on length difference of the sequences: + // kF = kR - baDeltaLength + // kR = kF + baDeltaLength + const baDeltaLength = bLength - aLength; + + // Optimization: max diagonal in graph intersects corner of shorter side. + let iMaxF = aLength; + let iMaxR = aLength; + + // Initialize no changes yet in forward or reverse direction: + aIndexesF[0] = aStart - 1; // at open start of interval, outside closed start + aIndexesR[0] = aEnd; // at open end of interval + + if (baDeltaLength % 2 === 0) { + // The number of changes in paths is 2 * d if length difference is even. + const dMin = (nChange || baDeltaLength) / 2; + const dMax = (aLength + bLength) / 2; + for (let d = 1; d <= dMax; d += 1) { + iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF); + if (d < dMin) { + iMaxR = extendPathsR(d, aStart, bStart, bR, isCommon, aIndexesR, iMaxR); + } else if ( + // If a reverse path overlaps a forward path in the same diagonal, + // return a division of the index intervals at the middle change. + extendOverlappablePathsR( + d, + aStart, + aEnd, + bStart, + bEnd, + isCommon, + aIndexesF, + iMaxF, + aIndexesR, + iMaxR, + division + ) + ) { + return; + } + } + } else { + // The number of changes in paths is 2 * d - 1 if length difference is odd. + const dMin = ((nChange || baDeltaLength) + 1) / 2; + const dMax = (aLength + bLength + 1) / 2; + + // Unroll first half iteration so loop extends the relevant pairs of paths. + // Because of invariant that intervals have no common items at start or end, + // and limitation not to call divide with empty intervals, + // therefore it cannot be called if a forward path with one change + // would overlap a reverse path with no changes, even if dMin === 1. + let d = 1; + iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF); + for (d += 1; d <= dMax; d += 1) { + iMaxR = extendPathsR( + d - 1, + aStart, + bStart, + bR, + isCommon, + aIndexesR, + iMaxR + ); + if (d < dMin) { + iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF); + } else if ( + // If a forward path overlaps a reverse path in the same diagonal, + // return a division of the index intervals at the middle change. + extendOverlappablePathsF( + d, + aStart, + aEnd, + bStart, + bEnd, + isCommon, + aIndexesF, + iMaxF, + aIndexesR, + iMaxR, + division + ) + ) { + return; + } + } + } + + /* istanbul ignore next */ + throw new Error( + `${pkg}: no overlap aStart=${aStart} aEnd=${aEnd} bStart=${bStart} bEnd=${bEnd}` + ); + }; + + // Given index intervals and input function to compare items at indexes, + // return by output function the number of adjacent items and starting indexes + // of each common subsequence. Divide and conquer with only linear space. + // + // The index intervals are half open [start, end) like array slice method. + // DO NOT CALL if start === end, because interval cannot contain common items + // and because divide function will throw the “no overlap” error. + const findSubsequences = ( + nChange, + aStart, + aEnd, + bStart, + bEnd, + transposed, + callbacks, + aIndexesF, + aIndexesR, + division // temporary memory, not input nor output + ) => { + if (bEnd - bStart < aEnd - aStart) { + // Transpose graph so it has portrait instead of landscape orientation. + // Always compare shorter to longer sequence for consistency and optimization. + transposed = !transposed; + if (transposed && callbacks.length === 1) { + // Lazily wrap callback functions to swap args if graph is transposed. + const {foundSubsequence, isCommon} = callbacks[0]; + callbacks[1] = { + foundSubsequence: (nCommon, bCommon, aCommon) => { + foundSubsequence(nCommon, aCommon, bCommon); + }, + isCommon: (bIndex, aIndex) => isCommon(aIndex, bIndex) + }; + } + const tStart = aStart; + const tEnd = aEnd; + aStart = bStart; + aEnd = bEnd; + bStart = tStart; + bEnd = tEnd; + } + const {foundSubsequence, isCommon} = callbacks[transposed ? 1 : 0]; + + // Divide the index intervals at the middle change. + divide( + nChange, + aStart, + aEnd, + bStart, + bEnd, + isCommon, + aIndexesF, + aIndexesR, + division + ); + const { + nChangePreceding, + aEndPreceding, + bEndPreceding, + nCommonPreceding, + aCommonPreceding, + bCommonPreceding, + nCommonFollowing, + aCommonFollowing, + bCommonFollowing, + nChangeFollowing, + aStartFollowing, + bStartFollowing + } = division; + + // Unless either index interval is empty, they might contain common items. + if (aStart < aEndPreceding && bStart < bEndPreceding) { + // Recursely find and return common subsequences preceding the division. + findSubsequences( + nChangePreceding, + aStart, + aEndPreceding, + bStart, + bEndPreceding, + transposed, + callbacks, + aIndexesF, + aIndexesR, + division + ); + } + + // Return common subsequences that are adjacent to the middle change. + if (nCommonPreceding !== 0) { + foundSubsequence(nCommonPreceding, aCommonPreceding, bCommonPreceding); + } + if (nCommonFollowing !== 0) { + foundSubsequence(nCommonFollowing, aCommonFollowing, bCommonFollowing); + } + + // Unless either index interval is empty, they might contain common items. + if (aStartFollowing < aEnd && bStartFollowing < bEnd) { + // Recursely find and return common subsequences following the division. + findSubsequences( + nChangeFollowing, + aStartFollowing, + aEnd, + bStartFollowing, + bEnd, + transposed, + callbacks, + aIndexesF, + aIndexesR, + division + ); + } + }; + const validateLength = (name, arg) => { + if (typeof arg !== 'number') { + throw new TypeError(`${pkg}: ${name} typeof ${typeof arg} is not a number`); + } + if (!Number.isSafeInteger(arg)) { + throw new RangeError(`${pkg}: ${name} value ${arg} is not a safe integer`); + } + if (arg < 0) { + throw new RangeError(`${pkg}: ${name} value ${arg} is a negative integer`); + } + }; + const validateCallback = (name, arg) => { + const type = typeof arg; + if (type !== 'function') { + throw new TypeError(`${pkg}: ${name} typeof ${type} is not a function`); + } + }; + + // Compare items in two sequences to find a longest common subsequence. + // Given lengths of sequences and input function to compare items at indexes, + // return by output function the number of adjacent items and starting indexes + // of each common subsequence. + function diffSequence(aLength, bLength, isCommon, foundSubsequence) { + validateLength('aLength', aLength); + validateLength('bLength', bLength); + validateCallback('isCommon', isCommon); + validateCallback('foundSubsequence', foundSubsequence); + + // Count common items from the start in the forward direction. + const nCommonF = countCommonItemsF(0, aLength, 0, bLength, isCommon); + if (nCommonF !== 0) { + foundSubsequence(nCommonF, 0, 0); + } + + // Unless both sequences consist of common items only, + // find common items in the half-trimmed index intervals. + if (aLength !== nCommonF || bLength !== nCommonF) { + // Invariant: intervals do not have common items at the start. + // The start of an index interval is closed like array slice method. + const aStart = nCommonF; + const bStart = nCommonF; + + // Count common items from the end in the reverse direction. + const nCommonR = countCommonItemsR( + aStart, + aLength - 1, + bStart, + bLength - 1, + isCommon + ); + + // Invariant: intervals do not have common items at the end. + // The end of an index interval is open like array slice method. + const aEnd = aLength - nCommonR; + const bEnd = bLength - nCommonR; + + // Unless one sequence consists of common items only, + // therefore the other trimmed index interval consists of changes only, + // find common items in the trimmed index intervals. + const nCommonFR = nCommonF + nCommonR; + if (aLength !== nCommonFR && bLength !== nCommonFR) { + const nChange = 0; // number of change items is not yet known + const transposed = false; // call the original unwrapped functions + const callbacks = [ + { + foundSubsequence, + isCommon + } + ]; + + // Indexes in sequence a of last points in furthest reaching paths + // from outside the start at top left in the forward direction: + const aIndexesF = [NOT_YET_SET]; + // from the end at bottom right in the reverse direction: + const aIndexesR = [NOT_YET_SET]; + + // Initialize one object as output of all calls to divide function. + const division = { + aCommonFollowing: NOT_YET_SET, + aCommonPreceding: NOT_YET_SET, + aEndPreceding: NOT_YET_SET, + aStartFollowing: NOT_YET_SET, + bCommonFollowing: NOT_YET_SET, + bCommonPreceding: NOT_YET_SET, + bEndPreceding: NOT_YET_SET, + bStartFollowing: NOT_YET_SET, + nChangeFollowing: NOT_YET_SET, + nChangePreceding: NOT_YET_SET, + nCommonFollowing: NOT_YET_SET, + nCommonPreceding: NOT_YET_SET + }; + + // Find and return common subsequences in the trimmed index intervals. + findSubsequences( + nChange, + aStart, + aEnd, + bStart, + bEnd, + transposed, + callbacks, + aIndexesF, + aIndexesR, + division + ); + } + if (nCommonR !== 0) { + foundSubsequence(nCommonR, aEnd, bEnd); + } + } + } + return build; +} + +var buildExports = requireBuild(); +var diffSequences = /*@__PURE__*/getDefaultExportFromCjs(buildExports); + +function formatTrailingSpaces(line, trailingSpaceFormatter) { + return line.replace(/\s+$/, (match) => trailingSpaceFormatter(match)); +} +function printDiffLine(line, isFirstOrLast, color, indicator, trailingSpaceFormatter, emptyFirstOrLastLinePlaceholder) { + return line.length !== 0 ? color(`${indicator} ${formatTrailingSpaces(line, trailingSpaceFormatter)}`) : indicator !== " " ? color(indicator) : isFirstOrLast && emptyFirstOrLastLinePlaceholder.length !== 0 ? color(`${indicator} ${emptyFirstOrLastLinePlaceholder}`) : ""; +} +function printDeleteLine(line, isFirstOrLast, { aColor, aIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder }) { + return printDiffLine(line, isFirstOrLast, aColor, aIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder); +} +function printInsertLine(line, isFirstOrLast, { bColor, bIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder }) { + return printDiffLine(line, isFirstOrLast, bColor, bIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder); +} +function printCommonLine(line, isFirstOrLast, { commonColor, commonIndicator, commonLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder }) { + return printDiffLine(line, isFirstOrLast, commonColor, commonIndicator, commonLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder); +} +// In GNU diff format, indexes are one-based instead of zero-based. +function createPatchMark(aStart, aEnd, bStart, bEnd, { patchColor }) { + return patchColor(`@@ -${aStart + 1},${aEnd - aStart} +${bStart + 1},${bEnd - bStart} @@`); +} +// jest --no-expand +// +// Given array of aligned strings with inverse highlight formatting, +// return joined lines with diff formatting (and patch marks, if needed). +function joinAlignedDiffsNoExpand(diffs, options) { + const iLength = diffs.length; + const nContextLines = options.contextLines; + const nContextLines2 = nContextLines + nContextLines; + // First pass: count output lines and see if it has patches. + let jLength = iLength; + let hasExcessAtStartOrEnd = false; + let nExcessesBetweenChanges = 0; + let i = 0; + while (i !== iLength) { + const iStart = i; + while (i !== iLength && diffs[i][0] === DIFF_EQUAL) { + i += 1; + } + if (iStart !== i) { + if (iStart === 0) { + // at start + if (i > nContextLines) { + jLength -= i - nContextLines; + hasExcessAtStartOrEnd = true; + } + } else if (i === iLength) { + // at end + const n = i - iStart; + if (n > nContextLines) { + jLength -= n - nContextLines; + hasExcessAtStartOrEnd = true; + } + } else { + // between changes + const n = i - iStart; + if (n > nContextLines2) { + jLength -= n - nContextLines2; + nExcessesBetweenChanges += 1; + } + } + } + while (i !== iLength && diffs[i][0] !== DIFF_EQUAL) { + i += 1; + } + } + const hasPatch = nExcessesBetweenChanges !== 0 || hasExcessAtStartOrEnd; + if (nExcessesBetweenChanges !== 0) { + jLength += nExcessesBetweenChanges + 1; + } else if (hasExcessAtStartOrEnd) { + jLength += 1; + } + const jLast = jLength - 1; + const lines = []; + let jPatchMark = 0; + if (hasPatch) { + lines.push(""); + } + // Indexes of expected or received lines in current patch: + let aStart = 0; + let bStart = 0; + let aEnd = 0; + let bEnd = 0; + const pushCommonLine = (line) => { + const j = lines.length; + lines.push(printCommonLine(line, j === 0 || j === jLast, options)); + aEnd += 1; + bEnd += 1; + }; + const pushDeleteLine = (line) => { + const j = lines.length; + lines.push(printDeleteLine(line, j === 0 || j === jLast, options)); + aEnd += 1; + }; + const pushInsertLine = (line) => { + const j = lines.length; + lines.push(printInsertLine(line, j === 0 || j === jLast, options)); + bEnd += 1; + }; + // Second pass: push lines with diff formatting (and patch marks, if needed). + i = 0; + while (i !== iLength) { + let iStart = i; + while (i !== iLength && diffs[i][0] === DIFF_EQUAL) { + i += 1; + } + if (iStart !== i) { + if (iStart === 0) { + // at beginning + if (i > nContextLines) { + iStart = i - nContextLines; + aStart = iStart; + bStart = iStart; + aEnd = aStart; + bEnd = bStart; + } + for (let iCommon = iStart; iCommon !== i; iCommon += 1) { + pushCommonLine(diffs[iCommon][1]); + } + } else if (i === iLength) { + // at end + const iEnd = i - iStart > nContextLines ? iStart + nContextLines : i; + for (let iCommon = iStart; iCommon !== iEnd; iCommon += 1) { + pushCommonLine(diffs[iCommon][1]); + } + } else { + // between changes + const nCommon = i - iStart; + if (nCommon > nContextLines2) { + const iEnd = iStart + nContextLines; + for (let iCommon = iStart; iCommon !== iEnd; iCommon += 1) { + pushCommonLine(diffs[iCommon][1]); + } + lines[jPatchMark] = createPatchMark(aStart, aEnd, bStart, bEnd, options); + jPatchMark = lines.length; + lines.push(""); + const nOmit = nCommon - nContextLines2; + aStart = aEnd + nOmit; + bStart = bEnd + nOmit; + aEnd = aStart; + bEnd = bStart; + for (let iCommon = i - nContextLines; iCommon !== i; iCommon += 1) { + pushCommonLine(diffs[iCommon][1]); + } + } else { + for (let iCommon = iStart; iCommon !== i; iCommon += 1) { + pushCommonLine(diffs[iCommon][1]); + } + } + } + } + while (i !== iLength && diffs[i][0] === DIFF_DELETE) { + pushDeleteLine(diffs[i][1]); + i += 1; + } + while (i !== iLength && diffs[i][0] === DIFF_INSERT) { + pushInsertLine(diffs[i][1]); + i += 1; + } + } + if (hasPatch) { + lines[jPatchMark] = createPatchMark(aStart, aEnd, bStart, bEnd, options); + } + return lines.join("\n"); +} +// jest --expand +// +// Given array of aligned strings with inverse highlight formatting, +// return joined lines with diff formatting. +function joinAlignedDiffsExpand(diffs, options) { + return diffs.map((diff, i, diffs) => { + const line = diff[1]; + const isFirstOrLast = i === 0 || i === diffs.length - 1; + switch (diff[0]) { + case DIFF_DELETE: return printDeleteLine(line, isFirstOrLast, options); + case DIFF_INSERT: return printInsertLine(line, isFirstOrLast, options); + default: return printCommonLine(line, isFirstOrLast, options); + } + }).join("\n"); +} + +const noColor = (string) => string; +const DIFF_CONTEXT_DEFAULT = 5; +const DIFF_TRUNCATE_THRESHOLD_DEFAULT = 0; +function getDefaultOptions() { + return { + aAnnotation: "Expected", + aColor: c.green, + aIndicator: "-", + bAnnotation: "Received", + bColor: c.red, + bIndicator: "+", + changeColor: c.inverse, + changeLineTrailingSpaceColor: noColor, + commonColor: c.dim, + commonIndicator: " ", + commonLineTrailingSpaceColor: noColor, + compareKeys: undefined, + contextLines: DIFF_CONTEXT_DEFAULT, + emptyFirstOrLastLinePlaceholder: "", + expand: false, + includeChangeCounts: false, + omitAnnotationLines: false, + patchColor: c.yellow, + printBasicPrototype: false, + truncateThreshold: DIFF_TRUNCATE_THRESHOLD_DEFAULT, + truncateAnnotation: "... Diff result is truncated", + truncateAnnotationColor: noColor + }; +} +function getCompareKeys(compareKeys) { + return compareKeys && typeof compareKeys === "function" ? compareKeys : undefined; +} +function getContextLines(contextLines) { + return typeof contextLines === "number" && Number.isSafeInteger(contextLines) && contextLines >= 0 ? contextLines : DIFF_CONTEXT_DEFAULT; +} +// Pure function returns options with all properties. +function normalizeDiffOptions(options = {}) { + return { + ...getDefaultOptions(), + ...options, + compareKeys: getCompareKeys(options.compareKeys), + contextLines: getContextLines(options.contextLines) + }; +} + +function isEmptyString(lines) { + return lines.length === 1 && lines[0].length === 0; +} +function countChanges(diffs) { + let a = 0; + let b = 0; + diffs.forEach((diff) => { + switch (diff[0]) { + case DIFF_DELETE: + a += 1; + break; + case DIFF_INSERT: + b += 1; + break; + } + }); + return { + a, + b + }; +} +function printAnnotation({ aAnnotation, aColor, aIndicator, bAnnotation, bColor, bIndicator, includeChangeCounts, omitAnnotationLines }, changeCounts) { + if (omitAnnotationLines) { + return ""; + } + let aRest = ""; + let bRest = ""; + if (includeChangeCounts) { + const aCount = String(changeCounts.a); + const bCount = String(changeCounts.b); + // Padding right aligns the ends of the annotations. + const baAnnotationLengthDiff = bAnnotation.length - aAnnotation.length; + const aAnnotationPadding = " ".repeat(Math.max(0, baAnnotationLengthDiff)); + const bAnnotationPadding = " ".repeat(Math.max(0, -baAnnotationLengthDiff)); + // Padding left aligns the ends of the counts. + const baCountLengthDiff = bCount.length - aCount.length; + const aCountPadding = " ".repeat(Math.max(0, baCountLengthDiff)); + const bCountPadding = " ".repeat(Math.max(0, -baCountLengthDiff)); + aRest = `${aAnnotationPadding} ${aIndicator} ${aCountPadding}${aCount}`; + bRest = `${bAnnotationPadding} ${bIndicator} ${bCountPadding}${bCount}`; + } + const a = `${aIndicator} ${aAnnotation}${aRest}`; + const b = `${bIndicator} ${bAnnotation}${bRest}`; + return `${aColor(a)}\n${bColor(b)}\n\n`; +} +function printDiffLines(diffs, truncated, options) { + return printAnnotation(options, countChanges(diffs)) + (options.expand ? joinAlignedDiffsExpand(diffs, options) : joinAlignedDiffsNoExpand(diffs, options)) + (truncated ? options.truncateAnnotationColor(`\n${options.truncateAnnotation}`) : ""); +} +// Compare two arrays of strings line-by-line. Format as comparison lines. +function diffLinesUnified(aLines, bLines, options) { + const normalizedOptions = normalizeDiffOptions(options); + const [diffs, truncated] = diffLinesRaw(isEmptyString(aLines) ? [] : aLines, isEmptyString(bLines) ? [] : bLines, normalizedOptions); + return printDiffLines(diffs, truncated, normalizedOptions); +} +// Given two pairs of arrays of strings: +// Compare the pair of comparison arrays line-by-line. +// Format the corresponding lines in the pair of displayable arrays. +function diffLinesUnified2(aLinesDisplay, bLinesDisplay, aLinesCompare, bLinesCompare, options) { + if (isEmptyString(aLinesDisplay) && isEmptyString(aLinesCompare)) { + aLinesDisplay = []; + aLinesCompare = []; + } + if (isEmptyString(bLinesDisplay) && isEmptyString(bLinesCompare)) { + bLinesDisplay = []; + bLinesCompare = []; + } + if (aLinesDisplay.length !== aLinesCompare.length || bLinesDisplay.length !== bLinesCompare.length) { + // Fall back to diff of display lines. + return diffLinesUnified(aLinesDisplay, bLinesDisplay, options); + } + const [diffs, truncated] = diffLinesRaw(aLinesCompare, bLinesCompare, options); + // Replace comparison lines with displayable lines. + let aIndex = 0; + let bIndex = 0; + diffs.forEach((diff) => { + switch (diff[0]) { + case DIFF_DELETE: + diff[1] = aLinesDisplay[aIndex]; + aIndex += 1; + break; + case DIFF_INSERT: + diff[1] = bLinesDisplay[bIndex]; + bIndex += 1; + break; + default: + diff[1] = bLinesDisplay[bIndex]; + aIndex += 1; + bIndex += 1; + } + }); + return printDiffLines(diffs, truncated, normalizeDiffOptions(options)); +} +// Compare two arrays of strings line-by-line. +function diffLinesRaw(aLines, bLines, options) { + const truncate = (options === null || options === void 0 ? void 0 : options.truncateThreshold) ?? false; + const truncateThreshold = Math.max(Math.floor((options === null || options === void 0 ? void 0 : options.truncateThreshold) ?? 0), 0); + const aLength = truncate ? Math.min(aLines.length, truncateThreshold) : aLines.length; + const bLength = truncate ? Math.min(bLines.length, truncateThreshold) : bLines.length; + const truncated = aLength !== aLines.length || bLength !== bLines.length; + const isCommon = (aIndex, bIndex) => aLines[aIndex] === bLines[bIndex]; + const diffs = []; + let aIndex = 0; + let bIndex = 0; + const foundSubsequence = (nCommon, aCommon, bCommon) => { + for (; aIndex !== aCommon; aIndex += 1) { + diffs.push(new Diff(DIFF_DELETE, aLines[aIndex])); + } + for (; bIndex !== bCommon; bIndex += 1) { + diffs.push(new Diff(DIFF_INSERT, bLines[bIndex])); + } + for (; nCommon !== 0; nCommon -= 1, aIndex += 1, bIndex += 1) { + diffs.push(new Diff(DIFF_EQUAL, bLines[bIndex])); + } + }; + diffSequences(aLength, bLength, isCommon, foundSubsequence); + // After the last common subsequence, push remaining change items. + for (; aIndex !== aLength; aIndex += 1) { + diffs.push(new Diff(DIFF_DELETE, aLines[aIndex])); + } + for (; bIndex !== bLength; bIndex += 1) { + diffs.push(new Diff(DIFF_INSERT, bLines[bIndex])); + } + return [diffs, truncated]; +} + +// get the type of a value with handling the edge cases like `typeof []` +// and `typeof null` +function getType(value) { + if (value === undefined) { + return "undefined"; + } else if (value === null) { + return "null"; + } else if (Array.isArray(value)) { + return "array"; + } else if (typeof value === "boolean") { + return "boolean"; + } else if (typeof value === "function") { + return "function"; + } else if (typeof value === "number") { + return "number"; + } else if (typeof value === "string") { + return "string"; + } else if (typeof value === "bigint") { + return "bigint"; + } else if (typeof value === "object") { + if (value != null) { + if (value.constructor === RegExp) { + return "regexp"; + } else if (value.constructor === Map) { + return "map"; + } else if (value.constructor === Set) { + return "set"; + } else if (value.constructor === Date) { + return "date"; + } + } + return "object"; + } else if (typeof value === "symbol") { + return "symbol"; + } + throw new Error(`value of unknown type: ${value}`); +} + +// platforms compatible +function getNewLineSymbol(string) { + return string.includes("\r\n") ? "\r\n" : "\n"; +} +function diffStrings(a, b, options) { + const truncate = (options === null || options === void 0 ? void 0 : options.truncateThreshold) ?? false; + const truncateThreshold = Math.max(Math.floor((options === null || options === void 0 ? void 0 : options.truncateThreshold) ?? 0), 0); + let aLength = a.length; + let bLength = b.length; + if (truncate) { + const aMultipleLines = a.includes("\n"); + const bMultipleLines = b.includes("\n"); + const aNewLineSymbol = getNewLineSymbol(a); + const bNewLineSymbol = getNewLineSymbol(b); + // multiple-lines string expects a newline to be appended at the end + const _a = aMultipleLines ? `${a.split(aNewLineSymbol, truncateThreshold).join(aNewLineSymbol)}\n` : a; + const _b = bMultipleLines ? `${b.split(bNewLineSymbol, truncateThreshold).join(bNewLineSymbol)}\n` : b; + aLength = _a.length; + bLength = _b.length; + } + const truncated = aLength !== a.length || bLength !== b.length; + const isCommon = (aIndex, bIndex) => a[aIndex] === b[bIndex]; + let aIndex = 0; + let bIndex = 0; + const diffs = []; + const foundSubsequence = (nCommon, aCommon, bCommon) => { + if (aIndex !== aCommon) { + diffs.push(new Diff(DIFF_DELETE, a.slice(aIndex, aCommon))); + } + if (bIndex !== bCommon) { + diffs.push(new Diff(DIFF_INSERT, b.slice(bIndex, bCommon))); + } + aIndex = aCommon + nCommon; + bIndex = bCommon + nCommon; + diffs.push(new Diff(DIFF_EQUAL, b.slice(bCommon, bIndex))); + }; + diffSequences(aLength, bLength, isCommon, foundSubsequence); + // After the last common subsequence, push remaining change items. + if (aIndex !== aLength) { + diffs.push(new Diff(DIFF_DELETE, a.slice(aIndex))); + } + if (bIndex !== bLength) { + diffs.push(new Diff(DIFF_INSERT, b.slice(bIndex))); + } + return [diffs, truncated]; +} + +// Given change op and array of diffs, return concatenated string: +// * include common strings +// * include change strings which have argument op with changeColor +// * exclude change strings which have opposite op +function concatenateRelevantDiffs(op, diffs, changeColor) { + return diffs.reduce((reduced, diff) => reduced + (diff[0] === DIFF_EQUAL ? diff[1] : diff[0] === op && diff[1].length !== 0 ? changeColor(diff[1]) : ""), ""); +} +// Encapsulate change lines until either a common newline or the end. +class ChangeBuffer { + op; + line; + lines; + changeColor; + constructor(op, changeColor) { + this.op = op; + this.line = []; + this.lines = []; + this.changeColor = changeColor; + } + pushSubstring(substring) { + this.pushDiff(new Diff(this.op, substring)); + } + pushLine() { + // Assume call only if line has at least one diff, + // therefore an empty line must have a diff which has an empty string. + // If line has multiple diffs, then assume it has a common diff, + // therefore change diffs have change color; + // otherwise then it has line color only. + this.lines.push(this.line.length !== 1 ? new Diff(this.op, concatenateRelevantDiffs(this.op, this.line, this.changeColor)) : this.line[0][0] === this.op ? this.line[0] : new Diff(this.op, this.line[0][1])); + this.line.length = 0; + } + isLineEmpty() { + return this.line.length === 0; + } + // Minor input to buffer. + pushDiff(diff) { + this.line.push(diff); + } + // Main input to buffer. + align(diff) { + const string = diff[1]; + if (string.includes("\n")) { + const substrings = string.split("\n"); + const iLast = substrings.length - 1; + substrings.forEach((substring, i) => { + if (i < iLast) { + // The first substring completes the current change line. + // A middle substring is a change line. + this.pushSubstring(substring); + this.pushLine(); + } else if (substring.length !== 0) { + // The last substring starts a change line, if it is not empty. + // Important: This non-empty condition also automatically omits + // the newline appended to the end of expected and received strings. + this.pushSubstring(substring); + } + }); + } else { + // Append non-multiline string to current change line. + this.pushDiff(diff); + } + } + // Output from buffer. + moveLinesTo(lines) { + if (!this.isLineEmpty()) { + this.pushLine(); + } + lines.push(...this.lines); + this.lines.length = 0; + } +} +// Encapsulate common and change lines. +class CommonBuffer { + deleteBuffer; + insertBuffer; + lines; + constructor(deleteBuffer, insertBuffer) { + this.deleteBuffer = deleteBuffer; + this.insertBuffer = insertBuffer; + this.lines = []; + } + pushDiffCommonLine(diff) { + this.lines.push(diff); + } + pushDiffChangeLines(diff) { + const isDiffEmpty = diff[1].length === 0; + // An empty diff string is redundant, unless a change line is empty. + if (!isDiffEmpty || this.deleteBuffer.isLineEmpty()) { + this.deleteBuffer.pushDiff(diff); + } + if (!isDiffEmpty || this.insertBuffer.isLineEmpty()) { + this.insertBuffer.pushDiff(diff); + } + } + flushChangeLines() { + this.deleteBuffer.moveLinesTo(this.lines); + this.insertBuffer.moveLinesTo(this.lines); + } + // Input to buffer. + align(diff) { + const op = diff[0]; + const string = diff[1]; + if (string.includes("\n")) { + const substrings = string.split("\n"); + const iLast = substrings.length - 1; + substrings.forEach((substring, i) => { + if (i === 0) { + const subdiff = new Diff(op, substring); + if (this.deleteBuffer.isLineEmpty() && this.insertBuffer.isLineEmpty()) { + // If both current change lines are empty, + // then the first substring is a common line. + this.flushChangeLines(); + this.pushDiffCommonLine(subdiff); + } else { + // If either current change line is non-empty, + // then the first substring completes the change lines. + this.pushDiffChangeLines(subdiff); + this.flushChangeLines(); + } + } else if (i < iLast) { + // A middle substring is a common line. + this.pushDiffCommonLine(new Diff(op, substring)); + } else if (substring.length !== 0) { + // The last substring starts a change line, if it is not empty. + // Important: This non-empty condition also automatically omits + // the newline appended to the end of expected and received strings. + this.pushDiffChangeLines(new Diff(op, substring)); + } + }); + } else { + // Append non-multiline string to current change lines. + // Important: It cannot be at the end following empty change lines, + // because newline appended to the end of expected and received strings. + this.pushDiffChangeLines(diff); + } + } + // Output from buffer. + getLines() { + this.flushChangeLines(); + return this.lines; + } +} +// Given diffs from expected and received strings, +// return new array of diffs split or joined into lines. +// +// To correctly align a change line at the end, the algorithm: +// * assumes that a newline was appended to the strings +// * omits the last newline from the output array +// +// Assume the function is not called: +// * if either expected or received is empty string +// * if neither expected nor received is multiline string +function getAlignedDiffs(diffs, changeColor) { + const deleteBuffer = new ChangeBuffer(DIFF_DELETE, changeColor); + const insertBuffer = new ChangeBuffer(DIFF_INSERT, changeColor); + const commonBuffer = new CommonBuffer(deleteBuffer, insertBuffer); + diffs.forEach((diff) => { + switch (diff[0]) { + case DIFF_DELETE: + deleteBuffer.align(diff); + break; + case DIFF_INSERT: + insertBuffer.align(diff); + break; + default: commonBuffer.align(diff); + } + }); + return commonBuffer.getLines(); +} + +function hasCommonDiff(diffs, isMultiline) { + if (isMultiline) { + // Important: Ignore common newline that was appended to multiline strings! + const iLast = diffs.length - 1; + return diffs.some((diff, i) => diff[0] === DIFF_EQUAL && (i !== iLast || diff[1] !== "\n")); + } + return diffs.some((diff) => diff[0] === DIFF_EQUAL); +} +// Compare two strings character-by-character. +// Format as comparison lines in which changed substrings have inverse colors. +function diffStringsUnified(a, b, options) { + if (a !== b && a.length !== 0 && b.length !== 0) { + const isMultiline = a.includes("\n") || b.includes("\n"); + // getAlignedDiffs assumes that a newline was appended to the strings. + const [diffs, truncated] = diffStringsRaw(isMultiline ? `${a}\n` : a, isMultiline ? `${b}\n` : b, true, options); + if (hasCommonDiff(diffs, isMultiline)) { + const optionsNormalized = normalizeDiffOptions(options); + const lines = getAlignedDiffs(diffs, optionsNormalized.changeColor); + return printDiffLines(lines, truncated, optionsNormalized); + } + } + // Fall back to line-by-line diff. + return diffLinesUnified(a.split("\n"), b.split("\n"), options); +} +// Compare two strings character-by-character. +// Optionally clean up small common substrings, also known as chaff. +function diffStringsRaw(a, b, cleanup, options) { + const [diffs, truncated] = diffStrings(a, b, options); + if (cleanup) { + diff_cleanupSemantic(diffs); + } + return [diffs, truncated]; +} + +function getCommonMessage(message, options) { + const { commonColor } = normalizeDiffOptions(options); + return commonColor(message); +} +const { AsymmetricMatcher, DOMCollection, DOMElement, Immutable, ReactElement, ReactTestComponent } = plugins; +const PLUGINS = [ + ReactTestComponent, + ReactElement, + DOMElement, + DOMCollection, + Immutable, + AsymmetricMatcher, + plugins.Error +]; +const FORMAT_OPTIONS = { + maxDepth: 20, + plugins: PLUGINS +}; +const FALLBACK_FORMAT_OPTIONS = { + callToJSON: false, + maxDepth: 8, + plugins: PLUGINS +}; +// Generate a string that will highlight the difference between two values +// with green and red. (similar to how github does code diffing) +/** +* @param a Expected value +* @param b Received value +* @param options Diff options +* @returns {string | null} a string diff +*/ +function diff(a, b, options) { + if (Object.is(a, b)) { + return ""; + } + const aType = getType(a); + let expectedType = aType; + let omitDifference = false; + if (aType === "object" && typeof a.asymmetricMatch === "function") { + if (a.$$typeof !== Symbol.for("jest.asymmetricMatcher")) { + // Do not know expected type of user-defined asymmetric matcher. + return undefined; + } + if (typeof a.getExpectedType !== "function") { + // For example, expect.anything() matches either null or undefined + return undefined; + } + expectedType = a.getExpectedType(); + // Primitive types boolean and number omit difference below. + // For example, omit difference for expect.stringMatching(regexp) + omitDifference = expectedType === "string"; + } + if (expectedType !== getType(b)) { + const { aAnnotation, aColor, aIndicator, bAnnotation, bColor, bIndicator } = normalizeDiffOptions(options); + const formatOptions = getFormatOptions(FALLBACK_FORMAT_OPTIONS, options); + let aDisplay = format(a, formatOptions); + let bDisplay = format(b, formatOptions); + // even if prettyFormat prints successfully big objects, + // large string can choke later on (concatenation? RPC?), + // so truncate it to a reasonable length here. + // (For example, playwright's ElementHandle can become about 200_000_000 length string) + const MAX_LENGTH = 1e5; + function truncate(s) { + return s.length <= MAX_LENGTH ? s : `${s.slice(0, MAX_LENGTH)}...`; + } + aDisplay = truncate(aDisplay); + bDisplay = truncate(bDisplay); + const aDiff = `${aColor(`${aIndicator} ${aAnnotation}:`)} \n${aDisplay}`; + const bDiff = `${bColor(`${bIndicator} ${bAnnotation}:`)} \n${bDisplay}`; + return `${aDiff}\n\n${bDiff}`; + } + if (omitDifference) { + return undefined; + } + switch (aType) { + case "string": return diffLinesUnified(a.split("\n"), b.split("\n"), options); + case "boolean": + case "number": return comparePrimitive(a, b, options); + case "map": return compareObjects(sortMap(a), sortMap(b), options); + case "set": return compareObjects(sortSet(a), sortSet(b), options); + default: return compareObjects(a, b, options); + } +} +function comparePrimitive(a, b, options) { + const aFormat = format(a, FORMAT_OPTIONS); + const bFormat = format(b, FORMAT_OPTIONS); + return aFormat === bFormat ? "" : diffLinesUnified(aFormat.split("\n"), bFormat.split("\n"), options); +} +function sortMap(map) { + return new Map(Array.from(map.entries()).sort()); +} +function sortSet(set) { + return new Set(Array.from(set.values()).sort()); +} +function compareObjects(a, b, options) { + let difference; + let hasThrown = false; + try { + const formatOptions = getFormatOptions(FORMAT_OPTIONS, options); + difference = getObjectsDifference(a, b, formatOptions, options); + } catch { + hasThrown = true; + } + const noDiffMessage = getCommonMessage(NO_DIFF_MESSAGE, options); + // If the comparison yields no results, compare again but this time + // without calling `toJSON`. It's also possible that toJSON might throw. + if (difference === undefined || difference === noDiffMessage) { + const formatOptions = getFormatOptions(FALLBACK_FORMAT_OPTIONS, options); + difference = getObjectsDifference(a, b, formatOptions, options); + if (difference !== noDiffMessage && !hasThrown) { + difference = `${getCommonMessage(SIMILAR_MESSAGE, options)}\n\n${difference}`; + } + } + return difference; +} +function getFormatOptions(formatOptions, options) { + const { compareKeys, printBasicPrototype, maxDepth } = normalizeDiffOptions(options); + return { + ...formatOptions, + compareKeys, + printBasicPrototype, + maxDepth: maxDepth ?? formatOptions.maxDepth + }; +} +function getObjectsDifference(a, b, formatOptions, options) { + const formatOptionsZeroIndent = { + ...formatOptions, + indent: 0 + }; + const aCompare = format(a, formatOptionsZeroIndent); + const bCompare = format(b, formatOptionsZeroIndent); + if (aCompare === bCompare) { + return getCommonMessage(NO_DIFF_MESSAGE, options); + } else { + const aDisplay = format(a, formatOptions); + const bDisplay = format(b, formatOptions); + return diffLinesUnified2(aDisplay.split("\n"), bDisplay.split("\n"), aCompare.split("\n"), bCompare.split("\n"), options); + } +} +const MAX_DIFF_STRING_LENGTH = 2e4; +function isAsymmetricMatcher(data) { + const type = getType$1(data); + return type === "Object" && typeof data.asymmetricMatch === "function"; +} +function isReplaceable(obj1, obj2) { + const obj1Type = getType$1(obj1); + const obj2Type = getType$1(obj2); + return obj1Type === obj2Type && (obj1Type === "Object" || obj1Type === "Array"); +} +function printDiffOrStringify(received, expected, options) { + const { aAnnotation, bAnnotation } = normalizeDiffOptions(options); + if (typeof expected === "string" && typeof received === "string" && expected.length > 0 && received.length > 0 && expected.length <= MAX_DIFF_STRING_LENGTH && received.length <= MAX_DIFF_STRING_LENGTH && expected !== received) { + if (expected.includes("\n") || received.includes("\n")) { + return diffStringsUnified(expected, received, options); + } + const [diffs] = diffStringsRaw(expected, received, true); + const hasCommonDiff = diffs.some((diff) => diff[0] === DIFF_EQUAL); + const printLabel = getLabelPrinter(aAnnotation, bAnnotation); + const expectedLine = printLabel(aAnnotation) + printExpected(getCommonAndChangedSubstrings(diffs, DIFF_DELETE, hasCommonDiff)); + const receivedLine = printLabel(bAnnotation) + printReceived(getCommonAndChangedSubstrings(diffs, DIFF_INSERT, hasCommonDiff)); + return `${expectedLine}\n${receivedLine}`; + } + // if (isLineDiffable(expected, received)) { + const clonedExpected = deepClone(expected, { forceWritable: true }); + const clonedReceived = deepClone(received, { forceWritable: true }); + const { replacedExpected, replacedActual } = replaceAsymmetricMatcher(clonedReceived, clonedExpected); + const difference = diff(replacedExpected, replacedActual, options); + return difference; + // } + // const printLabel = getLabelPrinter(aAnnotation, bAnnotation) + // const expectedLine = printLabel(aAnnotation) + printExpected(expected) + // const receivedLine + // = printLabel(bAnnotation) + // + (stringify(expected) === stringify(received) + // ? 'serializes to the same string' + // : printReceived(received)) + // return `${expectedLine}\n${receivedLine}` +} +function replaceAsymmetricMatcher(actual, expected, actualReplaced = new WeakSet(), expectedReplaced = new WeakSet()) { + // handle asymmetric Error.cause diff + if (actual instanceof Error && expected instanceof Error && typeof actual.cause !== "undefined" && typeof expected.cause === "undefined") { + delete actual.cause; + return { + replacedActual: actual, + replacedExpected: expected + }; + } + if (!isReplaceable(actual, expected)) { + return { + replacedActual: actual, + replacedExpected: expected + }; + } + if (actualReplaced.has(actual) || expectedReplaced.has(expected)) { + return { + replacedActual: actual, + replacedExpected: expected + }; + } + actualReplaced.add(actual); + expectedReplaced.add(expected); + getOwnProperties(expected).forEach((key) => { + const expectedValue = expected[key]; + const actualValue = actual[key]; + if (isAsymmetricMatcher(expectedValue)) { + if (expectedValue.asymmetricMatch(actualValue)) { + actual[key] = expectedValue; + } + } else if (isAsymmetricMatcher(actualValue)) { + if (actualValue.asymmetricMatch(expectedValue)) { + expected[key] = actualValue; + } + } else if (isReplaceable(actualValue, expectedValue)) { + const replaced = replaceAsymmetricMatcher(actualValue, expectedValue, actualReplaced, expectedReplaced); + actual[key] = replaced.replacedActual; + expected[key] = replaced.replacedExpected; + } + }); + return { + replacedActual: actual, + replacedExpected: expected + }; +} +function getLabelPrinter(...strings) { + const maxLength = strings.reduce((max, string) => string.length > max ? string.length : max, 0); + return (string) => `${string}: ${" ".repeat(maxLength - string.length)}`; +} +const SPACE_SYMBOL = "·"; +function replaceTrailingSpaces(text) { + return text.replace(/\s+$/gm, (spaces) => SPACE_SYMBOL.repeat(spaces.length)); +} +function printReceived(object) { + return c.red(replaceTrailingSpaces(stringify(object))); +} +function printExpected(value) { + return c.green(replaceTrailingSpaces(stringify(value))); +} +function getCommonAndChangedSubstrings(diffs, op, hasCommonDiff) { + return diffs.reduce((reduced, diff) => reduced + (diff[0] === DIFF_EQUAL ? diff[1] : diff[0] === op ? hasCommonDiff ? c.inverse(diff[1]) : diff[1] : ""), ""); +} + +export { DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT, Diff, diff, diffLinesRaw, diffLinesUnified, diffLinesUnified2, diffStringsRaw, diffStringsUnified, getLabelPrinter, printDiffOrStringify, replaceAsymmetricMatcher }; diff --git a/node_modules/@vitest/utils/dist/error.d.ts b/node_modules/@vitest/utils/dist/error.d.ts new file mode 100644 index 0000000..bceeaf0 --- /dev/null +++ b/node_modules/@vitest/utils/dist/error.d.ts @@ -0,0 +1,9 @@ +import { D as DiffOptions } from './types.d-BCElaP-c.js'; +import '@vitest/pretty-format'; + +// https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm +declare function serializeValue(val: any, seen?: WeakMap): any; + +declare function processError(_err: any, diffOptions?: DiffOptions, seen?: WeakSet): any; + +export { processError, serializeValue as serializeError, serializeValue }; diff --git a/node_modules/@vitest/utils/dist/error.js b/node_modules/@vitest/utils/dist/error.js new file mode 100644 index 0000000..7fc45cf --- /dev/null +++ b/node_modules/@vitest/utils/dist/error.js @@ -0,0 +1,156 @@ +import { printDiffOrStringify } from './diff.js'; +import { f as format, s as stringify } from './chunk-_commonjsHelpers.js'; +import '@vitest/pretty-format'; +import 'tinyrainbow'; +import './helpers.js'; +import 'loupe'; + +const IS_RECORD_SYMBOL = "@@__IMMUTABLE_RECORD__@@"; +const IS_COLLECTION_SYMBOL = "@@__IMMUTABLE_ITERABLE__@@"; +function isImmutable(v) { + return v && (v[IS_COLLECTION_SYMBOL] || v[IS_RECORD_SYMBOL]); +} +const OBJECT_PROTO = Object.getPrototypeOf({}); +function getUnserializableMessage(err) { + if (err instanceof Error) { + return `: ${err.message}`; + } + if (typeof err === "string") { + return `: ${err}`; + } + return ""; +} +// https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm +function serializeValue(val, seen = new WeakMap()) { + if (!val || typeof val === "string") { + return val; + } + if (val instanceof Error && "toJSON" in val && typeof val.toJSON === "function") { + const jsonValue = val.toJSON(); + if (jsonValue && jsonValue !== val && typeof jsonValue === "object") { + if (typeof val.message === "string") { + safe(() => jsonValue.message ?? (jsonValue.message = val.message)); + } + if (typeof val.stack === "string") { + safe(() => jsonValue.stack ?? (jsonValue.stack = val.stack)); + } + if (typeof val.name === "string") { + safe(() => jsonValue.name ?? (jsonValue.name = val.name)); + } + if (val.cause != null) { + safe(() => jsonValue.cause ?? (jsonValue.cause = serializeValue(val.cause, seen))); + } + } + return serializeValue(jsonValue, seen); + } + if (typeof val === "function") { + return `Function<${val.name || "anonymous"}>`; + } + if (typeof val === "symbol") { + return val.toString(); + } + if (typeof val !== "object") { + return val; + } + // cannot serialize immutables as immutables + if (isImmutable(val)) { + return serializeValue(val.toJSON(), seen); + } + if (val instanceof Promise || val.constructor && val.constructor.prototype === "AsyncFunction") { + return "Promise"; + } + if (typeof Element !== "undefined" && val instanceof Element) { + return val.tagName; + } + if (typeof val.asymmetricMatch === "function") { + return `${val.toString()} ${format(val.sample)}`; + } + if (typeof val.toJSON === "function") { + return serializeValue(val.toJSON(), seen); + } + if (seen.has(val)) { + return seen.get(val); + } + if (Array.isArray(val)) { + // eslint-disable-next-line unicorn/no-new-array -- we need to keep sparse arrays ([1,,3]) + const clone = new Array(val.length); + seen.set(val, clone); + val.forEach((e, i) => { + try { + clone[i] = serializeValue(e, seen); + } catch (err) { + clone[i] = getUnserializableMessage(err); + } + }); + return clone; + } else { + // Objects with `Error` constructors appear to cause problems during worker communication + // using `MessagePort`, so the serialized error object is being recreated as plain object. + const clone = Object.create(null); + seen.set(val, clone); + let obj = val; + while (obj && obj !== OBJECT_PROTO) { + Object.getOwnPropertyNames(obj).forEach((key) => { + if (key in clone) { + return; + } + try { + clone[key] = serializeValue(val[key], seen); + } catch (err) { + // delete in case it has a setter from prototype that might throw + delete clone[key]; + clone[key] = getUnserializableMessage(err); + } + }); + obj = Object.getPrototypeOf(obj); + } + return clone; + } +} +function safe(fn) { + try { + return fn(); + } catch {} +} +function normalizeErrorMessage(message) { + return message.replace(/__(vite_ssr_import|vi_import)_\d+__\./g, ""); +} +function processError(_err, diffOptions, seen = new WeakSet()) { + if (!_err || typeof _err !== "object") { + return { message: String(_err) }; + } + const err = _err; + if (err.showDiff || err.showDiff === undefined && err.expected !== undefined && err.actual !== undefined) { + err.diff = printDiffOrStringify(err.actual, err.expected, { + ...diffOptions, + ...err.diffOptions + }); + } + if ("expected" in err && typeof err.expected !== "string") { + err.expected = stringify(err.expected, 10); + } + if ("actual" in err && typeof err.actual !== "string") { + err.actual = stringify(err.actual, 10); + } + // some Error implementations don't allow rewriting message + try { + if (typeof err.message === "string") { + err.message = normalizeErrorMessage(err.message); + } + } catch {} + // some Error implementations may not allow rewriting cause + // in most cases, the assignment will lead to "err.cause = err.cause" + try { + if (!seen.has(err) && typeof err.cause === "object") { + seen.add(err); + err.cause = processError(err.cause, diffOptions, seen); + } + } catch {} + try { + return serializeValue(err); + } catch (e) { + return serializeValue(new Error(`Failed to fully serialize error: ${e === null || e === void 0 ? void 0 : e.message}\nInner error message: ${err === null || err === void 0 ? void 0 : err.message}`)); + } +} + +export { processError, serializeValue as serializeError, serializeValue }; diff --git a/node_modules/@vitest/utils/dist/helpers.d.ts b/node_modules/@vitest/utils/dist/helpers.d.ts new file mode 100644 index 0000000..d9f90dc --- /dev/null +++ b/node_modules/@vitest/utils/dist/helpers.d.ts @@ -0,0 +1,56 @@ +import { Nullable, Arrayable } from './types.js'; + +interface CloneOptions { + forceWritable?: boolean; +} +interface ErrorOptions { + message?: string; + stackTraceLimit?: number; +} +/** +* Get original stacktrace without source map support the most performant way. +* - Create only 1 stack frame. +* - Rewrite prepareStackTrace to bypass "support-stack-trace" (usually takes ~250ms). +*/ +declare function createSimpleStackTrace(options?: ErrorOptions): string; +declare function notNullish(v: T | null | undefined): v is NonNullable; +declare function assertTypes(value: unknown, name: string, types: string[]): void; +declare function isPrimitive(value: unknown): boolean; +declare function slash(path: string): string; +// convert RegExp.toString to RegExp +declare function parseRegexp(input: string): RegExp; +declare function toArray(array?: Nullable>): Array; +declare function isObject(item: unknown): boolean; +declare function getType(value: unknown): string; +declare function getOwnProperties(obj: any): (string | symbol)[]; +declare function deepClone(val: T, options?: CloneOptions): T; +declare function clone(val: T, seen: WeakMap, options?: CloneOptions): T; +declare function noop(): void; +declare function objectAttr(source: any, path: string, defaultValue?: undefined): any; +type DeferPromise = Promise & { + resolve: (value: T | PromiseLike) => void + reject: (reason?: any) => void +}; +declare function createDefer(): DeferPromise; +/** +* If code starts with a function call, will return its last index, respecting arguments. +* This will return 25 - last ending character of toMatch ")" +* Also works with callbacks +* ``` +* toMatch({ test: '123' }); +* toBeAliased('123') +* ``` +*/ +declare function getCallLastIndex(code: string): number | null; +declare function isNegativeNaN(val: number): boolean; +/** +* Deep merge :P +* +* Will merge objects only if they are plain +* +* Do not merge types - it is very expensive and usually it's better to case a type here +*/ +declare function deepMerge(target: T, ...sources: any[]): T; + +export { assertTypes, clone, createDefer, createSimpleStackTrace, deepClone, deepMerge, getCallLastIndex, getOwnProperties, getType, isNegativeNaN, isObject, isPrimitive, noop, notNullish, objectAttr, parseRegexp, slash, toArray }; +export type { DeferPromise }; diff --git a/node_modules/@vitest/utils/dist/helpers.js b/node_modules/@vitest/utils/dist/helpers.js new file mode 100644 index 0000000..678668a --- /dev/null +++ b/node_modules/@vitest/utils/dist/helpers.js @@ -0,0 +1,251 @@ +/** +* Get original stacktrace without source map support the most performant way. +* - Create only 1 stack frame. +* - Rewrite prepareStackTrace to bypass "support-stack-trace" (usually takes ~250ms). +*/ +function createSimpleStackTrace(options) { + const { message = "$$stack trace error", stackTraceLimit = 1 } = options || {}; + const limit = Error.stackTraceLimit; + const prepareStackTrace = Error.prepareStackTrace; + Error.stackTraceLimit = stackTraceLimit; + Error.prepareStackTrace = (e) => e.stack; + const err = new Error(message); + const stackTrace = err.stack || ""; + Error.prepareStackTrace = prepareStackTrace; + Error.stackTraceLimit = limit; + return stackTrace; +} +function notNullish(v) { + return v != null; +} +function assertTypes(value, name, types) { + const receivedType = typeof value; + const pass = types.includes(receivedType); + if (!pass) { + throw new TypeError(`${name} value must be ${types.join(" or ")}, received "${receivedType}"`); + } +} +function isPrimitive(value) { + return value === null || typeof value !== "function" && typeof value !== "object"; +} +function slash(path) { + return path.replace(/\\/g, "/"); +} +// convert RegExp.toString to RegExp +function parseRegexp(input) { + // Parse input + // eslint-disable-next-line regexp/no-misleading-capturing-group + const m = input.match(/(\/?)(.+)\1([a-z]*)/i); + // match nothing + if (!m) { + return /$^/; + } + // Invalid flags + // eslint-disable-next-line regexp/optimal-quantifier-concatenation + if (m[3] && !/^(?!.*?(.).*?\1)[gmixXsuUAJ]+$/.test(m[3])) { + return new RegExp(input); + } + // Create the regular expression + return new RegExp(m[2], m[3]); +} +function toArray(array) { + if (array === null || array === undefined) { + array = []; + } + if (Array.isArray(array)) { + return array; + } + return [array]; +} +function isObject(item) { + return item != null && typeof item === "object" && !Array.isArray(item); +} +function isFinalObj(obj) { + return obj === Object.prototype || obj === Function.prototype || obj === RegExp.prototype; +} +function getType(value) { + return Object.prototype.toString.apply(value).slice(8, -1); +} +function collectOwnProperties(obj, collector) { + const collect = typeof collector === "function" ? collector : (key) => collector.add(key); + Object.getOwnPropertyNames(obj).forEach(collect); + Object.getOwnPropertySymbols(obj).forEach(collect); +} +function getOwnProperties(obj) { + const ownProps = new Set(); + if (isFinalObj(obj)) { + return []; + } + collectOwnProperties(obj, ownProps); + return Array.from(ownProps); +} +const defaultCloneOptions = { forceWritable: false }; +function deepClone(val, options = defaultCloneOptions) { + const seen = new WeakMap(); + return clone(val, seen, options); +} +function clone(val, seen, options = defaultCloneOptions) { + let k, out; + if (seen.has(val)) { + return seen.get(val); + } + if (Array.isArray(val)) { + out = Array.from({ length: k = val.length }); + seen.set(val, out); + while (k--) { + out[k] = clone(val[k], seen, options); + } + return out; + } + if (Object.prototype.toString.call(val) === "[object Object]") { + out = Object.create(Object.getPrototypeOf(val)); + seen.set(val, out); + // we don't need properties from prototype + const props = getOwnProperties(val); + for (const k of props) { + const descriptor = Object.getOwnPropertyDescriptor(val, k); + if (!descriptor) { + continue; + } + const cloned = clone(val[k], seen, options); + if (options.forceWritable) { + Object.defineProperty(out, k, { + enumerable: descriptor.enumerable, + configurable: true, + writable: true, + value: cloned + }); + } else if ("get" in descriptor) { + Object.defineProperty(out, k, { + ...descriptor, + get() { + return cloned; + } + }); + } else { + Object.defineProperty(out, k, { + ...descriptor, + value: cloned + }); + } + } + return out; + } + return val; +} +function noop() {} +function objectAttr(source, path, defaultValue = undefined) { + // a[3].b -> a.3.b + const paths = path.replace(/\[(\d+)\]/g, ".$1").split("."); + let result = source; + for (const p of paths) { + result = new Object(result)[p]; + if (result === undefined) { + return defaultValue; + } + } + return result; +} +function createDefer() { + let resolve = null; + let reject = null; + const p = new Promise((_resolve, _reject) => { + resolve = _resolve; + reject = _reject; + }); + p.resolve = resolve; + p.reject = reject; + return p; +} +/** +* If code starts with a function call, will return its last index, respecting arguments. +* This will return 25 - last ending character of toMatch ")" +* Also works with callbacks +* ``` +* toMatch({ test: '123' }); +* toBeAliased('123') +* ``` +*/ +function getCallLastIndex(code) { + let charIndex = -1; + let inString = null; + let startedBracers = 0; + let endedBracers = 0; + let beforeChar = null; + while (charIndex <= code.length) { + beforeChar = code[charIndex]; + charIndex++; + const char = code[charIndex]; + const isCharString = char === "\"" || char === "'" || char === "`"; + if (isCharString && beforeChar !== "\\") { + if (inString === char) { + inString = null; + } else if (!inString) { + inString = char; + } + } + if (!inString) { + if (char === "(") { + startedBracers++; + } + if (char === ")") { + endedBracers++; + } + } + if (startedBracers && endedBracers && startedBracers === endedBracers) { + return charIndex; + } + } + return null; +} +function isNegativeNaN(val) { + if (!Number.isNaN(val)) { + return false; + } + const f64 = new Float64Array(1); + f64[0] = val; + const u32 = new Uint32Array(f64.buffer); + const isNegative = u32[1] >>> 31 === 1; + return isNegative; +} +function toString(v) { + return Object.prototype.toString.call(v); +} +function isPlainObject(val) { + return toString(val) === "[object Object]" && (!val.constructor || val.constructor.name === "Object"); +} +function isMergeableObject(item) { + return isPlainObject(item) && !Array.isArray(item); +} +/** +* Deep merge :P +* +* Will merge objects only if they are plain +* +* Do not merge types - it is very expensive and usually it's better to case a type here +*/ +function deepMerge(target, ...sources) { + if (!sources.length) { + return target; + } + const source = sources.shift(); + if (source === undefined) { + return target; + } + if (isMergeableObject(target) && isMergeableObject(source)) { + Object.keys(source).forEach((key) => { + const _source = source; + if (isMergeableObject(_source[key])) { + if (!target[key]) { + target[key] = {}; + } + deepMerge(target[key], _source[key]); + } else { + target[key] = _source[key]; + } + }); + } + return deepMerge(target, ...sources); +} + +export { assertTypes, clone, createDefer, createSimpleStackTrace, deepClone, deepMerge, getCallLastIndex, getOwnProperties, getType, isNegativeNaN, isObject, isPrimitive, noop, notNullish, objectAttr, parseRegexp, slash, toArray }; diff --git a/node_modules/@vitest/utils/dist/index.d.ts b/node_modules/@vitest/utils/dist/index.d.ts new file mode 100644 index 0000000..c90d906 --- /dev/null +++ b/node_modules/@vitest/utils/dist/index.d.ts @@ -0,0 +1,57 @@ +import { PrettyFormatOptions } from '@vitest/pretty-format'; +export { DeferPromise, assertTypes, clone, createDefer, createSimpleStackTrace, deepClone, deepMerge, getCallLastIndex, getOwnProperties, getType, isNegativeNaN, isObject, isPrimitive, noop, notNullish, objectAttr, parseRegexp, slash, toArray } from './helpers.js'; +import { Colors } from 'tinyrainbow'; +export { ArgumentsType, Arrayable, Awaitable, Constructable, DeepMerge, ErrorWithDiff, MergeInsertions, MutableArray, Nullable, ParsedStack, SerializedError, TestError } from './types.js'; + +type Inspect = (value: unknown, options: Options) => string; +interface Options { + showHidden: boolean; + depth: number; + colors: boolean; + customInspect: boolean; + showProxy: boolean; + maxArrayLength: number; + breakLength: number; + truncate: number; + seen: unknown[]; + inspect: Inspect; + stylize: (value: string, styleType: string) => string; +} +type LoupeOptions = Partial; +interface StringifyOptions extends PrettyFormatOptions { + maxLength?: number; +} +declare function stringify(object: unknown, maxDepth?: number, { maxLength,...options }?: StringifyOptions): string; +declare function format(...args: unknown[]): string; +declare function inspect(obj: unknown, options?: LoupeOptions): string; +declare function objDisplay(obj: unknown, options?: LoupeOptions): string; + +interface HighlightOptions { + jsx?: boolean; + colors?: Colors; +} +declare function highlight(code: string, options?: HighlightOptions): string; + +declare function nanoid(size?: number): string; + +declare const lineSplitRE: RegExp; +declare function positionToOffset(source: string, lineNumber: number, columnNumber: number): number; +declare function offsetToLineNumber(source: string, offset: number): number; + +declare function shuffle(array: T[], seed?: number): T[]; + +interface SafeTimers { + nextTick: (cb: () => void) => void; + setTimeout: typeof setTimeout; + setInterval: typeof setInterval; + clearInterval: typeof clearInterval; + clearTimeout: typeof clearTimeout; + setImmediate: typeof setImmediate; + clearImmediate: typeof clearImmediate; + queueMicrotask: typeof queueMicrotask; +} +declare function getSafeTimers(): SafeTimers; +declare function setSafeTimers(): void; + +export { format, getSafeTimers, highlight, inspect, lineSplitRE, nanoid, objDisplay, offsetToLineNumber, positionToOffset, setSafeTimers, shuffle, stringify }; +export type { LoupeOptions, SafeTimers, StringifyOptions }; diff --git a/node_modules/@vitest/utils/dist/index.js b/node_modules/@vitest/utils/dist/index.js new file mode 100644 index 0000000..fa7d21e --- /dev/null +++ b/node_modules/@vitest/utils/dist/index.js @@ -0,0 +1,633 @@ +import { g as getDefaultExportFromCjs } from './chunk-_commonjsHelpers.js'; +export { f as format, i as inspect, o as objDisplay, s as stringify } from './chunk-_commonjsHelpers.js'; +export { assertTypes, clone, createDefer, createSimpleStackTrace, deepClone, deepMerge, getCallLastIndex, getOwnProperties, getType, isNegativeNaN, isObject, isPrimitive, noop, notNullish, objectAttr, parseRegexp, slash, toArray } from './helpers.js'; +import c from 'tinyrainbow'; +import '@vitest/pretty-format'; +import 'loupe'; + +var jsTokens_1; +var hasRequiredJsTokens; + +function requireJsTokens () { + if (hasRequiredJsTokens) return jsTokens_1; + hasRequiredJsTokens = 1; + // Copyright 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell + // License: MIT. + var Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace; + RegularExpressionLiteral = /\/(?![*\/])(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\\]).|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/yu; + Punctuator = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y; + Identifier = /(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/yu; + StringLiteral = /(['"])(?:(?!\1)[^\\\n\r]|\\(?:\r\n|[^]))*(\1)?/y; + NumericLiteral = /(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y; + Template = /[`}](?:[^`\\$]|\\[^]|\$(?!\{))*(`|\$\{)?/y; + WhiteSpace = /[\t\v\f\ufeff\p{Zs}]+/yu; + LineTerminatorSequence = /\r?\n|[\r\u2028\u2029]/y; + MultiLineComment = /\/\*(?:[^*]|\*(?!\/))*(\*\/)?/y; + SingleLineComment = /\/\/.*/y; + JSXPunctuator = /[<>.:={}]|\/(?![\/*])/y; + JSXIdentifier = /[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/yu; + JSXString = /(['"])(?:(?!\1)[^])*(\1)?/y; + JSXText = /[^<>{}]+/y; + TokensPrecedingExpression = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/; + TokensNotPrecedingObjectLiteral = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/; + KeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/; + KeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/; + Newline = RegExp(LineTerminatorSequence.source); + jsTokens_1 = function*(input, {jsx = false} = {}) { + var braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack; + ({length} = input); + lastIndex = 0; + lastSignificantToken = ""; + stack = [ + {tag: "JS"} + ]; + braces = []; + parenNesting = 0; + postfixIncDec = false; + while (lastIndex < length) { + mode = stack[stack.length - 1]; + switch (mode.tag) { + case "JS": + case "JSNonExpressionParen": + case "InterpolationInTemplate": + case "InterpolationInJSX": + if (input[lastIndex] === "/" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) { + RegularExpressionLiteral.lastIndex = lastIndex; + if (match = RegularExpressionLiteral.exec(input)) { + lastIndex = RegularExpressionLiteral.lastIndex; + lastSignificantToken = match[0]; + postfixIncDec = true; + yield ({ + type: "RegularExpressionLiteral", + value: match[0], + closed: match[1] !== void 0 && match[1] !== "\\" + }); + continue; + } + } + Punctuator.lastIndex = lastIndex; + if (match = Punctuator.exec(input)) { + punctuator = match[0]; + nextLastIndex = Punctuator.lastIndex; + nextLastSignificantToken = punctuator; + switch (punctuator) { + case "(": + if (lastSignificantToken === "?NonExpressionParenKeyword") { + stack.push({ + tag: "JSNonExpressionParen", + nesting: parenNesting + }); + } + parenNesting++; + postfixIncDec = false; + break; + case ")": + parenNesting--; + postfixIncDec = true; + if (mode.tag === "JSNonExpressionParen" && parenNesting === mode.nesting) { + stack.pop(); + nextLastSignificantToken = "?NonExpressionParenEnd"; + postfixIncDec = false; + } + break; + case "{": + Punctuator.lastIndex = 0; + isExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken)); + braces.push(isExpression); + postfixIncDec = false; + break; + case "}": + switch (mode.tag) { + case "InterpolationInTemplate": + if (braces.length === mode.nesting) { + Template.lastIndex = lastIndex; + match = Template.exec(input); + lastIndex = Template.lastIndex; + lastSignificantToken = match[0]; + if (match[1] === "${") { + lastSignificantToken = "?InterpolationInTemplate"; + postfixIncDec = false; + yield ({ + type: "TemplateMiddle", + value: match[0] + }); + } else { + stack.pop(); + postfixIncDec = true; + yield ({ + type: "TemplateTail", + value: match[0], + closed: match[1] === "`" + }); + } + continue; + } + break; + case "InterpolationInJSX": + if (braces.length === mode.nesting) { + stack.pop(); + lastIndex += 1; + lastSignificantToken = "}"; + yield ({ + type: "JSXPunctuator", + value: "}" + }); + continue; + } + } + postfixIncDec = braces.pop(); + nextLastSignificantToken = postfixIncDec ? "?ExpressionBraceEnd" : "}"; + break; + case "]": + postfixIncDec = true; + break; + case "++": + case "--": + nextLastSignificantToken = postfixIncDec ? "?PostfixIncDec" : "?UnaryIncDec"; + break; + case "<": + if (jsx && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) { + stack.push({tag: "JSXTag"}); + lastIndex += 1; + lastSignificantToken = "<"; + yield ({ + type: "JSXPunctuator", + value: punctuator + }); + continue; + } + postfixIncDec = false; + break; + default: + postfixIncDec = false; + } + lastIndex = nextLastIndex; + lastSignificantToken = nextLastSignificantToken; + yield ({ + type: "Punctuator", + value: punctuator + }); + continue; + } + Identifier.lastIndex = lastIndex; + if (match = Identifier.exec(input)) { + lastIndex = Identifier.lastIndex; + nextLastSignificantToken = match[0]; + switch (match[0]) { + case "for": + case "if": + case "while": + case "with": + if (lastSignificantToken !== "." && lastSignificantToken !== "?.") { + nextLastSignificantToken = "?NonExpressionParenKeyword"; + } + } + lastSignificantToken = nextLastSignificantToken; + postfixIncDec = !KeywordsWithExpressionAfter.test(match[0]); + yield ({ + type: match[1] === "#" ? "PrivateIdentifier" : "IdentifierName", + value: match[0] + }); + continue; + } + StringLiteral.lastIndex = lastIndex; + if (match = StringLiteral.exec(input)) { + lastIndex = StringLiteral.lastIndex; + lastSignificantToken = match[0]; + postfixIncDec = true; + yield ({ + type: "StringLiteral", + value: match[0], + closed: match[2] !== void 0 + }); + continue; + } + NumericLiteral.lastIndex = lastIndex; + if (match = NumericLiteral.exec(input)) { + lastIndex = NumericLiteral.lastIndex; + lastSignificantToken = match[0]; + postfixIncDec = true; + yield ({ + type: "NumericLiteral", + value: match[0] + }); + continue; + } + Template.lastIndex = lastIndex; + if (match = Template.exec(input)) { + lastIndex = Template.lastIndex; + lastSignificantToken = match[0]; + if (match[1] === "${") { + lastSignificantToken = "?InterpolationInTemplate"; + stack.push({ + tag: "InterpolationInTemplate", + nesting: braces.length + }); + postfixIncDec = false; + yield ({ + type: "TemplateHead", + value: match[0] + }); + } else { + postfixIncDec = true; + yield ({ + type: "NoSubstitutionTemplate", + value: match[0], + closed: match[1] === "`" + }); + } + continue; + } + break; + case "JSXTag": + case "JSXTagEnd": + JSXPunctuator.lastIndex = lastIndex; + if (match = JSXPunctuator.exec(input)) { + lastIndex = JSXPunctuator.lastIndex; + nextLastSignificantToken = match[0]; + switch (match[0]) { + case "<": + stack.push({tag: "JSXTag"}); + break; + case ">": + stack.pop(); + if (lastSignificantToken === "/" || mode.tag === "JSXTagEnd") { + nextLastSignificantToken = "?JSX"; + postfixIncDec = true; + } else { + stack.push({tag: "JSXChildren"}); + } + break; + case "{": + stack.push({ + tag: "InterpolationInJSX", + nesting: braces.length + }); + nextLastSignificantToken = "?InterpolationInJSX"; + postfixIncDec = false; + break; + case "/": + if (lastSignificantToken === "<") { + stack.pop(); + if (stack[stack.length - 1].tag === "JSXChildren") { + stack.pop(); + } + stack.push({tag: "JSXTagEnd"}); + } + } + lastSignificantToken = nextLastSignificantToken; + yield ({ + type: "JSXPunctuator", + value: match[0] + }); + continue; + } + JSXIdentifier.lastIndex = lastIndex; + if (match = JSXIdentifier.exec(input)) { + lastIndex = JSXIdentifier.lastIndex; + lastSignificantToken = match[0]; + yield ({ + type: "JSXIdentifier", + value: match[0] + }); + continue; + } + JSXString.lastIndex = lastIndex; + if (match = JSXString.exec(input)) { + lastIndex = JSXString.lastIndex; + lastSignificantToken = match[0]; + yield ({ + type: "JSXString", + value: match[0], + closed: match[2] !== void 0 + }); + continue; + } + break; + case "JSXChildren": + JSXText.lastIndex = lastIndex; + if (match = JSXText.exec(input)) { + lastIndex = JSXText.lastIndex; + lastSignificantToken = match[0]; + yield ({ + type: "JSXText", + value: match[0] + }); + continue; + } + switch (input[lastIndex]) { + case "<": + stack.push({tag: "JSXTag"}); + lastIndex++; + lastSignificantToken = "<"; + yield ({ + type: "JSXPunctuator", + value: "<" + }); + continue; + case "{": + stack.push({ + tag: "InterpolationInJSX", + nesting: braces.length + }); + lastIndex++; + lastSignificantToken = "?InterpolationInJSX"; + postfixIncDec = false; + yield ({ + type: "JSXPunctuator", + value: "{" + }); + continue; + } + } + WhiteSpace.lastIndex = lastIndex; + if (match = WhiteSpace.exec(input)) { + lastIndex = WhiteSpace.lastIndex; + yield ({ + type: "WhiteSpace", + value: match[0] + }); + continue; + } + LineTerminatorSequence.lastIndex = lastIndex; + if (match = LineTerminatorSequence.exec(input)) { + lastIndex = LineTerminatorSequence.lastIndex; + postfixIncDec = false; + if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) { + lastSignificantToken = "?NoLineTerminatorHere"; + } + yield ({ + type: "LineTerminatorSequence", + value: match[0] + }); + continue; + } + MultiLineComment.lastIndex = lastIndex; + if (match = MultiLineComment.exec(input)) { + lastIndex = MultiLineComment.lastIndex; + if (Newline.test(match[0])) { + postfixIncDec = false; + if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) { + lastSignificantToken = "?NoLineTerminatorHere"; + } + } + yield ({ + type: "MultiLineComment", + value: match[0], + closed: match[1] !== void 0 + }); + continue; + } + SingleLineComment.lastIndex = lastIndex; + if (match = SingleLineComment.exec(input)) { + lastIndex = SingleLineComment.lastIndex; + postfixIncDec = false; + yield ({ + type: "SingleLineComment", + value: match[0] + }); + continue; + } + firstCodePoint = String.fromCodePoint(input.codePointAt(lastIndex)); + lastIndex += firstCodePoint.length; + lastSignificantToken = firstCodePoint; + postfixIncDec = false; + yield ({ + type: mode.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid", + value: firstCodePoint + }); + } + return void 0; + }; + return jsTokens_1; +} + +var jsTokensExports = requireJsTokens(); +var jsTokens = /*@__PURE__*/getDefaultExportFromCjs(jsTokensExports); + +// src/index.ts +var reservedWords = { + keyword: [ + "break", + "case", + "catch", + "continue", + "debugger", + "default", + "do", + "else", + "finally", + "for", + "function", + "if", + "return", + "switch", + "throw", + "try", + "var", + "const", + "while", + "with", + "new", + "this", + "super", + "class", + "extends", + "export", + "import", + "null", + "true", + "false", + "in", + "instanceof", + "typeof", + "void", + "delete" + ], + strict: [ + "implements", + "interface", + "let", + "package", + "private", + "protected", + "public", + "static", + "yield" + ] +}, keywords = new Set(reservedWords.keyword), reservedWordsStrictSet = new Set(reservedWords.strict), sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]); +function isReservedWord(word) { + return word === "await" || word === "enum"; +} +function isStrictReservedWord(word) { + return isReservedWord(word) || reservedWordsStrictSet.has(word); +} +function isKeyword(word) { + return keywords.has(word); +} +var BRACKET = /^[()[\]{}]$/, getTokenType = function(token) { + if (token.type === "IdentifierName") { + if (isKeyword(token.value) || isStrictReservedWord(token.value) || sometimesKeywords.has(token.value)) + return "Keyword"; + if (token.value[0] && token.value[0] !== token.value[0].toLowerCase()) + return "IdentifierCapitalized"; + } + return token.type === "Punctuator" && BRACKET.test(token.value) ? "Bracket" : token.type === "Invalid" && (token.value === "@" || token.value === "#") ? "Punctuator" : token.type; +}; +function getCallableType(token) { + if (token.type === "IdentifierName") + return "IdentifierCallable"; + if (token.type === "PrivateIdentifier") + return "PrivateIdentifierCallable"; + throw new Error("Not a callable token"); +} +var colorize = (defs, type, value) => { + let colorize2 = defs[type]; + return colorize2 ? colorize2(value) : value; +}, highlightTokens = (defs, text, jsx) => { + let highlighted = "", lastPotentialCallable = null, stackedHighlight = ""; + for (let token of jsTokens(text, { jsx })) { + let type = getTokenType(token); + if (type === "IdentifierName" || type === "PrivateIdentifier") { + lastPotentialCallable && (highlighted += colorize(defs, getTokenType(lastPotentialCallable), lastPotentialCallable.value) + stackedHighlight, stackedHighlight = ""), lastPotentialCallable = token; + continue; + } + if (lastPotentialCallable && (token.type === "WhiteSpace" || token.type === "LineTerminatorSequence" || token.type === "Punctuator" && (token.value === "?." || token.value === "!"))) { + stackedHighlight += colorize(defs, type, token.value); + continue; + } + if (stackedHighlight && !lastPotentialCallable && (highlighted += stackedHighlight, stackedHighlight = ""), lastPotentialCallable) { + let type2 = token.type === "Punctuator" && token.value === "(" ? getCallableType(lastPotentialCallable) : getTokenType(lastPotentialCallable); + highlighted += colorize(defs, type2, lastPotentialCallable.value) + stackedHighlight, stackedHighlight = "", lastPotentialCallable = null; + } + highlighted += colorize(defs, type, token.value); + } + return highlighted; +}; +function highlight$1(code, options = { jsx: false, colors: {} }) { + return code && highlightTokens(options.colors || {}, code, options.jsx); +} + +function getDefs(c) { + const Invalid = (text) => c.white(c.bgRed(c.bold(text))); + return { + Keyword: c.magenta, + IdentifierCapitalized: c.yellow, + Punctuator: c.yellow, + StringLiteral: c.green, + NoSubstitutionTemplate: c.green, + MultiLineComment: c.gray, + SingleLineComment: c.gray, + RegularExpressionLiteral: c.cyan, + NumericLiteral: c.blue, + TemplateHead: (text) => c.green(text.slice(0, text.length - 2)) + c.cyan(text.slice(-2)), + TemplateTail: (text) => c.cyan(text.slice(0, 1)) + c.green(text.slice(1)), + TemplateMiddle: (text) => c.cyan(text.slice(0, 1)) + c.green(text.slice(1, text.length - 2)) + c.cyan(text.slice(-2)), + IdentifierCallable: c.blue, + PrivateIdentifierCallable: (text) => `#${c.blue(text.slice(1))}`, + Invalid, + JSXString: c.green, + JSXIdentifier: c.yellow, + JSXInvalid: Invalid, + JSXPunctuator: c.yellow + }; +} +function highlight(code, options = { jsx: false }) { + return highlight$1(code, { + jsx: options.jsx, + colors: getDefs(options.colors || c) + }); +} + +// port from nanoid +// https://github.com/ai/nanoid +const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"; +function nanoid(size = 21) { + let id = ""; + let i = size; + while (i--) { + id += urlAlphabet[Math.random() * 64 | 0]; + } + return id; +} + +const lineSplitRE = /\r?\n/; +function positionToOffset(source, lineNumber, columnNumber) { + const lines = source.split(lineSplitRE); + const nl = /\r\n/.test(source) ? 2 : 1; + let start = 0; + if (lineNumber > lines.length) { + return source.length; + } + for (let i = 0; i < lineNumber - 1; i++) { + start += lines[i].length + nl; + } + return start + columnNumber; +} +function offsetToLineNumber(source, offset) { + if (offset > source.length) { + throw new Error(`offset is longer than source length! offset ${offset} > length ${source.length}`); + } + const lines = source.split(lineSplitRE); + const nl = /\r\n/.test(source) ? 2 : 1; + let counted = 0; + let line = 0; + for (; line < lines.length; line++) { + const lineLength = lines[line].length + nl; + if (counted + lineLength >= offset) { + break; + } + counted += lineLength; + } + return line + 1; +} + +const RealDate = Date; +function random(seed) { + const x = Math.sin(seed++) * 1e4; + return x - Math.floor(x); +} +function shuffle(array, seed = RealDate.now()) { + let length = array.length; + while (length) { + const index = Math.floor(random(seed) * length--); + const previous = array[length]; + array[length] = array[index]; + array[index] = previous; + ++seed; + } + return array; +} + +const SAFE_TIMERS_SYMBOL = Symbol("vitest:SAFE_TIMERS"); +function getSafeTimers() { + const { setTimeout: safeSetTimeout, setInterval: safeSetInterval, clearInterval: safeClearInterval, clearTimeout: safeClearTimeout, setImmediate: safeSetImmediate, clearImmediate: safeClearImmediate, queueMicrotask: safeQueueMicrotask } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis; + const { nextTick: safeNextTick } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis.process || { nextTick: (cb) => cb() }; + return { + nextTick: safeNextTick, + setTimeout: safeSetTimeout, + setInterval: safeSetInterval, + clearInterval: safeClearInterval, + clearTimeout: safeClearTimeout, + setImmediate: safeSetImmediate, + clearImmediate: safeClearImmediate, + queueMicrotask: safeQueueMicrotask + }; +} +function setSafeTimers() { + const { setTimeout: safeSetTimeout, setInterval: safeSetInterval, clearInterval: safeClearInterval, clearTimeout: safeClearTimeout, setImmediate: safeSetImmediate, clearImmediate: safeClearImmediate, queueMicrotask: safeQueueMicrotask } = globalThis; + const { nextTick: safeNextTick } = globalThis.process || { nextTick: (cb) => cb() }; + const timers = { + nextTick: safeNextTick, + setTimeout: safeSetTimeout, + setInterval: safeSetInterval, + clearInterval: safeClearInterval, + clearTimeout: safeClearTimeout, + setImmediate: safeSetImmediate, + clearImmediate: safeClearImmediate, + queueMicrotask: safeQueueMicrotask + }; + globalThis[SAFE_TIMERS_SYMBOL] = timers; +} + +export { getSafeTimers, highlight, lineSplitRE, nanoid, offsetToLineNumber, positionToOffset, setSafeTimers, shuffle }; diff --git a/node_modules/@vitest/utils/dist/source-map.d.ts b/node_modules/@vitest/utils/dist/source-map.d.ts new file mode 100644 index 0000000..0dbf924 --- /dev/null +++ b/node_modules/@vitest/utils/dist/source-map.d.ts @@ -0,0 +1,139 @@ +import { ErrorWithDiff, ParsedStack } from './types.js'; + +type GeneratedColumn = number; +type SourcesIndex = number; +type SourceLine = number; +type SourceColumn = number; +type NamesIndex = number; +type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; + +interface SourceMapV3 { + file?: string | null; + names: string[]; + sourceRoot?: string; + sources: (string | null)[]; + sourcesContent?: (string | null)[]; + version: 3; + ignoreList?: number[]; +} +interface EncodedSourceMap extends SourceMapV3 { + mappings: string; +} +interface DecodedSourceMap extends SourceMapV3 { + mappings: SourceMapSegment[][]; +} +type OriginalMapping = { + source: string | null; + line: number; + column: number; + name: string | null; +}; +type InvalidOriginalMapping = { + source: null; + line: null; + column: null; + name: null; +}; +type GeneratedMapping = { + line: number; + column: number; +}; +type InvalidGeneratedMapping = { + line: null; + column: null; +}; +type Bias = typeof GREATEST_LOWER_BOUND | typeof LEAST_UPPER_BOUND; +type XInput = { + x_google_ignoreList?: SourceMapV3['ignoreList']; +}; +type EncodedSourceMapXInput = EncodedSourceMap & XInput; +type DecodedSourceMapXInput = DecodedSourceMap & XInput; +type SourceMapInput = string | EncodedSourceMapXInput | DecodedSourceMapXInput | TraceMap; +type Needle = { + line: number; + column: number; + bias?: Bias; +}; +type SourceNeedle = { + source: string; + line: number; + column: number; + bias?: Bias; +}; +type EachMapping = { + generatedLine: number; + generatedColumn: number; + source: null; + originalLine: null; + originalColumn: null; + name: null; +} | { + generatedLine: number; + generatedColumn: number; + source: string | null; + originalLine: number; + originalColumn: number; + name: string | null; +}; +declare abstract class SourceMap { + version: SourceMapV3['version']; + file: SourceMapV3['file']; + names: SourceMapV3['names']; + sourceRoot: SourceMapV3['sourceRoot']; + sources: SourceMapV3['sources']; + sourcesContent: SourceMapV3['sourcesContent']; + resolvedSources: SourceMapV3['sources']; + ignoreList: SourceMapV3['ignoreList']; +} + +declare const LEAST_UPPER_BOUND = -1; +declare const GREATEST_LOWER_BOUND = 1; + +declare class TraceMap implements SourceMap { + version: SourceMapV3['version']; + file: SourceMapV3['file']; + names: SourceMapV3['names']; + sourceRoot: SourceMapV3['sourceRoot']; + sources: SourceMapV3['sources']; + sourcesContent: SourceMapV3['sourcesContent']; + ignoreList: SourceMapV3['ignoreList']; + resolvedSources: string[]; + private _encoded; + private _decoded; + private _decodedMemo; + private _bySources; + private _bySourceMemos; + constructor(map: SourceMapInput, mapUrl?: string | null); +} +/** + * A higher-level API to find the source/line/column associated with a generated line/column + * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in + * `source-map` library. + */ +declare function originalPositionFor(map: TraceMap, needle: Needle): OriginalMapping | InvalidOriginalMapping; +/** + * Finds the generated line/column position of the provided source/line/column source position. + */ +declare function generatedPositionFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping | InvalidGeneratedMapping; +/** + * Iterates each mapping in generated position order. + */ +declare function eachMapping(map: TraceMap, cb: (mapping: EachMapping) => void): void; + +interface StackTraceParserOptions { + ignoreStackEntries?: (RegExp | string)[]; + getSourceMap?: (file: string) => unknown; + getUrlId?: (id: string) => string; + frameFilter?: (error: ErrorWithDiff, frame: ParsedStack) => boolean | void; +} +declare function parseSingleFFOrSafariStack(raw: string): ParsedStack | null; +declare function parseSingleStack(raw: string): ParsedStack | null; +// Based on https://github.com/stacktracejs/error-stack-parser +// Credit to stacktracejs +declare function parseSingleV8Stack(raw: string): ParsedStack | null; +declare function createStackString(stacks: ParsedStack[]): string; +declare function parseStacktrace(stack: string, options?: StackTraceParserOptions): ParsedStack[]; +declare function parseErrorStacktrace(e: ErrorWithDiff, options?: StackTraceParserOptions): ParsedStack[]; + +export { TraceMap, createStackString, eachMapping, generatedPositionFor, originalPositionFor, parseErrorStacktrace, parseSingleFFOrSafariStack, parseSingleStack, parseSingleV8Stack, parseStacktrace }; +export type { EachMapping, SourceMapInput, StackTraceParserOptions }; diff --git a/node_modules/@vitest/utils/dist/source-map.js b/node_modules/@vitest/utils/dist/source-map.js new file mode 100644 index 0000000..7352dbf --- /dev/null +++ b/node_modules/@vitest/utils/dist/source-map.js @@ -0,0 +1,996 @@ +import { isPrimitive, notNullish } from './helpers.js'; + +const comma = ','.charCodeAt(0); +const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; +const intToChar = new Uint8Array(64); // 64 possible chars. +const charToInt = new Uint8Array(128); // z is 122 in ASCII +for (let i = 0; i < chars.length; i++) { + const c = chars.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; +} +function decodeInteger(reader, relative) { + let value = 0; + let shift = 0; + let integer = 0; + do { + const c = reader.next(); + integer = charToInt[c]; + value |= (integer & 31) << shift; + shift += 5; + } while (integer & 32); + const shouldNegate = value & 1; + value >>>= 1; + if (shouldNegate) { + value = -2147483648 | -value; + } + return relative + value; +} +function hasMoreVlq(reader, max) { + if (reader.pos >= max) + return false; + return reader.peek() !== comma; +} +class StringReader { + constructor(buffer) { + this.pos = 0; + this.buffer = buffer; + } + next() { + return this.buffer.charCodeAt(this.pos++); + } + peek() { + return this.buffer.charCodeAt(this.pos); + } + indexOf(char) { + const { buffer, pos } = this; + const idx = buffer.indexOf(char, pos); + return idx === -1 ? buffer.length : idx; + } +} + +function decode(mappings) { + const { length } = mappings; + const reader = new StringReader(mappings); + const decoded = []; + let genColumn = 0; + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + do { + const semi = reader.indexOf(';'); + const line = []; + let sorted = true; + let lastCol = 0; + genColumn = 0; + while (reader.pos < semi) { + let seg; + genColumn = decodeInteger(reader, genColumn); + if (genColumn < lastCol) + sorted = false; + lastCol = genColumn; + if (hasMoreVlq(reader, semi)) { + sourcesIndex = decodeInteger(reader, sourcesIndex); + sourceLine = decodeInteger(reader, sourceLine); + sourceColumn = decodeInteger(reader, sourceColumn); + if (hasMoreVlq(reader, semi)) { + namesIndex = decodeInteger(reader, namesIndex); + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]; + } + else { + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn]; + } + } + else { + seg = [genColumn]; + } + line.push(seg); + reader.pos++; + } + if (!sorted) + sort(line); + decoded.push(line); + reader.pos = semi + 1; + } while (reader.pos <= length); + return decoded; +} +function sort(line) { + line.sort(sortComparator$1); +} +function sortComparator$1(a, b) { + return a[0] - b[0]; +} + +// Matches the scheme of a URL, eg "http://" +const schemeRegex = /^[\w+.-]+:\/\//; +/** + * Matches the parts of a URL: + * 1. Scheme, including ":", guaranteed. + * 2. User/password, including "@", optional. + * 3. Host, guaranteed. + * 4. Port, including ":", optional. + * 5. Path, including "/", optional. + * 6. Query, including "?", optional. + * 7. Hash, including "#", optional. + */ +const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/; +/** + * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start + * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive). + * + * 1. Host, optional. + * 2. Path, which may include "/", guaranteed. + * 3. Query, including "?", optional. + * 4. Hash, including "#", optional. + */ +const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i; +var UrlType; +(function (UrlType) { + UrlType[UrlType["Empty"] = 1] = "Empty"; + UrlType[UrlType["Hash"] = 2] = "Hash"; + UrlType[UrlType["Query"] = 3] = "Query"; + UrlType[UrlType["RelativePath"] = 4] = "RelativePath"; + UrlType[UrlType["AbsolutePath"] = 5] = "AbsolutePath"; + UrlType[UrlType["SchemeRelative"] = 6] = "SchemeRelative"; + UrlType[UrlType["Absolute"] = 7] = "Absolute"; +})(UrlType || (UrlType = {})); +function isAbsoluteUrl(input) { + return schemeRegex.test(input); +} +function isSchemeRelativeUrl(input) { + return input.startsWith('//'); +} +function isAbsolutePath(input) { + return input.startsWith('/'); +} +function isFileUrl(input) { + return input.startsWith('file:'); +} +function isRelative(input) { + return /^[.?#]/.test(input); +} +function parseAbsoluteUrl(input) { + const match = urlRegex.exec(input); + return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || ''); +} +function parseFileUrl(input) { + const match = fileRegex.exec(input); + const path = match[2]; + return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || ''); +} +function makeUrl(scheme, user, host, port, path, query, hash) { + return { + scheme, + user, + host, + port, + path, + query, + hash, + type: UrlType.Absolute, + }; +} +function parseUrl(input) { + if (isSchemeRelativeUrl(input)) { + const url = parseAbsoluteUrl('http:' + input); + url.scheme = ''; + url.type = UrlType.SchemeRelative; + return url; + } + if (isAbsolutePath(input)) { + const url = parseAbsoluteUrl('http://foo.com' + input); + url.scheme = ''; + url.host = ''; + url.type = UrlType.AbsolutePath; + return url; + } + if (isFileUrl(input)) + return parseFileUrl(input); + if (isAbsoluteUrl(input)) + return parseAbsoluteUrl(input); + const url = parseAbsoluteUrl('http://foo.com/' + input); + url.scheme = ''; + url.host = ''; + url.type = input + ? input.startsWith('?') + ? UrlType.Query + : input.startsWith('#') + ? UrlType.Hash + : UrlType.RelativePath + : UrlType.Empty; + return url; +} +function stripPathFilename(path) { + // If a path ends with a parent directory "..", then it's a relative path with excess parent + // paths. It's not a file, so we can't strip it. + if (path.endsWith('/..')) + return path; + const index = path.lastIndexOf('/'); + return path.slice(0, index + 1); +} +function mergePaths(url, base) { + normalizePath(base, base.type); + // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative + // path). + if (url.path === '/') { + url.path = base.path; + } + else { + // Resolution happens relative to the base path's directory, not the file. + url.path = stripPathFilename(base.path) + url.path; + } +} +/** + * The path can have empty directories "//", unneeded parents "foo/..", or current directory + * "foo/.". We need to normalize to a standard representation. + */ +function normalizePath(url, type) { + const rel = type <= UrlType.RelativePath; + const pieces = url.path.split('/'); + // We need to preserve the first piece always, so that we output a leading slash. The item at + // pieces[0] is an empty string. + let pointer = 1; + // Positive is the number of real directories we've output, used for popping a parent directory. + // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo". + let positive = 0; + // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will + // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a + // real directory, we won't need to append, unless the other conditions happen again. + let addTrailingSlash = false; + for (let i = 1; i < pieces.length; i++) { + const piece = pieces[i]; + // An empty directory, could be a trailing slash, or just a double "//" in the path. + if (!piece) { + addTrailingSlash = true; + continue; + } + // If we encounter a real directory, then we don't need to append anymore. + addTrailingSlash = false; + // A current directory, which we can always drop. + if (piece === '.') + continue; + // A parent directory, we need to see if there are any real directories we can pop. Else, we + // have an excess of parents, and we'll need to keep the "..". + if (piece === '..') { + if (positive) { + addTrailingSlash = true; + positive--; + pointer--; + } + else if (rel) { + // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute + // URL, protocol relative URL, or an absolute path, we don't need to keep excess. + pieces[pointer++] = piece; + } + continue; + } + // We've encountered a real directory. Move it to the next insertion pointer, which accounts for + // any popped or dropped directories. + pieces[pointer++] = piece; + positive++; + } + let path = ''; + for (let i = 1; i < pointer; i++) { + path += '/' + pieces[i]; + } + if (!path || (addTrailingSlash && !path.endsWith('/..'))) { + path += '/'; + } + url.path = path; +} +/** + * Attempts to resolve `input` URL/path relative to `base`. + */ +function resolve$2(input, base) { + if (!input && !base) + return ''; + const url = parseUrl(input); + let inputType = url.type; + if (base && inputType !== UrlType.Absolute) { + const baseUrl = parseUrl(base); + const baseType = baseUrl.type; + switch (inputType) { + case UrlType.Empty: + url.hash = baseUrl.hash; + // fall through + case UrlType.Hash: + url.query = baseUrl.query; + // fall through + case UrlType.Query: + case UrlType.RelativePath: + mergePaths(url, baseUrl); + // fall through + case UrlType.AbsolutePath: + // The host, user, and port are joined, you can't copy one without the others. + url.user = baseUrl.user; + url.host = baseUrl.host; + url.port = baseUrl.port; + // fall through + case UrlType.SchemeRelative: + // The input doesn't have a schema at least, so we need to copy at least that over. + url.scheme = baseUrl.scheme; + } + if (baseType > inputType) + inputType = baseType; + } + normalizePath(url, inputType); + const queryHash = url.query + url.hash; + switch (inputType) { + // This is impossible, because of the empty checks at the start of the function. + // case UrlType.Empty: + case UrlType.Hash: + case UrlType.Query: + return queryHash; + case UrlType.RelativePath: { + // The first char is always a "/", and we need it to be relative. + const path = url.path.slice(1); + if (!path) + return queryHash || '.'; + if (isRelative(base || input) && !isRelative(path)) { + // If base started with a leading ".", or there is no base and input started with a ".", + // then we need to ensure that the relative path starts with a ".". We don't know if + // relative starts with a "..", though, so check before prepending. + return './' + path + queryHash; + } + return path + queryHash; + } + case UrlType.AbsolutePath: + return url.path + queryHash; + default: + return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash; + } +} + +function resolve$1(input, base) { + // The base is always treated as a directory, if it's not empty. + // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327 + // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401 + if (base && !base.endsWith('/')) + base += '/'; + return resolve$2(input, base); +} + +/** + * Removes everything after the last "/", but leaves the slash. + */ +function stripFilename(path) { + if (!path) + return ''; + const index = path.lastIndexOf('/'); + return path.slice(0, index + 1); +} + +const COLUMN = 0; +const SOURCES_INDEX = 1; +const SOURCE_LINE = 2; +const SOURCE_COLUMN = 3; +const NAMES_INDEX = 4; +const REV_GENERATED_LINE = 1; +const REV_GENERATED_COLUMN = 2; + +function maybeSort(mappings, owned) { + const unsortedIndex = nextUnsortedSegmentLine(mappings, 0); + if (unsortedIndex === mappings.length) + return mappings; + // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If + // not, we do not want to modify the consumer's input array. + if (!owned) + mappings = mappings.slice(); + for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) { + mappings[i] = sortSegments(mappings[i], owned); + } + return mappings; +} +function nextUnsortedSegmentLine(mappings, start) { + for (let i = start; i < mappings.length; i++) { + if (!isSorted(mappings[i])) + return i; + } + return mappings.length; +} +function isSorted(line) { + for (let j = 1; j < line.length; j++) { + if (line[j][COLUMN] < line[j - 1][COLUMN]) { + return false; + } + } + return true; +} +function sortSegments(line, owned) { + if (!owned) + line = line.slice(); + return line.sort(sortComparator); +} +function sortComparator(a, b) { + return a[COLUMN] - b[COLUMN]; +} + +let found = false; +/** + * A binary search implementation that returns the index if a match is found. + * If no match is found, then the left-index (the index associated with the item that comes just + * before the desired index) is returned. To maintain proper sort order, a splice would happen at + * the next index: + * + * ```js + * const array = [1, 3]; + * const needle = 2; + * const index = binarySearch(array, needle, (item, needle) => item - needle); + * + * assert.equal(index, 0); + * array.splice(index + 1, 0, needle); + * assert.deepEqual(array, [1, 2, 3]); + * ``` + */ +function binarySearch(haystack, needle, low, high) { + while (low <= high) { + const mid = low + ((high - low) >> 1); + const cmp = haystack[mid][COLUMN] - needle; + if (cmp === 0) { + found = true; + return mid; + } + if (cmp < 0) { + low = mid + 1; + } + else { + high = mid - 1; + } + } + found = false; + return low - 1; +} +function upperBound(haystack, needle, index) { + for (let i = index + 1; i < haystack.length; index = i++) { + if (haystack[i][COLUMN] !== needle) + break; + } + return index; +} +function lowerBound(haystack, needle, index) { + for (let i = index - 1; i >= 0; index = i--) { + if (haystack[i][COLUMN] !== needle) + break; + } + return index; +} +function memoizedState() { + return { + lastKey: -1, + lastNeedle: -1, + lastIndex: -1, + }; +} +/** + * This overly complicated beast is just to record the last tested line/column and the resulting + * index, allowing us to skip a few tests if mappings are monotonically increasing. + */ +function memoizedBinarySearch(haystack, needle, state, key) { + const { lastKey, lastNeedle, lastIndex } = state; + let low = 0; + let high = haystack.length - 1; + if (key === lastKey) { + if (needle === lastNeedle) { + found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle; + return lastIndex; + } + if (needle >= lastNeedle) { + // lastIndex may be -1 if the previous needle was not found. + low = lastIndex === -1 ? 0 : lastIndex; + } + else { + high = lastIndex; + } + } + state.lastKey = key; + state.lastNeedle = needle; + return (state.lastIndex = binarySearch(haystack, needle, low, high)); +} + +// Rebuilds the original source files, with mappings that are ordered by source line/column instead +// of generated line/column. +function buildBySources(decoded, memos) { + const sources = memos.map(buildNullArray); + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + if (seg.length === 1) + continue; + const sourceIndex = seg[SOURCES_INDEX]; + const sourceLine = seg[SOURCE_LINE]; + const sourceColumn = seg[SOURCE_COLUMN]; + const originalSource = sources[sourceIndex]; + const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = [])); + const memo = memos[sourceIndex]; + // The binary search either found a match, or it found the left-index just before where the + // segment should go. Either way, we want to insert after that. And there may be multiple + // generated segments associated with an original location, so there may need to move several + // indexes before we find where we need to insert. + let index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine)); + memo.lastIndex = ++index; + insert(originalLine, index, [sourceColumn, i, seg[COLUMN]]); + } + } + return sources; +} +function insert(array, index, value) { + for (let i = array.length; i > index; i--) { + array[i] = array[i - 1]; + } + array[index] = value; +} +// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like +// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations. +// Numeric properties on objects are magically sorted in ascending order by the engine regardless of +// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending +// order when iterating with for-in. +function buildNullArray() { + return { __proto__: null }; +} + +const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)'; +const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)'; +const LEAST_UPPER_BOUND = -1; +const GREATEST_LOWER_BOUND = 1; +class TraceMap { + constructor(map, mapUrl) { + const isString = typeof map === 'string'; + if (!isString && map._decodedMemo) + return map; + const parsed = (isString ? JSON.parse(map) : map); + const { version, file, names, sourceRoot, sources, sourcesContent } = parsed; + this.version = version; + this.file = file; + this.names = names || []; + this.sourceRoot = sourceRoot; + this.sources = sources; + this.sourcesContent = sourcesContent; + this.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || undefined; + const from = resolve$1(sourceRoot || '', stripFilename(mapUrl)); + this.resolvedSources = sources.map((s) => resolve$1(s || '', from)); + const { mappings } = parsed; + if (typeof mappings === 'string') { + this._encoded = mappings; + this._decoded = undefined; + } + else { + this._encoded = undefined; + this._decoded = maybeSort(mappings, isString); + } + this._decodedMemo = memoizedState(); + this._bySources = undefined; + this._bySourceMemos = undefined; + } +} +/** + * Typescript doesn't allow friend access to private fields, so this just casts the map into a type + * with public access modifiers. + */ +function cast(map) { + return map; +} +/** + * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field. + */ +function decodedMappings(map) { + var _a; + return ((_a = cast(map))._decoded || (_a._decoded = decode(cast(map)._encoded))); +} +/** + * A higher-level API to find the source/line/column associated with a generated line/column + * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in + * `source-map` library. + */ +function originalPositionFor(map, needle) { + let { line, column, bias } = needle; + line--; + if (line < 0) + throw new Error(LINE_GTR_ZERO); + if (column < 0) + throw new Error(COL_GTR_EQ_ZERO); + const decoded = decodedMappings(map); + // It's common for parent source maps to have pointers to lines that have no + // mapping (like a "//# sourceMappingURL=") at the end of the child file. + if (line >= decoded.length) + return OMapping(null, null, null, null); + const segments = decoded[line]; + const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND); + if (index === -1) + return OMapping(null, null, null, null); + const segment = segments[index]; + if (segment.length === 1) + return OMapping(null, null, null, null); + const { names, resolvedSources } = map; + return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null); +} +/** + * Finds the generated line/column position of the provided source/line/column source position. + */ +function generatedPositionFor(map, needle) { + const { source, line, column, bias } = needle; + return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false); +} +/** + * Iterates each mapping in generated position order. + */ +function eachMapping(map, cb) { + const decoded = decodedMappings(map); + const { names, resolvedSources } = map; + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + const generatedLine = i + 1; + const generatedColumn = seg[0]; + let source = null; + let originalLine = null; + let originalColumn = null; + let name = null; + if (seg.length !== 1) { + source = resolvedSources[seg[1]]; + originalLine = seg[2] + 1; + originalColumn = seg[3]; + } + if (seg.length === 5) + name = names[seg[4]]; + cb({ + generatedLine, + generatedColumn, + source, + originalLine, + originalColumn, + name, + }); + } + } +} +function OMapping(source, line, column, name) { + return { source, line, column, name }; +} +function GMapping(line, column) { + return { line, column }; +} +function traceSegmentInternal(segments, memo, line, column, bias) { + let index = memoizedBinarySearch(segments, column, memo, line); + if (found) { + index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index); + } + else if (bias === LEAST_UPPER_BOUND) + index++; + if (index === -1 || index === segments.length) + return -1; + return index; +} +function generatedPosition(map, source, line, column, bias, all) { + var _a; + line--; + if (line < 0) + throw new Error(LINE_GTR_ZERO); + if (column < 0) + throw new Error(COL_GTR_EQ_ZERO); + const { sources, resolvedSources } = map; + let sourceIndex = sources.indexOf(source); + if (sourceIndex === -1) + sourceIndex = resolvedSources.indexOf(source); + if (sourceIndex === -1) + return all ? [] : GMapping(null, null); + const generated = ((_a = cast(map))._bySources || (_a._bySources = buildBySources(decodedMappings(map), (cast(map)._bySourceMemos = sources.map(memoizedState))))); + const segments = generated[sourceIndex][line]; + if (segments == null) + return all ? [] : GMapping(null, null); + const memo = cast(map)._bySourceMemos[sourceIndex]; + const index = traceSegmentInternal(segments, memo, line, column, bias); + if (index === -1) + return GMapping(null, null); + const segment = segments[index]; + return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]); +} + +const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//; +function normalizeWindowsPath(input = "") { + if (!input) { + return input; + } + return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase()); +} +const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/; +function cwd() { + if (typeof process !== "undefined" && typeof process.cwd === "function") { + return process.cwd().replace(/\\/g, "/"); + } + return "/"; +} +const resolve = function(...arguments_) { + arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument)); + let resolvedPath = ""; + let resolvedAbsolute = false; + for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) { + const path = index >= 0 ? arguments_[index] : cwd(); + if (!path || path.length === 0) { + continue; + } + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isAbsolute(path); + } + resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute); + if (resolvedAbsolute && !isAbsolute(resolvedPath)) { + return `/${resolvedPath}`; + } + return resolvedPath.length > 0 ? resolvedPath : "."; +}; +function normalizeString(path, allowAboveRoot) { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let char = null; + for (let index = 0; index <= path.length; ++index) { + if (index < path.length) { + char = path[index]; + } else if (char === "/") { + break; + } else { + char = "/"; + } + if (char === "/") { + if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) { + if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf("/"); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf("/"); + } + lastSlash = index; + dots = 0; + continue; + } else if (res.length > 0) { + res = ""; + lastSegmentLength = 0; + lastSlash = index; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + res += res.length > 0 ? "/.." : ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) { + res += `/${path.slice(lastSlash + 1, index)}`; + } else { + res = path.slice(lastSlash + 1, index); + } + lastSegmentLength = index - lastSlash - 1; + } + lastSlash = index; + dots = 0; + } else if (char === "." && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} +const isAbsolute = function(p) { + return _IS_ABSOLUTE_RE.test(p); +}; + +const CHROME_IE_STACK_REGEXP = /^\s*at .*(?:\S:\d+|\(native\))/m; +const SAFARI_NATIVE_CODE_REGEXP = /^(?:eval@)?(?:\[native code\])?$/; +const stackIgnorePatterns = [ + "node:internal", + /\/packages\/\w+\/dist\//, + /\/@vitest\/\w+\/dist\//, + "/vitest/dist/", + "/vitest/src/", + "/vite-node/dist/", + "/vite-node/src/", + "/node_modules/chai/", + "/node_modules/tinypool/", + "/node_modules/tinyspy/", + "/deps/chunk-", + "/deps/@vitest", + "/deps/loupe", + "/deps/chai", + /node:\w+/, + /__vitest_test__/, + /__vitest_browser__/, + /\/deps\/vitest_/ +]; +function extractLocation(urlLike) { + // Fail-fast but return locations like "(native)" + if (!urlLike.includes(":")) { + return [urlLike]; + } + const regExp = /(.+?)(?::(\d+))?(?::(\d+))?$/; + const parts = regExp.exec(urlLike.replace(/^\(|\)$/g, "")); + if (!parts) { + return [urlLike]; + } + let url = parts[1]; + if (url.startsWith("async ")) { + url = url.slice(6); + } + if (url.startsWith("http:") || url.startsWith("https:")) { + const urlObj = new URL(url); + urlObj.searchParams.delete("import"); + urlObj.searchParams.delete("browserv"); + url = urlObj.pathname + urlObj.hash + urlObj.search; + } + if (url.startsWith("/@fs/")) { + const isWindows = /^\/@fs\/[a-zA-Z]:\//.test(url); + url = url.slice(isWindows ? 5 : 4); + } + return [ + url, + parts[2] || undefined, + parts[3] || undefined + ]; +} +function parseSingleFFOrSafariStack(raw) { + let line = raw.trim(); + if (SAFARI_NATIVE_CODE_REGEXP.test(line)) { + return null; + } + if (line.includes(" > eval")) { + line = line.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1"); + } + if (!line.includes("@") && !line.includes(":")) { + return null; + } + // eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/optimal-quantifier-concatenation + const functionNameRegex = /((.*".+"[^@]*)?[^@]*)(@)/; + const matches = line.match(functionNameRegex); + const functionName = matches && matches[1] ? matches[1] : undefined; + const [url, lineNumber, columnNumber] = extractLocation(line.replace(functionNameRegex, "")); + if (!url || !lineNumber || !columnNumber) { + return null; + } + return { + file: url, + method: functionName || "", + line: Number.parseInt(lineNumber), + column: Number.parseInt(columnNumber) + }; +} +function parseSingleStack(raw) { + const line = raw.trim(); + if (!CHROME_IE_STACK_REGEXP.test(line)) { + return parseSingleFFOrSafariStack(line); + } + return parseSingleV8Stack(line); +} +// Based on https://github.com/stacktracejs/error-stack-parser +// Credit to stacktracejs +function parseSingleV8Stack(raw) { + let line = raw.trim(); + if (!CHROME_IE_STACK_REGEXP.test(line)) { + return null; + } + if (line.includes("(eval ")) { + line = line.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, ""); + } + let sanitizedLine = line.replace(/^\s+/, "").replace(/\(eval code/g, "(").replace(/^.*?\s+/, ""); + // capture and preserve the parenthesized location "(/foo/my bar.js:12:87)" in + // case it has spaces in it, as the string is split on \s+ later on + const location = sanitizedLine.match(/ (\(.+\)$)/); + // remove the parenthesized location from the line, if it was matched + sanitizedLine = location ? sanitizedLine.replace(location[0], "") : sanitizedLine; + // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine + // because this line doesn't have function name + const [url, lineNumber, columnNumber] = extractLocation(location ? location[1] : sanitizedLine); + let method = location && sanitizedLine || ""; + let file = url && ["eval", ""].includes(url) ? undefined : url; + if (!file || !lineNumber || !columnNumber) { + return null; + } + if (method.startsWith("async ")) { + method = method.slice(6); + } + if (file.startsWith("file://")) { + file = file.slice(7); + } + // normalize Windows path (\ -> /) + file = file.startsWith("node:") || file.startsWith("internal:") ? file : resolve(file); + if (method) { + method = method.replace(/__vite_ssr_import_\d+__\./g, ""); + } + return { + method, + file, + line: Number.parseInt(lineNumber), + column: Number.parseInt(columnNumber) + }; +} +function createStackString(stacks) { + return stacks.map((stack) => { + const line = `${stack.file}:${stack.line}:${stack.column}`; + if (stack.method) { + return ` at ${stack.method}(${line})`; + } + return ` at ${line}`; + }).join("\n"); +} +function parseStacktrace(stack, options = {}) { + const { ignoreStackEntries = stackIgnorePatterns } = options; + const stacks = !CHROME_IE_STACK_REGEXP.test(stack) ? parseFFOrSafariStackTrace(stack) : parseV8Stacktrace(stack); + return stacks.map((stack) => { + var _options$getSourceMap; + if (options.getUrlId) { + stack.file = options.getUrlId(stack.file); + } + const map = (_options$getSourceMap = options.getSourceMap) === null || _options$getSourceMap === void 0 ? void 0 : _options$getSourceMap.call(options, stack.file); + if (!map || typeof map !== "object" || !map.version) { + return shouldFilter(ignoreStackEntries, stack.file) ? null : stack; + } + const traceMap = new TraceMap(map); + const { line, column, source, name } = originalPositionFor(traceMap, stack); + let file = stack.file; + if (source) { + const fileUrl = stack.file.startsWith("file://") ? stack.file : `file://${stack.file}`; + const sourceRootUrl = map.sourceRoot ? new URL(map.sourceRoot, fileUrl) : fileUrl; + file = new URL(source, sourceRootUrl).pathname; + // if the file path is on windows, we need to remove the leading slash + if (file.match(/\/\w:\//)) { + file = file.slice(1); + } + } + if (shouldFilter(ignoreStackEntries, file)) { + return null; + } + if (line != null && column != null) { + return { + line, + column, + file, + method: name || stack.method + }; + } + return stack; + }).filter((s) => s != null); +} +function shouldFilter(ignoreStackEntries, file) { + return ignoreStackEntries.some((p) => file.match(p)); +} +function parseFFOrSafariStackTrace(stack) { + return stack.split("\n").map((line) => parseSingleFFOrSafariStack(line)).filter(notNullish); +} +function parseV8Stacktrace(stack) { + return stack.split("\n").map((line) => parseSingleV8Stack(line)).filter(notNullish); +} +function parseErrorStacktrace(e, options = {}) { + if (!e || isPrimitive(e)) { + return []; + } + if (e.stacks) { + return e.stacks; + } + const stackStr = e.stack || ""; + // if "stack" property was overwritten at runtime to be something else, + // ignore the value because we don't know how to process it + let stackFrames = typeof stackStr === "string" ? parseStacktrace(stackStr, options) : []; + if (!stackFrames.length) { + const e_ = e; + if (e_.fileName != null && e_.lineNumber != null && e_.columnNumber != null) { + stackFrames = parseStacktrace(`${e_.fileName}:${e_.lineNumber}:${e_.columnNumber}`, options); + } + if (e_.sourceURL != null && e_.line != null && e_._column != null) { + stackFrames = parseStacktrace(`${e_.sourceURL}:${e_.line}:${e_.column}`, options); + } + } + if (options.frameFilter) { + stackFrames = stackFrames.filter((f) => options.frameFilter(e, f) !== false); + } + e.stacks = stackFrames; + return stackFrames; +} + +export { TraceMap, createStackString, eachMapping, generatedPositionFor, originalPositionFor, parseErrorStacktrace, parseSingleFFOrSafariStack, parseSingleStack, parseSingleV8Stack, parseStacktrace }; diff --git a/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts b/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts new file mode 100644 index 0000000..cba06c6 --- /dev/null +++ b/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts @@ -0,0 +1,53 @@ +import { CompareKeys } from '@vitest/pretty-format'; + +/** +* Copyright (c) Meta Platforms, Inc. and affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +type DiffOptionsColor = (arg: string) => string; +interface DiffOptions { + aAnnotation?: string; + aColor?: DiffOptionsColor; + aIndicator?: string; + bAnnotation?: string; + bColor?: DiffOptionsColor; + bIndicator?: string; + changeColor?: DiffOptionsColor; + changeLineTrailingSpaceColor?: DiffOptionsColor; + commonColor?: DiffOptionsColor; + commonIndicator?: string; + commonLineTrailingSpaceColor?: DiffOptionsColor; + contextLines?: number; + emptyFirstOrLastLinePlaceholder?: string; + expand?: boolean; + includeChangeCounts?: boolean; + omitAnnotationLines?: boolean; + patchColor?: DiffOptionsColor; + printBasicPrototype?: boolean; + maxDepth?: number; + compareKeys?: CompareKeys; + truncateThreshold?: number; + truncateAnnotation?: string; + truncateAnnotationColor?: DiffOptionsColor; +} +interface SerializedDiffOptions { + aAnnotation?: string; + aIndicator?: string; + bAnnotation?: string; + bIndicator?: string; + commonIndicator?: string; + contextLines?: number; + emptyFirstOrLastLinePlaceholder?: string; + expand?: boolean; + includeChangeCounts?: boolean; + omitAnnotationLines?: boolean; + printBasicPrototype?: boolean; + maxDepth?: number; + truncateThreshold?: number; + truncateAnnotation?: string; +} + +export type { DiffOptions as D, SerializedDiffOptions as S, DiffOptionsColor as a }; diff --git a/node_modules/@vitest/utils/dist/types.d.ts b/node_modules/@vitest/utils/dist/types.d.ts new file mode 100644 index 0000000..c341e7a --- /dev/null +++ b/node_modules/@vitest/utils/dist/types.d.ts @@ -0,0 +1,53 @@ +type Awaitable = T | PromiseLike; +type Nullable = T | null | undefined; +type Arrayable = T | Array; +type ArgumentsType = T extends (...args: infer U) => any ? U : never; +type MergeInsertions = T extends object ? { [K in keyof T] : MergeInsertions } : T; +type DeepMerge< + F, + S +> = MergeInsertions<{ [K in keyof F | keyof S] : K extends keyof S & keyof F ? DeepMerge : K extends keyof S ? S[K] : K extends keyof F ? F[K] : never }>; +type MutableArray = { -readonly [k in keyof T] : T[k] }; +interface Constructable { + new (...args: any[]): any; +} +interface ParsedStack { + method: string; + file: string; + line: number; + column: number; +} +interface SerializedError { + message: string; + stack?: string; + name?: string; + stacks?: ParsedStack[]; + cause?: SerializedError; + [key: string]: unknown; +} +interface TestError extends SerializedError { + cause?: TestError; + diff?: string; + actual?: string; + expected?: string; +} +/** +* @deprecated Use `TestError` instead +*/ +interface ErrorWithDiff { + message: string; + name?: string; + cause?: unknown; + stack?: string; + stacks?: ParsedStack[]; + showDiff?: boolean; + actual?: any; + expected?: any; + operator?: string; + type?: string; + frame?: string; + diff?: string; + codeFrame?: string; +} + +export type { ArgumentsType, Arrayable, Awaitable, Constructable, DeepMerge, ErrorWithDiff, MergeInsertions, MutableArray, Nullable, ParsedStack, SerializedError, TestError }; diff --git a/node_modules/@vitest/utils/dist/types.js b/node_modules/@vitest/utils/dist/types.js new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/node_modules/@vitest/utils/dist/types.js @@ -0,0 +1 @@ + diff --git a/node_modules/@vitest/utils/error.d.ts b/node_modules/@vitest/utils/error.d.ts new file mode 100644 index 0000000..9329baa --- /dev/null +++ b/node_modules/@vitest/utils/error.d.ts @@ -0,0 +1 @@ +export * from './dist/error.js' diff --git a/node_modules/@vitest/utils/helpers.d.ts b/node_modules/@vitest/utils/helpers.d.ts new file mode 100644 index 0000000..0add1d0 --- /dev/null +++ b/node_modules/@vitest/utils/helpers.d.ts @@ -0,0 +1 @@ +export * from './dist/helpers.js' diff --git a/node_modules/@vitest/utils/package.json b/node_modules/@vitest/utils/package.json new file mode 100644 index 0000000..febe6cc --- /dev/null +++ b/node_modules/@vitest/utils/package.json @@ -0,0 +1,77 @@ +{ + "name": "@vitest/utils", + "type": "module", + "version": "3.2.3", + "description": "Shared Vitest utility functions", + "license": "MIT", + "funding": "https://opencollective.com/vitest", + "homepage": "https://github.com/vitest-dev/vitest/tree/main/packages/utils#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vitest-dev/vitest.git", + "directory": "packages/utils" + }, + "bugs": { + "url": "https://github.com/vitest-dev/vitest/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./diff": { + "types": "./dist/diff.d.ts", + "default": "./dist/diff.js" + }, + "./ast": { + "types": "./dist/ast.d.ts", + "default": "./dist/ast.js" + }, + "./error": { + "types": "./dist/error.d.ts", + "default": "./dist/error.js" + }, + "./helpers": { + "types": "./dist/helpers.d.ts", + "default": "./dist/helpers.js" + }, + "./source-map": { + "types": "./dist/source-map.d.ts", + "default": "./dist/source-map.js" + }, + "./*": "./*" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "typesVersions": { + "*": { + "ast": [ + "dist/ast.d.ts" + ], + "source-map": [ + "dist/source-map.d.ts" + ] + } + }, + "files": [ + "*.d.ts", + "dist" + ], + "dependencies": { + "loupe": "^3.1.3", + "tinyrainbow": "^2.0.0", + "@vitest/pretty-format": "3.2.3" + }, + "devDependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "@types/estree": "^1.0.7", + "diff-sequences": "^29.6.3", + "tinyhighlight": "^0.3.2" + }, + "scripts": { + "build": "rimraf dist && rollup -c", + "dev": "rollup -c --watch" + } +} \ No newline at end of file diff --git a/node_modules/accepts/HISTORY.md b/node_modules/accepts/HISTORY.md new file mode 100644 index 0000000..627a81d --- /dev/null +++ b/node_modules/accepts/HISTORY.md @@ -0,0 +1,250 @@ +2.0.0 / 2024-08-31 +================== + + * Drop node <18 support + * deps: mime-types@^3.0.0 + * deps: negotiator@^1.0.0 + +1.3.8 / 2022-02-02 +================== + + * deps: mime-types@~2.1.34 + - deps: mime-db@~1.51.0 + * deps: negotiator@0.6.3 + +1.3.7 / 2019-04-29 +================== + + * deps: negotiator@0.6.2 + - Fix sorting charset, encoding, and language with extra parameters + +1.3.6 / 2019-04-28 +================== + + * deps: mime-types@~2.1.24 + - deps: mime-db@~1.40.0 + +1.3.5 / 2018-02-28 +================== + + * deps: mime-types@~2.1.18 + - deps: mime-db@~1.33.0 + +1.3.4 / 2017-08-22 +================== + + * deps: mime-types@~2.1.16 + - deps: mime-db@~1.29.0 + +1.3.3 / 2016-05-02 +================== + + * deps: mime-types@~2.1.11 + - deps: mime-db@~1.23.0 + * deps: negotiator@0.6.1 + - perf: improve `Accept` parsing speed + - perf: improve `Accept-Charset` parsing speed + - perf: improve `Accept-Encoding` parsing speed + - perf: improve `Accept-Language` parsing speed + +1.3.2 / 2016-03-08 +================== + + * deps: mime-types@~2.1.10 + - Fix extension of `application/dash+xml` + - Update primary extension for `audio/mp4` + - deps: mime-db@~1.22.0 + +1.3.1 / 2016-01-19 +================== + + * deps: mime-types@~2.1.9 + - deps: mime-db@~1.21.0 + +1.3.0 / 2015-09-29 +================== + + * deps: mime-types@~2.1.7 + - deps: mime-db@~1.19.0 + * deps: negotiator@0.6.0 + - Fix including type extensions in parameters in `Accept` parsing + - Fix parsing `Accept` parameters with quoted equals + - Fix parsing `Accept` parameters with quoted semicolons + - Lazy-load modules from main entry point + - perf: delay type concatenation until needed + - perf: enable strict mode + - perf: hoist regular expressions + - perf: remove closures getting spec properties + - perf: remove a closure from media type parsing + - perf: remove property delete from media type parsing + +1.2.13 / 2015-09-06 +=================== + + * deps: mime-types@~2.1.6 + - deps: mime-db@~1.18.0 + +1.2.12 / 2015-07-30 +=================== + + * deps: mime-types@~2.1.4 + - deps: mime-db@~1.16.0 + +1.2.11 / 2015-07-16 +=================== + + * deps: mime-types@~2.1.3 + - deps: mime-db@~1.15.0 + +1.2.10 / 2015-07-01 +=================== + + * deps: mime-types@~2.1.2 + - deps: mime-db@~1.14.0 + +1.2.9 / 2015-06-08 +================== + + * deps: mime-types@~2.1.1 + - perf: fix deopt during mapping + +1.2.8 / 2015-06-07 +================== + + * deps: mime-types@~2.1.0 + - deps: mime-db@~1.13.0 + * perf: avoid argument reassignment & argument slice + * perf: avoid negotiator recursive construction + * perf: enable strict mode + * perf: remove unnecessary bitwise operator + +1.2.7 / 2015-05-10 +================== + + * deps: negotiator@0.5.3 + - Fix media type parameter matching to be case-insensitive + +1.2.6 / 2015-05-07 +================== + + * deps: mime-types@~2.0.11 + - deps: mime-db@~1.9.1 + * deps: negotiator@0.5.2 + - Fix comparing media types with quoted values + - Fix splitting media types with quoted commas + +1.2.5 / 2015-03-13 +================== + + * deps: mime-types@~2.0.10 + - deps: mime-db@~1.8.0 + +1.2.4 / 2015-02-14 +================== + + * Support Node.js 0.6 + * deps: mime-types@~2.0.9 + - deps: mime-db@~1.7.0 + * deps: negotiator@0.5.1 + - Fix preference sorting to be stable for long acceptable lists + +1.2.3 / 2015-01-31 +================== + + * deps: mime-types@~2.0.8 + - deps: mime-db@~1.6.0 + +1.2.2 / 2014-12-30 +================== + + * deps: mime-types@~2.0.7 + - deps: mime-db@~1.5.0 + +1.2.1 / 2014-12-30 +================== + + * deps: mime-types@~2.0.5 + - deps: mime-db@~1.3.1 + +1.2.0 / 2014-12-19 +================== + + * deps: negotiator@0.5.0 + - Fix list return order when large accepted list + - Fix missing identity encoding when q=0 exists + - Remove dynamic building of Negotiator class + +1.1.4 / 2014-12-10 +================== + + * deps: mime-types@~2.0.4 + - deps: mime-db@~1.3.0 + +1.1.3 / 2014-11-09 +================== + + * deps: mime-types@~2.0.3 + - deps: mime-db@~1.2.0 + +1.1.2 / 2014-10-14 +================== + + * deps: negotiator@0.4.9 + - Fix error when media type has invalid parameter + +1.1.1 / 2014-09-28 +================== + + * deps: mime-types@~2.0.2 + - deps: mime-db@~1.1.0 + * deps: negotiator@0.4.8 + - Fix all negotiations to be case-insensitive + - Stable sort preferences of same quality according to client order + +1.1.0 / 2014-09-02 +================== + + * update `mime-types` + +1.0.7 / 2014-07-04 +================== + + * Fix wrong type returned from `type` when match after unknown extension + +1.0.6 / 2014-06-24 +================== + + * deps: negotiator@0.4.7 + +1.0.5 / 2014-06-20 +================== + + * fix crash when unknown extension given + +1.0.4 / 2014-06-19 +================== + + * use `mime-types` + +1.0.3 / 2014-06-11 +================== + + * deps: negotiator@0.4.6 + - Order by specificity when quality is the same + +1.0.2 / 2014-05-29 +================== + + * Fix interpretation when header not in request + * deps: pin negotiator@0.4.5 + +1.0.1 / 2014-01-18 +================== + + * Identity encoding isn't always acceptable + * deps: negotiator@~0.4.0 + +1.0.0 / 2013-12-27 +================== + + * Genesis diff --git a/node_modules/accepts/LICENSE b/node_modules/accepts/LICENSE new file mode 100644 index 0000000..0616607 --- /dev/null +++ b/node_modules/accepts/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/accepts/README.md b/node_modules/accepts/README.md new file mode 100644 index 0000000..f3f10c4 --- /dev/null +++ b/node_modules/accepts/README.md @@ -0,0 +1,140 @@ +# accepts + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][github-actions-ci-image]][github-actions-ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Higher level content negotiation based on [negotiator](https://www.npmjs.com/package/negotiator). +Extracted from [koa](https://www.npmjs.com/package/koa) for general use. + +In addition to negotiator, it allows: + +- Allows types as an array or arguments list, ie `(['text/html', 'application/json'])` + as well as `('text/html', 'application/json')`. +- Allows type shorthands such as `json`. +- Returns `false` when no types match +- Treats non-existent headers as `*` + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install accepts +``` + +## API + +```js +var accepts = require('accepts') +``` + +### accepts(req) + +Create a new `Accepts` object for the given `req`. + +#### .charset(charsets) + +Return the first accepted charset. If nothing in `charsets` is accepted, +then `false` is returned. + +#### .charsets() + +Return the charsets that the request accepts, in the order of the client's +preference (most preferred first). + +#### .encoding(encodings) + +Return the first accepted encoding. If nothing in `encodings` is accepted, +then `false` is returned. + +#### .encodings() + +Return the encodings that the request accepts, in the order of the client's +preference (most preferred first). + +#### .language(languages) + +Return the first accepted language. If nothing in `languages` is accepted, +then `false` is returned. + +#### .languages() + +Return the languages that the request accepts, in the order of the client's +preference (most preferred first). + +#### .type(types) + +Return the first accepted type (and it is returned as the same text as what +appears in the `types` array). If nothing in `types` is accepted, then `false` +is returned. + +The `types` array can contain full MIME types or file extensions. Any value +that is not a full MIME type is passed to `require('mime-types').lookup`. + +#### .types() + +Return the types that the request accepts, in the order of the client's +preference (most preferred first). + +## Examples + +### Simple type negotiation + +This simple example shows how to use `accepts` to return a different typed +respond body based on what the client wants to accept. The server lists it's +preferences in order and will get back the best match between the client and +server. + +```js +var accepts = require('accepts') +var http = require('http') + +function app (req, res) { + var accept = accepts(req) + + // the order of this list is significant; should be server preferred order + switch (accept.type(['json', 'html'])) { + case 'json': + res.setHeader('Content-Type', 'application/json') + res.write('{"hello":"world!"}') + break + case 'html': + res.setHeader('Content-Type', 'text/html') + res.write('hello, world!') + break + default: + // the fallback is text/plain, so no need to specify it above + res.setHeader('Content-Type', 'text/plain') + res.write('hello, world!') + break + } + + res.end() +} + +http.createServer(app).listen(3000) +``` + +You can test this out with the cURL program: +```sh +curl -I -H'Accept: text/html' http://localhost:3000/ +``` + +## License + +[MIT](LICENSE) + +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/accepts/master +[coveralls-url]: https://coveralls.io/r/jshttp/accepts?branch=master +[github-actions-ci-image]: https://badgen.net/github/checks/jshttp/accepts/master?label=ci +[github-actions-ci-url]: https://github.com/jshttp/accepts/actions/workflows/ci.yml +[node-version-image]: https://badgen.net/npm/node/accepts +[node-version-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/accepts +[npm-url]: https://npmjs.org/package/accepts +[npm-version-image]: https://badgen.net/npm/v/accepts diff --git a/node_modules/accepts/index.js b/node_modules/accepts/index.js new file mode 100644 index 0000000..4f2840c --- /dev/null +++ b/node_modules/accepts/index.js @@ -0,0 +1,238 @@ +/*! + * accepts + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var Negotiator = require('negotiator') +var mime = require('mime-types') + +/** + * Module exports. + * @public + */ + +module.exports = Accepts + +/** + * Create a new Accepts object for the given req. + * + * @param {object} req + * @public + */ + +function Accepts (req) { + if (!(this instanceof Accepts)) { + return new Accepts(req) + } + + this.headers = req.headers + this.negotiator = new Negotiator(req) +} + +/** + * Check if the given `type(s)` is acceptable, returning + * the best match when true, otherwise `undefined`, in which + * case you should respond with 406 "Not Acceptable". + * + * The `type` value may be a single mime type string + * such as "application/json", the extension name + * such as "json" or an array `["json", "html", "text/plain"]`. When a list + * or array is given the _best_ match, if any is returned. + * + * Examples: + * + * // Accept: text/html + * this.types('html'); + * // => "html" + * + * // Accept: text/*, application/json + * this.types('html'); + * // => "html" + * this.types('text/html'); + * // => "text/html" + * this.types('json', 'text'); + * // => "json" + * this.types('application/json'); + * // => "application/json" + * + * // Accept: text/*, application/json + * this.types('image/png'); + * this.types('png'); + * // => undefined + * + * // Accept: text/*;q=.5, application/json + * this.types(['html', 'json']); + * this.types('html', 'json'); + * // => "json" + * + * @param {String|Array} types... + * @return {String|Array|Boolean} + * @public + */ + +Accepts.prototype.type = +Accepts.prototype.types = function (types_) { + var types = types_ + + // support flattened arguments + if (types && !Array.isArray(types)) { + types = new Array(arguments.length) + for (var i = 0; i < types.length; i++) { + types[i] = arguments[i] + } + } + + // no types, return all requested types + if (!types || types.length === 0) { + return this.negotiator.mediaTypes() + } + + // no accept header, return first given type + if (!this.headers.accept) { + return types[0] + } + + var mimes = types.map(extToMime) + var accepts = this.negotiator.mediaTypes(mimes.filter(validMime)) + var first = accepts[0] + + return first + ? types[mimes.indexOf(first)] + : false +} + +/** + * Return accepted encodings or best fit based on `encodings`. + * + * Given `Accept-Encoding: gzip, deflate` + * an array sorted by quality is returned: + * + * ['gzip', 'deflate'] + * + * @param {String|Array} encodings... + * @return {String|Array} + * @public + */ + +Accepts.prototype.encoding = +Accepts.prototype.encodings = function (encodings_) { + var encodings = encodings_ + + // support flattened arguments + if (encodings && !Array.isArray(encodings)) { + encodings = new Array(arguments.length) + for (var i = 0; i < encodings.length; i++) { + encodings[i] = arguments[i] + } + } + + // no encodings, return all requested encodings + if (!encodings || encodings.length === 0) { + return this.negotiator.encodings() + } + + return this.negotiator.encodings(encodings)[0] || false +} + +/** + * Return accepted charsets or best fit based on `charsets`. + * + * Given `Accept-Charset: utf-8, iso-8859-1;q=0.2, utf-7;q=0.5` + * an array sorted by quality is returned: + * + * ['utf-8', 'utf-7', 'iso-8859-1'] + * + * @param {String|Array} charsets... + * @return {String|Array} + * @public + */ + +Accepts.prototype.charset = +Accepts.prototype.charsets = function (charsets_) { + var charsets = charsets_ + + // support flattened arguments + if (charsets && !Array.isArray(charsets)) { + charsets = new Array(arguments.length) + for (var i = 0; i < charsets.length; i++) { + charsets[i] = arguments[i] + } + } + + // no charsets, return all requested charsets + if (!charsets || charsets.length === 0) { + return this.negotiator.charsets() + } + + return this.negotiator.charsets(charsets)[0] || false +} + +/** + * Return accepted languages or best fit based on `langs`. + * + * Given `Accept-Language: en;q=0.8, es, pt` + * an array sorted by quality is returned: + * + * ['es', 'pt', 'en'] + * + * @param {String|Array} langs... + * @return {Array|String} + * @public + */ + +Accepts.prototype.lang = +Accepts.prototype.langs = +Accepts.prototype.language = +Accepts.prototype.languages = function (languages_) { + var languages = languages_ + + // support flattened arguments + if (languages && !Array.isArray(languages)) { + languages = new Array(arguments.length) + for (var i = 0; i < languages.length; i++) { + languages[i] = arguments[i] + } + } + + // no languages, return all requested languages + if (!languages || languages.length === 0) { + return this.negotiator.languages() + } + + return this.negotiator.languages(languages)[0] || false +} + +/** + * Convert extnames to mime. + * + * @param {String} type + * @return {String} + * @private + */ + +function extToMime (type) { + return type.indexOf('/') === -1 + ? mime.lookup(type) + : type +} + +/** + * Check if mime is valid. + * + * @param {String} type + * @return {Boolean} + * @private + */ + +function validMime (type) { + return typeof type === 'string' +} diff --git a/node_modules/accepts/package.json b/node_modules/accepts/package.json new file mode 100644 index 0000000..b35b262 --- /dev/null +++ b/node_modules/accepts/package.json @@ -0,0 +1,47 @@ +{ + "name": "accepts", + "description": "Higher-level content negotiation", + "version": "2.0.0", + "contributors": [ + "Douglas Christopher Wilson ", + "Jonathan Ong (http://jongleberry.com)" + ], + "license": "MIT", + "repository": "jshttp/accepts", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "devDependencies": { + "deep-equal": "1.0.1", + "eslint": "7.32.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.25.4", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "4.3.1", + "eslint-plugin-standard": "4.1.0", + "mocha": "9.2.0", + "nyc": "15.1.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + }, + "keywords": [ + "content", + "negotiation", + "accept", + "accepts" + ] +} diff --git a/node_modules/asap/CHANGES.md b/node_modules/asap/CHANGES.md new file mode 100644 index 0000000..f105b91 --- /dev/null +++ b/node_modules/asap/CHANGES.md @@ -0,0 +1,70 @@ + +## 2.0.6 + +Version 2.0.4 adds support for React Native by clarifying in package.json that +the browser environment does not support Node.js domains. +Why this is necessary, we leave as an exercise for the user. + +## 2.0.3 + +Version 2.0.3 fixes a bug when adjusting the capacity of the task queue. + +## 2.0.1-2.02 + +Version 2.0.1 fixes a bug in the way redirects were expressed that affected the +function of Browserify, but which Mr would tolerate. + +## 2.0.0 + +Version 2 of ASAP is a full rewrite with a few salient changes. +First, the ASAP source is CommonJS only and designed with [Browserify][] and +[Browserify-compatible][Mr] module loaders in mind. + +[Browserify]: https://github.com/substack/node-browserify +[Mr]: https://github.com/montagejs/mr + +The new version has been refactored in two dimensions. +Support for Node.js and browsers have been separated, using Browserify +redirects and ASAP has been divided into two modules. +The "raw" layer depends on the tasks to catch thrown exceptions and unravel +Node.js domains. + +The full implementation of ASAP is loadable as `require("asap")` in both Node.js +and browsers. + +The raw layer that lacks exception handling overhead is loadable as +`require("asap/raw")`. +The interface is the same for both layers. + +Tasks are no longer required to be functions, but can rather be any object that +implements `task.call()`. +With this feature you can recycle task objects to avoid garbage collector churn +and avoid closures in general. + +The implementation has been rigorously documented so that our successors can +understand the scope of the problem that this module solves and all of its +nuances, ensuring that the next generation of implementations know what details +are essential. + +- [asap.js](https://github.com/kriskowal/asap/blob/master/asap.js) +- [raw.js](https://github.com/kriskowal/asap/blob/master/raw.js) +- [browser-asap.js](https://github.com/kriskowal/asap/blob/master/browser-asap.js) +- [browser-raw.js](https://github.com/kriskowal/asap/blob/master/browser-raw.js) + +The new version has also been rigorously tested across a broad spectrum of +browsers, in both the window and worker context. +The following charts capture the browser test results for the most recent +release. +The first chart shows test results for ASAP running in the main window context. +The second chart shows test results for ASAP running in a web worker context. +Test results are inconclusive (grey) on browsers that do not support web +workers. +These data are captured automatically by [Continuous +Integration][]. + +![Browser Compatibility](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-results-matrix.svg) + +![Compatibility in Web Workers](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-worker-results-matrix.svg) + +[Continuous Integration]: https://github.com/kriskowal/asap/blob/master/CONTRIBUTING.md + diff --git a/node_modules/asap/LICENSE.md b/node_modules/asap/LICENSE.md new file mode 100644 index 0000000..ba18c61 --- /dev/null +++ b/node_modules/asap/LICENSE.md @@ -0,0 +1,21 @@ + +Copyright 2009–2014 Contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + diff --git a/node_modules/asap/README.md b/node_modules/asap/README.md new file mode 100644 index 0000000..452fd8c --- /dev/null +++ b/node_modules/asap/README.md @@ -0,0 +1,237 @@ +# ASAP + +[![Build Status](https://travis-ci.org/kriskowal/asap.png?branch=master)](https://travis-ci.org/kriskowal/asap) + +Promise and asynchronous observer libraries, as well as hand-rolled callback +programs and libraries, often need a mechanism to postpone the execution of a +callback until the next available event. +(See [Designing API’s for Asynchrony][Zalgo].) +The `asap` function executes a task **as soon as possible** but not before it +returns, waiting only for the completion of the current event and previously +scheduled tasks. + +```javascript +asap(function () { + // ... +}); +``` + +[Zalgo]: http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony + +This CommonJS package provides an `asap` module that exports a function that +executes a task function *as soon as possible*. + +ASAP strives to schedule events to occur before yielding for IO, reflow, +or redrawing. +Each event receives an independent stack, with only platform code in parent +frames and the events run in the order they are scheduled. + +ASAP provides a fast event queue that will execute tasks until it is +empty before yielding to the JavaScript engine's underlying event-loop. +When a task gets added to a previously empty event queue, ASAP schedules a flush +event, preferring for that event to occur before the JavaScript engine has an +opportunity to perform IO tasks or rendering, thus making the first task and +subsequent tasks semantically indistinguishable. +ASAP uses a variety of techniques to preserve this invariant on different +versions of browsers and Node.js. + +By design, ASAP prevents input events from being handled until the task +queue is empty. +If the process is busy enough, this may cause incoming connection requests to be +dropped, and may cause existing connections to inform the sender to reduce the +transmission rate or stall. +ASAP allows this on the theory that, if there is enough work to do, there is no +sense in looking for trouble. +As a consequence, ASAP can interfere with smooth animation. +If your task should be tied to the rendering loop, consider using +`requestAnimationFrame` instead. +A long sequence of tasks can also effect the long running script dialog. +If this is a problem, you may be able to use ASAP’s cousin `setImmediate` to +break long processes into shorter intervals and periodically allow the browser +to breathe. +`setImmediate` will yield for IO, reflow, and repaint events. +It also returns a handler and can be canceled. +For a `setImmediate` shim, consider [YuzuJS setImmediate][setImmediate]. + +[setImmediate]: https://github.com/YuzuJS/setImmediate + +Take care. +ASAP can sustain infinite recursive calls without warning. +It will not halt from a stack overflow, and it will not consume unbounded +memory. +This is behaviorally equivalent to an infinite loop. +Just as with infinite loops, you can monitor a Node.js process for this behavior +with a heart-beat signal. +As with infinite loops, a very small amount of caution goes a long way to +avoiding problems. + +```javascript +function loop() { + asap(loop); +} +loop(); +``` + +In browsers, if a task throws an exception, it will not interrupt the flushing +of high-priority tasks. +The exception will be postponed to a later, low-priority event to avoid +slow-downs. +In Node.js, if a task throws an exception, ASAP will resume flushing only if—and +only after—the error is handled by `domain.on("error")` or +`process.on("uncaughtException")`. + +## Raw ASAP + +Checking for exceptions comes at a cost. +The package also provides an `asap/raw` module that exports the underlying +implementation which is faster but stalls if a task throws an exception. +This internal version of the ASAP function does not check for errors. +If a task does throw an error, it will stall the event queue unless you manually +call `rawAsap.requestFlush()` before throwing the error, or any time after. + +In Node.js, `asap/raw` also runs all tasks outside any domain. +If you need a task to be bound to your domain, you will have to do it manually. + +```js +if (process.domain) { + task = process.domain.bind(task); +} +rawAsap(task); +``` + +## Tasks + +A task may be any object that implements `call()`. +A function will suffice, but closures tend not to be reusable and can cause +garbage collector churn. +Both `asap` and `rawAsap` accept task objects to give you the option of +recycling task objects or using higher callable object abstractions. +See the `asap` source for an illustration. + + +## Compatibility + +ASAP is tested on Node.js v0.10 and in a broad spectrum of web browsers. +The following charts capture the browser test results for the most recent +release. +The first chart shows test results for ASAP running in the main window context. +The second chart shows test results for ASAP running in a web worker context. +Test results are inconclusive (grey) on browsers that do not support web +workers. +These data are captured automatically by [Continuous +Integration][]. + +[Continuous Integration]: https://github.com/kriskowal/asap/blob/master/CONTRIBUTING.md + +![Browser Compatibility](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-results-matrix.svg) + +![Compatibility in Web Workers](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-worker-results-matrix.svg) + +## Caveats + +When a task is added to an empty event queue, it is not always possible to +guarantee that the task queue will begin flushing immediately after the current +event. +However, once the task queue begins flushing, it will not yield until the queue +is empty, even if the queue grows while executing tasks. + +The following browsers allow the use of [DOM mutation observers][] to access +the HTML [microtask queue][], and thus begin flushing ASAP's task queue +immediately at the end of the current event loop turn, before any rendering or +IO: + +[microtask queue]: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#microtask-queue +[DOM mutation observers]: http://dom.spec.whatwg.org/#mutation-observers + +- Android 4–4.3 +- Chrome 26–34 +- Firefox 14–29 +- Internet Explorer 11 +- iPad Safari 6–7.1 +- iPhone Safari 7–7.1 +- Safari 6–7 + +In the absense of mutation observers, there are a few browsers, and situations +like web workers in some of the above browsers, where [message channels][] +would be a useful way to avoid falling back to timers. +Message channels give direct access to the HTML [task queue][], so the ASAP +task queue would flush after any already queued rendering and IO tasks, but +without having the minimum delay imposed by timers. +However, among these browsers, Internet Explorer 10 and Safari do not reliably +dispatch messages, so they are not worth the trouble to implement. + +[message channels]: http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#message-channels +[task queue]: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#concept-task + +- Internet Explorer 10 +- Safair 5.0-1 +- Opera 11-12 + +In the absense of mutation observers, these browsers and the following browsers +all fall back to using `setTimeout` and `setInterval` to ensure that a `flush` +occurs. +The implementation uses both and cancels whatever handler loses the race, since +`setTimeout` tends to occasionally skip tasks in unisolated circumstances. +Timers generally delay the flushing of ASAP's task queue for four milliseconds. + +- Firefox 3–13 +- Internet Explorer 6–10 +- iPad Safari 4.3 +- Lynx 2.8.7 + + +## Heritage + +ASAP has been factored out of the [Q][] asynchronous promise library. +It originally had a naïve implementation in terms of `setTimeout`, but +[Malte Ubl][NonBlocking] provided an insight that `postMessage` might be +useful for creating a high-priority, no-delay event dispatch hack. +Since then, Internet Explorer proposed and implemented `setImmediate`. +Robert Katić began contributing to Q by measuring the performance of +the internal implementation of `asap`, paying particular attention to +error recovery. +Domenic, Robert, and Kris Kowal collectively settled on the current strategy of +unrolling the high-priority event queue internally regardless of what strategy +we used to dispatch the potentially lower-priority flush event. +Domenic went on to make ASAP cooperate with Node.js domains. + +[Q]: https://github.com/kriskowal/q +[NonBlocking]: http://www.nonblocking.io/2011/06/windownexttick.html + +For further reading, Nicholas Zakas provided a thorough article on [The +Case for setImmediate][NCZ]. + +[NCZ]: http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/ + +Ember’s RSVP promise implementation later [adopted][RSVP ASAP] the name ASAP but +further developed the implentation. +Particularly, The `MessagePort` implementation was abandoned due to interaction +[problems with Mobile Internet Explorer][IE Problems] in favor of an +implementation backed on the newer and more reliable DOM `MutationObserver` +interface. +These changes were back-ported into this library. + +[IE Problems]: https://github.com/cujojs/when/issues/197 +[RSVP ASAP]: https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js + +In addition, ASAP factored into `asap` and `asap/raw`, such that `asap` remained +exception-safe, but `asap/raw` provided a tight kernel that could be used for +tasks that guaranteed that they would not throw exceptions. +This core is useful for promise implementations that capture thrown errors in +rejected promises and do not need a second safety net. +At the same time, the exception handling in `asap` was factored into separate +implementations for Node.js and browsers, using the the [Browserify][Browser +Config] `browser` property in `package.json` to instruct browser module loaders +and bundlers, including [Browserify][], [Mr][], and [Mop][], to use the +browser-only implementation. + +[Browser Config]: https://gist.github.com/defunctzombie/4339901 +[Browserify]: https://github.com/substack/node-browserify +[Mr]: https://github.com/montagejs/mr +[Mop]: https://github.com/montagejs/mop + +## License + +Copyright 2009-2014 by Contributors +MIT License (enclosed) + diff --git a/node_modules/asap/asap.js b/node_modules/asap/asap.js new file mode 100644 index 0000000..f04fcd5 --- /dev/null +++ b/node_modules/asap/asap.js @@ -0,0 +1,65 @@ +"use strict"; + +var rawAsap = require("./raw"); +var freeTasks = []; + +/** + * Calls a task as soon as possible after returning, in its own event, with + * priority over IO events. An exception thrown in a task can be handled by + * `process.on("uncaughtException") or `domain.on("error")`, but will otherwise + * crash the process. If the error is handled, all subsequent tasks will + * resume. + * + * @param {{call}} task A callable object, typically a function that takes no + * arguments. + */ +module.exports = asap; +function asap(task) { + var rawTask; + if (freeTasks.length) { + rawTask = freeTasks.pop(); + } else { + rawTask = new RawTask(); + } + rawTask.task = task; + rawTask.domain = process.domain; + rawAsap(rawTask); +} + +function RawTask() { + this.task = null; + this.domain = null; +} + +RawTask.prototype.call = function () { + if (this.domain) { + this.domain.enter(); + } + var threw = true; + try { + this.task.call(); + threw = false; + // If the task throws an exception (presumably) Node.js restores the + // domain stack for the next event. + if (this.domain) { + this.domain.exit(); + } + } finally { + // We use try/finally and a threw flag to avoid messing up stack traces + // when we catch and release errors. + if (threw) { + // In Node.js, uncaught exceptions are considered fatal errors. + // Re-throw them to interrupt flushing! + // Ensure that flushing continues if an uncaught exception is + // suppressed listening process.on("uncaughtException") or + // domain.on("error"). + rawAsap.requestFlush(); + } + // If the task threw an error, we do not want to exit the domain here. + // Exiting the domain would prevent the domain from catching the error. + this.task = null; + this.domain = null; + freeTasks.push(this); + } +}; + diff --git a/node_modules/asap/browser-asap.js b/node_modules/asap/browser-asap.js new file mode 100644 index 0000000..805c982 --- /dev/null +++ b/node_modules/asap/browser-asap.js @@ -0,0 +1,66 @@ +"use strict"; + +// rawAsap provides everything we need except exception management. +var rawAsap = require("./raw"); +// RawTasks are recycled to reduce GC churn. +var freeTasks = []; +// We queue errors to ensure they are thrown in right order (FIFO). +// Array-as-queue is good enough here, since we are just dealing with exceptions. +var pendingErrors = []; +var requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError); + +function throwFirstError() { + if (pendingErrors.length) { + throw pendingErrors.shift(); + } +} + +/** + * Calls a task as soon as possible after returning, in its own event, with priority + * over other events like animation, reflow, and repaint. An error thrown from an + * event will not interrupt, nor even substantially slow down the processing of + * other events, but will be rather postponed to a lower priority event. + * @param {{call}} task A callable object, typically a function that takes no + * arguments. + */ +module.exports = asap; +function asap(task) { + var rawTask; + if (freeTasks.length) { + rawTask = freeTasks.pop(); + } else { + rawTask = new RawTask(); + } + rawTask.task = task; + rawAsap(rawTask); +} + +// We wrap tasks with recyclable task objects. A task object implements +// `call`, just like a function. +function RawTask() { + this.task = null; +} + +// The sole purpose of wrapping the task is to catch the exception and recycle +// the task object after its single use. +RawTask.prototype.call = function () { + try { + this.task.call(); + } catch (error) { + if (asap.onerror) { + // This hook exists purely for testing purposes. + // Its name will be periodically randomized to break any code that + // depends on its existence. + asap.onerror(error); + } else { + // In a web browser, exceptions are not fatal. However, to avoid + // slowing down the queue of pending tasks, we rethrow the error in a + // lower priority turn. + pendingErrors.push(error); + requestErrorThrow(); + } + } finally { + this.task = null; + freeTasks[freeTasks.length] = this; + } +}; diff --git a/node_modules/asap/browser-raw.js b/node_modules/asap/browser-raw.js new file mode 100644 index 0000000..9cee7e3 --- /dev/null +++ b/node_modules/asap/browser-raw.js @@ -0,0 +1,223 @@ +"use strict"; + +// Use the fastest means possible to execute a task in its own turn, with +// priority over other events including IO, animation, reflow, and redraw +// events in browsers. +// +// An exception thrown by a task will permanently interrupt the processing of +// subsequent tasks. The higher level `asap` function ensures that if an +// exception is thrown by a task, that the task queue will continue flushing as +// soon as possible, but if you use `rawAsap` directly, you are responsible to +// either ensure that no exceptions are thrown from your task, or to manually +// call `rawAsap.requestFlush` if an exception is thrown. +module.exports = rawAsap; +function rawAsap(task) { + if (!queue.length) { + requestFlush(); + flushing = true; + } + // Equivalent to push, but avoids a function call. + queue[queue.length] = task; +} + +var queue = []; +// Once a flush has been requested, no further calls to `requestFlush` are +// necessary until the next `flush` completes. +var flushing = false; +// `requestFlush` is an implementation-specific method that attempts to kick +// off a `flush` event as quickly as possible. `flush` will attempt to exhaust +// the event queue before yielding to the browser's own event loop. +var requestFlush; +// The position of the next task to execute in the task queue. This is +// preserved between calls to `flush` so that it can be resumed if +// a task throws an exception. +var index = 0; +// If a task schedules additional tasks recursively, the task queue can grow +// unbounded. To prevent memory exhaustion, the task queue will periodically +// truncate already-completed tasks. +var capacity = 1024; + +// The flush function processes all tasks that have been scheduled with +// `rawAsap` unless and until one of those tasks throws an exception. +// If a task throws an exception, `flush` ensures that its state will remain +// consistent and will resume where it left off when called again. +// However, `flush` does not make any arrangements to be called again if an +// exception is thrown. +function flush() { + while (index < queue.length) { + var currentIndex = index; + // Advance the index before calling the task. This ensures that we will + // begin flushing on the next task the task throws an error. + index = index + 1; + queue[currentIndex].call(); + // Prevent leaking memory for long chains of recursive calls to `asap`. + // If we call `asap` within tasks scheduled by `asap`, the queue will + // grow, but to avoid an O(n) walk for every task we execute, we don't + // shift tasks off the queue after they have been executed. + // Instead, we periodically shift 1024 tasks off the queue. + if (index > capacity) { + // Manually shift all values starting at the index back to the + // beginning of the queue. + for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { + queue[scan] = queue[scan + index]; + } + queue.length -= index; + index = 0; + } + } + queue.length = 0; + index = 0; + flushing = false; +} + +// `requestFlush` is implemented using a strategy based on data collected from +// every available SauceLabs Selenium web driver worker at time of writing. +// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593 + +// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that +// have WebKitMutationObserver but not un-prefixed MutationObserver. +// Must use `global` or `self` instead of `window` to work in both frames and web +// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop. + +/* globals self */ +var scope = typeof global !== "undefined" ? global : self; +var BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver; + +// MutationObservers are desirable because they have high priority and work +// reliably everywhere they are implemented. +// They are implemented in all modern browsers. +// +// - Android 4-4.3 +// - Chrome 26-34 +// - Firefox 14-29 +// - Internet Explorer 11 +// - iPad Safari 6-7.1 +// - iPhone Safari 7-7.1 +// - Safari 6-7 +if (typeof BrowserMutationObserver === "function") { + requestFlush = makeRequestCallFromMutationObserver(flush); + +// MessageChannels are desirable because they give direct access to the HTML +// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera +// 11-12, and in web workers in many engines. +// Although message channels yield to any queued rendering and IO tasks, they +// would be better than imposing the 4ms delay of timers. +// However, they do not work reliably in Internet Explorer or Safari. + +// Internet Explorer 10 is the only browser that has setImmediate but does +// not have MutationObservers. +// Although setImmediate yields to the browser's renderer, it would be +// preferrable to falling back to setTimeout since it does not have +// the minimum 4ms penalty. +// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and +// Desktop to a lesser extent) that renders both setImmediate and +// MessageChannel useless for the purposes of ASAP. +// https://github.com/kriskowal/q/issues/396 + +// Timers are implemented universally. +// We fall back to timers in workers in most engines, and in foreground +// contexts in the following browsers. +// However, note that even this simple case requires nuances to operate in a +// broad spectrum of browsers. +// +// - Firefox 3-13 +// - Internet Explorer 6-9 +// - iPad Safari 4.3 +// - Lynx 2.8.7 +} else { + requestFlush = makeRequestCallFromTimer(flush); +} + +// `requestFlush` requests that the high priority event queue be flushed as +// soon as possible. +// This is useful to prevent an error thrown in a task from stalling the event +// queue if the exception handled by Node.js’s +// `process.on("uncaughtException")` or by a domain. +rawAsap.requestFlush = requestFlush; + +// To request a high priority event, we induce a mutation observer by toggling +// the text of a text node between "1" and "-1". +function makeRequestCallFromMutationObserver(callback) { + var toggle = 1; + var observer = new BrowserMutationObserver(callback); + var node = document.createTextNode(""); + observer.observe(node, {characterData: true}); + return function requestCall() { + toggle = -toggle; + node.data = toggle; + }; +} + +// The message channel technique was discovered by Malte Ubl and was the +// original foundation for this library. +// http://www.nonblocking.io/2011/06/windownexttick.html + +// Safari 6.0.5 (at least) intermittently fails to create message ports on a +// page's first load. Thankfully, this version of Safari supports +// MutationObservers, so we don't need to fall back in that case. + +// function makeRequestCallFromMessageChannel(callback) { +// var channel = new MessageChannel(); +// channel.port1.onmessage = callback; +// return function requestCall() { +// channel.port2.postMessage(0); +// }; +// } + +// For reasons explained above, we are also unable to use `setImmediate` +// under any circumstances. +// Even if we were, there is another bug in Internet Explorer 10. +// It is not sufficient to assign `setImmediate` to `requestFlush` because +// `setImmediate` must be called *by name* and therefore must be wrapped in a +// closure. +// Never forget. + +// function makeRequestCallFromSetImmediate(callback) { +// return function requestCall() { +// setImmediate(callback); +// }; +// } + +// Safari 6.0 has a problem where timers will get lost while the user is +// scrolling. This problem does not impact ASAP because Safari 6.0 supports +// mutation observers, so that implementation is used instead. +// However, if we ever elect to use timers in Safari, the prevalent work-around +// is to add a scroll event listener that calls for a flush. + +// `setTimeout` does not call the passed callback if the delay is less than +// approximately 7 in web workers in Firefox 8 through 18, and sometimes not +// even then. + +function makeRequestCallFromTimer(callback) { + return function requestCall() { + // We dispatch a timeout with a specified delay of 0 for engines that + // can reliably accommodate that request. This will usually be snapped + // to a 4 milisecond delay, but once we're flushing, there's no delay + // between events. + var timeoutHandle = setTimeout(handleTimer, 0); + // However, since this timer gets frequently dropped in Firefox + // workers, we enlist an interval handle that will try to fire + // an event 20 times per second until it succeeds. + var intervalHandle = setInterval(handleTimer, 50); + + function handleTimer() { + // Whichever timer succeeds will cancel both timers and + // execute the callback. + clearTimeout(timeoutHandle); + clearInterval(intervalHandle); + callback(); + } + }; +} + +// This is for `asap.js` only. +// Its name will be periodically randomized to break any code that depends on +// its existence. +rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer; + +// ASAP was originally a nextTick shim included in Q. This was factored out +// into this ASAP package. It was later adapted to RSVP which made further +// amendments. These decisions, particularly to marginalize MessageChannel and +// to capture the MutationObserver implementation in a closure, were integrated +// back into ASAP proper. +// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js diff --git a/node_modules/asap/package.json b/node_modules/asap/package.json new file mode 100644 index 0000000..ae9f303 --- /dev/null +++ b/node_modules/asap/package.json @@ -0,0 +1,58 @@ +{ + "name": "asap", + "version": "2.0.6", + "description": "High-priority task queue for Node.js and browsers", + "keywords": [ + "event", + "task", + "queue" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/kriskowal/asap.git" + }, + "main": "./asap.js", + "browser": { + "./asap": "./browser-asap.js", + "./asap.js": "./browser-asap.js", + "./raw": "./browser-raw.js", + "./raw.js": "./browser-raw.js", + "./test/domain.js": "./test/browser-domain.js" + }, + "react-native": { + "domain": false + }, + "files": [ + "raw.js", + "asap.js", + "browser-raw.js", + "browser-asap.js" + ], + "scripts": { + "test": "npm run lint && npm run test-node", + "test-travis": "npm run lint && npm run test-node && npm run test-saucelabs && npm run test-saucelabs-worker", + "test-node": "node test/asap-test.js", + "test-publish": "node scripts/publish-bundle.js test/asap-test.js | pbcopy", + "test-browser": "node scripts/publish-bundle.js test/asap-test.js | xargs opener", + "test-saucelabs": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-spot-configurations.json", + "test-saucelabs-all": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-all-configurations.json", + "test-saucelabs-worker": "node scripts/saucelabs-worker-test.js scripts/saucelabs-spot-configurations.json", + "test-saucelabs-worker-all": "node scripts/saucelabs-worker-test.js scripts/saucelabs-all-configurations.json", + "lint": "jshint raw.js asap.js browser-raw.js browser-asap.js $(find scripts -name '*.js' | grep -v gauntlet)", + "benchmarks": "node benchmarks" + }, + "devDependencies": { + "events": "^1.0.1", + "jshint": "^2.5.1", + "knox": "^0.8.10", + "mr": "^2.0.5", + "opener": "^1.3.0", + "q": "^2.0.3", + "q-io": "^2.0.3", + "saucelabs": "^0.1.1", + "wd": "^0.2.21", + "weak-map": "^1.0.5", + "benchmark": "^1.0.0" + } +} diff --git a/node_modules/asap/raw.js b/node_modules/asap/raw.js new file mode 100644 index 0000000..ae3b892 --- /dev/null +++ b/node_modules/asap/raw.js @@ -0,0 +1,101 @@ +"use strict"; + +var domain; // The domain module is executed on demand +var hasSetImmediate = typeof setImmediate === "function"; + +// Use the fastest means possible to execute a task in its own turn, with +// priority over other events including network IO events in Node.js. +// +// An exception thrown by a task will permanently interrupt the processing of +// subsequent tasks. The higher level `asap` function ensures that if an +// exception is thrown by a task, that the task queue will continue flushing as +// soon as possible, but if you use `rawAsap` directly, you are responsible to +// either ensure that no exceptions are thrown from your task, or to manually +// call `rawAsap.requestFlush` if an exception is thrown. +module.exports = rawAsap; +function rawAsap(task) { + if (!queue.length) { + requestFlush(); + flushing = true; + } + // Avoids a function call + queue[queue.length] = task; +} + +var queue = []; +// Once a flush has been requested, no further calls to `requestFlush` are +// necessary until the next `flush` completes. +var flushing = false; +// The position of the next task to execute in the task queue. This is +// preserved between calls to `flush` so that it can be resumed if +// a task throws an exception. +var index = 0; +// If a task schedules additional tasks recursively, the task queue can grow +// unbounded. To prevent memory excaustion, the task queue will periodically +// truncate already-completed tasks. +var capacity = 1024; + +// The flush function processes all tasks that have been scheduled with +// `rawAsap` unless and until one of those tasks throws an exception. +// If a task throws an exception, `flush` ensures that its state will remain +// consistent and will resume where it left off when called again. +// However, `flush` does not make any arrangements to be called again if an +// exception is thrown. +function flush() { + while (index < queue.length) { + var currentIndex = index; + // Advance the index before calling the task. This ensures that we will + // begin flushing on the next task the task throws an error. + index = index + 1; + queue[currentIndex].call(); + // Prevent leaking memory for long chains of recursive calls to `asap`. + // If we call `asap` within tasks scheduled by `asap`, the queue will + // grow, but to avoid an O(n) walk for every task we execute, we don't + // shift tasks off the queue after they have been executed. + // Instead, we periodically shift 1024 tasks off the queue. + if (index > capacity) { + // Manually shift all values starting at the index back to the + // beginning of the queue. + for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { + queue[scan] = queue[scan + index]; + } + queue.length -= index; + index = 0; + } + } + queue.length = 0; + index = 0; + flushing = false; +} + +rawAsap.requestFlush = requestFlush; +function requestFlush() { + // Ensure flushing is not bound to any domain. + // It is not sufficient to exit the domain, because domains exist on a stack. + // To execute code outside of any domain, the following dance is necessary. + var parentDomain = process.domain; + if (parentDomain) { + if (!domain) { + // Lazy execute the domain module. + // Only employed if the user elects to use domains. + domain = require("domain"); + } + domain.active = process.domain = null; + } + + // `setImmediate` is slower that `process.nextTick`, but `process.nextTick` + // cannot handle recursion. + // `requestFlush` will only be called recursively from `asap.js`, to resume + // flushing after an error is thrown into a domain. + // Conveniently, `setImmediate` was introduced in the same version + // `process.nextTick` started throwing recursion errors. + if (flushing && hasSetImmediate) { + setImmediate(flush); + } else { + process.nextTick(flush); + } + + if (parentDomain) { + domain.active = process.domain = parentDomain; + } +} diff --git a/node_modules/assertion-error/LICENSE b/node_modules/assertion-error/LICENSE new file mode 100644 index 0000000..5e9f3ac --- /dev/null +++ b/node_modules/assertion-error/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2013 Jake Luer jake@qualiancy.com (http://qualiancy.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/assertion-error/README.md b/node_modules/assertion-error/README.md new file mode 100644 index 0000000..37c3928 --- /dev/null +++ b/node_modules/assertion-error/README.md @@ -0,0 +1,68 @@ +

    + AssertionError and AssertionResult classes. +

    + +

    + + build:? + + downloads:? + + devDependencies:none + +

    + +## What is AssertionError? + +Assertion Error is a module that contains two classes: `AssertionError`, which +is an instance of an `Error`, and `AssertionResult` which is not an instance of +Error. + +These can be useful for returning from a function - if the function "succeeds" +return an `AssertionResult` and if the function fails return (or throw) an +`AssertionError`. + +Both `AssertionError` and `AssertionResult` implement the `Result` interface: + +```typescript +interface Result { + name: "AssertionError" | "AssertionResult"; + ok: boolean; + toJSON(...args: unknown[]): Record; +} +``` + +So if a function returns `AssertionResult | AssertionError` it is easy to check +_which_ one is returned by checking either `.name` or `.ok`, or check +`instanceof Error`. + +## Installation + +### Node.js + +`assertion-error` is available on [npm](http://npmjs.org). + +``` +$ npm install --save assertion-error +``` + +### Deno + +`assertion_error` is available on +[Deno.land](https://deno.land/x/assertion_error) + +```typescript +import { + AssertionError, + AssertionResult, +} from "https://deno.land/x/assertion_error@2.0.0/mod.ts"; +``` diff --git a/node_modules/assertion-error/index.d.ts b/node_modules/assertion-error/index.d.ts new file mode 100644 index 0000000..d8fda2c --- /dev/null +++ b/node_modules/assertion-error/index.d.ts @@ -0,0 +1,27 @@ +interface Result { + name: "AssertionError" | "AssertionResult"; + ok: boolean; + toJSON(...args: unknown[]): Record; +} + +declare class AssertionError extends Error implements Result { + [key: string]: unknown + name: "AssertionError"; + ok: false; + message: string; + // deno-lint-ignore ban-types + constructor(message: string, props?: T, ssf?: Function); + stack: string; + toJSON(stack?: boolean): Record; +} + +declare class AssertionResult implements Result { + [key: string]: unknown + name: "AssertionResult"; + ok: true; + message: string; + constructor(props?: T); + toJSON(): Record; +} + +export { AssertionError, AssertionResult, Result }; diff --git a/node_modules/assertion-error/index.js b/node_modules/assertion-error/index.js new file mode 100644 index 0000000..2bfcb81 --- /dev/null +++ b/node_modules/assertion-error/index.js @@ -0,0 +1,60 @@ +// deno-fmt-ignore-file +// deno-lint-ignore-file +// This code was bundled using `deno bundle` and it's not recommended to edit it manually + +const canElideFrames = "captureStackTrace" in Error; +class AssertionError extends Error { + message; + get name() { + return "AssertionError"; + } + get ok() { + return false; + } + constructor(message = "Unspecified AssertionError", props, ssf){ + super(message); + this.message = message; + if (canElideFrames) { + Error.captureStackTrace(this, ssf || AssertionError); + } + for(const key in props){ + if (!(key in this)) { + this[key] = props[key]; + } + } + } + toJSON(stack) { + return { + ...this, + name: this.name, + message: this.message, + ok: false, + stack: stack !== false ? this.stack : undefined + }; + } +} +class AssertionResult { + get name() { + return "AssertionResult"; + } + get ok() { + return true; + } + constructor(props){ + for(const key in props){ + if (!(key in this)) { + this[key] = props[key]; + } + } + } + toJSON() { + return { + ...this, + name: this.name, + ok: this.ok + }; + } +} +export { AssertionError as AssertionError }; +export { AssertionResult as AssertionResult }; + diff --git a/node_modules/assertion-error/package.json b/node_modules/assertion-error/package.json new file mode 100644 index 0000000..02dc0f5 --- /dev/null +++ b/node_modules/assertion-error/package.json @@ -0,0 +1,32 @@ +{ + "name": "assertion-error", + "version": "2.0.1", + "description": "Error constructor for test and validation frameworks that implements standardized AssertionError specification.", + "author": "Jake Luer (http://qualiancy.com)", + "license": "MIT", + "types": "./index.d.ts", + "keywords": [ + "test", + "assertion", + "assertion-error" + ], + "repository": { + "type": "git", + "url": "git@github.com:chaijs/assertion-error.git" + }, + "engines": { + "node": ">=12" + }, + "files": [ + "index.d.ts" + ], + "type": "module", + "module": "index.js", + "main": "index.js", + "scripts": { + "build": "deno bundle mod.ts > index.js", + "pretest": "rm -rf coverage/", + "test": "deno test --coverage=coverage", + "posttest": "deno coverage coverage --lcov > coverage/lcov.info && lcov --summary coverage/lcov.info" + } +} diff --git a/node_modules/asynckit/LICENSE b/node_modules/asynckit/LICENSE new file mode 100644 index 0000000..c9eca5d --- /dev/null +++ b/node_modules/asynckit/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Alex Indigo + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/asynckit/README.md b/node_modules/asynckit/README.md new file mode 100644 index 0000000..ddcc7e6 --- /dev/null +++ b/node_modules/asynckit/README.md @@ -0,0 +1,233 @@ +# asynckit [![NPM Module](https://img.shields.io/npm/v/asynckit.svg?style=flat)](https://www.npmjs.com/package/asynckit) + +Minimal async jobs utility library, with streams support. + +[![PhantomJS Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=browser&style=flat)](https://travis-ci.org/alexindigo/asynckit) +[![Linux Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=linux:0.12-6.x&style=flat)](https://travis-ci.org/alexindigo/asynckit) +[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/asynckit/v0.4.0.svg?label=windows:0.12-6.x&style=flat)](https://ci.appveyor.com/project/alexindigo/asynckit) + +[![Coverage Status](https://img.shields.io/coveralls/alexindigo/asynckit/v0.4.0.svg?label=code+coverage&style=flat)](https://coveralls.io/github/alexindigo/asynckit?branch=master) +[![Dependency Status](https://img.shields.io/david/alexindigo/asynckit/v0.4.0.svg?style=flat)](https://david-dm.org/alexindigo/asynckit) +[![bitHound Overall Score](https://www.bithound.io/github/alexindigo/asynckit/badges/score.svg)](https://www.bithound.io/github/alexindigo/asynckit) + + + +AsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects. +Optionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method. + +It ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators. + +| compression | size | +| :----------------- | -------: | +| asynckit.js | 12.34 kB | +| asynckit.min.js | 4.11 kB | +| asynckit.min.js.gz | 1.47 kB | + + +## Install + +```sh +$ npm install --save asynckit +``` + +## Examples + +### Parallel Jobs + +Runs iterator over provided array in parallel. Stores output in the `result` array, +on the matching positions. In unlikely event of an error from one of the jobs, +will terminate rest of the active jobs (if abort function is provided) +and return error along with salvaged data to the main callback function. + +#### Input Array + +```javascript +var parallel = require('asynckit').parallel + , assert = require('assert') + ; + +var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] + , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] + , target = [] + ; + +parallel(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); +}); + +// async job accepts one element from the array +// and a callback function +function asyncJob(item, cb) +{ + // different delays (in ms) per item + var delay = item * 25; + + // pretend different jobs take different time to finish + // and not in consequential order + var timeoutId = setTimeout(function() { + target.push(item); + cb(null, item * 2); + }, delay); + + // allow to cancel "leftover" jobs upon error + // return function, invoking of which will abort this job + return clearTimeout.bind(null, timeoutId); +} +``` + +More examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js). + +#### Input Object + +Also it supports named jobs, listed via object. + +```javascript +var parallel = require('asynckit/parallel') + , assert = require('assert') + ; + +var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } + , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } + , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] + , expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ] + , target = [] + , keys = [] + ; + +parallel(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); + assert.deepEqual(keys, expectedKeys); +}); + +// supports full value, key, callback (shortcut) interface +function asyncJob(item, key, cb) +{ + // different delays (in ms) per item + var delay = item * 25; + + // pretend different jobs take different time to finish + // and not in consequential order + var timeoutId = setTimeout(function() { + keys.push(key); + target.push(item); + cb(null, item * 2); + }, delay); + + // allow to cancel "leftover" jobs upon error + // return function, invoking of which will abort this job + return clearTimeout.bind(null, timeoutId); +} +``` + +More examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js). + +### Serial Jobs + +Runs iterator over provided array sequentially. Stores output in the `result` array, +on the matching positions. In unlikely event of an error from one of the jobs, +will not proceed to the rest of the items in the list +and return error along with salvaged data to the main callback function. + +#### Input Array + +```javascript +var serial = require('asynckit/serial') + , assert = require('assert') + ; + +var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] + , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] + , target = [] + ; + +serial(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); +}); + +// extended interface (item, key, callback) +// also supported for arrays +function asyncJob(item, key, cb) +{ + target.push(key); + + // it will be automatically made async + // even it iterator "returns" in the same event loop + cb(null, item * 2); +} +``` + +More examples could be found in [test/test-serial-array.js](test/test-serial-array.js). + +#### Input Object + +Also it supports named jobs, listed via object. + +```javascript +var serial = require('asynckit').serial + , assert = require('assert') + ; + +var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] + , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] + , target = [] + ; + +var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } + , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } + , expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , target = [] + ; + + +serial(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); +}); + +// shortcut interface (item, callback) +// works for object as well as for the arrays +function asyncJob(item, cb) +{ + target.push(item); + + // it will be automatically made async + // even it iterator "returns" in the same event loop + cb(null, item * 2); +} +``` + +More examples could be found in [test/test-serial-object.js](test/test-serial-object.js). + +_Note: Since _object_ is an _unordered_ collection of properties, +it may produce unexpected results with sequential iterations. +Whenever order of the jobs' execution is important please use `serialOrdered` method._ + +### Ordered Serial Iterations + +TBD + +For example [compare-property](compare-property) package. + +### Streaming interface + +TBD + +## Want to Know More? + +More examples can be found in [test folder](test/). + +Or open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions. + +## License + +AsyncKit is licensed under the MIT license. diff --git a/node_modules/asynckit/bench.js b/node_modules/asynckit/bench.js new file mode 100644 index 0000000..c612f1a --- /dev/null +++ b/node_modules/asynckit/bench.js @@ -0,0 +1,76 @@ +/* eslint no-console: "off" */ + +var asynckit = require('./') + , async = require('async') + , assert = require('assert') + , expected = 0 + ; + +var Benchmark = require('benchmark'); +var suite = new Benchmark.Suite; + +var source = []; +for (var z = 1; z < 100; z++) +{ + source.push(z); + expected += z; +} + +suite +// add tests + +.add('async.map', function(deferred) +{ + var total = 0; + + async.map(source, + function(i, cb) + { + setImmediate(function() + { + total += i; + cb(null, total); + }); + }, + function(err, result) + { + assert.ifError(err); + assert.equal(result[result.length - 1], expected); + deferred.resolve(); + }); +}, {'defer': true}) + + +.add('asynckit.parallel', function(deferred) +{ + var total = 0; + + asynckit.parallel(source, + function(i, cb) + { + setImmediate(function() + { + total += i; + cb(null, total); + }); + }, + function(err, result) + { + assert.ifError(err); + assert.equal(result[result.length - 1], expected); + deferred.resolve(); + }); +}, {'defer': true}) + + +// add listeners +.on('cycle', function(ev) +{ + console.log(String(ev.target)); +}) +.on('complete', function() +{ + console.log('Fastest is ' + this.filter('fastest').map('name')); +}) +// run async +.run({ 'async': true }); diff --git a/node_modules/asynckit/index.js b/node_modules/asynckit/index.js new file mode 100644 index 0000000..455f945 --- /dev/null +++ b/node_modules/asynckit/index.js @@ -0,0 +1,6 @@ +module.exports = +{ + parallel : require('./parallel.js'), + serial : require('./serial.js'), + serialOrdered : require('./serialOrdered.js') +}; diff --git a/node_modules/asynckit/lib/abort.js b/node_modules/asynckit/lib/abort.js new file mode 100644 index 0000000..114367e --- /dev/null +++ b/node_modules/asynckit/lib/abort.js @@ -0,0 +1,29 @@ +// API +module.exports = abort; + +/** + * Aborts leftover active jobs + * + * @param {object} state - current state object + */ +function abort(state) +{ + Object.keys(state.jobs).forEach(clean.bind(state)); + + // reset leftover jobs + state.jobs = {}; +} + +/** + * Cleans up leftover job by invoking abort function for the provided job id + * + * @this state + * @param {string|number} key - job id to abort + */ +function clean(key) +{ + if (typeof this.jobs[key] == 'function') + { + this.jobs[key](); + } +} diff --git a/node_modules/asynckit/lib/async.js b/node_modules/asynckit/lib/async.js new file mode 100644 index 0000000..7f1288a --- /dev/null +++ b/node_modules/asynckit/lib/async.js @@ -0,0 +1,34 @@ +var defer = require('./defer.js'); + +// API +module.exports = async; + +/** + * Runs provided callback asynchronously + * even if callback itself is not + * + * @param {function} callback - callback to invoke + * @returns {function} - augmented callback + */ +function async(callback) +{ + var isAsync = false; + + // check if async happened + defer(function() { isAsync = true; }); + + return function async_callback(err, result) + { + if (isAsync) + { + callback(err, result); + } + else + { + defer(function nextTick_callback() + { + callback(err, result); + }); + } + }; +} diff --git a/node_modules/asynckit/lib/defer.js b/node_modules/asynckit/lib/defer.js new file mode 100644 index 0000000..b67110c --- /dev/null +++ b/node_modules/asynckit/lib/defer.js @@ -0,0 +1,26 @@ +module.exports = defer; + +/** + * Runs provided function on next iteration of the event loop + * + * @param {function} fn - function to run + */ +function defer(fn) +{ + var nextTick = typeof setImmediate == 'function' + ? setImmediate + : ( + typeof process == 'object' && typeof process.nextTick == 'function' + ? process.nextTick + : null + ); + + if (nextTick) + { + nextTick(fn); + } + else + { + setTimeout(fn, 0); + } +} diff --git a/node_modules/asynckit/lib/iterate.js b/node_modules/asynckit/lib/iterate.js new file mode 100644 index 0000000..5d2839a --- /dev/null +++ b/node_modules/asynckit/lib/iterate.js @@ -0,0 +1,75 @@ +var async = require('./async.js') + , abort = require('./abort.js') + ; + +// API +module.exports = iterate; + +/** + * Iterates over each job object + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {object} state - current job status + * @param {function} callback - invoked when all elements processed + */ +function iterate(list, iterator, state, callback) +{ + // store current index + var key = state['keyedList'] ? state['keyedList'][state.index] : state.index; + + state.jobs[key] = runJob(iterator, key, list[key], function(error, output) + { + // don't repeat yourself + // skip secondary callbacks + if (!(key in state.jobs)) + { + return; + } + + // clean up jobs + delete state.jobs[key]; + + if (error) + { + // don't process rest of the results + // stop still active jobs + // and reset the list + abort(state); + } + else + { + state.results[key] = output; + } + + // return salvaged results + callback(error, state.results); + }); +} + +/** + * Runs iterator over provided job element + * + * @param {function} iterator - iterator to invoke + * @param {string|number} key - key/index of the element in the list of jobs + * @param {mixed} item - job description + * @param {function} callback - invoked after iterator is done with the job + * @returns {function|mixed} - job abort function or something else + */ +function runJob(iterator, key, item, callback) +{ + var aborter; + + // allow shortcut if iterator expects only two arguments + if (iterator.length == 2) + { + aborter = iterator(item, async(callback)); + } + // otherwise go with full three arguments + else + { + aborter = iterator(item, key, async(callback)); + } + + return aborter; +} diff --git a/node_modules/asynckit/lib/readable_asynckit.js b/node_modules/asynckit/lib/readable_asynckit.js new file mode 100644 index 0000000..78ad240 --- /dev/null +++ b/node_modules/asynckit/lib/readable_asynckit.js @@ -0,0 +1,91 @@ +var streamify = require('./streamify.js') + , defer = require('./defer.js') + ; + +// API +module.exports = ReadableAsyncKit; + +/** + * Base constructor for all streams + * used to hold properties/methods + */ +function ReadableAsyncKit() +{ + ReadableAsyncKit.super_.apply(this, arguments); + + // list of active jobs + this.jobs = {}; + + // add stream methods + this.destroy = destroy; + this._start = _start; + this._read = _read; +} + +/** + * Destroys readable stream, + * by aborting outstanding jobs + * + * @returns {void} + */ +function destroy() +{ + if (this.destroyed) + { + return; + } + + this.destroyed = true; + + if (typeof this.terminator == 'function') + { + this.terminator(); + } +} + +/** + * Starts provided jobs in async manner + * + * @private + */ +function _start() +{ + // first argument – runner function + var runner = arguments[0] + // take away first argument + , args = Array.prototype.slice.call(arguments, 1) + // second argument - input data + , input = args[0] + // last argument - result callback + , endCb = streamify.callback.call(this, args[args.length - 1]) + ; + + args[args.length - 1] = endCb; + // third argument - iterator + args[1] = streamify.iterator.call(this, args[1]); + + // allow time for proper setup + defer(function() + { + if (!this.destroyed) + { + this.terminator = runner.apply(null, args); + } + else + { + endCb(null, Array.isArray(input) ? [] : {}); + } + }.bind(this)); +} + + +/** + * Implement _read to comply with Readable streams + * Doesn't really make sense for flowing object mode + * + * @private + */ +function _read() +{ + +} diff --git a/node_modules/asynckit/lib/readable_parallel.js b/node_modules/asynckit/lib/readable_parallel.js new file mode 100644 index 0000000..5d2929f --- /dev/null +++ b/node_modules/asynckit/lib/readable_parallel.js @@ -0,0 +1,25 @@ +var parallel = require('../parallel.js'); + +// API +module.exports = ReadableParallel; + +/** + * Streaming wrapper to `asynckit.parallel` + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {stream.Readable#} + */ +function ReadableParallel(list, iterator, callback) +{ + if (!(this instanceof ReadableParallel)) + { + return new ReadableParallel(list, iterator, callback); + } + + // turn on object mode + ReadableParallel.super_.call(this, {objectMode: true}); + + this._start(parallel, list, iterator, callback); +} diff --git a/node_modules/asynckit/lib/readable_serial.js b/node_modules/asynckit/lib/readable_serial.js new file mode 100644 index 0000000..7822698 --- /dev/null +++ b/node_modules/asynckit/lib/readable_serial.js @@ -0,0 +1,25 @@ +var serial = require('../serial.js'); + +// API +module.exports = ReadableSerial; + +/** + * Streaming wrapper to `asynckit.serial` + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {stream.Readable#} + */ +function ReadableSerial(list, iterator, callback) +{ + if (!(this instanceof ReadableSerial)) + { + return new ReadableSerial(list, iterator, callback); + } + + // turn on object mode + ReadableSerial.super_.call(this, {objectMode: true}); + + this._start(serial, list, iterator, callback); +} diff --git a/node_modules/asynckit/lib/readable_serial_ordered.js b/node_modules/asynckit/lib/readable_serial_ordered.js new file mode 100644 index 0000000..3de89c4 --- /dev/null +++ b/node_modules/asynckit/lib/readable_serial_ordered.js @@ -0,0 +1,29 @@ +var serialOrdered = require('../serialOrdered.js'); + +// API +module.exports = ReadableSerialOrdered; +// expose sort helpers +module.exports.ascending = serialOrdered.ascending; +module.exports.descending = serialOrdered.descending; + +/** + * Streaming wrapper to `asynckit.serialOrdered` + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} sortMethod - custom sort function + * @param {function} callback - invoked when all elements processed + * @returns {stream.Readable#} + */ +function ReadableSerialOrdered(list, iterator, sortMethod, callback) +{ + if (!(this instanceof ReadableSerialOrdered)) + { + return new ReadableSerialOrdered(list, iterator, sortMethod, callback); + } + + // turn on object mode + ReadableSerialOrdered.super_.call(this, {objectMode: true}); + + this._start(serialOrdered, list, iterator, sortMethod, callback); +} diff --git a/node_modules/asynckit/lib/state.js b/node_modules/asynckit/lib/state.js new file mode 100644 index 0000000..cbea7ad --- /dev/null +++ b/node_modules/asynckit/lib/state.js @@ -0,0 +1,37 @@ +// API +module.exports = state; + +/** + * Creates initial state object + * for iteration over list + * + * @param {array|object} list - list to iterate over + * @param {function|null} sortMethod - function to use for keys sort, + * or `null` to keep them as is + * @returns {object} - initial state object + */ +function state(list, sortMethod) +{ + var isNamedList = !Array.isArray(list) + , initState = + { + index : 0, + keyedList: isNamedList || sortMethod ? Object.keys(list) : null, + jobs : {}, + results : isNamedList ? {} : [], + size : isNamedList ? Object.keys(list).length : list.length + } + ; + + if (sortMethod) + { + // sort array keys based on it's values + // sort object's keys just on own merit + initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) + { + return sortMethod(list[a], list[b]); + }); + } + + return initState; +} diff --git a/node_modules/asynckit/lib/streamify.js b/node_modules/asynckit/lib/streamify.js new file mode 100644 index 0000000..f56a1c9 --- /dev/null +++ b/node_modules/asynckit/lib/streamify.js @@ -0,0 +1,141 @@ +var async = require('./async.js'); + +// API +module.exports = { + iterator: wrapIterator, + callback: wrapCallback +}; + +/** + * Wraps iterators with long signature + * + * @this ReadableAsyncKit# + * @param {function} iterator - function to wrap + * @returns {function} - wrapped function + */ +function wrapIterator(iterator) +{ + var stream = this; + + return function(item, key, cb) + { + var aborter + , wrappedCb = async(wrapIteratorCallback.call(stream, cb, key)) + ; + + stream.jobs[key] = wrappedCb; + + // it's either shortcut (item, cb) + if (iterator.length == 2) + { + aborter = iterator(item, wrappedCb); + } + // or long format (item, key, cb) + else + { + aborter = iterator(item, key, wrappedCb); + } + + return aborter; + }; +} + +/** + * Wraps provided callback function + * allowing to execute snitch function before + * real callback + * + * @this ReadableAsyncKit# + * @param {function} callback - function to wrap + * @returns {function} - wrapped function + */ +function wrapCallback(callback) +{ + var stream = this; + + var wrapped = function(error, result) + { + return finisher.call(stream, error, result, callback); + }; + + return wrapped; +} + +/** + * Wraps provided iterator callback function + * makes sure snitch only called once, + * but passes secondary calls to the original callback + * + * @this ReadableAsyncKit# + * @param {function} callback - callback to wrap + * @param {number|string} key - iteration key + * @returns {function} wrapped callback + */ +function wrapIteratorCallback(callback, key) +{ + var stream = this; + + return function(error, output) + { + // don't repeat yourself + if (!(key in stream.jobs)) + { + callback(error, output); + return; + } + + // clean up jobs + delete stream.jobs[key]; + + return streamer.call(stream, error, {key: key, value: output}, callback); + }; +} + +/** + * Stream wrapper for iterator callback + * + * @this ReadableAsyncKit# + * @param {mixed} error - error response + * @param {mixed} output - iterator output + * @param {function} callback - callback that expects iterator results + */ +function streamer(error, output, callback) +{ + if (error && !this.error) + { + this.error = error; + this.pause(); + this.emit('error', error); + // send back value only, as expected + callback(error, output && output.value); + return; + } + + // stream stuff + this.push(output); + + // back to original track + // send back value only, as expected + callback(error, output && output.value); +} + +/** + * Stream wrapper for finishing callback + * + * @this ReadableAsyncKit# + * @param {mixed} error - error response + * @param {mixed} output - iterator output + * @param {function} callback - callback that expects final results + */ +function finisher(error, output, callback) +{ + // signal end of the stream + // only for successfully finished streams + if (!error) + { + this.push(null); + } + + // back to original track + callback(error, output); +} diff --git a/node_modules/asynckit/lib/terminator.js b/node_modules/asynckit/lib/terminator.js new file mode 100644 index 0000000..d6eb992 --- /dev/null +++ b/node_modules/asynckit/lib/terminator.js @@ -0,0 +1,29 @@ +var abort = require('./abort.js') + , async = require('./async.js') + ; + +// API +module.exports = terminator; + +/** + * Terminates jobs in the attached state context + * + * @this AsyncKitState# + * @param {function} callback - final callback to invoke after termination + */ +function terminator(callback) +{ + if (!Object.keys(this.jobs).length) + { + return; + } + + // fast forward iteration index + this.index = this.size; + + // abort jobs + abort(this); + + // send back results we have so far + async(callback)(null, this.results); +} diff --git a/node_modules/asynckit/package.json b/node_modules/asynckit/package.json new file mode 100644 index 0000000..51147d6 --- /dev/null +++ b/node_modules/asynckit/package.json @@ -0,0 +1,63 @@ +{ + "name": "asynckit", + "version": "0.4.0", + "description": "Minimal async jobs utility library, with streams support", + "main": "index.js", + "scripts": { + "clean": "rimraf coverage", + "lint": "eslint *.js lib/*.js test/*.js", + "test": "istanbul cover --reporter=json tape -- 'test/test-*.js' | tap-spec", + "win-test": "tape test/test-*.js", + "browser": "browserify -t browserify-istanbul test/lib/browserify_adjustment.js test/test-*.js | obake --coverage | tap-spec", + "report": "istanbul report", + "size": "browserify index.js | size-table asynckit", + "debug": "tape test/test-*.js" + }, + "pre-commit": [ + "clean", + "lint", + "test", + "browser", + "report", + "size" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/alexindigo/asynckit.git" + }, + "keywords": [ + "async", + "jobs", + "parallel", + "serial", + "iterator", + "array", + "object", + "stream", + "destroy", + "terminate", + "abort" + ], + "author": "Alex Indigo ", + "license": "MIT", + "bugs": { + "url": "https://github.com/alexindigo/asynckit/issues" + }, + "homepage": "https://github.com/alexindigo/asynckit#readme", + "devDependencies": { + "browserify": "^13.0.0", + "browserify-istanbul": "^2.0.0", + "coveralls": "^2.11.9", + "eslint": "^2.9.0", + "istanbul": "^0.4.3", + "obake": "^0.1.2", + "phantomjs-prebuilt": "^2.1.7", + "pre-commit": "^1.1.3", + "reamde": "^1.1.0", + "rimraf": "^2.5.2", + "size-table": "^0.2.0", + "tap-spec": "^4.1.1", + "tape": "^4.5.1" + }, + "dependencies": {} +} diff --git a/node_modules/asynckit/parallel.js b/node_modules/asynckit/parallel.js new file mode 100644 index 0000000..3c50344 --- /dev/null +++ b/node_modules/asynckit/parallel.js @@ -0,0 +1,43 @@ +var iterate = require('./lib/iterate.js') + , initState = require('./lib/state.js') + , terminator = require('./lib/terminator.js') + ; + +// Public API +module.exports = parallel; + +/** + * Runs iterator over provided array elements in parallel + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function parallel(list, iterator, callback) +{ + var state = initState(list); + + while (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, function(error, result) + { + if (error) + { + callback(error, result); + return; + } + + // looks like it's the last one + if (Object.keys(state.jobs).length === 0) + { + callback(null, state.results); + return; + } + }); + + state.index++; + } + + return terminator.bind(state, callback); +} diff --git a/node_modules/asynckit/serial.js b/node_modules/asynckit/serial.js new file mode 100644 index 0000000..6cd949a --- /dev/null +++ b/node_modules/asynckit/serial.js @@ -0,0 +1,17 @@ +var serialOrdered = require('./serialOrdered.js'); + +// Public API +module.exports = serial; + +/** + * Runs iterator over provided array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serial(list, iterator, callback) +{ + return serialOrdered(list, iterator, null, callback); +} diff --git a/node_modules/asynckit/serialOrdered.js b/node_modules/asynckit/serialOrdered.js new file mode 100644 index 0000000..607eafe --- /dev/null +++ b/node_modules/asynckit/serialOrdered.js @@ -0,0 +1,75 @@ +var iterate = require('./lib/iterate.js') + , initState = require('./lib/state.js') + , terminator = require('./lib/terminator.js') + ; + +// Public API +module.exports = serialOrdered; +// sorting helpers +module.exports.ascending = ascending; +module.exports.descending = descending; + +/** + * Runs iterator over provided sorted array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} sortMethod - custom sort function + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serialOrdered(list, iterator, sortMethod, callback) +{ + var state = initState(list, sortMethod); + + iterate(list, iterator, state, function iteratorHandler(error, result) + { + if (error) + { + callback(error, result); + return; + } + + state.index++; + + // are we there yet? + if (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, iteratorHandler); + return; + } + + // done here + callback(null, state.results); + }); + + return terminator.bind(state, callback); +} + +/* + * -- Sort methods + */ + +/** + * sort helper to sort array elements in ascending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function ascending(a, b) +{ + return a < b ? -1 : a > b ? 1 : 0; +} + +/** + * sort helper to sort array elements in descending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function descending(a, b) +{ + return -1 * ascending(a, b); +} diff --git a/node_modules/asynckit/stream.js b/node_modules/asynckit/stream.js new file mode 100644 index 0000000..d43465f --- /dev/null +++ b/node_modules/asynckit/stream.js @@ -0,0 +1,21 @@ +var inherits = require('util').inherits + , Readable = require('stream').Readable + , ReadableAsyncKit = require('./lib/readable_asynckit.js') + , ReadableParallel = require('./lib/readable_parallel.js') + , ReadableSerial = require('./lib/readable_serial.js') + , ReadableSerialOrdered = require('./lib/readable_serial_ordered.js') + ; + +// API +module.exports = +{ + parallel : ReadableParallel, + serial : ReadableSerial, + serialOrdered : ReadableSerialOrdered, +}; + +inherits(ReadableAsyncKit, Readable); + +inherits(ReadableParallel, ReadableAsyncKit); +inherits(ReadableSerial, ReadableAsyncKit); +inherits(ReadableSerialOrdered, ReadableAsyncKit); diff --git a/node_modules/body-parser/HISTORY.md b/node_modules/body-parser/HISTORY.md new file mode 100644 index 0000000..17dd110 --- /dev/null +++ b/node_modules/body-parser/HISTORY.md @@ -0,0 +1,731 @@ +2.2.0 / 2025-03-27 +========================= + +* refactor: normalize common options for all parsers +* deps: + * iconv-lite@^0.6.3 + +2.1.0 / 2025-02-10 +========================= + +* deps: + * type-is@^2.0.0 + * debug@^4.4.0 + * Removed destroy +* refactor: prefix built-in node module imports +* use the node require cache instead of custom caching + +2.0.2 / 2024-10-31 +========================= + +* remove `unpipe` package and use native `unpipe()` method + +2.0.1 / 2024-09-10 +========================= + +* Restore expected behavior `extended` to `false` + +2.0.0 / 2024-09-10 +========================= +* Propagate changes from 1.20.3 +* add brotli support #406 +* Breaking Change: Node.js 18 is the minimum supported version + +2.0.0-beta.2 / 2023-02-23 +========================= + +This incorporates all changes after 1.19.1 up to 1.20.2. + + * Remove deprecated `bodyParser()` combination middleware + * deps: debug@3.1.0 + - Add `DEBUG_HIDE_DATE` environment variable + - Change timer to per-namespace instead of global + - Change non-TTY date format + - Remove `DEBUG_FD` environment variable support + - Support 256 namespace colors + * deps: iconv-lite@0.5.2 + - Add encoding cp720 + - Add encoding UTF-32 + * deps: raw-body@3.0.0-beta.1 + +2.0.0-beta.1 / 2021-12-17 +========================= + + * Drop support for Node.js 0.8 + * `req.body` is no longer always initialized to `{}` + - it is left `undefined` unless a body is parsed + * `urlencoded` parser now defaults `extended` to `false` + * Use `on-finished` to determine when body read + +1.20.3 / 2024-09-10 +=================== + + * deps: qs@6.13.0 + * add `depth` option to customize the depth level in the parser + * IMPORTANT: The default `depth` level for parsing URL-encoded data is now `32` (previously was `Infinity`) + +1.20.2 / 2023-02-21 +=================== + + * Fix strict json error message on Node.js 19+ + * deps: content-type@~1.0.5 + - perf: skip value escaping when unnecessary + * deps: raw-body@2.5.2 + +1.20.1 / 2022-10-06 +=================== + + * deps: qs@6.11.0 + * perf: remove unnecessary object clone + +1.20.0 / 2022-04-02 +=================== + + * Fix error message for json parse whitespace in `strict` + * Fix internal error when inflated body exceeds limit + * Prevent loss of async hooks context + * Prevent hanging when request already read + * deps: depd@2.0.0 + - Replace internal `eval` usage with `Function` constructor + - Use instance methods on `process` to check for listeners + * deps: http-errors@2.0.0 + - deps: depd@2.0.0 + - deps: statuses@2.0.1 + * deps: on-finished@2.4.1 + * deps: qs@6.10.3 + * deps: raw-body@2.5.1 + - deps: http-errors@2.0.0 + +1.19.2 / 2022-02-15 +=================== + + * deps: bytes@3.1.2 + * deps: qs@6.9.7 + * Fix handling of `__proto__` keys + * deps: raw-body@2.4.3 + - deps: bytes@3.1.2 + +1.19.1 / 2021-12-10 +=================== + + * deps: bytes@3.1.1 + * deps: http-errors@1.8.1 + - deps: inherits@2.0.4 + - deps: toidentifier@1.0.1 + - deps: setprototypeof@1.2.0 + * deps: qs@6.9.6 + * deps: raw-body@2.4.2 + - deps: bytes@3.1.1 + - deps: http-errors@1.8.1 + * deps: safe-buffer@5.2.1 + * deps: type-is@~1.6.18 + +1.19.0 / 2019-04-25 +=================== + + * deps: bytes@3.1.0 + - Add petabyte (`pb`) support + * deps: http-errors@1.7.2 + - Set constructor name when possible + - deps: setprototypeof@1.1.1 + - deps: statuses@'>= 1.5.0 < 2' + * deps: iconv-lite@0.4.24 + - Added encoding MIK + * deps: qs@6.7.0 + - Fix parsing array brackets after index + * deps: raw-body@2.4.0 + - deps: bytes@3.1.0 + - deps: http-errors@1.7.2 + - deps: iconv-lite@0.4.24 + * deps: type-is@~1.6.17 + - deps: mime-types@~2.1.24 + - perf: prevent internal `throw` on invalid type + +1.18.3 / 2018-05-14 +=================== + + * Fix stack trace for strict json parse error + * deps: depd@~1.1.2 + - perf: remove argument reassignment + * deps: http-errors@~1.6.3 + - deps: depd@~1.1.2 + - deps: setprototypeof@1.1.0 + - deps: statuses@'>= 1.3.1 < 2' + * deps: iconv-lite@0.4.23 + - Fix loading encoding with year appended + - Fix deprecation warnings on Node.js 10+ + * deps: qs@6.5.2 + * deps: raw-body@2.3.3 + - deps: http-errors@1.6.3 + - deps: iconv-lite@0.4.23 + * deps: type-is@~1.6.16 + - deps: mime-types@~2.1.18 + +1.18.2 / 2017-09-22 +=================== + + * deps: debug@2.6.9 + * perf: remove argument reassignment + +1.18.1 / 2017-09-12 +=================== + + * deps: content-type@~1.0.4 + - perf: remove argument reassignment + - perf: skip parameter parsing when no parameters + * deps: iconv-lite@0.4.19 + - Fix ISO-8859-1 regression + - Update Windows-1255 + * deps: qs@6.5.1 + - Fix parsing & compacting very deep objects + * deps: raw-body@2.3.2 + - deps: iconv-lite@0.4.19 + +1.18.0 / 2017-09-08 +=================== + + * Fix JSON strict violation error to match native parse error + * Include the `body` property on verify errors + * Include the `type` property on all generated errors + * Use `http-errors` to set status code on errors + * deps: bytes@3.0.0 + * deps: debug@2.6.8 + * deps: depd@~1.1.1 + - Remove unnecessary `Buffer` loading + * deps: http-errors@~1.6.2 + - deps: depd@1.1.1 + * deps: iconv-lite@0.4.18 + - Add support for React Native + - Add a warning if not loaded as utf-8 + - Fix CESU-8 decoding in Node.js 8 + - Improve speed of ISO-8859-1 encoding + * deps: qs@6.5.0 + * deps: raw-body@2.3.1 + - Use `http-errors` for standard emitted errors + - deps: bytes@3.0.0 + - deps: iconv-lite@0.4.18 + - perf: skip buffer decoding on overage chunk + * perf: prevent internal `throw` when missing charset + +1.17.2 / 2017-05-17 +=================== + + * deps: debug@2.6.7 + - Fix `DEBUG_MAX_ARRAY_LENGTH` + - deps: ms@2.0.0 + * deps: type-is@~1.6.15 + - deps: mime-types@~2.1.15 + +1.17.1 / 2017-03-06 +=================== + + * deps: qs@6.4.0 + - Fix regression parsing keys starting with `[` + +1.17.0 / 2017-03-01 +=================== + + * deps: http-errors@~1.6.1 + - Make `message` property enumerable for `HttpError`s + - deps: setprototypeof@1.0.3 + * deps: qs@6.3.1 + - Fix compacting nested arrays + +1.16.1 / 2017-02-10 +=================== + + * deps: debug@2.6.1 + - Fix deprecation messages in WebStorm and other editors + - Undeprecate `DEBUG_FD` set to `1` or `2` + +1.16.0 / 2017-01-17 +=================== + + * deps: debug@2.6.0 + - Allow colors in workers + - Deprecated `DEBUG_FD` environment variable + - Fix error when running under React Native + - Use same color for same namespace + - deps: ms@0.7.2 + * deps: http-errors@~1.5.1 + - deps: inherits@2.0.3 + - deps: setprototypeof@1.0.2 + - deps: statuses@'>= 1.3.1 < 2' + * deps: iconv-lite@0.4.15 + - Added encoding MS-31J + - Added encoding MS-932 + - Added encoding MS-936 + - Added encoding MS-949 + - Added encoding MS-950 + - Fix GBK/GB18030 handling of Euro character + * deps: qs@6.2.1 + - Fix array parsing from skipping empty values + * deps: raw-body@~2.2.0 + - deps: iconv-lite@0.4.15 + * deps: type-is@~1.6.14 + - deps: mime-types@~2.1.13 + +1.15.2 / 2016-06-19 +=================== + + * deps: bytes@2.4.0 + * deps: content-type@~1.0.2 + - perf: enable strict mode + * deps: http-errors@~1.5.0 + - Use `setprototypeof` module to replace `__proto__` setting + - deps: statuses@'>= 1.3.0 < 2' + - perf: enable strict mode + * deps: qs@6.2.0 + * deps: raw-body@~2.1.7 + - deps: bytes@2.4.0 + - perf: remove double-cleanup on happy path + * deps: type-is@~1.6.13 + - deps: mime-types@~2.1.11 + +1.15.1 / 2016-05-05 +=================== + + * deps: bytes@2.3.0 + - Drop partial bytes on all parsed units + - Fix parsing byte string that looks like hex + * deps: raw-body@~2.1.6 + - deps: bytes@2.3.0 + * deps: type-is@~1.6.12 + - deps: mime-types@~2.1.10 + +1.15.0 / 2016-02-10 +=================== + + * deps: http-errors@~1.4.0 + - Add `HttpError` export, for `err instanceof createError.HttpError` + - deps: inherits@2.0.1 + - deps: statuses@'>= 1.2.1 < 2' + * deps: qs@6.1.0 + * deps: type-is@~1.6.11 + - deps: mime-types@~2.1.9 + +1.14.2 / 2015-12-16 +=================== + + * deps: bytes@2.2.0 + * deps: iconv-lite@0.4.13 + * deps: qs@5.2.0 + * deps: raw-body@~2.1.5 + - deps: bytes@2.2.0 + - deps: iconv-lite@0.4.13 + * deps: type-is@~1.6.10 + - deps: mime-types@~2.1.8 + +1.14.1 / 2015-09-27 +=================== + + * Fix issue where invalid charset results in 400 when `verify` used + * deps: iconv-lite@0.4.12 + - Fix CESU-8 decoding in Node.js 4.x + * deps: raw-body@~2.1.4 + - Fix masking critical errors from `iconv-lite` + - deps: iconv-lite@0.4.12 + * deps: type-is@~1.6.9 + - deps: mime-types@~2.1.7 + +1.14.0 / 2015-09-16 +=================== + + * Fix JSON strict parse error to match syntax errors + * Provide static `require` analysis in `urlencoded` parser + * deps: depd@~1.1.0 + - Support web browser loading + * deps: qs@5.1.0 + * deps: raw-body@~2.1.3 + - Fix sync callback when attaching data listener causes sync read + * deps: type-is@~1.6.8 + - Fix type error when given invalid type to match against + - deps: mime-types@~2.1.6 + +1.13.3 / 2015-07-31 +=================== + + * deps: type-is@~1.6.6 + - deps: mime-types@~2.1.4 + +1.13.2 / 2015-07-05 +=================== + + * deps: iconv-lite@0.4.11 + * deps: qs@4.0.0 + - Fix dropping parameters like `hasOwnProperty` + - Fix user-visible incompatibilities from 3.1.0 + - Fix various parsing edge cases + * deps: raw-body@~2.1.2 + - Fix error stack traces to skip `makeError` + - deps: iconv-lite@0.4.11 + * deps: type-is@~1.6.4 + - deps: mime-types@~2.1.2 + - perf: enable strict mode + - perf: remove argument reassignment + +1.13.1 / 2015-06-16 +=================== + + * deps: qs@2.4.2 + - Downgraded from 3.1.0 because of user-visible incompatibilities + +1.13.0 / 2015-06-14 +=================== + + * Add `statusCode` property on `Error`s, in addition to `status` + * Change `type` default to `application/json` for JSON parser + * Change `type` default to `application/x-www-form-urlencoded` for urlencoded parser + * Provide static `require` analysis + * Use the `http-errors` module to generate errors + * deps: bytes@2.1.0 + - Slight optimizations + * deps: iconv-lite@0.4.10 + - The encoding UTF-16 without BOM now defaults to UTF-16LE when detection fails + - Leading BOM is now removed when decoding + * deps: on-finished@~2.3.0 + - Add defined behavior for HTTP `CONNECT` requests + - Add defined behavior for HTTP `Upgrade` requests + - deps: ee-first@1.1.1 + * deps: qs@3.1.0 + - Fix dropping parameters like `hasOwnProperty` + - Fix various parsing edge cases + - Parsed object now has `null` prototype + * deps: raw-body@~2.1.1 + - Use `unpipe` module for unpiping requests + - deps: iconv-lite@0.4.10 + * deps: type-is@~1.6.3 + - deps: mime-types@~2.1.1 + - perf: reduce try block size + - perf: remove bitwise operations + * perf: enable strict mode + * perf: remove argument reassignment + * perf: remove delete call + +1.12.4 / 2015-05-10 +=================== + + * deps: debug@~2.2.0 + * deps: qs@2.4.2 + - Fix allowing parameters like `constructor` + * deps: on-finished@~2.2.1 + * deps: raw-body@~2.0.1 + - Fix a false-positive when unpiping in Node.js 0.8 + - deps: bytes@2.0.1 + * deps: type-is@~1.6.2 + - deps: mime-types@~2.0.11 + +1.12.3 / 2015-04-15 +=================== + + * Slight efficiency improvement when not debugging + * deps: depd@~1.0.1 + * deps: iconv-lite@0.4.8 + - Add encoding alias UNICODE-1-1-UTF-7 + * deps: raw-body@1.3.4 + - Fix hanging callback if request aborts during read + - deps: iconv-lite@0.4.8 + +1.12.2 / 2015-03-16 +=================== + + * deps: qs@2.4.1 + - Fix error when parameter `hasOwnProperty` is present + +1.12.1 / 2015-03-15 +=================== + + * deps: debug@~2.1.3 + - Fix high intensity foreground color for bold + - deps: ms@0.7.0 + * deps: type-is@~1.6.1 + - deps: mime-types@~2.0.10 + +1.12.0 / 2015-02-13 +=================== + + * add `debug` messages + * accept a function for the `type` option + * use `content-type` to parse `Content-Type` headers + * deps: iconv-lite@0.4.7 + - Gracefully support enumerables on `Object.prototype` + * deps: raw-body@1.3.3 + - deps: iconv-lite@0.4.7 + * deps: type-is@~1.6.0 + - fix argument reassignment + - fix false-positives in `hasBody` `Transfer-Encoding` check + - support wildcard for both type and subtype (`*/*`) + - deps: mime-types@~2.0.9 + +1.11.0 / 2015-01-30 +=================== + + * make internal `extended: true` depth limit infinity + * deps: type-is@~1.5.6 + - deps: mime-types@~2.0.8 + +1.10.2 / 2015-01-20 +=================== + + * deps: iconv-lite@0.4.6 + - Fix rare aliases of single-byte encodings + * deps: raw-body@1.3.2 + - deps: iconv-lite@0.4.6 + +1.10.1 / 2015-01-01 +=================== + + * deps: on-finished@~2.2.0 + * deps: type-is@~1.5.5 + - deps: mime-types@~2.0.7 + +1.10.0 / 2014-12-02 +=================== + + * make internal `extended: true` array limit dynamic + +1.9.3 / 2014-11-21 +================== + + * deps: iconv-lite@0.4.5 + - Fix Windows-31J and X-SJIS encoding support + * deps: qs@2.3.3 + - Fix `arrayLimit` behavior + * deps: raw-body@1.3.1 + - deps: iconv-lite@0.4.5 + * deps: type-is@~1.5.3 + - deps: mime-types@~2.0.3 + +1.9.2 / 2014-10-27 +================== + + * deps: qs@2.3.2 + - Fix parsing of mixed objects and values + +1.9.1 / 2014-10-22 +================== + + * deps: on-finished@~2.1.1 + - Fix handling of pipelined requests + * deps: qs@2.3.0 + - Fix parsing of mixed implicit and explicit arrays + * deps: type-is@~1.5.2 + - deps: mime-types@~2.0.2 + +1.9.0 / 2014-09-24 +================== + + * include the charset in "unsupported charset" error message + * include the encoding in "unsupported content encoding" error message + * deps: depd@~1.0.0 + +1.8.4 / 2014-09-23 +================== + + * fix content encoding to be case-insensitive + +1.8.3 / 2014-09-19 +================== + + * deps: qs@2.2.4 + - Fix issue with object keys starting with numbers truncated + +1.8.2 / 2014-09-15 +================== + + * deps: depd@0.4.5 + +1.8.1 / 2014-09-07 +================== + + * deps: media-typer@0.3.0 + * deps: type-is@~1.5.1 + +1.8.0 / 2014-09-05 +================== + + * make empty-body-handling consistent between chunked requests + - empty `json` produces `{}` + - empty `raw` produces `new Buffer(0)` + - empty `text` produces `''` + - empty `urlencoded` produces `{}` + * deps: qs@2.2.3 + - Fix issue where first empty value in array is discarded + * deps: type-is@~1.5.0 + - fix `hasbody` to be true for `content-length: 0` + +1.7.0 / 2014-09-01 +================== + + * add `parameterLimit` option to `urlencoded` parser + * change `urlencoded` extended array limit to 100 + * respond with 413 when over `parameterLimit` in `urlencoded` + +1.6.7 / 2014-08-29 +================== + + * deps: qs@2.2.2 + - Remove unnecessary cloning + +1.6.6 / 2014-08-27 +================== + + * deps: qs@2.2.0 + - Array parsing fix + - Performance improvements + +1.6.5 / 2014-08-16 +================== + + * deps: on-finished@2.1.0 + +1.6.4 / 2014-08-14 +================== + + * deps: qs@1.2.2 + +1.6.3 / 2014-08-10 +================== + + * deps: qs@1.2.1 + +1.6.2 / 2014-08-07 +================== + + * deps: qs@1.2.0 + - Fix parsing array of objects + +1.6.1 / 2014-08-06 +================== + + * deps: qs@1.1.0 + - Accept urlencoded square brackets + - Accept empty values in implicit array notation + +1.6.0 / 2014-08-05 +================== + + * deps: qs@1.0.2 + - Complete rewrite + - Limits array length to 20 + - Limits object depth to 5 + - Limits parameters to 1,000 + +1.5.2 / 2014-07-27 +================== + + * deps: depd@0.4.4 + - Work-around v8 generating empty stack traces + +1.5.1 / 2014-07-26 +================== + + * deps: depd@0.4.3 + - Fix exception when global `Error.stackTraceLimit` is too low + +1.5.0 / 2014-07-20 +================== + + * deps: depd@0.4.2 + - Add `TRACE_DEPRECATION` environment variable + - Remove non-standard grey color from color output + - Support `--no-deprecation` argument + - Support `--trace-deprecation` argument + * deps: iconv-lite@0.4.4 + - Added encoding UTF-7 + * deps: raw-body@1.3.0 + - deps: iconv-lite@0.4.4 + - Added encoding UTF-7 + - Fix `Cannot switch to old mode now` error on Node.js 0.10+ + * deps: type-is@~1.3.2 + +1.4.3 / 2014-06-19 +================== + + * deps: type-is@1.3.1 + - fix global variable leak + +1.4.2 / 2014-06-19 +================== + + * deps: type-is@1.3.0 + - improve type parsing + +1.4.1 / 2014-06-19 +================== + + * fix urlencoded extended deprecation message + +1.4.0 / 2014-06-19 +================== + + * add `text` parser + * add `raw` parser + * check accepted charset in content-type (accepts utf-8) + * check accepted encoding in content-encoding (accepts identity) + * deprecate `bodyParser()` middleware; use `.json()` and `.urlencoded()` as needed + * deprecate `urlencoded()` without provided `extended` option + * lazy-load urlencoded parsers + * parsers split into files for reduced mem usage + * support gzip and deflate bodies + - set `inflate: false` to turn off + * deps: raw-body@1.2.2 + - Support all encodings from `iconv-lite` + +1.3.1 / 2014-06-11 +================== + + * deps: type-is@1.2.1 + - Switch dependency from mime to mime-types@1.0.0 + +1.3.0 / 2014-05-31 +================== + + * add `extended` option to urlencoded parser + +1.2.2 / 2014-05-27 +================== + + * deps: raw-body@1.1.6 + - assert stream encoding on node.js 0.8 + - assert stream encoding on node.js < 0.10.6 + - deps: bytes@1 + +1.2.1 / 2014-05-26 +================== + + * invoke `next(err)` after request fully read + - prevents hung responses and socket hang ups + +1.2.0 / 2014-05-11 +================== + + * add `verify` option + * deps: type-is@1.2.0 + - support suffix matching + +1.1.2 / 2014-05-11 +================== + + * improve json parser speed + +1.1.1 / 2014-05-11 +================== + + * fix repeated limit parsing with every request + +1.1.0 / 2014-05-10 +================== + + * add `type` option + * deps: pin for safety and consistency + +1.0.2 / 2014-04-14 +================== + + * use `type-is` module + +1.0.1 / 2014-03-20 +================== + + * lower default limits to 100kb diff --git a/node_modules/body-parser/LICENSE b/node_modules/body-parser/LICENSE new file mode 100644 index 0000000..386b7b6 --- /dev/null +++ b/node_modules/body-parser/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/body-parser/README.md b/node_modules/body-parser/README.md new file mode 100644 index 0000000..9fcd4c6 --- /dev/null +++ b/node_modules/body-parser/README.md @@ -0,0 +1,491 @@ +# body-parser + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Build Status][ci-image]][ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] +[![OpenSSF Scorecard Badge][ossf-scorecard-badge]][ossf-scorecard-visualizer] + +Node.js body parsing middleware. + +Parse incoming request bodies in a middleware before your handlers, available +under the `req.body` property. + +**Note** As `req.body`'s shape is based on user-controlled input, all +properties and values in this object are untrusted and should be validated +before trusting. For example, `req.body.foo.toString()` may fail in multiple +ways, for example the `foo` property may not be there or may not be a string, +and `toString` may not be a function and instead a string or other user input. + +[Learn about the anatomy of an HTTP transaction in Node.js](https://nodejs.org/en/docs/guides/anatomy-of-an-http-transaction/). + +_This does not handle multipart bodies_, due to their complex and typically +large nature. For multipart bodies, you may be interested in the following +modules: + + * [busboy](https://www.npmjs.org/package/busboy#readme) and + [connect-busboy](https://www.npmjs.org/package/connect-busboy#readme) + * [multiparty](https://www.npmjs.org/package/multiparty#readme) and + [connect-multiparty](https://www.npmjs.org/package/connect-multiparty#readme) + * [formidable](https://www.npmjs.org/package/formidable#readme) + * [multer](https://www.npmjs.org/package/multer#readme) + +This module provides the following parsers: + + * [JSON body parser](#bodyparserjsonoptions) + * [Raw body parser](#bodyparserrawoptions) + * [Text body parser](#bodyparsertextoptions) + * [URL-encoded form body parser](#bodyparserurlencodedoptions) + +Other body parsers you might be interested in: + +- [body](https://www.npmjs.org/package/body#readme) +- [co-body](https://www.npmjs.org/package/co-body#readme) + +## Installation + +```sh +$ npm install body-parser +``` + +## API + +```js +const bodyParser = require('body-parser') +``` + +The `bodyParser` object exposes various factories to create middlewares. All +middlewares will populate the `req.body` property with the parsed body when +the `Content-Type` request header matches the `type` option. + +The various errors returned by this module are described in the +[errors section](#errors). + +### bodyParser.json([options]) + +Returns middleware that only parses `json` and only looks at requests where +the `Content-Type` header matches the `type` option. This parser accepts any +Unicode encoding of the body and supports automatic inflation of `gzip`, +`br` (brotli) and `deflate` encodings. + +A new `body` object containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). + +#### Options + +The `json` function takes an optional `options` object that may contain any of +the following keys: + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### reviver + +The `reviver` option is passed directly to `JSON.parse` as the second +argument. You can find more information on this argument +[in the MDN documentation about JSON.parse](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example.3A_Using_the_reviver_parameter). + +##### strict + +When set to `true`, will only accept arrays and objects; when `false` will +accept anything `JSON.parse` accepts. Defaults to `true`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a string, array of strings, or a function. If not a +function, `type` option is passed directly to the +[type-is](https://www.npmjs.org/package/type-is#readme) library and this can +be an extension name (like `json`), a mime type (like `application/json`), or +a mime type with a wildcard (like `*/*` or `*/json`). If a function, the `type` +option is called as `fn(req)` and the request is parsed if it returns a truthy +value. Defaults to `application/json`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +### bodyParser.raw([options]) + +Returns middleware that parses all bodies as a `Buffer` and only looks at +requests where the `Content-Type` header matches the `type` option. This +parser supports automatic inflation of `gzip`, `br` (brotli) and `deflate` +encodings. + +A new `body` object containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). This will be a `Buffer` object +of the body. + +#### Options + +The `raw` function takes an optional `options` object that may contain any of +the following keys: + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a string, array of strings, or a function. +If not a function, `type` option is passed directly to the +[type-is](https://www.npmjs.org/package/type-is#readme) library and this +can be an extension name (like `bin`), a mime type (like +`application/octet-stream`), or a mime type with a wildcard (like `*/*` or +`application/*`). If a function, the `type` option is called as `fn(req)` +and the request is parsed if it returns a truthy value. Defaults to +`application/octet-stream`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +### bodyParser.text([options]) + +Returns middleware that parses all bodies as a string and only looks at +requests where the `Content-Type` header matches the `type` option. This +parser supports automatic inflation of `gzip`, `br` (brotli) and `deflate` +encodings. + +A new `body` string containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). This will be a string of the +body. + +#### Options + +The `text` function takes an optional `options` object that may contain any of +the following keys: + +##### defaultCharset + +Specify the default character set for the text content if the charset is not +specified in the `Content-Type` header of the request. Defaults to `utf-8`. + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a string, array of strings, or a function. If not +a function, `type` option is passed directly to the +[type-is](https://www.npmjs.org/package/type-is#readme) library and this can +be an extension name (like `txt`), a mime type (like `text/plain`), or a mime +type with a wildcard (like `*/*` or `text/*`). If a function, the `type` +option is called as `fn(req)` and the request is parsed if it returns a +truthy value. Defaults to `text/plain`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +### bodyParser.urlencoded([options]) + +Returns middleware that only parses `urlencoded` bodies and only looks at +requests where the `Content-Type` header matches the `type` option. This +parser accepts only UTF-8 encoding of the body and supports automatic +inflation of `gzip`, `br` (brotli) and `deflate` encodings. + +A new `body` object containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). This object will contain +key-value pairs, where the value can be a string or array (when `extended` is +`false`), or any type (when `extended` is `true`). + +#### Options + +The `urlencoded` function takes an optional `options` object that may contain +any of the following keys: + +##### extended + +The "extended" syntax allows for rich objects and arrays to be encoded into the +URL-encoded format, allowing for a JSON-like experience with URL-encoded. For +more information, please [see the qs +library](https://www.npmjs.org/package/qs#readme). + +Defaults to `false`. + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### parameterLimit + +The `parameterLimit` option controls the maximum number of parameters that +are allowed in the URL-encoded data. If a request contains more parameters +than this value, a 413 will be returned to the client. Defaults to `1000`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a string, array of strings, or a function. If not +a function, `type` option is passed directly to the +[type-is](https://www.npmjs.org/package/type-is#readme) library and this can +be an extension name (like `urlencoded`), a mime type (like +`application/x-www-form-urlencoded`), or a mime type with a wildcard (like +`*/x-www-form-urlencoded`). If a function, the `type` option is called as +`fn(req)` and the request is parsed if it returns a truthy value. Defaults +to `application/x-www-form-urlencoded`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +##### defaultCharset + +The default charset to parse as, if not specified in content-type. Must be +either `utf-8` or `iso-8859-1`. Defaults to `utf-8`. + +##### charsetSentinel + +Whether to let the value of the `utf8` parameter take precedence as the charset +selector. It requires the form to contain a parameter named `utf8` with a value +of `✓`. Defaults to `false`. + +##### interpretNumericEntities + +Whether to decode numeric entities such as `☺` when parsing an iso-8859-1 +form. Defaults to `false`. + + +#### depth + +The `depth` option is used to configure the maximum depth of the `qs` library when `extended` is `true`. This allows you to limit the amount of keys that are parsed and can be useful to prevent certain types of abuse. Defaults to `32`. It is recommended to keep this value as low as possible. + +## Errors + +The middlewares provided by this module create errors using the +[`http-errors` module](https://www.npmjs.com/package/http-errors). The errors +will typically have a `status`/`statusCode` property that contains the suggested +HTTP response code, an `expose` property to determine if the `message` property +should be displayed to the client, a `type` property to determine the type of +error without matching against the `message`, and a `body` property containing +the read body, if available. + +The following are the common errors created, though any error can come through +for various reasons. + +### content encoding unsupported + +This error will occur when the request had a `Content-Encoding` header that +contained an encoding but the "inflation" option was set to `false`. The +`status` property is set to `415`, the `type` property is set to +`'encoding.unsupported'`, and the `charset` property will be set to the +encoding that is unsupported. + +### entity parse failed + +This error will occur when the request contained an entity that could not be +parsed by the middleware. The `status` property is set to `400`, the `type` +property is set to `'entity.parse.failed'`, and the `body` property is set to +the entity value that failed parsing. + +### entity verify failed + +This error will occur when the request contained an entity that could not be +failed verification by the defined `verify` option. The `status` property is +set to `403`, the `type` property is set to `'entity.verify.failed'`, and the +`body` property is set to the entity value that failed verification. + +### request aborted + +This error will occur when the request is aborted by the client before reading +the body has finished. The `received` property will be set to the number of +bytes received before the request was aborted and the `expected` property is +set to the number of expected bytes. The `status` property is set to `400` +and `type` property is set to `'request.aborted'`. + +### request entity too large + +This error will occur when the request body's size is larger than the "limit" +option. The `limit` property will be set to the byte limit and the `length` +property will be set to the request body's length. The `status` property is +set to `413` and the `type` property is set to `'entity.too.large'`. + +### request size did not match content length + +This error will occur when the request's length did not match the length from +the `Content-Length` header. This typically occurs when the request is malformed, +typically when the `Content-Length` header was calculated based on characters +instead of bytes. The `status` property is set to `400` and the `type` property +is set to `'request.size.invalid'`. + +### stream encoding should not be set + +This error will occur when something called the `req.setEncoding` method prior +to this middleware. This module operates directly on bytes only and you cannot +call `req.setEncoding` when using this module. The `status` property is set to +`500` and the `type` property is set to `'stream.encoding.set'`. + +### stream is not readable + +This error will occur when the request is no longer readable when this middleware +attempts to read it. This typically means something other than a middleware from +this module read the request body already and the middleware was also configured to +read the same request. The `status` property is set to `500` and the `type` +property is set to `'stream.not.readable'`. + +### too many parameters + +This error will occur when the content of the request exceeds the configured +`parameterLimit` for the `urlencoded` parser. The `status` property is set to +`413` and the `type` property is set to `'parameters.too.many'`. + +### unsupported charset "BOGUS" + +This error will occur when the request had a charset parameter in the +`Content-Type` header, but the `iconv-lite` module does not support it OR the +parser does not support it. The charset is contained in the message as well +as in the `charset` property. The `status` property is set to `415`, the +`type` property is set to `'charset.unsupported'`, and the `charset` property +is set to the charset that is unsupported. + +### unsupported content encoding "bogus" + +This error will occur when the request had a `Content-Encoding` header that +contained an unsupported encoding. The encoding is contained in the message +as well as in the `encoding` property. The `status` property is set to `415`, +the `type` property is set to `'encoding.unsupported'`, and the `encoding` +property is set to the encoding that is unsupported. + +### The input exceeded the depth + +This error occurs when using `bodyParser.urlencoded` with the `extended` property set to `true` and the input exceeds the configured `depth` option. The `status` property is set to `400`. It is recommended to review the `depth` option and evaluate if it requires a higher value. When the `depth` option is set to `32` (default value), the error will not be thrown. + +## Examples + +### Express/Connect top-level generic + +This example demonstrates adding a generic JSON and URL-encoded parser as a +top-level middleware, which will parse the bodies of all incoming requests. +This is the simplest setup. + +```js +const express = require('express') +const bodyParser = require('body-parser') + +const app = express() + +// parse application/x-www-form-urlencoded +app.use(bodyParser.urlencoded()) + +// parse application/json +app.use(bodyParser.json()) + +app.use(function (req, res) { + res.setHeader('Content-Type', 'text/plain') + res.write('you posted:\n') + res.end(String(JSON.stringify(req.body, null, 2))) +}) +``` + +### Express route-specific + +This example demonstrates adding body parsers specifically to the routes that +need them. In general, this is the most recommended way to use body-parser with +Express. + +```js +const express = require('express') +const bodyParser = require('body-parser') + +const app = express() + +// create application/json parser +const jsonParser = bodyParser.json() + +// create application/x-www-form-urlencoded parser +const urlencodedParser = bodyParser.urlencoded() + +// POST /login gets urlencoded bodies +app.post('/login', urlencodedParser, function (req, res) { + if (!req.body || !req.body.username) res.sendStatus(400) + res.send('welcome, ' + req.body.username) +}) + +// POST /api/users gets JSON bodies +app.post('/api/users', jsonParser, function (req, res) { + if (!req.body) res.sendStatus(400) + // create user in req.body +}) +``` + +### Change accepted type for parsers + +All the parsers accept a `type` option which allows you to change the +`Content-Type` that the middleware will parse. + +```js +const express = require('express') +const bodyParser = require('body-parser') + +const app = express() + +// parse various different custom JSON types as JSON +app.use(bodyParser.json({ type: 'application/*+json' })) + +// parse some custom thing into a Buffer +app.use(bodyParser.raw({ type: 'application/vnd.custom-type' })) + +// parse an HTML body into a string +app.use(bodyParser.text({ type: 'text/html' })) +``` + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/expressjs/body-parser/master?label=ci +[ci-url]: https://github.com/expressjs/body-parser/actions/workflows/ci.yml +[coveralls-image]: https://badgen.net/coveralls/c/github/expressjs/body-parser/master +[coveralls-url]: https://coveralls.io/r/expressjs/body-parser?branch=master +[node-version-image]: https://badgen.net/npm/node/body-parser +[node-version-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/body-parser +[npm-url]: https://npmjs.org/package/body-parser +[npm-version-image]: https://badgen.net/npm/v/body-parser +[ossf-scorecard-badge]: https://api.scorecard.dev/projects/github.com/expressjs/body-parser/badge +[ossf-scorecard-visualizer]: https://ossf.github.io/scorecard-visualizer/#/projects/github.com/expressjs/body-parser \ No newline at end of file diff --git a/node_modules/body-parser/index.js b/node_modules/body-parser/index.js new file mode 100644 index 0000000..d722d0b --- /dev/null +++ b/node_modules/body-parser/index.js @@ -0,0 +1,80 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * @typedef Parsers + * @type {function} + * @property {function} json + * @property {function} raw + * @property {function} text + * @property {function} urlencoded + */ + +/** + * Module exports. + * @type {Parsers} + */ + +exports = module.exports = bodyParser + +/** + * JSON parser. + * @public + */ + +Object.defineProperty(exports, 'json', { + configurable: true, + enumerable: true, + get: () => require('./lib/types/json') +}) + +/** + * Raw parser. + * @public + */ + +Object.defineProperty(exports, 'raw', { + configurable: true, + enumerable: true, + get: () => require('./lib/types/raw') +}) + +/** + * Text parser. + * @public + */ + +Object.defineProperty(exports, 'text', { + configurable: true, + enumerable: true, + get: () => require('./lib/types/text') +}) + +/** + * URL-encoded parser. + * @public + */ + +Object.defineProperty(exports, 'urlencoded', { + configurable: true, + enumerable: true, + get: () => require('./lib/types/urlencoded') +}) + +/** + * Create a middleware to parse json and urlencoded bodies. + * + * @param {object} [options] + * @return {function} + * @deprecated + * @public + */ + +function bodyParser () { + throw new Error('The bodyParser() generic has been split into individual middleware to use instead.') +} diff --git a/node_modules/body-parser/lib/read.js b/node_modules/body-parser/lib/read.js new file mode 100644 index 0000000..eee8b11 --- /dev/null +++ b/node_modules/body-parser/lib/read.js @@ -0,0 +1,210 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var createError = require('http-errors') +var getBody = require('raw-body') +var iconv = require('iconv-lite') +var onFinished = require('on-finished') +var zlib = require('node:zlib') + +/** + * Module exports. + */ + +module.exports = read + +/** + * Read a request into a buffer and parse. + * + * @param {object} req + * @param {object} res + * @param {function} next + * @param {function} parse + * @param {function} debug + * @param {object} options + * @private + */ + +function read (req, res, next, parse, debug, options) { + var length + var opts = options + var stream + + // read options + var encoding = opts.encoding !== null + ? opts.encoding + : null + var verify = opts.verify + + try { + // get the content stream + stream = contentstream(req, debug, opts.inflate) + length = stream.length + stream.length = undefined + } catch (err) { + return next(err) + } + + // set raw-body options + opts.length = length + opts.encoding = verify + ? null + : encoding + + // assert charset is supported + if (opts.encoding === null && encoding !== null && !iconv.encodingExists(encoding)) { + return next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: 'charset.unsupported' + })) + } + + // read body + debug('read body') + getBody(stream, opts, function (error, body) { + if (error) { + var _error + + if (error.type === 'encoding.unsupported') { + // echo back charset + _error = createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: 'charset.unsupported' + }) + } else { + // set status code on error + _error = createError(400, error) + } + + // unpipe from stream and destroy + if (stream !== req) { + req.unpipe() + stream.destroy() + } + + // read off entire request + dump(req, function onfinished () { + next(createError(400, _error)) + }) + return + } + + // verify + if (verify) { + try { + debug('verify body') + verify(req, res, body, encoding) + } catch (err) { + next(createError(403, err, { + body: body, + type: err.type || 'entity.verify.failed' + })) + return + } + } + + // parse + var str = body + try { + debug('parse body') + str = typeof body !== 'string' && encoding !== null + ? iconv.decode(body, encoding) + : body + req.body = parse(str, encoding) + } catch (err) { + next(createError(400, err, { + body: str, + type: err.type || 'entity.parse.failed' + })) + return + } + + next() + }) +} + +/** + * Get the content stream of the request. + * + * @param {object} req + * @param {function} debug + * @param {boolean} [inflate=true] + * @return {object} + * @api private + */ + +function contentstream (req, debug, inflate) { + var encoding = (req.headers['content-encoding'] || 'identity').toLowerCase() + var length = req.headers['content-length'] + + debug('content-encoding "%s"', encoding) + + if (inflate === false && encoding !== 'identity') { + throw createError(415, 'content encoding unsupported', { + encoding: encoding, + type: 'encoding.unsupported' + }) + } + + if (encoding === 'identity') { + req.length = length + return req + } + + var stream = createDecompressionStream(encoding, debug) + req.pipe(stream) + return stream +} + +/** + * Create a decompression stream for the given encoding. + * @param {string} encoding + * @param {function} debug + * @return {object} + * @api private + */ +function createDecompressionStream (encoding, debug) { + switch (encoding) { + case 'deflate': + debug('inflate body') + return zlib.createInflate() + case 'gzip': + debug('gunzip body') + return zlib.createGunzip() + case 'br': + debug('brotli decompress body') + return zlib.createBrotliDecompress() + default: + throw createError(415, 'unsupported content encoding "' + encoding + '"', { + encoding: encoding, + type: 'encoding.unsupported' + }) + } +} + +/** + * Dump the contents of a request. + * + * @param {object} req + * @param {function} callback + * @api private + */ + +function dump (req, callback) { + if (onFinished.isFinished(req)) { + callback(null) + } else { + onFinished(req, callback) + req.resume() + } +} diff --git a/node_modules/body-parser/lib/types/json.js b/node_modules/body-parser/lib/types/json.js new file mode 100644 index 0000000..078ce71 --- /dev/null +++ b/node_modules/body-parser/lib/types/json.js @@ -0,0 +1,206 @@ +/*! + * body-parser + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var createError = require('http-errors') +var debug = require('debug')('body-parser:json') +var isFinished = require('on-finished').isFinished +var read = require('../read') +var typeis = require('type-is') +var { getCharset, normalizeOptions } = require('../utils') + +/** + * Module exports. + */ + +module.exports = json + +/** + * RegExp to match the first non-space in a string. + * + * Allowed whitespace is defined in RFC 7159: + * + * ws = *( + * %x20 / ; Space + * %x09 / ; Horizontal tab + * %x0A / ; Line feed or New line + * %x0D ) ; Carriage return + */ + +var FIRST_CHAR_REGEXP = /^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/ // eslint-disable-line no-control-regex + +var JSON_SYNTAX_CHAR = '#' +var JSON_SYNTAX_REGEXP = /#+/g + +/** + * Create a middleware to parse JSON bodies. + * + * @param {object} [options] + * @return {function} + * @public + */ + +function json (options) { + var { inflate, limit, verify, shouldParse } = normalizeOptions(options, 'application/json') + + var reviver = options?.reviver + var strict = options?.strict !== false + + function parse (body) { + if (body.length === 0) { + // special-case empty json body, as it's a common client-side mistake + // TODO: maybe make this configurable or part of "strict" option + return {} + } + + if (strict) { + var first = firstchar(body) + + if (first !== '{' && first !== '[') { + debug('strict violation') + throw createStrictSyntaxError(body, first) + } + } + + try { + debug('parse json') + return JSON.parse(body, reviver) + } catch (e) { + throw normalizeJsonSyntaxError(e, { + message: e.message, + stack: e.stack + }) + } + } + + return function jsonParser (req, res, next) { + if (isFinished(req)) { + debug('body already parsed') + next() + return + } + + if (!('body' in req)) { + req.body = undefined + } + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // assert charset per RFC 7159 sec 8.1 + var charset = getCharset(req) || 'utf-8' + if (charset.slice(0, 4) !== 'utf-') { + debug('invalid charset') + next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', { + charset: charset, + type: 'charset.unsupported' + })) + return + } + + // read + read(req, res, next, parse, debug, { + encoding: charset, + inflate, + limit, + verify + }) + } +} + +/** + * Create strict violation syntax error matching native error. + * + * @param {string} str + * @param {string} char + * @return {Error} + * @private + */ + +function createStrictSyntaxError (str, char) { + var index = str.indexOf(char) + var partial = '' + + if (index !== -1) { + partial = str.substring(0, index) + JSON_SYNTAX_CHAR + + for (var i = index + 1; i < str.length; i++) { + partial += JSON_SYNTAX_CHAR + } + } + + try { + JSON.parse(partial); /* istanbul ignore next */ throw new SyntaxError('strict violation') + } catch (e) { + return normalizeJsonSyntaxError(e, { + message: e.message.replace(JSON_SYNTAX_REGEXP, function (placeholder) { + return str.substring(index, index + placeholder.length) + }), + stack: e.stack + }) + } +} + +/** + * Get the first non-whitespace character in a string. + * + * @param {string} str + * @return {function} + * @private + */ + +function firstchar (str) { + var match = FIRST_CHAR_REGEXP.exec(str) + + return match + ? match[1] + : undefined +} + +/** + * Normalize a SyntaxError for JSON.parse. + * + * @param {SyntaxError} error + * @param {object} obj + * @return {SyntaxError} + */ + +function normalizeJsonSyntaxError (error, obj) { + var keys = Object.getOwnPropertyNames(error) + + for (var i = 0; i < keys.length; i++) { + var key = keys[i] + if (key !== 'stack' && key !== 'message') { + delete error[key] + } + } + + // replace stack before message for Node.js 0.10 and below + error.stack = obj.stack.replace(error.message, obj.message) + error.message = obj.message + + return error +} diff --git a/node_modules/body-parser/lib/types/raw.js b/node_modules/body-parser/lib/types/raw.js new file mode 100644 index 0000000..3788ff2 --- /dev/null +++ b/node_modules/body-parser/lib/types/raw.js @@ -0,0 +1,75 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + */ + +var debug = require('debug')('body-parser:raw') +var isFinished = require('on-finished').isFinished +var read = require('../read') +var typeis = require('type-is') +var { normalizeOptions } = require('../utils') + +/** + * Module exports. + */ + +module.exports = raw + +/** + * Create a middleware to parse raw bodies. + * + * @param {object} [options] + * @return {function} + * @api public + */ + +function raw (options) { + var { inflate, limit, verify, shouldParse } = normalizeOptions(options, 'application/octet-stream') + + function parse (buf) { + return buf + } + + return function rawParser (req, res, next) { + if (isFinished(req)) { + debug('body already parsed') + next() + return + } + + if (!('body' in req)) { + req.body = undefined + } + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // read + read(req, res, next, parse, debug, { + encoding: null, + inflate, + limit, + verify + }) + } +} diff --git a/node_modules/body-parser/lib/types/text.js b/node_modules/body-parser/lib/types/text.js new file mode 100644 index 0000000..3e0ab1b --- /dev/null +++ b/node_modules/body-parser/lib/types/text.js @@ -0,0 +1,80 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + */ + +var debug = require('debug')('body-parser:text') +var isFinished = require('on-finished').isFinished +var read = require('../read') +var typeis = require('type-is') +var { getCharset, normalizeOptions } = require('../utils') + +/** + * Module exports. + */ + +module.exports = text + +/** + * Create a middleware to parse text bodies. + * + * @param {object} [options] + * @return {function} + * @api public + */ + +function text (options) { + var { inflate, limit, verify, shouldParse } = normalizeOptions(options, 'text/plain') + + var defaultCharset = options?.defaultCharset || 'utf-8' + + function parse (buf) { + return buf + } + + return function textParser (req, res, next) { + if (isFinished(req)) { + debug('body already parsed') + next() + return + } + + if (!('body' in req)) { + req.body = undefined + } + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // get charset + var charset = getCharset(req) || defaultCharset + + // read + read(req, res, next, parse, debug, { + encoding: charset, + inflate, + limit, + verify + }) + } +} diff --git a/node_modules/body-parser/lib/types/urlencoded.js b/node_modules/body-parser/lib/types/urlencoded.js new file mode 100644 index 0000000..f993425 --- /dev/null +++ b/node_modules/body-parser/lib/types/urlencoded.js @@ -0,0 +1,177 @@ +/*! + * body-parser + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var createError = require('http-errors') +var debug = require('debug')('body-parser:urlencoded') +var isFinished = require('on-finished').isFinished +var read = require('../read') +var typeis = require('type-is') +var qs = require('qs') +var { getCharset, normalizeOptions } = require('../utils') + +/** + * Module exports. + */ + +module.exports = urlencoded + +/** + * Create a middleware to parse urlencoded bodies. + * + * @param {object} [options] + * @return {function} + * @public + */ + +function urlencoded (options) { + var { inflate, limit, verify, shouldParse } = normalizeOptions(options, 'application/x-www-form-urlencoded') + + var defaultCharset = options?.defaultCharset || 'utf-8' + if (defaultCharset !== 'utf-8' && defaultCharset !== 'iso-8859-1') { + throw new TypeError('option defaultCharset must be either utf-8 or iso-8859-1') + } + + // create the appropriate query parser + var queryparse = createQueryParser(options) + + function parse (body, encoding) { + return body.length + ? queryparse(body, encoding) + : {} + } + + return function urlencodedParser (req, res, next) { + if (isFinished(req)) { + debug('body already parsed') + next() + return + } + + if (!('body' in req)) { + req.body = undefined + } + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // assert charset + var charset = getCharset(req) || defaultCharset + if (charset !== 'utf-8' && charset !== 'iso-8859-1') { + debug('invalid charset') + next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', { + charset: charset, + type: 'charset.unsupported' + })) + return + } + + // read + read(req, res, next, parse, debug, { + encoding: charset, + inflate, + limit, + verify + }) + } +} + +/** + * Get the extended query parser. + * + * @param {object} options + */ + +function createQueryParser (options) { + var extended = Boolean(options?.extended) + var parameterLimit = options?.parameterLimit !== undefined + ? options?.parameterLimit + : 1000 + var charsetSentinel = options?.charsetSentinel + var interpretNumericEntities = options?.interpretNumericEntities + var depth = extended ? (options?.depth !== undefined ? options?.depth : 32) : 0 + + if (isNaN(parameterLimit) || parameterLimit < 1) { + throw new TypeError('option parameterLimit must be a positive number') + } + + if (isNaN(depth) || depth < 0) { + throw new TypeError('option depth must be a zero or a positive number') + } + + if (isFinite(parameterLimit)) { + parameterLimit = parameterLimit | 0 + } + + return function queryparse (body, encoding) { + var paramCount = parameterCount(body, parameterLimit) + + if (paramCount === undefined) { + debug('too many parameters') + throw createError(413, 'too many parameters', { + type: 'parameters.too.many' + }) + } + + var arrayLimit = extended ? Math.max(100, paramCount) : 0 + + debug('parse ' + (extended ? 'extended ' : '') + 'urlencoding') + try { + return qs.parse(body, { + allowPrototypes: true, + arrayLimit: arrayLimit, + depth: depth, + charsetSentinel: charsetSentinel, + interpretNumericEntities: interpretNumericEntities, + charset: encoding, + parameterLimit: parameterLimit, + strictDepth: true + }) + } catch (err) { + if (err instanceof RangeError) { + throw createError(400, 'The input exceeded the depth', { + type: 'querystring.parse.rangeError' + }) + } else { + throw err + } + } + } +} + +/** + * Count the number of parameters, stopping once limit reached + * + * @param {string} body + * @param {number} limit + * @api private + */ + +function parameterCount (body, limit) { + var len = body.split('&').length + + return len > limit ? undefined : len - 1 +} diff --git a/node_modules/body-parser/lib/utils.js b/node_modules/body-parser/lib/utils.js new file mode 100644 index 0000000..eee5d95 --- /dev/null +++ b/node_modules/body-parser/lib/utils.js @@ -0,0 +1,83 @@ +'use strict' + +/** + * Module dependencies. + */ + +var bytes = require('bytes') +var contentType = require('content-type') +var typeis = require('type-is') + +/** + * Module exports. + */ + +module.exports = { + getCharset, + normalizeOptions +} + +/** + * Get the charset of a request. + * + * @param {object} req + * @api private + */ + +function getCharset (req) { + try { + return (contentType.parse(req).parameters.charset || '').toLowerCase() + } catch { + return undefined + } +} + +/** + * Get the simple type checker. + * + * @param {string | string[]} type + * @return {function} + */ + +function typeChecker (type) { + return function checkType (req) { + return Boolean(typeis(req, type)) + } +} + +/** + * Normalizes the common options for all parsers. + * + * @param {object} options options to normalize + * @param {string | string[] | function} defaultType default content type(s) or a function to determine it + * @returns {object} + */ +function normalizeOptions (options, defaultType) { + if (!defaultType) { + // Parsers must define a default content type + throw new TypeError('defaultType must be provided') + } + + var inflate = options?.inflate !== false + var limit = typeof options?.limit !== 'number' + ? bytes.parse(options?.limit || '100kb') + : options?.limit + var type = options?.type || defaultType + var verify = options?.verify || false + + if (verify !== false && typeof verify !== 'function') { + throw new TypeError('option verify must be function') + } + + // create the appropriate type checking function + var shouldParse = typeof type !== 'function' + ? typeChecker(type) + : type + + return { + inflate, + limit, + verify, + shouldParse + } +} diff --git a/node_modules/body-parser/package.json b/node_modules/body-parser/package.json new file mode 100644 index 0000000..e7f763b --- /dev/null +++ b/node_modules/body-parser/package.json @@ -0,0 +1,49 @@ +{ + "name": "body-parser", + "description": "Node.js body parsing middleware", + "version": "2.2.0", + "contributors": [ + "Douglas Christopher Wilson ", + "Jonathan Ong (http://jongleberry.com)" + ], + "license": "MIT", + "repository": "expressjs/body-parser", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "devDependencies": { + "eslint": "8.34.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-markdown": "3.0.0", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-standard": "4.1.0", + "mocha": "^11.1.0", + "nyc": "^17.1.0", + "supertest": "^7.0.0" + }, + "files": [ + "lib/", + "LICENSE", + "HISTORY.md", + "index.js" + ], + "engines": { + "node": ">=18" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks test/", + "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + } +} diff --git a/node_modules/bytes/History.md b/node_modules/bytes/History.md new file mode 100644 index 0000000..d60ce0e --- /dev/null +++ b/node_modules/bytes/History.md @@ -0,0 +1,97 @@ +3.1.2 / 2022-01-27 +================== + + * Fix return value for un-parsable strings + +3.1.1 / 2021-11-15 +================== + + * Fix "thousandsSeparator" incorrecting formatting fractional part + +3.1.0 / 2019-01-22 +================== + + * Add petabyte (`pb`) support + +3.0.0 / 2017-08-31 +================== + + * Change "kB" to "KB" in format output + * Remove support for Node.js 0.6 + * Remove support for ComponentJS + +2.5.0 / 2017-03-24 +================== + + * Add option "unit" + +2.4.0 / 2016-06-01 +================== + + * Add option "unitSeparator" + +2.3.0 / 2016-02-15 +================== + + * Drop partial bytes on all parsed units + * Fix non-finite numbers to `.format` to return `null` + * Fix parsing byte string that looks like hex + * perf: hoist regular expressions + +2.2.0 / 2015-11-13 +================== + + * add option "decimalPlaces" + * add option "fixedDecimals" + +2.1.0 / 2015-05-21 +================== + + * add `.format` export + * add `.parse` export + +2.0.2 / 2015-05-20 +================== + + * remove map recreation + * remove unnecessary object construction + +2.0.1 / 2015-05-07 +================== + + * fix browserify require + * remove node.extend dependency + +2.0.0 / 2015-04-12 +================== + + * add option "case" + * add option "thousandsSeparator" + * return "null" on invalid parse input + * support proper round-trip: bytes(bytes(num)) === num + * units no longer case sensitive when parsing + +1.0.0 / 2014-05-05 +================== + + * add negative support. fixes #6 + +0.3.0 / 2014-03-19 +================== + + * added terabyte support + +0.2.1 / 2013-04-01 +================== + + * add .component + +0.2.0 / 2012-10-28 +================== + + * bytes(200).should.eql('200b') + +0.1.0 / 2012-07-04 +================== + + * add bytes to string conversion [yields] diff --git a/node_modules/bytes/LICENSE b/node_modules/bytes/LICENSE new file mode 100644 index 0000000..63e95a9 --- /dev/null +++ b/node_modules/bytes/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012-2014 TJ Holowaychuk +Copyright (c) 2015 Jed Watson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/bytes/Readme.md b/node_modules/bytes/Readme.md new file mode 100644 index 0000000..5790e23 --- /dev/null +++ b/node_modules/bytes/Readme.md @@ -0,0 +1,152 @@ +# Bytes utility + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Build Status][ci-image]][ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Utility to parse a string bytes (ex: `1TB`) to bytes (`1099511627776`) and vice-versa. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```bash +$ npm install bytes +``` + +## Usage + +```js +var bytes = require('bytes'); +``` + +#### bytes(number|string value, [options]): number|string|null + +Default export function. Delegates to either `bytes.format` or `bytes.parse` based on the type of `value`. + +**Arguments** + +| Name | Type | Description | +|---------|----------|--------------------| +| value | `number`|`string` | Number value to format or string value to parse | +| options | `Object` | Conversion options for `format` | + +**Returns** + +| Name | Type | Description | +|---------|------------------|-------------------------------------------------| +| results | `string`|`number`|`null` | Return null upon error. Numeric value in bytes, or string value otherwise. | + +**Example** + +```js +bytes(1024); +// output: '1KB' + +bytes('1KB'); +// output: 1024 +``` + +#### bytes.format(number value, [options]): string|null + +Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is + rounded. + +**Arguments** + +| Name | Type | Description | +|---------|----------|--------------------| +| value | `number` | Value in bytes | +| options | `Object` | Conversion options | + +**Options** + +| Property | Type | Description | +|-------------------|--------|-----------------------------------------------------------------------------------------| +| decimalPlaces | `number`|`null` | Maximum number of decimal places to include in output. Default value to `2`. | +| fixedDecimals | `boolean`|`null` | Whether to always display the maximum number of decimal places. Default value to `false` | +| thousandsSeparator | `string`|`null` | Example of values: `' '`, `','` and `'.'`... Default value to `''`. | +| unit | `string`|`null` | The unit in which the result will be returned (B/KB/MB/GB/TB). Default value to `''` (which means auto detect). | +| unitSeparator | `string`|`null` | Separator to use between number and unit. Default value to `''`. | + +**Returns** + +| Name | Type | Description | +|---------|------------------|-------------------------------------------------| +| results | `string`|`null` | Return null upon error. String value otherwise. | + +**Example** + +```js +bytes.format(1024); +// output: '1KB' + +bytes.format(1000); +// output: '1000B' + +bytes.format(1000, {thousandsSeparator: ' '}); +// output: '1 000B' + +bytes.format(1024 * 1.7, {decimalPlaces: 0}); +// output: '2KB' + +bytes.format(1024, {unitSeparator: ' '}); +// output: '1 KB' +``` + +#### bytes.parse(string|number value): number|null + +Parse the string value into an integer in bytes. If no unit is given, or `value` +is a number, it is assumed the value is in bytes. + +Supported units and abbreviations are as follows and are case-insensitive: + + * `b` for bytes + * `kb` for kilobytes + * `mb` for megabytes + * `gb` for gigabytes + * `tb` for terabytes + * `pb` for petabytes + +The units are in powers of two, not ten. This means 1kb = 1024b according to this parser. + +**Arguments** + +| Name | Type | Description | +|---------------|--------|--------------------| +| value | `string`|`number` | String to parse, or number in bytes. | + +**Returns** + +| Name | Type | Description | +|---------|-------------|-------------------------| +| results | `number`|`null` | Return null upon error. Value in bytes otherwise. | + +**Example** + +```js +bytes.parse('1KB'); +// output: 1024 + +bytes.parse('1024'); +// output: 1024 + +bytes.parse(1024); +// output: 1024 +``` + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/visionmedia/bytes.js/master?label=ci +[ci-url]: https://github.com/visionmedia/bytes.js/actions?query=workflow%3Aci +[coveralls-image]: https://badgen.net/coveralls/c/github/visionmedia/bytes.js/master +[coveralls-url]: https://coveralls.io/r/visionmedia/bytes.js?branch=master +[downloads-image]: https://badgen.net/npm/dm/bytes +[downloads-url]: https://npmjs.org/package/bytes +[npm-image]: https://badgen.net/npm/v/bytes +[npm-url]: https://npmjs.org/package/bytes diff --git a/node_modules/bytes/index.js b/node_modules/bytes/index.js new file mode 100644 index 0000000..6f2d0f8 --- /dev/null +++ b/node_modules/bytes/index.js @@ -0,0 +1,170 @@ +/*! + * bytes + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015 Jed Watson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = bytes; +module.exports.format = format; +module.exports.parse = parse; + +/** + * Module variables. + * @private + */ + +var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g; + +var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/; + +var map = { + b: 1, + kb: 1 << 10, + mb: 1 << 20, + gb: 1 << 30, + tb: Math.pow(1024, 4), + pb: Math.pow(1024, 5), +}; + +var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i; + +/** + * Convert the given value in bytes into a string or parse to string to an integer in bytes. + * + * @param {string|number} value + * @param {{ + * case: [string], + * decimalPlaces: [number] + * fixedDecimals: [boolean] + * thousandsSeparator: [string] + * unitSeparator: [string] + * }} [options] bytes options. + * + * @returns {string|number|null} + */ + +function bytes(value, options) { + if (typeof value === 'string') { + return parse(value); + } + + if (typeof value === 'number') { + return format(value, options); + } + + return null; +} + +/** + * Format the given value in bytes into a string. + * + * If the value is negative, it is kept as such. If it is a float, + * it is rounded. + * + * @param {number} value + * @param {object} [options] + * @param {number} [options.decimalPlaces=2] + * @param {number} [options.fixedDecimals=false] + * @param {string} [options.thousandsSeparator=] + * @param {string} [options.unit=] + * @param {string} [options.unitSeparator=] + * + * @returns {string|null} + * @public + */ + +function format(value, options) { + if (!Number.isFinite(value)) { + return null; + } + + var mag = Math.abs(value); + var thousandsSeparator = (options && options.thousandsSeparator) || ''; + var unitSeparator = (options && options.unitSeparator) || ''; + var decimalPlaces = (options && options.decimalPlaces !== undefined) ? options.decimalPlaces : 2; + var fixedDecimals = Boolean(options && options.fixedDecimals); + var unit = (options && options.unit) || ''; + + if (!unit || !map[unit.toLowerCase()]) { + if (mag >= map.pb) { + unit = 'PB'; + } else if (mag >= map.tb) { + unit = 'TB'; + } else if (mag >= map.gb) { + unit = 'GB'; + } else if (mag >= map.mb) { + unit = 'MB'; + } else if (mag >= map.kb) { + unit = 'KB'; + } else { + unit = 'B'; + } + } + + var val = value / map[unit.toLowerCase()]; + var str = val.toFixed(decimalPlaces); + + if (!fixedDecimals) { + str = str.replace(formatDecimalsRegExp, '$1'); + } + + if (thousandsSeparator) { + str = str.split('.').map(function (s, i) { + return i === 0 + ? s.replace(formatThousandsRegExp, thousandsSeparator) + : s + }).join('.'); + } + + return str + unitSeparator + unit; +} + +/** + * Parse the string value into an integer in bytes. + * + * If no unit is given, it is assumed the value is in bytes. + * + * @param {number|string} val + * + * @returns {number|null} + * @public + */ + +function parse(val) { + if (typeof val === 'number' && !isNaN(val)) { + return val; + } + + if (typeof val !== 'string') { + return null; + } + + // Test if the string passed is valid + var results = parseRegExp.exec(val); + var floatValue; + var unit = 'b'; + + if (!results) { + // Nothing could be extracted from the given string + floatValue = parseInt(val, 10); + unit = 'b' + } else { + // Retrieve the value and the unit + floatValue = parseFloat(results[1]); + unit = results[4].toLowerCase(); + } + + if (isNaN(floatValue)) { + return null; + } + + return Math.floor(map[unit] * floatValue); +} diff --git a/node_modules/bytes/package.json b/node_modules/bytes/package.json new file mode 100644 index 0000000..f2b6a8b --- /dev/null +++ b/node_modules/bytes/package.json @@ -0,0 +1,42 @@ +{ + "name": "bytes", + "description": "Utility to parse a string bytes to bytes and vice-versa", + "version": "3.1.2", + "author": "TJ Holowaychuk (http://tjholowaychuk.com)", + "contributors": [ + "Jed Watson ", + "Théo FIDRY " + ], + "license": "MIT", + "keywords": [ + "byte", + "bytes", + "utility", + "parse", + "parser", + "convert", + "converter" + ], + "repository": "visionmedia/bytes.js", + "devDependencies": { + "eslint": "7.32.0", + "eslint-plugin-markdown": "2.2.1", + "mocha": "9.2.0", + "nyc": "15.1.0" + }, + "files": [ + "History.md", + "LICENSE", + "Readme.md", + "index.js" + ], + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --check-leaks --reporter spec", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + } +} diff --git a/node_modules/cac/LICENSE b/node_modules/cac/LICENSE new file mode 100644 index 0000000..0fa9bb5 --- /dev/null +++ b/node_modules/cac/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) EGOIST <0x142857@gmail.com> (https://github.com/egoist) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/cac/README.md b/node_modules/cac/README.md new file mode 100644 index 0000000..3fd3d16 --- /dev/null +++ b/node_modules/cac/README.md @@ -0,0 +1,536 @@ +2017-07-26 9 27 05 + +[![NPM version](https://img.shields.io/npm/v/cac.svg?style=flat)](https://npmjs.com/package/cac) [![NPM downloads](https://img.shields.io/npm/dm/cac.svg?style=flat)](https://npmjs.com/package/cac) [![CircleCI](https://circleci.com/gh/cacjs/cac/tree/master.svg?style=shield)](https://circleci.com/gh/cacjs/cac/tree/master) [![Codecov](https://badgen.net/codecov/c/github/cacjs/cac/master)](https://codecov.io/gh/cacjs/cac) [![donate](https://img.shields.io/badge/$-donate-ff69b4.svg?maxAge=2592000&style=flat)](https://github.com/egoist/donate) [![chat](https://img.shields.io/badge/chat-on%20discord-7289DA.svg?style=flat)](https://chat.egoist.moe) [![install size](https://badgen.net/packagephobia/install/cac)](https://packagephobia.now.sh/result?p=cac) + +## Introduction + +**C**ommand **A**nd **C**onquer is a JavaScript library for building CLI apps. + +## Features + +- **Super light-weight**: No dependency, just a single file. +- **Easy to learn**. There're only 4 APIs you need to learn for building simple CLIs: `cli.option` `cli.version` `cli.help` `cli.parse`. +- **Yet so powerful**. Enable features like default command, git-like subcommands, validation for required arguments and options, variadic arguments, dot-nested options, automated help message generation and so on. +- **Developer friendly**. Written in TypeScript. + +## Table of Contents + + + +- [Install](#install) +- [Usage](#usage) + - [Simple Parsing](#simple-parsing) + - [Display Help Message and Version](#display-help-message-and-version) + - [Command-specific Options](#command-specific-options) + - [Dash in option names](#dash-in-option-names) + - [Brackets](#brackets) + - [Negated Options](#negated-options) + - [Variadic Arguments](#variadic-arguments) + - [Dot-nested Options](#dot-nested-options) + - [Default Command](#default-command) + - [Supply an array as option value](#supply-an-array-as-option-value) + - [Error Handling](#error-handling) + - [With TypeScript](#with-typescript) + - [With Deno](#with-deno) +- [Projects Using CAC](#projects-using-cac) +- [References](#references) + - [CLI Instance](#cli-instance) + - [cac(name?)](#cacname) + - [cli.command(name, description, config?)](#clicommandname-description-config) + - [cli.option(name, description, config?)](#clioptionname-description-config) + - [cli.parse(argv?)](#cliparseargv) + - [cli.version(version, customFlags?)](#cliversionversion-customflags) + - [cli.help(callback?)](#clihelpcallback) + - [cli.outputHelp()](#clioutputhelp) + - [cli.usage(text)](#cliusagetext) + - [Command Instance](#command-instance) + - [command.option()](#commandoption) + - [command.action(callback)](#commandactioncallback) + - [command.alias(name)](#commandaliasname) + - [command.allowUnknownOptions()](#commandallowunknownoptions) + - [command.example(example)](#commandexampleexample) + - [command.usage(text)](#commandusagetext) + - [Events](#events) +- [FAQ](#faq) + - [How is the name written and pronounced?](#how-is-the-name-written-and-pronounced) + - [Why not use Commander.js?](#why-not-use-commanderjs) +- [Project Stats](#project-stats) +- [Contributing](#contributing) +- [Author](#author) + + + +## Install + +```bash +yarn add cac +``` + +## Usage + +### Simple Parsing + +Use CAC as simple argument parser: + +```js +// examples/basic-usage.js +const cli = require('cac')() + +cli.option('--type ', 'Choose a project type', { + default: 'node', +}) + +const parsed = cli.parse() + +console.log(JSON.stringify(parsed, null, 2)) +``` + +2018-11-26 12 28 03 + +### Display Help Message and Version + +```js +// examples/help.js +const cli = require('cac')() + +cli.option('--type [type]', 'Choose a project type', { + default: 'node', +}) +cli.option('--name ', 'Provide your name') + +cli.command('lint [...files]', 'Lint files').action((files, options) => { + console.log(files, options) +}) + +// Display help message when `-h` or `--help` appears +cli.help() +// Display version number when `-v` or `--version` appears +// It's also used in help message +cli.version('0.0.0') + +cli.parse() +``` + +2018-11-25 8 21 14 + +### Command-specific Options + +You can attach options to a command. + +```js +const cli = require('cac')() + +cli + .command('rm ', 'Remove a dir') + .option('-r, --recursive', 'Remove recursively') + .action((dir, options) => { + console.log('remove ' + dir + (options.recursive ? ' recursively' : '')) + }) + +cli.help() + +cli.parse() +``` + +A command's options are validated when the command is used. Any unknown options will be reported as an error. However, if an action-based command does not define an action, then the options are not validated. If you really want to use unknown options, use [`command.allowUnknownOptions`](#commandallowunknownoptions). + +command options + +### Dash in option names + +Options in kebab-case should be referenced in camelCase in your code: + +```js +cli + .command('dev', 'Start dev server') + .option('--clear-screen', 'Clear screen') + .action((options) => { + console.log(options.clearScreen) + }) +``` + +In fact `--clear-screen` and `--clearScreen` are both mapped to `options.clearScreen`. + +### Brackets + +When using brackets in command name, angled brackets indicate required command arguments, while square bracket indicate optional arguments. + +When using brackets in option name, angled brackets indicate that a string / number value is required, while square bracket indicate that the value can also be `true`. + +```js +const cli = require('cac')() + +cli + .command('deploy ', 'Deploy a folder to AWS') + .option('--scale [level]', 'Scaling level') + .action((folder, options) => { + // ... + }) + +cli + .command('build [project]', 'Build a project') + .option('--out ', 'Output directory') + .action((folder, options) => { + // ... + }) + +cli.parse() +``` + +### Negated Options + +To allow an option whose value is `false`, you need to manually specify a negated option: + +```js +cli + .command('build [project]', 'Build a project') + .option('--no-config', 'Disable config file') + .option('--config ', 'Use a custom config file') +``` + +This will let CAC set the default value of `config` to true, and you can use `--no-config` flag to set it to `false`. + +### Variadic Arguments + +The last argument of a command can be variadic, and only the last argument. To make an argument variadic you have to add `...` to the start of argument name, just like the rest operator in JavaScript. Here is an example: + +```js +const cli = require('cac')() + +cli + .command('build [...otherFiles]', 'Build your app') + .option('--foo', 'Foo option') + .action((entry, otherFiles, options) => { + console.log(entry) + console.log(otherFiles) + console.log(options) + }) + +cli.help() + +cli.parse() +``` + +2018-11-25 8 25 30 + +### Dot-nested Options + +Dot-nested options will be merged into a single option. + +```js +const cli = require('cac')() + +cli + .command('build', 'desc') + .option('--env ', 'Set envs') + .example('--env.API_SECRET xxx') + .action((options) => { + console.log(options) + }) + +cli.help() + +cli.parse() +``` + +2018-11-25 9 37 53 + +### Default Command + +Register a command that will be used when no other command is matched. + +```js +const cli = require('cac')() + +cli + // Simply omit the command name, just brackets + .command('[...files]', 'Build files') + .option('--minimize', 'Minimize output') + .action((files, options) => { + console.log(files) + console.log(options.minimize) + }) + +cli.parse() +``` + +### Supply an array as option value + +```bash +node cli.js --include project-a +# The parsed options will be: +# { include: 'project-a' } + +node cli.js --include project-a --include project-b +# The parsed options will be: +# { include: ['project-a', 'project-b'] } +``` + +### Error Handling + +To handle command errors globally: + +```js +try { + // Parse CLI args without running the command + cli.parse(process.argv, { run: false }) + // Run the command yourself + // You only need `await` when your command action returns a Promise + await cli.runMatchedCommand() +} catch (error) { + // Handle error here.. + // e.g. + // console.error(error.stack) + // process.exit(1) +} +``` + +### With TypeScript + +First you need `@types/node` to be installed as a dev dependency in your project: + +```bash +yarn add @types/node --dev +``` + +Then everything just works out of the box: + +```js +const { cac } = require('cac') +// OR ES modules +import { cac } from 'cac' +``` + +### With Deno + +```ts +import { cac } from 'https://unpkg.com/cac/mod.ts' + +const cli = cac('my-program') +``` + +## Projects Using CAC + +Projects that use **CAC**: + +- [VuePress](https://github.com/vuejs/vuepress): :memo: Minimalistic Vue-powered static site generator. +- [SAO](https://github.com/egoist/sao): ⚔️ Futuristic scaffolding tool. +- [DocPad](https://github.com/docpad/docpad): 🏹 Powerful Static Site Generator. +- [Poi](https://github.com/egoist/poi): ⚡️ Delightful web development. +- [bili](https://github.com/egoist/bili): 🥂 Schweizer Armeemesser for bundling JavaScript libraries. +- [Lad](https://github.com/ladjs/lad): 👦 Lad scaffolds a Koa webapp and API framework for Node.js. +- [Lass](https://github.com/lassjs/lass): 💁🏻 Scaffold a modern package boilerplate for Node.js. +- [Foy](https://github.com/zaaack/foy): 🏗 A lightweight and modern task runner and build tool for general purpose. +- [Vuese](https://github.com/vuese/vuese): 🤗 One-stop solution for vue component documentation. +- [NUT](https://github.com/nut-project/nut): 🌰 A framework born for microfrontends +- Feel free to add yours here... + +## References + +**💁 Check out [the generated docs](https://cac-api-doc.egoist.sh/classes/_cac_.cac.html) from source code if you want a more in-depth API references.** + +Below is a brief overview. + +### CLI Instance + +CLI instance is created by invoking the `cac` function: + +```js +const cac = require('cac') +const cli = cac() +``` + +#### cac(name?) + +Create a CLI instance, optionally specify the program name which will be used to display in help and version message. When not set we use the basename of `argv[1]`. + +#### cli.command(name, description, config?) + +- Type: `(name: string, description: string) => Command` + +Create a command instance. + +The option also accepts a third argument `config` for additional command config: + +- `config.allowUnknownOptions`: `boolean` Allow unknown options in this command. +- `config.ignoreOptionDefaultValue`: `boolean` Don't use the options's default value in parsed options, only display them in help message. + +#### cli.option(name, description, config?) + +- Type: `(name: string, description: string, config?: OptionConfig) => CLI` + +Add a global option. + +The option also accepts a third argument `config` for additional option config: + +- `config.default`: Default value for the option. +- `config.type`: `any[]` When set to `[]`, the option value returns an array type. You can also use a conversion function such as `[String]`, which will invoke the option value with `String`. + +#### cli.parse(argv?) + +- Type: `(argv = process.argv) => ParsedArgv` + +```ts +interface ParsedArgv { + args: string[] + options: { + [k: string]: any + } +} +``` + +When this method is called, `cli.rawArgs` `cli.args` `cli.options` `cli.matchedCommand` will also be available. + +#### cli.version(version, customFlags?) + +- Type: `(version: string, customFlags = '-v, --version') => CLI` + +Output version number when `-v, --version` flag appears. + +#### cli.help(callback?) + +- Type: `(callback?: HelpCallback) => CLI` + +Output help message when `-h, --help` flag appears. + +Optional `callback` allows post-processing of help text before it is displayed: + +```ts +type HelpCallback = (sections: HelpSection[]) => void + +interface HelpSection { + title?: string + body: string +} +``` + +#### cli.outputHelp() + +- Type: `() => CLI` + +Output help message. + +#### cli.usage(text) + +- Type: `(text: string) => CLI` + +Add a global usage text. This is not used by sub-commands. + +### Command Instance + +Command instance is created by invoking the `cli.command` method: + +```js +const command = cli.command('build [...files]', 'Build given files') +``` + +#### command.option() + +Basically the same as `cli.option` but this adds the option to specific command. + +#### command.action(callback) + +- Type: `(callback: ActionCallback) => Command` + +Use a callback function as the command action when the command matches user inputs. + +```ts +type ActionCallback = ( + // Parsed CLI args + // The last arg will be an array if it's a variadic argument + ...args: string | string[] | number | number[] + // Parsed CLI options + options: Options +) => any + +interface Options { + [k: string]: any +} +``` + +#### command.alias(name) + +- Type: `(name: string) => Command` + +Add an alias name to this command, the `name` here can't contain brackets. + +#### command.allowUnknownOptions() + +- Type: `() => Command` + +Allow unknown options in this command, by default CAC will log an error when unknown options are used. + +#### command.example(example) + +- Type: `(example: CommandExample) => Command` + +Add an example which will be displayed at the end of help message. + +```ts +type CommandExample = ((name: string) => string) | string +``` + +#### command.usage(text) + +- Type: `(text: string) => Command` + +Add a usage text for this command. + +### Events + +Listen to commands: + +```js +// Listen to the `foo` command +cli.on('command:foo', () => { + // Do something +}) + +// Listen to the default command +cli.on('command:!', () => { + // Do something +}) + +// Listen to unknown commands +cli.on('command:*', () => { + console.error('Invalid command: %s', cli.args.join(' ')) + process.exit(1) +}) +``` + +## FAQ + +### How is the name written and pronounced? + +CAC, or cac, pronounced `C-A-C`. + +This project is dedicated to our lovely C.C. sama. Maybe CAC stands for C&C as well :P + + + +### Why not use Commander.js? + +CAC is very similar to Commander.js, while the latter does not support dot nested options, i.e. something like `--env.API_SECRET foo`. Besides, you can't use unknown options in Commander.js either. + +_And maybe more..._ + +Basically I made CAC to fulfill my own needs for building CLI apps like [Poi](https://poi.js.org), [SAO](https://sao.vercel.app) and all my CLI apps. It's small, simple but powerful :P + +## Project Stats + +![Alt](https://repobeats.axiom.co/api/embed/58caf6203631bcdb9bbe22f0728a0af1683dc0bb.svg 'Repobeats analytics image') + +## Contributing + +1. Fork it! +2. Create your feature branch: `git checkout -b my-new-feature` +3. Commit your changes: `git commit -am 'Add some feature'` +4. Push to the branch: `git push origin my-new-feature` +5. Submit a pull request :D + +## Author + +**CAC** © [EGOIST](https://github.com/egoist), Released under the [MIT](./LICENSE) License.
    +Authored and maintained by egoist with help from contributors ([list](https://github.com/cacjs/cac/contributors)). + +> [Website](https://egoist.sh) · GitHub [@egoist](https://github.com/egoist) · Twitter [@\_egoistlily](https://twitter.com/_egoistlily) diff --git a/node_modules/cac/deno/CAC.ts b/node_modules/cac/deno/CAC.ts new file mode 100644 index 0000000..0ced3b1 --- /dev/null +++ b/node_modules/cac/deno/CAC.ts @@ -0,0 +1,331 @@ +import { EventEmitter } from "https://deno.land/std@0.114.0/node/events.ts"; +import mri from "https://cdn.skypack.dev/mri"; +import Command, { GlobalCommand, CommandConfig, HelpCallback, CommandExample } from "./Command.ts"; +import { OptionConfig } from "./Option.ts"; +import { getMriOptions, setDotProp, setByType, getFileName, camelcaseOptionName } from "./utils.ts"; +import { processArgs } from "./deno.ts"; +interface ParsedArgv { + args: ReadonlyArray; + options: { + [k: string]: any; + }; +} + +class CAC extends EventEmitter { + /** The program name to display in help and version message */ + name: string; + commands: Command[]; + globalCommand: GlobalCommand; + matchedCommand?: Command; + matchedCommandName?: string; + /** + * Raw CLI arguments + */ + + rawArgs: string[]; + /** + * Parsed CLI arguments + */ + + args: ParsedArgv['args']; + /** + * Parsed CLI options, camelCased + */ + + options: ParsedArgv['options']; + showHelpOnExit?: boolean; + showVersionOnExit?: boolean; + /** + * @param name The program name to display in help and version message + */ + + constructor(name = '') { + super(); + this.name = name; + this.commands = []; + this.rawArgs = []; + this.args = []; + this.options = {}; + this.globalCommand = new GlobalCommand(this); + this.globalCommand.usage(' [options]'); + } + /** + * Add a global usage text. + * + * This is not used by sub-commands. + */ + + + usage(text: string) { + this.globalCommand.usage(text); + return this; + } + /** + * Add a sub-command + */ + + + command(rawName: string, description?: string, config?: CommandConfig) { + const command = new Command(rawName, description || '', config, this); + command.globalCommand = this.globalCommand; + this.commands.push(command); + return command; + } + /** + * Add a global CLI option. + * + * Which is also applied to sub-commands. + */ + + + option(rawName: string, description: string, config?: OptionConfig) { + this.globalCommand.option(rawName, description, config); + return this; + } + /** + * Show help message when `-h, --help` flags appear. + * + */ + + + help(callback?: HelpCallback) { + this.globalCommand.option('-h, --help', 'Display this message'); + this.globalCommand.helpCallback = callback; + this.showHelpOnExit = true; + return this; + } + /** + * Show version number when `-v, --version` flags appear. + * + */ + + + version(version: string, customFlags = '-v, --version') { + this.globalCommand.version(version, customFlags); + this.showVersionOnExit = true; + return this; + } + /** + * Add a global example. + * + * This example added here will not be used by sub-commands. + */ + + + example(example: CommandExample) { + this.globalCommand.example(example); + return this; + } + /** + * Output the corresponding help message + * When a sub-command is matched, output the help message for the command + * Otherwise output the global one. + * + */ + + + outputHelp() { + if (this.matchedCommand) { + this.matchedCommand.outputHelp(); + } else { + this.globalCommand.outputHelp(); + } + } + /** + * Output the version number. + * + */ + + + outputVersion() { + this.globalCommand.outputVersion(); + } + + private setParsedInfo({ + args, + options + }: ParsedArgv, matchedCommand?: Command, matchedCommandName?: string) { + this.args = args; + this.options = options; + + if (matchedCommand) { + this.matchedCommand = matchedCommand; + } + + if (matchedCommandName) { + this.matchedCommandName = matchedCommandName; + } + + return this; + } + + unsetMatchedCommand() { + this.matchedCommand = undefined; + this.matchedCommandName = undefined; + } + /** + * Parse argv + */ + + + parse(argv = processArgs, { + /** Whether to run the action for matched command */ + run = true + } = {}): ParsedArgv { + this.rawArgs = argv; + + if (!this.name) { + this.name = argv[1] ? getFileName(argv[1]) : 'cli'; + } + + let shouldParse = true; // Search sub-commands + + for (const command of this.commands) { + const parsed = this.mri(argv.slice(2), command); + const commandName = parsed.args[0]; + + if (command.isMatched(commandName)) { + shouldParse = false; + const parsedInfo = { ...parsed, + args: parsed.args.slice(1) + }; + this.setParsedInfo(parsedInfo, command, commandName); + this.emit(`command:${commandName}`, command); + } + } + + if (shouldParse) { + // Search the default command + for (const command of this.commands) { + if (command.name === '') { + shouldParse = false; + const parsed = this.mri(argv.slice(2), command); + this.setParsedInfo(parsed, command); + this.emit(`command:!`, command); + } + } + } + + if (shouldParse) { + const parsed = this.mri(argv.slice(2)); + this.setParsedInfo(parsed); + } + + if (this.options.help && this.showHelpOnExit) { + this.outputHelp(); + run = false; + this.unsetMatchedCommand(); + } + + if (this.options.version && this.showVersionOnExit && this.matchedCommandName == null) { + this.outputVersion(); + run = false; + this.unsetMatchedCommand(); + } + + const parsedArgv = { + args: this.args, + options: this.options + }; + + if (run) { + this.runMatchedCommand(); + } + + if (!this.matchedCommand && this.args[0]) { + this.emit('command:*'); + } + + return parsedArgv; + } + + private mri(argv: string[], + /** Matched command */ + command?: Command): ParsedArgv { + // All added options + const cliOptions = [...this.globalCommand.options, ...(command ? command.options : [])]; + const mriOptions = getMriOptions(cliOptions); // Extract everything after `--` since mri doesn't support it + + let argsAfterDoubleDashes: string[] = []; + const doubleDashesIndex = argv.indexOf('--'); + + if (doubleDashesIndex > -1) { + argsAfterDoubleDashes = argv.slice(doubleDashesIndex + 1); + argv = argv.slice(0, doubleDashesIndex); + } + + let parsed = mri(argv, mriOptions); + parsed = Object.keys(parsed).reduce((res, name) => { + return { ...res, + [camelcaseOptionName(name)]: parsed[name] + }; + }, { + _: [] + }); + const args = parsed._; + const options: { + [k: string]: any; + } = { + '--': argsAfterDoubleDashes + }; // Set option default value + + const ignoreDefault = command && command.config.ignoreOptionDefaultValue ? command.config.ignoreOptionDefaultValue : this.globalCommand.config.ignoreOptionDefaultValue; + let transforms = Object.create(null); + + for (const cliOption of cliOptions) { + if (!ignoreDefault && cliOption.config.default !== undefined) { + for (const name of cliOption.names) { + options[name] = cliOption.config.default; + } + } // If options type is defined + + + if (Array.isArray(cliOption.config.type)) { + if (transforms[cliOption.name] === undefined) { + transforms[cliOption.name] = Object.create(null); + transforms[cliOption.name]['shouldTransform'] = true; + transforms[cliOption.name]['transformFunction'] = cliOption.config.type[0]; + } + } + } // Set option values (support dot-nested property name) + + + for (const key of Object.keys(parsed)) { + if (key !== '_') { + const keys = key.split('.'); + setDotProp(options, keys, parsed[key]); + setByType(options, transforms); + } + } + + return { + args, + options + }; + } + + runMatchedCommand() { + const { + args, + options, + matchedCommand: command + } = this; + if (!command || !command.commandAction) return; + command.checkUnknownOptions(); + command.checkOptionValue(); + command.checkRequiredArgs(); + const actionArgs: any[] = []; + command.args.forEach((arg, index) => { + if (arg.variadic) { + actionArgs.push(args.slice(index)); + } else { + actionArgs.push(args[index]); + } + }); + actionArgs.push(options); + return command.commandAction.apply(this, actionArgs); + } + +} + +export default CAC; \ No newline at end of file diff --git a/node_modules/cac/deno/Command.ts b/node_modules/cac/deno/Command.ts new file mode 100644 index 0000000..3fd04a0 --- /dev/null +++ b/node_modules/cac/deno/Command.ts @@ -0,0 +1,269 @@ +import CAC from "./CAC.ts"; +import Option, { OptionConfig } from "./Option.ts"; +import { removeBrackets, findAllBrackets, findLongest, padRight, CACError } from "./utils.ts"; +import { platformInfo } from "./deno.ts"; +interface CommandArg { + required: boolean; + value: string; + variadic: boolean; +} +interface HelpSection { + title?: string; + body: string; +} +interface CommandConfig { + allowUnknownOptions?: boolean; + ignoreOptionDefaultValue?: boolean; +} +type HelpCallback = (sections: HelpSection[]) => void | HelpSection[]; +type CommandExample = ((bin: string) => string) | string; + +class Command { + options: Option[]; + aliasNames: string[]; + /* Parsed command name */ + + name: string; + args: CommandArg[]; + commandAction?: (...args: any[]) => any; + usageText?: string; + versionNumber?: string; + examples: CommandExample[]; + helpCallback?: HelpCallback; + globalCommand?: GlobalCommand; + + constructor(public rawName: string, public description: string, public config: CommandConfig = {}, public cli: CAC) { + this.options = []; + this.aliasNames = []; + this.name = removeBrackets(rawName); + this.args = findAllBrackets(rawName); + this.examples = []; + } + + usage(text: string) { + this.usageText = text; + return this; + } + + allowUnknownOptions() { + this.config.allowUnknownOptions = true; + return this; + } + + ignoreOptionDefaultValue() { + this.config.ignoreOptionDefaultValue = true; + return this; + } + + version(version: string, customFlags = '-v, --version') { + this.versionNumber = version; + this.option(customFlags, 'Display version number'); + return this; + } + + example(example: CommandExample) { + this.examples.push(example); + return this; + } + /** + * Add a option for this command + * @param rawName Raw option name(s) + * @param description Option description + * @param config Option config + */ + + + option(rawName: string, description: string, config?: OptionConfig) { + const option = new Option(rawName, description, config); + this.options.push(option); + return this; + } + + alias(name: string) { + this.aliasNames.push(name); + return this; + } + + action(callback: (...args: any[]) => any) { + this.commandAction = callback; + return this; + } + /** + * Check if a command name is matched by this command + * @param name Command name + */ + + + isMatched(name: string) { + return this.name === name || this.aliasNames.includes(name); + } + + get isDefaultCommand() { + return this.name === '' || this.aliasNames.includes('!'); + } + + get isGlobalCommand(): boolean { + return this instanceof GlobalCommand; + } + /** + * Check if an option is registered in this command + * @param name Option name + */ + + + hasOption(name: string) { + name = name.split('.')[0]; + return this.options.find(option => { + return option.names.includes(name); + }); + } + + outputHelp() { + const { + name, + commands + } = this.cli; + const { + versionNumber, + options: globalOptions, + helpCallback + } = this.cli.globalCommand; + let sections: HelpSection[] = [{ + body: `${name}${versionNumber ? `/${versionNumber}` : ''}` + }]; + sections.push({ + title: 'Usage', + body: ` $ ${name} ${this.usageText || this.rawName}` + }); + const showCommands = (this.isGlobalCommand || this.isDefaultCommand) && commands.length > 0; + + if (showCommands) { + const longestCommandName = findLongest(commands.map(command => command.rawName)); + sections.push({ + title: 'Commands', + body: commands.map(command => { + return ` ${padRight(command.rawName, longestCommandName.length)} ${command.description}`; + }).join('\n') + }); + sections.push({ + title: `For more info, run any command with the \`--help\` flag`, + body: commands.map(command => ` $ ${name}${command.name === '' ? '' : ` ${command.name}`} --help`).join('\n') + }); + } + + let options = this.isGlobalCommand ? globalOptions : [...this.options, ...(globalOptions || [])]; + + if (!this.isGlobalCommand && !this.isDefaultCommand) { + options = options.filter(option => option.name !== 'version'); + } + + if (options.length > 0) { + const longestOptionName = findLongest(options.map(option => option.rawName)); + sections.push({ + title: 'Options', + body: options.map(option => { + return ` ${padRight(option.rawName, longestOptionName.length)} ${option.description} ${option.config.default === undefined ? '' : `(default: ${option.config.default})`}`; + }).join('\n') + }); + } + + if (this.examples.length > 0) { + sections.push({ + title: 'Examples', + body: this.examples.map(example => { + if (typeof example === 'function') { + return example(name); + } + + return example; + }).join('\n') + }); + } + + if (helpCallback) { + sections = helpCallback(sections) || sections; + } + + console.log(sections.map(section => { + return section.title ? `${section.title}:\n${section.body}` : section.body; + }).join('\n\n')); + } + + outputVersion() { + const { + name + } = this.cli; + const { + versionNumber + } = this.cli.globalCommand; + + if (versionNumber) { + console.log(`${name}/${versionNumber} ${platformInfo}`); + } + } + + checkRequiredArgs() { + const minimalArgsCount = this.args.filter(arg => arg.required).length; + + if (this.cli.args.length < minimalArgsCount) { + throw new CACError(`missing required args for command \`${this.rawName}\``); + } + } + /** + * Check if the parsed options contain any unknown options + * + * Exit and output error when true + */ + + + checkUnknownOptions() { + const { + options, + globalCommand + } = this.cli; + + if (!this.config.allowUnknownOptions) { + for (const name of Object.keys(options)) { + if (name !== '--' && !this.hasOption(name) && !globalCommand.hasOption(name)) { + throw new CACError(`Unknown option \`${name.length > 1 ? `--${name}` : `-${name}`}\``); + } + } + } + } + /** + * Check if the required string-type options exist + */ + + + checkOptionValue() { + const { + options: parsedOptions, + globalCommand + } = this.cli; + const options = [...globalCommand.options, ...this.options]; + + for (const option of options) { + const value = parsedOptions[option.name.split('.')[0]]; // Check required option value + + if (option.required) { + const hasNegated = options.some(o => o.negated && o.names.includes(option.name)); + + if (value === true || value === false && !hasNegated) { + throw new CACError(`option \`${option.rawName}\` value is missing`); + } + } + } + } + +} + +class GlobalCommand extends Command { + constructor(cli: CAC) { + super('@@global@@', '', {}, cli); + } + +} + +export type { HelpCallback, CommandExample, CommandConfig }; +export { GlobalCommand }; +export default Command; \ No newline at end of file diff --git a/node_modules/cac/deno/Option.ts b/node_modules/cac/deno/Option.ts new file mode 100644 index 0000000..ee7ed2d --- /dev/null +++ b/node_modules/cac/deno/Option.ts @@ -0,0 +1,52 @@ +import { removeBrackets, camelcaseOptionName } from "./utils.ts"; +interface OptionConfig { + default?: any; + type?: any[]; +} +export default class Option { + /** Option name */ + name: string; + /** Option name and aliases */ + + names: string[]; + isBoolean?: boolean; // `required` will be a boolean for options with brackets + + required?: boolean; + config: OptionConfig; + negated: boolean; + + constructor(public rawName: string, public description: string, config?: OptionConfig) { + this.config = Object.assign({}, config); // You may use cli.option('--env.* [value]', 'desc') to denote a dot-nested option + + rawName = rawName.replace(/\.\*/g, ''); + this.negated = false; + this.names = removeBrackets(rawName).split(',').map((v: string) => { + let name = v.trim().replace(/^-{1,2}/, ''); + + if (name.startsWith('no-')) { + this.negated = true; + name = name.replace(/^no-/, ''); + } + + return camelcaseOptionName(name); + }).sort((a, b) => a.length > b.length ? 1 : -1); // Sort names + // Use the longest name (last one) as actual option name + + this.name = this.names[this.names.length - 1]; + + if (this.negated && this.config.default == null) { + this.config.default = true; + } + + if (rawName.includes('<')) { + this.required = true; + } else if (rawName.includes('[')) { + this.required = false; + } else { + // No arg needed, it's boolean flag + this.isBoolean = true; + } + } + +} +export type { OptionConfig }; \ No newline at end of file diff --git a/node_modules/cac/deno/deno.ts b/node_modules/cac/deno/deno.ts new file mode 100644 index 0000000..2f8e7d9 --- /dev/null +++ b/node_modules/cac/deno/deno.ts @@ -0,0 +1,4 @@ +// Ignore the TypeScript errors +// Since this file will only be used in Deno runtime +export const processArgs = ['deno', 'cli'].concat(Deno.args); +export const platformInfo = `${Deno.build.os}-${Deno.build.arch} deno-${Deno.version.deno}`; \ No newline at end of file diff --git a/node_modules/cac/deno/index.ts b/node_modules/cac/deno/index.ts new file mode 100644 index 0000000..55aa29b --- /dev/null +++ b/node_modules/cac/deno/index.ts @@ -0,0 +1,10 @@ +import CAC from "./CAC.ts"; +import Command from "./Command.ts"; +/** + * @param name The program name to display in help and version message + */ + +const cac = (name = '') => new CAC(name); + +export default cac; +export { cac, CAC, Command }; \ No newline at end of file diff --git a/node_modules/cac/deno/utils.ts b/node_modules/cac/deno/utils.ts new file mode 100644 index 0000000..d75847b --- /dev/null +++ b/node_modules/cac/deno/utils.ts @@ -0,0 +1,145 @@ +import Option from "./Option.ts"; +export const removeBrackets = (v: string) => v.replace(/[<[].+/, '').trim(); +export const findAllBrackets = (v: string) => { + const ANGLED_BRACKET_RE_GLOBAL = /<([^>]+)>/g; + const SQUARE_BRACKET_RE_GLOBAL = /\[([^\]]+)\]/g; + const res = []; + + const parse = (match: string[]) => { + let variadic = false; + let value = match[1]; + + if (value.startsWith('...')) { + value = value.slice(3); + variadic = true; + } + + return { + required: match[0].startsWith('<'), + value, + variadic + }; + }; + + let angledMatch; + + while (angledMatch = ANGLED_BRACKET_RE_GLOBAL.exec(v)) { + res.push(parse(angledMatch)); + } + + let squareMatch; + + while (squareMatch = SQUARE_BRACKET_RE_GLOBAL.exec(v)) { + res.push(parse(squareMatch)); + } + + return res; +}; +interface MriOptions { + alias: { + [k: string]: string[]; + }; + boolean: string[]; +} +export const getMriOptions = (options: Option[]) => { + const result: MriOptions = { + alias: {}, + boolean: [] + }; + + for (const [index, option] of options.entries()) { + // We do not set default values in mri options + // Since its type (typeof) will be used to cast parsed arguments. + // Which mean `--foo foo` will be parsed as `{foo: true}` if we have `{default:{foo: true}}` + // Set alias + if (option.names.length > 1) { + result.alias[option.names[0]] = option.names.slice(1); + } // Set boolean + + + if (option.isBoolean) { + if (option.negated) { + // For negated option + // We only set it to `boolean` type when there's no string-type option with the same name + const hasStringTypeOption = options.some((o, i) => { + return i !== index && o.names.some(name => option.names.includes(name)) && typeof o.required === 'boolean'; + }); + + if (!hasStringTypeOption) { + result.boolean.push(option.names[0]); + } + } else { + result.boolean.push(option.names[0]); + } + } + } + + return result; +}; +export const findLongest = (arr: string[]) => { + return arr.sort((a, b) => { + return a.length > b.length ? -1 : 1; + })[0]; +}; +export const padRight = (str: string, length: number) => { + return str.length >= length ? str : `${str}${' '.repeat(length - str.length)}`; +}; +export const camelcase = (input: string) => { + return input.replace(/([a-z])-([a-z])/g, (_, p1, p2) => { + return p1 + p2.toUpperCase(); + }); +}; +export const setDotProp = (obj: { + [k: string]: any; +}, keys: string[], val: any) => { + let i = 0; + let length = keys.length; + let t = obj; + let x; + + for (; i < length; ++i) { + x = t[keys[i]]; + t = t[keys[i]] = i === length - 1 ? val : x != null ? x : !!~keys[i + 1].indexOf('.') || !(+keys[i + 1] > -1) ? {} : []; + } +}; +export const setByType = (obj: { + [k: string]: any; +}, transforms: { + [k: string]: any; +}) => { + for (const key of Object.keys(transforms)) { + const transform = transforms[key]; + + if (transform.shouldTransform) { + obj[key] = Array.prototype.concat.call([], obj[key]); + + if (typeof transform.transformFunction === 'function') { + obj[key] = obj[key].map(transform.transformFunction); + } + } + } +}; +export const getFileName = (input: string) => { + const m = /([^\\\/]+)$/.exec(input); + return m ? m[1] : ''; +}; +export const camelcaseOptionName = (name: string) => { + // Camelcase the option name + // Don't camelcase anything after the dot `.` + return name.split('.').map((v, i) => { + return i === 0 ? camelcase(v) : v; + }).join('.'); +}; +export class CACError extends Error { + constructor(message: string) { + super(message); + this.name = this.constructor.name; + + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = new Error(message).stack; + } + } + +} \ No newline at end of file diff --git a/node_modules/cac/dist/index.d.ts b/node_modules/cac/dist/index.d.ts new file mode 100644 index 0000000..84dcb66 --- /dev/null +++ b/node_modules/cac/dist/index.d.ts @@ -0,0 +1,191 @@ +import { EventEmitter } from 'events'; + +interface OptionConfig { + default?: any; + type?: any[]; +} +declare class Option { + rawName: string; + description: string; + /** Option name */ + name: string; + /** Option name and aliases */ + names: string[]; + isBoolean?: boolean; + required?: boolean; + config: OptionConfig; + negated: boolean; + constructor(rawName: string, description: string, config?: OptionConfig); +} + +interface CommandArg { + required: boolean; + value: string; + variadic: boolean; +} +interface HelpSection { + title?: string; + body: string; +} +interface CommandConfig { + allowUnknownOptions?: boolean; + ignoreOptionDefaultValue?: boolean; +} +declare type HelpCallback = (sections: HelpSection[]) => void | HelpSection[]; +declare type CommandExample = ((bin: string) => string) | string; +declare class Command { + rawName: string; + description: string; + config: CommandConfig; + cli: CAC; + options: Option[]; + aliasNames: string[]; + name: string; + args: CommandArg[]; + commandAction?: (...args: any[]) => any; + usageText?: string; + versionNumber?: string; + examples: CommandExample[]; + helpCallback?: HelpCallback; + globalCommand?: GlobalCommand; + constructor(rawName: string, description: string, config: CommandConfig, cli: CAC); + usage(text: string): this; + allowUnknownOptions(): this; + ignoreOptionDefaultValue(): this; + version(version: string, customFlags?: string): this; + example(example: CommandExample): this; + /** + * Add a option for this command + * @param rawName Raw option name(s) + * @param description Option description + * @param config Option config + */ + option(rawName: string, description: string, config?: OptionConfig): this; + alias(name: string): this; + action(callback: (...args: any[]) => any): this; + /** + * Check if a command name is matched by this command + * @param name Command name + */ + isMatched(name: string): boolean; + get isDefaultCommand(): boolean; + get isGlobalCommand(): boolean; + /** + * Check if an option is registered in this command + * @param name Option name + */ + hasOption(name: string): Option | undefined; + outputHelp(): void; + outputVersion(): void; + checkRequiredArgs(): void; + /** + * Check if the parsed options contain any unknown options + * + * Exit and output error when true + */ + checkUnknownOptions(): void; + /** + * Check if the required string-type options exist + */ + checkOptionValue(): void; +} +declare class GlobalCommand extends Command { + constructor(cli: CAC); +} + +interface ParsedArgv { + args: ReadonlyArray; + options: { + [k: string]: any; + }; +} +declare class CAC extends EventEmitter { + /** The program name to display in help and version message */ + name: string; + commands: Command[]; + globalCommand: GlobalCommand; + matchedCommand?: Command; + matchedCommandName?: string; + /** + * Raw CLI arguments + */ + rawArgs: string[]; + /** + * Parsed CLI arguments + */ + args: ParsedArgv['args']; + /** + * Parsed CLI options, camelCased + */ + options: ParsedArgv['options']; + showHelpOnExit?: boolean; + showVersionOnExit?: boolean; + /** + * @param name The program name to display in help and version message + */ + constructor(name?: string); + /** + * Add a global usage text. + * + * This is not used by sub-commands. + */ + usage(text: string): this; + /** + * Add a sub-command + */ + command(rawName: string, description?: string, config?: CommandConfig): Command; + /** + * Add a global CLI option. + * + * Which is also applied to sub-commands. + */ + option(rawName: string, description: string, config?: OptionConfig): this; + /** + * Show help message when `-h, --help` flags appear. + * + */ + help(callback?: HelpCallback): this; + /** + * Show version number when `-v, --version` flags appear. + * + */ + version(version: string, customFlags?: string): this; + /** + * Add a global example. + * + * This example added here will not be used by sub-commands. + */ + example(example: CommandExample): this; + /** + * Output the corresponding help message + * When a sub-command is matched, output the help message for the command + * Otherwise output the global one. + * + */ + outputHelp(): void; + /** + * Output the version number. + * + */ + outputVersion(): void; + private setParsedInfo; + unsetMatchedCommand(): void; + /** + * Parse argv + */ + parse(argv?: string[], { + /** Whether to run the action for matched command */ + run, }?: { + run?: boolean | undefined; + }): ParsedArgv; + private mri; + runMatchedCommand(): any; +} + +/** + * @param name The program name to display in help and version message + */ +declare const cac: (name?: string) => CAC; + +export default cac; +export { CAC, Command, cac }; diff --git a/node_modules/cac/dist/index.js b/node_modules/cac/dist/index.js new file mode 100644 index 0000000..8582dbf --- /dev/null +++ b/node_modules/cac/dist/index.js @@ -0,0 +1,623 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var events = require('events'); + +function toArr(any) { + return any == null ? [] : Array.isArray(any) ? any : [any]; +} + +function toVal(out, key, val, opts) { + var x, old=out[key], nxt=( + !!~opts.string.indexOf(key) ? (val == null || val === true ? '' : String(val)) + : typeof val === 'boolean' ? val + : !!~opts.boolean.indexOf(key) ? (val === 'false' ? false : val === 'true' || (out._.push((x = +val,x * 0 === 0) ? x : val),!!val)) + : (x = +val,x * 0 === 0) ? x : val + ); + out[key] = old == null ? nxt : (Array.isArray(old) ? old.concat(nxt) : [old, nxt]); +} + +function mri2 (args, opts) { + args = args || []; + opts = opts || {}; + + var k, arr, arg, name, val, out={ _:[] }; + var i=0, j=0, idx=0, len=args.length; + + const alibi = opts.alias !== void 0; + const strict = opts.unknown !== void 0; + const defaults = opts.default !== void 0; + + opts.alias = opts.alias || {}; + opts.string = toArr(opts.string); + opts.boolean = toArr(opts.boolean); + + if (alibi) { + for (k in opts.alias) { + arr = opts.alias[k] = toArr(opts.alias[k]); + for (i=0; i < arr.length; i++) { + (opts.alias[arr[i]] = arr.concat(k)).splice(i, 1); + } + } + } + + for (i=opts.boolean.length; i-- > 0;) { + arr = opts.alias[opts.boolean[i]] || []; + for (j=arr.length; j-- > 0;) opts.boolean.push(arr[j]); + } + + for (i=opts.string.length; i-- > 0;) { + arr = opts.alias[opts.string[i]] || []; + for (j=arr.length; j-- > 0;) opts.string.push(arr[j]); + } + + if (defaults) { + for (k in opts.default) { + name = typeof opts.default[k]; + arr = opts.alias[k] = opts.alias[k] || []; + if (opts[name] !== void 0) { + opts[name].push(k); + for (i=0; i < arr.length; i++) { + opts[name].push(arr[i]); + } + } + } + } + + const keys = strict ? Object.keys(opts.alias) : []; + + for (i=0; i < len; i++) { + arg = args[i]; + + if (arg === '--') { + out._ = out._.concat(args.slice(++i)); + break; + } + + for (j=0; j < arg.length; j++) { + if (arg.charCodeAt(j) !== 45) break; // "-" + } + + if (j === 0) { + out._.push(arg); + } else if (arg.substring(j, j + 3) === 'no-') { + name = arg.substring(j + 3); + if (strict && !~keys.indexOf(name)) { + return opts.unknown(arg); + } + out[name] = false; + } else { + for (idx=j+1; idx < arg.length; idx++) { + if (arg.charCodeAt(idx) === 61) break; // "=" + } + + name = arg.substring(j, idx); + val = arg.substring(++idx) || (i+1 === len || (''+args[i+1]).charCodeAt(0) === 45 || args[++i]); + arr = (j === 2 ? [name] : name); + + for (idx=0; idx < arr.length; idx++) { + name = arr[idx]; + if (strict && !~keys.indexOf(name)) return opts.unknown('-'.repeat(j) + name); + toVal(out, name, (idx + 1 < arr.length) || val, opts); + } + } + } + + if (defaults) { + for (k in opts.default) { + if (out[k] === void 0) { + out[k] = opts.default[k]; + } + } + } + + if (alibi) { + for (k in out) { + arr = opts.alias[k] || []; + while (arr.length > 0) { + out[arr.shift()] = out[k]; + } + } + } + + return out; +} + +const removeBrackets = (v) => v.replace(/[<[].+/, "").trim(); +const findAllBrackets = (v) => { + const ANGLED_BRACKET_RE_GLOBAL = /<([^>]+)>/g; + const SQUARE_BRACKET_RE_GLOBAL = /\[([^\]]+)\]/g; + const res = []; + const parse = (match) => { + let variadic = false; + let value = match[1]; + if (value.startsWith("...")) { + value = value.slice(3); + variadic = true; + } + return { + required: match[0].startsWith("<"), + value, + variadic + }; + }; + let angledMatch; + while (angledMatch = ANGLED_BRACKET_RE_GLOBAL.exec(v)) { + res.push(parse(angledMatch)); + } + let squareMatch; + while (squareMatch = SQUARE_BRACKET_RE_GLOBAL.exec(v)) { + res.push(parse(squareMatch)); + } + return res; +}; +const getMriOptions = (options) => { + const result = {alias: {}, boolean: []}; + for (const [index, option] of options.entries()) { + if (option.names.length > 1) { + result.alias[option.names[0]] = option.names.slice(1); + } + if (option.isBoolean) { + if (option.negated) { + const hasStringTypeOption = options.some((o, i) => { + return i !== index && o.names.some((name) => option.names.includes(name)) && typeof o.required === "boolean"; + }); + if (!hasStringTypeOption) { + result.boolean.push(option.names[0]); + } + } else { + result.boolean.push(option.names[0]); + } + } + } + return result; +}; +const findLongest = (arr) => { + return arr.sort((a, b) => { + return a.length > b.length ? -1 : 1; + })[0]; +}; +const padRight = (str, length) => { + return str.length >= length ? str : `${str}${" ".repeat(length - str.length)}`; +}; +const camelcase = (input) => { + return input.replace(/([a-z])-([a-z])/g, (_, p1, p2) => { + return p1 + p2.toUpperCase(); + }); +}; +const setDotProp = (obj, keys, val) => { + let i = 0; + let length = keys.length; + let t = obj; + let x; + for (; i < length; ++i) { + x = t[keys[i]]; + t = t[keys[i]] = i === length - 1 ? val : x != null ? x : !!~keys[i + 1].indexOf(".") || !(+keys[i + 1] > -1) ? {} : []; + } +}; +const setByType = (obj, transforms) => { + for (const key of Object.keys(transforms)) { + const transform = transforms[key]; + if (transform.shouldTransform) { + obj[key] = Array.prototype.concat.call([], obj[key]); + if (typeof transform.transformFunction === "function") { + obj[key] = obj[key].map(transform.transformFunction); + } + } + } +}; +const getFileName = (input) => { + const m = /([^\\\/]+)$/.exec(input); + return m ? m[1] : ""; +}; +const camelcaseOptionName = (name) => { + return name.split(".").map((v, i) => { + return i === 0 ? camelcase(v) : v; + }).join("."); +}; +class CACError extends Error { + constructor(message) { + super(message); + this.name = this.constructor.name; + if (typeof Error.captureStackTrace === "function") { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = new Error(message).stack; + } + } +} + +class Option { + constructor(rawName, description, config) { + this.rawName = rawName; + this.description = description; + this.config = Object.assign({}, config); + rawName = rawName.replace(/\.\*/g, ""); + this.negated = false; + this.names = removeBrackets(rawName).split(",").map((v) => { + let name = v.trim().replace(/^-{1,2}/, ""); + if (name.startsWith("no-")) { + this.negated = true; + name = name.replace(/^no-/, ""); + } + return camelcaseOptionName(name); + }).sort((a, b) => a.length > b.length ? 1 : -1); + this.name = this.names[this.names.length - 1]; + if (this.negated && this.config.default == null) { + this.config.default = true; + } + if (rawName.includes("<")) { + this.required = true; + } else if (rawName.includes("[")) { + this.required = false; + } else { + this.isBoolean = true; + } + } +} + +const processArgs = process.argv; +const platformInfo = `${process.platform}-${process.arch} node-${process.version}`; + +class Command { + constructor(rawName, description, config = {}, cli) { + this.rawName = rawName; + this.description = description; + this.config = config; + this.cli = cli; + this.options = []; + this.aliasNames = []; + this.name = removeBrackets(rawName); + this.args = findAllBrackets(rawName); + this.examples = []; + } + usage(text) { + this.usageText = text; + return this; + } + allowUnknownOptions() { + this.config.allowUnknownOptions = true; + return this; + } + ignoreOptionDefaultValue() { + this.config.ignoreOptionDefaultValue = true; + return this; + } + version(version, customFlags = "-v, --version") { + this.versionNumber = version; + this.option(customFlags, "Display version number"); + return this; + } + example(example) { + this.examples.push(example); + return this; + } + option(rawName, description, config) { + const option = new Option(rawName, description, config); + this.options.push(option); + return this; + } + alias(name) { + this.aliasNames.push(name); + return this; + } + action(callback) { + this.commandAction = callback; + return this; + } + isMatched(name) { + return this.name === name || this.aliasNames.includes(name); + } + get isDefaultCommand() { + return this.name === "" || this.aliasNames.includes("!"); + } + get isGlobalCommand() { + return this instanceof GlobalCommand; + } + hasOption(name) { + name = name.split(".")[0]; + return this.options.find((option) => { + return option.names.includes(name); + }); + } + outputHelp() { + const {name, commands} = this.cli; + const { + versionNumber, + options: globalOptions, + helpCallback + } = this.cli.globalCommand; + let sections = [ + { + body: `${name}${versionNumber ? `/${versionNumber}` : ""}` + } + ]; + sections.push({ + title: "Usage", + body: ` $ ${name} ${this.usageText || this.rawName}` + }); + const showCommands = (this.isGlobalCommand || this.isDefaultCommand) && commands.length > 0; + if (showCommands) { + const longestCommandName = findLongest(commands.map((command) => command.rawName)); + sections.push({ + title: "Commands", + body: commands.map((command) => { + return ` ${padRight(command.rawName, longestCommandName.length)} ${command.description}`; + }).join("\n") + }); + sections.push({ + title: `For more info, run any command with the \`--help\` flag`, + body: commands.map((command) => ` $ ${name}${command.name === "" ? "" : ` ${command.name}`} --help`).join("\n") + }); + } + let options = this.isGlobalCommand ? globalOptions : [...this.options, ...globalOptions || []]; + if (!this.isGlobalCommand && !this.isDefaultCommand) { + options = options.filter((option) => option.name !== "version"); + } + if (options.length > 0) { + const longestOptionName = findLongest(options.map((option) => option.rawName)); + sections.push({ + title: "Options", + body: options.map((option) => { + return ` ${padRight(option.rawName, longestOptionName.length)} ${option.description} ${option.config.default === void 0 ? "" : `(default: ${option.config.default})`}`; + }).join("\n") + }); + } + if (this.examples.length > 0) { + sections.push({ + title: "Examples", + body: this.examples.map((example) => { + if (typeof example === "function") { + return example(name); + } + return example; + }).join("\n") + }); + } + if (helpCallback) { + sections = helpCallback(sections) || sections; + } + console.log(sections.map((section) => { + return section.title ? `${section.title}: +${section.body}` : section.body; + }).join("\n\n")); + } + outputVersion() { + const {name} = this.cli; + const {versionNumber} = this.cli.globalCommand; + if (versionNumber) { + console.log(`${name}/${versionNumber} ${platformInfo}`); + } + } + checkRequiredArgs() { + const minimalArgsCount = this.args.filter((arg) => arg.required).length; + if (this.cli.args.length < minimalArgsCount) { + throw new CACError(`missing required args for command \`${this.rawName}\``); + } + } + checkUnknownOptions() { + const {options, globalCommand} = this.cli; + if (!this.config.allowUnknownOptions) { + for (const name of Object.keys(options)) { + if (name !== "--" && !this.hasOption(name) && !globalCommand.hasOption(name)) { + throw new CACError(`Unknown option \`${name.length > 1 ? `--${name}` : `-${name}`}\``); + } + } + } + } + checkOptionValue() { + const {options: parsedOptions, globalCommand} = this.cli; + const options = [...globalCommand.options, ...this.options]; + for (const option of options) { + const value = parsedOptions[option.name.split(".")[0]]; + if (option.required) { + const hasNegated = options.some((o) => o.negated && o.names.includes(option.name)); + if (value === true || value === false && !hasNegated) { + throw new CACError(`option \`${option.rawName}\` value is missing`); + } + } + } + } +} +class GlobalCommand extends Command { + constructor(cli) { + super("@@global@@", "", {}, cli); + } +} + +var __assign = Object.assign; +class CAC extends events.EventEmitter { + constructor(name = "") { + super(); + this.name = name; + this.commands = []; + this.rawArgs = []; + this.args = []; + this.options = {}; + this.globalCommand = new GlobalCommand(this); + this.globalCommand.usage(" [options]"); + } + usage(text) { + this.globalCommand.usage(text); + return this; + } + command(rawName, description, config) { + const command = new Command(rawName, description || "", config, this); + command.globalCommand = this.globalCommand; + this.commands.push(command); + return command; + } + option(rawName, description, config) { + this.globalCommand.option(rawName, description, config); + return this; + } + help(callback) { + this.globalCommand.option("-h, --help", "Display this message"); + this.globalCommand.helpCallback = callback; + this.showHelpOnExit = true; + return this; + } + version(version, customFlags = "-v, --version") { + this.globalCommand.version(version, customFlags); + this.showVersionOnExit = true; + return this; + } + example(example) { + this.globalCommand.example(example); + return this; + } + outputHelp() { + if (this.matchedCommand) { + this.matchedCommand.outputHelp(); + } else { + this.globalCommand.outputHelp(); + } + } + outputVersion() { + this.globalCommand.outputVersion(); + } + setParsedInfo({args, options}, matchedCommand, matchedCommandName) { + this.args = args; + this.options = options; + if (matchedCommand) { + this.matchedCommand = matchedCommand; + } + if (matchedCommandName) { + this.matchedCommandName = matchedCommandName; + } + return this; + } + unsetMatchedCommand() { + this.matchedCommand = void 0; + this.matchedCommandName = void 0; + } + parse(argv = processArgs, { + run = true + } = {}) { + this.rawArgs = argv; + if (!this.name) { + this.name = argv[1] ? getFileName(argv[1]) : "cli"; + } + let shouldParse = true; + for (const command of this.commands) { + const parsed = this.mri(argv.slice(2), command); + const commandName = parsed.args[0]; + if (command.isMatched(commandName)) { + shouldParse = false; + const parsedInfo = __assign(__assign({}, parsed), { + args: parsed.args.slice(1) + }); + this.setParsedInfo(parsedInfo, command, commandName); + this.emit(`command:${commandName}`, command); + } + } + if (shouldParse) { + for (const command of this.commands) { + if (command.name === "") { + shouldParse = false; + const parsed = this.mri(argv.slice(2), command); + this.setParsedInfo(parsed, command); + this.emit(`command:!`, command); + } + } + } + if (shouldParse) { + const parsed = this.mri(argv.slice(2)); + this.setParsedInfo(parsed); + } + if (this.options.help && this.showHelpOnExit) { + this.outputHelp(); + run = false; + this.unsetMatchedCommand(); + } + if (this.options.version && this.showVersionOnExit && this.matchedCommandName == null) { + this.outputVersion(); + run = false; + this.unsetMatchedCommand(); + } + const parsedArgv = {args: this.args, options: this.options}; + if (run) { + this.runMatchedCommand(); + } + if (!this.matchedCommand && this.args[0]) { + this.emit("command:*"); + } + return parsedArgv; + } + mri(argv, command) { + const cliOptions = [ + ...this.globalCommand.options, + ...command ? command.options : [] + ]; + const mriOptions = getMriOptions(cliOptions); + let argsAfterDoubleDashes = []; + const doubleDashesIndex = argv.indexOf("--"); + if (doubleDashesIndex > -1) { + argsAfterDoubleDashes = argv.slice(doubleDashesIndex + 1); + argv = argv.slice(0, doubleDashesIndex); + } + let parsed = mri2(argv, mriOptions); + parsed = Object.keys(parsed).reduce((res, name) => { + return __assign(__assign({}, res), { + [camelcaseOptionName(name)]: parsed[name] + }); + }, {_: []}); + const args = parsed._; + const options = { + "--": argsAfterDoubleDashes + }; + const ignoreDefault = command && command.config.ignoreOptionDefaultValue ? command.config.ignoreOptionDefaultValue : this.globalCommand.config.ignoreOptionDefaultValue; + let transforms = Object.create(null); + for (const cliOption of cliOptions) { + if (!ignoreDefault && cliOption.config.default !== void 0) { + for (const name of cliOption.names) { + options[name] = cliOption.config.default; + } + } + if (Array.isArray(cliOption.config.type)) { + if (transforms[cliOption.name] === void 0) { + transforms[cliOption.name] = Object.create(null); + transforms[cliOption.name]["shouldTransform"] = true; + transforms[cliOption.name]["transformFunction"] = cliOption.config.type[0]; + } + } + } + for (const key of Object.keys(parsed)) { + if (key !== "_") { + const keys = key.split("."); + setDotProp(options, keys, parsed[key]); + setByType(options, transforms); + } + } + return { + args, + options + }; + } + runMatchedCommand() { + const {args, options, matchedCommand: command} = this; + if (!command || !command.commandAction) + return; + command.checkUnknownOptions(); + command.checkOptionValue(); + command.checkRequiredArgs(); + const actionArgs = []; + command.args.forEach((arg, index) => { + if (arg.variadic) { + actionArgs.push(args.slice(index)); + } else { + actionArgs.push(args[index]); + } + }); + actionArgs.push(options); + return command.commandAction.apply(this, actionArgs); + } +} + +const cac = (name = "") => new CAC(name); + +exports.CAC = CAC; +exports.Command = Command; +exports.cac = cac; +exports.default = cac; diff --git a/node_modules/cac/dist/index.mjs b/node_modules/cac/dist/index.mjs new file mode 100644 index 0000000..7c1c444 --- /dev/null +++ b/node_modules/cac/dist/index.mjs @@ -0,0 +1,617 @@ +import { EventEmitter } from 'events'; + +function toArr(any) { + return any == null ? [] : Array.isArray(any) ? any : [any]; +} + +function toVal(out, key, val, opts) { + var x, old=out[key], nxt=( + !!~opts.string.indexOf(key) ? (val == null || val === true ? '' : String(val)) + : typeof val === 'boolean' ? val + : !!~opts.boolean.indexOf(key) ? (val === 'false' ? false : val === 'true' || (out._.push((x = +val,x * 0 === 0) ? x : val),!!val)) + : (x = +val,x * 0 === 0) ? x : val + ); + out[key] = old == null ? nxt : (Array.isArray(old) ? old.concat(nxt) : [old, nxt]); +} + +function mri2 (args, opts) { + args = args || []; + opts = opts || {}; + + var k, arr, arg, name, val, out={ _:[] }; + var i=0, j=0, idx=0, len=args.length; + + const alibi = opts.alias !== void 0; + const strict = opts.unknown !== void 0; + const defaults = opts.default !== void 0; + + opts.alias = opts.alias || {}; + opts.string = toArr(opts.string); + opts.boolean = toArr(opts.boolean); + + if (alibi) { + for (k in opts.alias) { + arr = opts.alias[k] = toArr(opts.alias[k]); + for (i=0; i < arr.length; i++) { + (opts.alias[arr[i]] = arr.concat(k)).splice(i, 1); + } + } + } + + for (i=opts.boolean.length; i-- > 0;) { + arr = opts.alias[opts.boolean[i]] || []; + for (j=arr.length; j-- > 0;) opts.boolean.push(arr[j]); + } + + for (i=opts.string.length; i-- > 0;) { + arr = opts.alias[opts.string[i]] || []; + for (j=arr.length; j-- > 0;) opts.string.push(arr[j]); + } + + if (defaults) { + for (k in opts.default) { + name = typeof opts.default[k]; + arr = opts.alias[k] = opts.alias[k] || []; + if (opts[name] !== void 0) { + opts[name].push(k); + for (i=0; i < arr.length; i++) { + opts[name].push(arr[i]); + } + } + } + } + + const keys = strict ? Object.keys(opts.alias) : []; + + for (i=0; i < len; i++) { + arg = args[i]; + + if (arg === '--') { + out._ = out._.concat(args.slice(++i)); + break; + } + + for (j=0; j < arg.length; j++) { + if (arg.charCodeAt(j) !== 45) break; // "-" + } + + if (j === 0) { + out._.push(arg); + } else if (arg.substring(j, j + 3) === 'no-') { + name = arg.substring(j + 3); + if (strict && !~keys.indexOf(name)) { + return opts.unknown(arg); + } + out[name] = false; + } else { + for (idx=j+1; idx < arg.length; idx++) { + if (arg.charCodeAt(idx) === 61) break; // "=" + } + + name = arg.substring(j, idx); + val = arg.substring(++idx) || (i+1 === len || (''+args[i+1]).charCodeAt(0) === 45 || args[++i]); + arr = (j === 2 ? [name] : name); + + for (idx=0; idx < arr.length; idx++) { + name = arr[idx]; + if (strict && !~keys.indexOf(name)) return opts.unknown('-'.repeat(j) + name); + toVal(out, name, (idx + 1 < arr.length) || val, opts); + } + } + } + + if (defaults) { + for (k in opts.default) { + if (out[k] === void 0) { + out[k] = opts.default[k]; + } + } + } + + if (alibi) { + for (k in out) { + arr = opts.alias[k] || []; + while (arr.length > 0) { + out[arr.shift()] = out[k]; + } + } + } + + return out; +} + +const removeBrackets = (v) => v.replace(/[<[].+/, "").trim(); +const findAllBrackets = (v) => { + const ANGLED_BRACKET_RE_GLOBAL = /<([^>]+)>/g; + const SQUARE_BRACKET_RE_GLOBAL = /\[([^\]]+)\]/g; + const res = []; + const parse = (match) => { + let variadic = false; + let value = match[1]; + if (value.startsWith("...")) { + value = value.slice(3); + variadic = true; + } + return { + required: match[0].startsWith("<"), + value, + variadic + }; + }; + let angledMatch; + while (angledMatch = ANGLED_BRACKET_RE_GLOBAL.exec(v)) { + res.push(parse(angledMatch)); + } + let squareMatch; + while (squareMatch = SQUARE_BRACKET_RE_GLOBAL.exec(v)) { + res.push(parse(squareMatch)); + } + return res; +}; +const getMriOptions = (options) => { + const result = {alias: {}, boolean: []}; + for (const [index, option] of options.entries()) { + if (option.names.length > 1) { + result.alias[option.names[0]] = option.names.slice(1); + } + if (option.isBoolean) { + if (option.negated) { + const hasStringTypeOption = options.some((o, i) => { + return i !== index && o.names.some((name) => option.names.includes(name)) && typeof o.required === "boolean"; + }); + if (!hasStringTypeOption) { + result.boolean.push(option.names[0]); + } + } else { + result.boolean.push(option.names[0]); + } + } + } + return result; +}; +const findLongest = (arr) => { + return arr.sort((a, b) => { + return a.length > b.length ? -1 : 1; + })[0]; +}; +const padRight = (str, length) => { + return str.length >= length ? str : `${str}${" ".repeat(length - str.length)}`; +}; +const camelcase = (input) => { + return input.replace(/([a-z])-([a-z])/g, (_, p1, p2) => { + return p1 + p2.toUpperCase(); + }); +}; +const setDotProp = (obj, keys, val) => { + let i = 0; + let length = keys.length; + let t = obj; + let x; + for (; i < length; ++i) { + x = t[keys[i]]; + t = t[keys[i]] = i === length - 1 ? val : x != null ? x : !!~keys[i + 1].indexOf(".") || !(+keys[i + 1] > -1) ? {} : []; + } +}; +const setByType = (obj, transforms) => { + for (const key of Object.keys(transforms)) { + const transform = transforms[key]; + if (transform.shouldTransform) { + obj[key] = Array.prototype.concat.call([], obj[key]); + if (typeof transform.transformFunction === "function") { + obj[key] = obj[key].map(transform.transformFunction); + } + } + } +}; +const getFileName = (input) => { + const m = /([^\\\/]+)$/.exec(input); + return m ? m[1] : ""; +}; +const camelcaseOptionName = (name) => { + return name.split(".").map((v, i) => { + return i === 0 ? camelcase(v) : v; + }).join("."); +}; +class CACError extends Error { + constructor(message) { + super(message); + this.name = this.constructor.name; + if (typeof Error.captureStackTrace === "function") { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = new Error(message).stack; + } + } +} + +class Option { + constructor(rawName, description, config) { + this.rawName = rawName; + this.description = description; + this.config = Object.assign({}, config); + rawName = rawName.replace(/\.\*/g, ""); + this.negated = false; + this.names = removeBrackets(rawName).split(",").map((v) => { + let name = v.trim().replace(/^-{1,2}/, ""); + if (name.startsWith("no-")) { + this.negated = true; + name = name.replace(/^no-/, ""); + } + return camelcaseOptionName(name); + }).sort((a, b) => a.length > b.length ? 1 : -1); + this.name = this.names[this.names.length - 1]; + if (this.negated && this.config.default == null) { + this.config.default = true; + } + if (rawName.includes("<")) { + this.required = true; + } else if (rawName.includes("[")) { + this.required = false; + } else { + this.isBoolean = true; + } + } +} + +const processArgs = process.argv; +const platformInfo = `${process.platform}-${process.arch} node-${process.version}`; + +class Command { + constructor(rawName, description, config = {}, cli) { + this.rawName = rawName; + this.description = description; + this.config = config; + this.cli = cli; + this.options = []; + this.aliasNames = []; + this.name = removeBrackets(rawName); + this.args = findAllBrackets(rawName); + this.examples = []; + } + usage(text) { + this.usageText = text; + return this; + } + allowUnknownOptions() { + this.config.allowUnknownOptions = true; + return this; + } + ignoreOptionDefaultValue() { + this.config.ignoreOptionDefaultValue = true; + return this; + } + version(version, customFlags = "-v, --version") { + this.versionNumber = version; + this.option(customFlags, "Display version number"); + return this; + } + example(example) { + this.examples.push(example); + return this; + } + option(rawName, description, config) { + const option = new Option(rawName, description, config); + this.options.push(option); + return this; + } + alias(name) { + this.aliasNames.push(name); + return this; + } + action(callback) { + this.commandAction = callback; + return this; + } + isMatched(name) { + return this.name === name || this.aliasNames.includes(name); + } + get isDefaultCommand() { + return this.name === "" || this.aliasNames.includes("!"); + } + get isGlobalCommand() { + return this instanceof GlobalCommand; + } + hasOption(name) { + name = name.split(".")[0]; + return this.options.find((option) => { + return option.names.includes(name); + }); + } + outputHelp() { + const {name, commands} = this.cli; + const { + versionNumber, + options: globalOptions, + helpCallback + } = this.cli.globalCommand; + let sections = [ + { + body: `${name}${versionNumber ? `/${versionNumber}` : ""}` + } + ]; + sections.push({ + title: "Usage", + body: ` $ ${name} ${this.usageText || this.rawName}` + }); + const showCommands = (this.isGlobalCommand || this.isDefaultCommand) && commands.length > 0; + if (showCommands) { + const longestCommandName = findLongest(commands.map((command) => command.rawName)); + sections.push({ + title: "Commands", + body: commands.map((command) => { + return ` ${padRight(command.rawName, longestCommandName.length)} ${command.description}`; + }).join("\n") + }); + sections.push({ + title: `For more info, run any command with the \`--help\` flag`, + body: commands.map((command) => ` $ ${name}${command.name === "" ? "" : ` ${command.name}`} --help`).join("\n") + }); + } + let options = this.isGlobalCommand ? globalOptions : [...this.options, ...globalOptions || []]; + if (!this.isGlobalCommand && !this.isDefaultCommand) { + options = options.filter((option) => option.name !== "version"); + } + if (options.length > 0) { + const longestOptionName = findLongest(options.map((option) => option.rawName)); + sections.push({ + title: "Options", + body: options.map((option) => { + return ` ${padRight(option.rawName, longestOptionName.length)} ${option.description} ${option.config.default === void 0 ? "" : `(default: ${option.config.default})`}`; + }).join("\n") + }); + } + if (this.examples.length > 0) { + sections.push({ + title: "Examples", + body: this.examples.map((example) => { + if (typeof example === "function") { + return example(name); + } + return example; + }).join("\n") + }); + } + if (helpCallback) { + sections = helpCallback(sections) || sections; + } + console.log(sections.map((section) => { + return section.title ? `${section.title}: +${section.body}` : section.body; + }).join("\n\n")); + } + outputVersion() { + const {name} = this.cli; + const {versionNumber} = this.cli.globalCommand; + if (versionNumber) { + console.log(`${name}/${versionNumber} ${platformInfo}`); + } + } + checkRequiredArgs() { + const minimalArgsCount = this.args.filter((arg) => arg.required).length; + if (this.cli.args.length < minimalArgsCount) { + throw new CACError(`missing required args for command \`${this.rawName}\``); + } + } + checkUnknownOptions() { + const {options, globalCommand} = this.cli; + if (!this.config.allowUnknownOptions) { + for (const name of Object.keys(options)) { + if (name !== "--" && !this.hasOption(name) && !globalCommand.hasOption(name)) { + throw new CACError(`Unknown option \`${name.length > 1 ? `--${name}` : `-${name}`}\``); + } + } + } + } + checkOptionValue() { + const {options: parsedOptions, globalCommand} = this.cli; + const options = [...globalCommand.options, ...this.options]; + for (const option of options) { + const value = parsedOptions[option.name.split(".")[0]]; + if (option.required) { + const hasNegated = options.some((o) => o.negated && o.names.includes(option.name)); + if (value === true || value === false && !hasNegated) { + throw new CACError(`option \`${option.rawName}\` value is missing`); + } + } + } + } +} +class GlobalCommand extends Command { + constructor(cli) { + super("@@global@@", "", {}, cli); + } +} + +var __assign = Object.assign; +class CAC extends EventEmitter { + constructor(name = "") { + super(); + this.name = name; + this.commands = []; + this.rawArgs = []; + this.args = []; + this.options = {}; + this.globalCommand = new GlobalCommand(this); + this.globalCommand.usage(" [options]"); + } + usage(text) { + this.globalCommand.usage(text); + return this; + } + command(rawName, description, config) { + const command = new Command(rawName, description || "", config, this); + command.globalCommand = this.globalCommand; + this.commands.push(command); + return command; + } + option(rawName, description, config) { + this.globalCommand.option(rawName, description, config); + return this; + } + help(callback) { + this.globalCommand.option("-h, --help", "Display this message"); + this.globalCommand.helpCallback = callback; + this.showHelpOnExit = true; + return this; + } + version(version, customFlags = "-v, --version") { + this.globalCommand.version(version, customFlags); + this.showVersionOnExit = true; + return this; + } + example(example) { + this.globalCommand.example(example); + return this; + } + outputHelp() { + if (this.matchedCommand) { + this.matchedCommand.outputHelp(); + } else { + this.globalCommand.outputHelp(); + } + } + outputVersion() { + this.globalCommand.outputVersion(); + } + setParsedInfo({args, options}, matchedCommand, matchedCommandName) { + this.args = args; + this.options = options; + if (matchedCommand) { + this.matchedCommand = matchedCommand; + } + if (matchedCommandName) { + this.matchedCommandName = matchedCommandName; + } + return this; + } + unsetMatchedCommand() { + this.matchedCommand = void 0; + this.matchedCommandName = void 0; + } + parse(argv = processArgs, { + run = true + } = {}) { + this.rawArgs = argv; + if (!this.name) { + this.name = argv[1] ? getFileName(argv[1]) : "cli"; + } + let shouldParse = true; + for (const command of this.commands) { + const parsed = this.mri(argv.slice(2), command); + const commandName = parsed.args[0]; + if (command.isMatched(commandName)) { + shouldParse = false; + const parsedInfo = __assign(__assign({}, parsed), { + args: parsed.args.slice(1) + }); + this.setParsedInfo(parsedInfo, command, commandName); + this.emit(`command:${commandName}`, command); + } + } + if (shouldParse) { + for (const command of this.commands) { + if (command.name === "") { + shouldParse = false; + const parsed = this.mri(argv.slice(2), command); + this.setParsedInfo(parsed, command); + this.emit(`command:!`, command); + } + } + } + if (shouldParse) { + const parsed = this.mri(argv.slice(2)); + this.setParsedInfo(parsed); + } + if (this.options.help && this.showHelpOnExit) { + this.outputHelp(); + run = false; + this.unsetMatchedCommand(); + } + if (this.options.version && this.showVersionOnExit && this.matchedCommandName == null) { + this.outputVersion(); + run = false; + this.unsetMatchedCommand(); + } + const parsedArgv = {args: this.args, options: this.options}; + if (run) { + this.runMatchedCommand(); + } + if (!this.matchedCommand && this.args[0]) { + this.emit("command:*"); + } + return parsedArgv; + } + mri(argv, command) { + const cliOptions = [ + ...this.globalCommand.options, + ...command ? command.options : [] + ]; + const mriOptions = getMriOptions(cliOptions); + let argsAfterDoubleDashes = []; + const doubleDashesIndex = argv.indexOf("--"); + if (doubleDashesIndex > -1) { + argsAfterDoubleDashes = argv.slice(doubleDashesIndex + 1); + argv = argv.slice(0, doubleDashesIndex); + } + let parsed = mri2(argv, mriOptions); + parsed = Object.keys(parsed).reduce((res, name) => { + return __assign(__assign({}, res), { + [camelcaseOptionName(name)]: parsed[name] + }); + }, {_: []}); + const args = parsed._; + const options = { + "--": argsAfterDoubleDashes + }; + const ignoreDefault = command && command.config.ignoreOptionDefaultValue ? command.config.ignoreOptionDefaultValue : this.globalCommand.config.ignoreOptionDefaultValue; + let transforms = Object.create(null); + for (const cliOption of cliOptions) { + if (!ignoreDefault && cliOption.config.default !== void 0) { + for (const name of cliOption.names) { + options[name] = cliOption.config.default; + } + } + if (Array.isArray(cliOption.config.type)) { + if (transforms[cliOption.name] === void 0) { + transforms[cliOption.name] = Object.create(null); + transforms[cliOption.name]["shouldTransform"] = true; + transforms[cliOption.name]["transformFunction"] = cliOption.config.type[0]; + } + } + } + for (const key of Object.keys(parsed)) { + if (key !== "_") { + const keys = key.split("."); + setDotProp(options, keys, parsed[key]); + setByType(options, transforms); + } + } + return { + args, + options + }; + } + runMatchedCommand() { + const {args, options, matchedCommand: command} = this; + if (!command || !command.commandAction) + return; + command.checkUnknownOptions(); + command.checkOptionValue(); + command.checkRequiredArgs(); + const actionArgs = []; + command.args.forEach((arg, index) => { + if (arg.variadic) { + actionArgs.push(args.slice(index)); + } else { + actionArgs.push(args[index]); + } + }); + actionArgs.push(options); + return command.commandAction.apply(this, actionArgs); + } +} + +const cac = (name = "") => new CAC(name); + +export default cac; +export { CAC, Command, cac }; diff --git a/node_modules/cac/index-compat.js b/node_modules/cac/index-compat.js new file mode 100644 index 0000000..6b8a78d --- /dev/null +++ b/node_modules/cac/index-compat.js @@ -0,0 +1,11 @@ +const { cac, CAC, Command } = require('./dist/index') + +// For backwards compatibility +module.exports = cac + +Object.assign(module.exports, { + default: cac, + cac, + CAC, + Command, +}) diff --git a/node_modules/cac/mod.js b/node_modules/cac/mod.js new file mode 100644 index 0000000..9d0e894 --- /dev/null +++ b/node_modules/cac/mod.js @@ -0,0 +1,2 @@ +// Deno users should use mod.ts instead +export * from './deno/index.ts' \ No newline at end of file diff --git a/node_modules/cac/mod.ts b/node_modules/cac/mod.ts new file mode 100644 index 0000000..8fac7d9 --- /dev/null +++ b/node_modules/cac/mod.ts @@ -0,0 +1,2 @@ +// For Deno +export * from './deno/index.ts' diff --git a/node_modules/cac/package.json b/node_modules/cac/package.json new file mode 100644 index 0000000..2306bf3 --- /dev/null +++ b/node_modules/cac/package.json @@ -0,0 +1,104 @@ +{ + "name": "cac", + "version": "6.7.14", + "description": "Simple yet powerful framework for building command-line apps.", + "repository": { + "url": "egoist/cac", + "type": "git" + }, + "main": "index-compat.js", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./index-compat.js" + }, + "./package.json": "./package.json", + "./*": "./*" + }, + "files": [ + "dist", + "!**/__test__/**", + "/mod.js", + "/mod.ts", + "/deno", + "/index-compat.js" + ], + "scripts": { + "test": "jest", + "test:cov": "jest --coverage", + "build:deno": "node -r sucrase/register scripts/build-deno.ts", + "build:node": "rollup -c", + "build": "yarn build:deno && yarn build:node", + "toc": "markdown-toc -i README.md", + "prepublishOnly": "npm run build && cp mod.js mod.mjs", + "docs:api": "typedoc --out api-doc --readme none --exclude \"**/__test__/**\" --theme minimal" + }, + "author": "egoist <0x142857@gmail.com>", + "license": "MIT", + "devDependencies": { + "@babel/core": "^7.12.10", + "@babel/plugin-syntax-typescript": "^7.12.1", + "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-node-resolve": "^11.0.0", + "@types/fs-extra": "^9.0.5", + "@types/jest": "^26.0.19", + "@types/mri": "^1.1.0", + "cz-conventional-changelog": "^2.1.0", + "esbuild": "^0.8.21", + "eslint-config-rem": "^3.0.0", + "execa": "^5.0.0", + "fs-extra": "^9.0.1", + "globby": "^11.0.1", + "husky": "^1.2.0", + "jest": "^24.9.0", + "lint-staged": "^8.1.0", + "markdown-toc": "^1.2.0", + "mri": "^1.1.6", + "prettier": "^2.2.1", + "rollup": "^2.34.2", + "rollup-plugin-dts": "^2.0.1", + "rollup-plugin-esbuild": "^2.6.1", + "semantic-release": "^17.3.0", + "sucrase": "^3.16.0", + "ts-jest": "^26.4.4", + "ts-node": "^9.1.1", + "typedoc": "^0.19.2", + "typescript": "^4.1.2" + }, + "engines": { + "node": ">=8" + }, + "release": { + "branch": "master" + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } + }, + "lint-staged": { + "linters": { + "*.{js,json,ts}": [ + "prettier --write", + "git add" + ], + "*.md": [ + "markdown-toc -i", + "prettier --write", + "git add" + ] + }, + "ignore": [ + "dist/**", + "mod.js" + ] + }, + "husky": { + "hooks": { + "pre-commit": "npm t && lint-staged" + } + } +} diff --git a/node_modules/call-bind-apply-helpers/.eslintrc b/node_modules/call-bind-apply-helpers/.eslintrc new file mode 100644 index 0000000..201e859 --- /dev/null +++ b/node_modules/call-bind-apply-helpers/.eslintrc @@ -0,0 +1,17 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "func-name-matching": 0, + "id-length": 0, + "new-cap": [2, { + "capIsNewExceptions": [ + "GetIntrinsic", + ], + }], + "no-extra-parens": 0, + "no-magic-numbers": 0, + }, +} diff --git a/node_modules/call-bind-apply-helpers/.github/FUNDING.yml b/node_modules/call-bind-apply-helpers/.github/FUNDING.yml new file mode 100644 index 0000000..0011e9d --- /dev/null +++ b/node_modules/call-bind-apply-helpers/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/call-bind-apply-helpers +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/node_modules/call-bind-apply-helpers/.nycrc b/node_modules/call-bind-apply-helpers/.nycrc new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/node_modules/call-bind-apply-helpers/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/call-bind-apply-helpers/CHANGELOG.md b/node_modules/call-bind-apply-helpers/CHANGELOG.md new file mode 100644 index 0000000..2484942 --- /dev/null +++ b/node_modules/call-bind-apply-helpers/CHANGELOG.md @@ -0,0 +1,30 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.2](https://github.com/ljharb/call-bind-apply-helpers/compare/v1.0.1...v1.0.2) - 2025-02-12 + +### Commits + +- [types] improve inferred types [`e6f9586`](https://github.com/ljharb/call-bind-apply-helpers/commit/e6f95860a3c72879cb861a858cdfb8138fbedec1) +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `@types/tape`, `es-value-fixtures`, `for-each`, `has-strict-mode`, `object-inspect` [`e43d540`](https://github.com/ljharb/call-bind-apply-helpers/commit/e43d5409f97543bfbb11f345d47d8ce4e066d8c1) + +## [v1.0.1](https://github.com/ljharb/call-bind-apply-helpers/compare/v1.0.0...v1.0.1) - 2024-12-08 + +### Commits + +- [types] `reflectApply`: fix types [`4efc396`](https://github.com/ljharb/call-bind-apply-helpers/commit/4efc3965351a4f02cc55e836fa391d3d11ef2ef8) +- [Fix] `reflectApply`: oops, Reflect is not a function [`83cc739`](https://github.com/ljharb/call-bind-apply-helpers/commit/83cc7395de6b79b7730bdf092f1436f0b1263c75) +- [Dev Deps] update `@arethetypeswrong/cli` [`80bd5d3`](https://github.com/ljharb/call-bind-apply-helpers/commit/80bd5d3ae58b4f6b6995ce439dd5a1bcb178a940) + +## v1.0.0 - 2024-12-05 + +### Commits + +- Initial implementation, tests, readme [`7879629`](https://github.com/ljharb/call-bind-apply-helpers/commit/78796290f9b7430c9934d6f33d94ae9bc89fce04) +- Initial commit [`3f1dc16`](https://github.com/ljharb/call-bind-apply-helpers/commit/3f1dc164afc43285631b114a5f9dd9137b2b952f) +- npm init [`081df04`](https://github.com/ljharb/call-bind-apply-helpers/commit/081df048c312fcee400922026f6e97281200a603) +- Only apps should have lockfiles [`5b9ca0f`](https://github.com/ljharb/call-bind-apply-helpers/commit/5b9ca0fe8101ebfaf309c549caac4e0a017ed930) diff --git a/node_modules/call-bind-apply-helpers/LICENSE b/node_modules/call-bind-apply-helpers/LICENSE new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/node_modules/call-bind-apply-helpers/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/call-bind-apply-helpers/README.md b/node_modules/call-bind-apply-helpers/README.md new file mode 100644 index 0000000..8fc0dae --- /dev/null +++ b/node_modules/call-bind-apply-helpers/README.md @@ -0,0 +1,62 @@ +# call-bind-apply-helpers [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Helper functions around Function call/apply/bind, for use in `call-bind`. + +The only packages that should likely ever use this package directly are `call-bind` and `get-intrinsic`. +Please use `call-bind` unless you have a very good reason not to. + +## Getting started + +```sh +npm install --save call-bind-apply-helpers +``` + +## Usage/Examples + +```js +const assert = require('assert'); +const callBindBasic = require('call-bind-apply-helpers'); + +function f(a, b) { + assert.equal(this, 1); + assert.equal(a, 2); + assert.equal(b, 3); + assert.equal(arguments.length, 2); +} + +const fBound = callBindBasic([f, 1]); + +delete Function.prototype.call; +delete Function.prototype.bind; + +fBound(2, 3); +``` + +## Tests + +Clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/call-bind-apply-helpers +[npm-version-svg]: https://versionbadg.es/ljharb/call-bind-apply-helpers.svg +[deps-svg]: https://david-dm.org/ljharb/call-bind-apply-helpers.svg +[deps-url]: https://david-dm.org/ljharb/call-bind-apply-helpers +[dev-deps-svg]: https://david-dm.org/ljharb/call-bind-apply-helpers/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/call-bind-apply-helpers#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/call-bind-apply-helpers.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/call-bind-apply-helpers.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/call-bind-apply-helpers.svg +[downloads-url]: https://npm-stat.com/charts.html?package=call-bind-apply-helpers +[codecov-image]: https://codecov.io/gh/ljharb/call-bind-apply-helpers/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/call-bind-apply-helpers/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/call-bind-apply-helpers +[actions-url]: https://github.com/ljharb/call-bind-apply-helpers/actions diff --git a/node_modules/call-bind-apply-helpers/actualApply.d.ts b/node_modules/call-bind-apply-helpers/actualApply.d.ts new file mode 100644 index 0000000..b87286a --- /dev/null +++ b/node_modules/call-bind-apply-helpers/actualApply.d.ts @@ -0,0 +1 @@ +export = Reflect.apply; \ No newline at end of file diff --git a/node_modules/call-bind-apply-helpers/actualApply.js b/node_modules/call-bind-apply-helpers/actualApply.js new file mode 100644 index 0000000..ffa5135 --- /dev/null +++ b/node_modules/call-bind-apply-helpers/actualApply.js @@ -0,0 +1,10 @@ +'use strict'; + +var bind = require('function-bind'); + +var $apply = require('./functionApply'); +var $call = require('./functionCall'); +var $reflectApply = require('./reflectApply'); + +/** @type {import('./actualApply')} */ +module.exports = $reflectApply || bind.call($call, $apply); diff --git a/node_modules/call-bind-apply-helpers/applyBind.d.ts b/node_modules/call-bind-apply-helpers/applyBind.d.ts new file mode 100644 index 0000000..d176c1a --- /dev/null +++ b/node_modules/call-bind-apply-helpers/applyBind.d.ts @@ -0,0 +1,19 @@ +import actualApply from './actualApply'; + +type TupleSplitHead = T['length'] extends N + ? T + : T extends [...infer R, any] + ? TupleSplitHead + : never + +type TupleSplitTail = O['length'] extends N + ? T + : T extends [infer F, ...infer R] + ? TupleSplitTail<[...R], N, [...O, F]> + : never + +type TupleSplit = [TupleSplitHead, TupleSplitTail] + +declare function applyBind(...args: TupleSplit, 2>[1]): ReturnType; + +export = applyBind; \ No newline at end of file diff --git a/node_modules/call-bind-apply-helpers/applyBind.js b/node_modules/call-bind-apply-helpers/applyBind.js new file mode 100644 index 0000000..d2b7723 --- /dev/null +++ b/node_modules/call-bind-apply-helpers/applyBind.js @@ -0,0 +1,10 @@ +'use strict'; + +var bind = require('function-bind'); +var $apply = require('./functionApply'); +var actualApply = require('./actualApply'); + +/** @type {import('./applyBind')} */ +module.exports = function applyBind() { + return actualApply(bind, $apply, arguments); +}; diff --git a/node_modules/call-bind-apply-helpers/functionApply.d.ts b/node_modules/call-bind-apply-helpers/functionApply.d.ts new file mode 100644 index 0000000..1f6e11b --- /dev/null +++ b/node_modules/call-bind-apply-helpers/functionApply.d.ts @@ -0,0 +1 @@ +export = Function.prototype.apply; \ No newline at end of file diff --git a/node_modules/call-bind-apply-helpers/functionApply.js b/node_modules/call-bind-apply-helpers/functionApply.js new file mode 100644 index 0000000..c71df9c --- /dev/null +++ b/node_modules/call-bind-apply-helpers/functionApply.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionApply')} */ +module.exports = Function.prototype.apply; diff --git a/node_modules/call-bind-apply-helpers/functionCall.d.ts b/node_modules/call-bind-apply-helpers/functionCall.d.ts new file mode 100644 index 0000000..15e93df --- /dev/null +++ b/node_modules/call-bind-apply-helpers/functionCall.d.ts @@ -0,0 +1 @@ +export = Function.prototype.call; \ No newline at end of file diff --git a/node_modules/call-bind-apply-helpers/functionCall.js b/node_modules/call-bind-apply-helpers/functionCall.js new file mode 100644 index 0000000..7a8d873 --- /dev/null +++ b/node_modules/call-bind-apply-helpers/functionCall.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionCall')} */ +module.exports = Function.prototype.call; diff --git a/node_modules/call-bind-apply-helpers/index.d.ts b/node_modules/call-bind-apply-helpers/index.d.ts new file mode 100644 index 0000000..541516b --- /dev/null +++ b/node_modules/call-bind-apply-helpers/index.d.ts @@ -0,0 +1,64 @@ +type RemoveFromTuple< + Tuple extends readonly unknown[], + RemoveCount extends number, + Index extends 1[] = [] +> = Index["length"] extends RemoveCount + ? Tuple + : Tuple extends [infer First, ...infer Rest] + ? RemoveFromTuple + : Tuple; + +type ConcatTuples< + Prefix extends readonly unknown[], + Suffix extends readonly unknown[] +> = [...Prefix, ...Suffix]; + +type ExtractFunctionParams = T extends (this: infer TThis, ...args: infer P extends readonly unknown[]) => infer R + ? { thisArg: TThis; params: P; returnType: R } + : never; + +type BindFunction< + T extends (this: any, ...args: any[]) => any, + TThis, + TBoundArgs extends readonly unknown[], + ReceiverBound extends boolean +> = ExtractFunctionParams extends { + thisArg: infer OrigThis; + params: infer P extends readonly unknown[]; + returnType: infer R; +} + ? ReceiverBound extends true + ? (...args: RemoveFromTuple>) => R extends [OrigThis, ...infer Rest] + ? [TThis, ...Rest] // Replace `this` with `thisArg` + : R + : >>( + thisArg: U, + ...args: RemainingArgs + ) => R extends [OrigThis, ...infer Rest] + ? [U, ...ConcatTuples] // Preserve bound args in return type + : R + : never; + +declare function callBind< + const T extends (this: any, ...args: any[]) => any, + Extracted extends ExtractFunctionParams, + const TBoundArgs extends Partial & readonly unknown[], + const TThis extends Extracted["thisArg"] +>( + args: [fn: T, thisArg: TThis, ...boundArgs: TBoundArgs] +): BindFunction; + +declare function callBind< + const T extends (this: any, ...args: any[]) => any, + Extracted extends ExtractFunctionParams, + const TBoundArgs extends Partial & readonly unknown[] +>( + args: [fn: T, ...boundArgs: TBoundArgs] +): BindFunction; + +declare function callBind( + args: [fn: Exclude, ...rest: TArgs] +): never; + +// export as namespace callBind; +export = callBind; diff --git a/node_modules/call-bind-apply-helpers/index.js b/node_modules/call-bind-apply-helpers/index.js new file mode 100644 index 0000000..2f6dab4 --- /dev/null +++ b/node_modules/call-bind-apply-helpers/index.js @@ -0,0 +1,15 @@ +'use strict'; + +var bind = require('function-bind'); +var $TypeError = require('es-errors/type'); + +var $call = require('./functionCall'); +var $actualApply = require('./actualApply'); + +/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */ +module.exports = function callBindBasic(args) { + if (args.length < 1 || typeof args[0] !== 'function') { + throw new $TypeError('a function is required'); + } + return $actualApply(bind, $call, args); +}; diff --git a/node_modules/call-bind-apply-helpers/package.json b/node_modules/call-bind-apply-helpers/package.json new file mode 100644 index 0000000..923b8be --- /dev/null +++ b/node_modules/call-bind-apply-helpers/package.json @@ -0,0 +1,85 @@ +{ + "name": "call-bind-apply-helpers", + "version": "1.0.2", + "description": "Helper functions around Function call/apply/bind, for use in `call-bind`", + "main": "index.js", + "exports": { + ".": "./index.js", + "./actualApply": "./actualApply.js", + "./applyBind": "./applyBind.js", + "./functionApply": "./functionApply.js", + "./functionCall": "./functionCall.js", + "./reflectApply": "./reflectApply.js", + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=auto", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/call-bind-apply-helpers.git" + }, + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/call-bind-apply-helpers/issues" + }, + "homepage": "https://github.com/ljharb/call-bind-apply-helpers#readme", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.3", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/for-each": "^0.3.3", + "@types/function-bind": "^1.1.10", + "@types/object-inspect": "^1.13.0", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "has-strict-mode": "^1.1.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/node_modules/call-bind-apply-helpers/reflectApply.d.ts b/node_modules/call-bind-apply-helpers/reflectApply.d.ts new file mode 100644 index 0000000..6b2ae76 --- /dev/null +++ b/node_modules/call-bind-apply-helpers/reflectApply.d.ts @@ -0,0 +1,3 @@ +declare const reflectApply: false | typeof Reflect.apply; + +export = reflectApply; diff --git a/node_modules/call-bind-apply-helpers/reflectApply.js b/node_modules/call-bind-apply-helpers/reflectApply.js new file mode 100644 index 0000000..3d03caa --- /dev/null +++ b/node_modules/call-bind-apply-helpers/reflectApply.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./reflectApply')} */ +module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply; diff --git a/node_modules/call-bind-apply-helpers/test/index.js b/node_modules/call-bind-apply-helpers/test/index.js new file mode 100644 index 0000000..1cdc89e --- /dev/null +++ b/node_modules/call-bind-apply-helpers/test/index.js @@ -0,0 +1,63 @@ +'use strict'; + +var callBind = require('../'); +var hasStrictMode = require('has-strict-mode')(); +var forEach = require('for-each'); +var inspect = require('object-inspect'); +var v = require('es-value-fixtures'); + +var test = require('tape'); + +test('callBindBasic', function (t) { + forEach(v.nonFunctions, function (nonFunction) { + t['throws']( + // @ts-expect-error + function () { callBind([nonFunction]); }, + TypeError, + inspect(nonFunction) + ' is not a function' + ); + }); + + var sentinel = { sentinel: true }; + /** @type {(this: T, a: A, b: B) => [T | undefined, A, B]} */ + var func = function (a, b) { + // eslint-disable-next-line no-invalid-this + return [!hasStrictMode && this === global ? undefined : this, a, b]; + }; + t.equal(func.length, 2, 'original function length is 2'); + + /** type {(thisArg: unknown, a: number, b: number) => [unknown, number, number]} */ + var bound = callBind([func]); + /** type {((a: number, b: number) => [typeof sentinel, typeof a, typeof b])} */ + var boundR = callBind([func, sentinel]); + /** type {((b: number) => [typeof sentinel, number, typeof b])} */ + var boundArg = callBind([func, sentinel, /** @type {const} */ (1)]); + + // @ts-expect-error + t.deepEqual(bound(), [undefined, undefined, undefined], 'bound func with no args'); + + // @ts-expect-error + t.deepEqual(func(), [undefined, undefined, undefined], 'unbound func with too few args'); + // @ts-expect-error + t.deepEqual(bound(1, 2), [hasStrictMode ? 1 : Object(1), 2, undefined], 'bound func too few args'); + // @ts-expect-error + t.deepEqual(boundR(), [sentinel, undefined, undefined], 'bound func with receiver, with too few args'); + // @ts-expect-error + t.deepEqual(boundArg(), [sentinel, 1, undefined], 'bound func with receiver and arg, with too few args'); + + t.deepEqual(func(1, 2), [undefined, 1, 2], 'unbound func with right args'); + t.deepEqual(bound(1, 2, 3), [hasStrictMode ? 1 : Object(1), 2, 3], 'bound func with right args'); + t.deepEqual(boundR(1, 2), [sentinel, 1, 2], 'bound func with receiver, with right args'); + t.deepEqual(boundArg(2), [sentinel, 1, 2], 'bound func with receiver and arg, with right arg'); + + // @ts-expect-error + t.deepEqual(func(1, 2, 3), [undefined, 1, 2], 'unbound func with too many args'); + // @ts-expect-error + t.deepEqual(bound(1, 2, 3, 4), [hasStrictMode ? 1 : Object(1), 2, 3], 'bound func with too many args'); + // @ts-expect-error + t.deepEqual(boundR(1, 2, 3), [sentinel, 1, 2], 'bound func with receiver, with too many args'); + // @ts-expect-error + t.deepEqual(boundArg(2, 3), [sentinel, 1, 2], 'bound func with receiver and arg, with too many args'); + + t.end(); +}); diff --git a/node_modules/call-bind-apply-helpers/tsconfig.json b/node_modules/call-bind-apply-helpers/tsconfig.json new file mode 100644 index 0000000..aef9993 --- /dev/null +++ b/node_modules/call-bind-apply-helpers/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} \ No newline at end of file diff --git a/node_modules/call-bound/.eslintrc b/node_modules/call-bound/.eslintrc new file mode 100644 index 0000000..2612ed8 --- /dev/null +++ b/node_modules/call-bound/.eslintrc @@ -0,0 +1,13 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "new-cap": [2, { + "capIsNewExceptions": [ + "GetIntrinsic", + ], + }], + }, +} diff --git a/node_modules/call-bound/.github/FUNDING.yml b/node_modules/call-bound/.github/FUNDING.yml new file mode 100644 index 0000000..2a2a135 --- /dev/null +++ b/node_modules/call-bound/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/call-bound +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/node_modules/call-bound/.nycrc b/node_modules/call-bound/.nycrc new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/node_modules/call-bound/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/node_modules/call-bound/CHANGELOG.md b/node_modules/call-bound/CHANGELOG.md new file mode 100644 index 0000000..8bde4e9 --- /dev/null +++ b/node_modules/call-bound/CHANGELOG.md @@ -0,0 +1,42 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.4](https://github.com/ljharb/call-bound/compare/v1.0.3...v1.0.4) - 2025-03-03 + +### Commits + +- [types] improve types [`e648922`](https://github.com/ljharb/call-bound/commit/e6489222a9e54f350fbf952ceabe51fd8b6027ff) +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `@types/tape`, `es-value-fixtures`, `for-each`, `has-strict-mode`, `object-inspect` [`a42a5eb`](https://github.com/ljharb/call-bound/commit/a42a5ebe6c1b54fcdc7997c7dc64fdca9e936719) +- [Deps] update `call-bind-apply-helpers`, `get-intrinsic` [`f529eac`](https://github.com/ljharb/call-bound/commit/f529eac132404c17156bbc23ab2297a25d0f20b8) + +## [v1.0.3](https://github.com/ljharb/call-bound/compare/v1.0.2...v1.0.3) - 2024-12-15 + +### Commits + +- [Refactor] use `call-bind-apply-helpers` instead of `call-bind` [`5e0b134`](https://github.com/ljharb/call-bound/commit/5e0b13496df14fb7d05dae9412f088da8d3f75be) +- [Deps] update `get-intrinsic` [`41fc967`](https://github.com/ljharb/call-bound/commit/41fc96732a22c7b7e8f381f93ccc54bb6293be2e) +- [readme] fix example [`79a0137`](https://github.com/ljharb/call-bound/commit/79a0137723f7c6d09c9c05452bbf8d5efb5d6e49) +- [meta] add `sideEffects` flag [`08b07be`](https://github.com/ljharb/call-bound/commit/08b07be7f1c03f67dc6f3cdaf0906259771859f7) + +## [v1.0.2](https://github.com/ljharb/call-bound/compare/v1.0.1...v1.0.2) - 2024-12-10 + +### Commits + +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `gopd` [`e6a5ffe`](https://github.com/ljharb/call-bound/commit/e6a5ffe849368fe4f74dfd6cdeca1b9baa39e8d5) +- [Deps] update `call-bind`, `get-intrinsic` [`2aeb5b5`](https://github.com/ljharb/call-bound/commit/2aeb5b521dc2b2683d1345c753ea1161de2d1c14) +- [types] improve return type [`1a0c9fe`](https://github.com/ljharb/call-bound/commit/1a0c9fe3114471e7ca1f57d104e2efe713bb4871) + +## v1.0.1 - 2024-12-05 + +### Commits + +- Initial implementation, tests, readme, types [`6d94121`](https://github.com/ljharb/call-bound/commit/6d94121a9243602e506334069f7a03189fe3363d) +- Initial commit [`0eae867`](https://github.com/ljharb/call-bound/commit/0eae867334ea025c33e6e91cdecfc9df96680cf9) +- npm init [`71b2479`](https://github.com/ljharb/call-bound/commit/71b2479c6723e0b7d91a6b663613067e98b7b275) +- Only apps should have lockfiles [`c3754a9`](https://github.com/ljharb/call-bound/commit/c3754a949b7f9132b47e2d18c1729889736741eb) +- [actions] skip `npm ls` in node < 10 [`74275a5`](https://github.com/ljharb/call-bound/commit/74275a5186b8caf6309b6b97472bdcb0df4683a8) +- [Dev Deps] add missing peer dep [`1354de8`](https://github.com/ljharb/call-bound/commit/1354de8679413e4ae9c523d85f76fa7a5e032d97) diff --git a/node_modules/call-bound/LICENSE b/node_modules/call-bound/LICENSE new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/node_modules/call-bound/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/call-bound/README.md b/node_modules/call-bound/README.md new file mode 100644 index 0000000..a44e43e --- /dev/null +++ b/node_modules/call-bound/README.md @@ -0,0 +1,53 @@ +# call-bound [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`. + +## Getting started + +```sh +npm install --save call-bound +``` + +## Usage/Examples + +```js +const assert = require('assert'); +const callBound = require('call-bound'); + +const slice = callBound('Array.prototype.slice'); + +delete Function.prototype.call; +delete Function.prototype.bind; +delete Array.prototype.slice; + +assert.deepEqual(slice([1, 2, 3, 4], 1, -1), [2, 3]); +``` + +## Tests + +Clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/call-bound +[npm-version-svg]: https://versionbadg.es/ljharb/call-bound.svg +[deps-svg]: https://david-dm.org/ljharb/call-bound.svg +[deps-url]: https://david-dm.org/ljharb/call-bound +[dev-deps-svg]: https://david-dm.org/ljharb/call-bound/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/call-bound#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/call-bound.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/call-bound.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/call-bound.svg +[downloads-url]: https://npm-stat.com/charts.html?package=call-bound +[codecov-image]: https://codecov.io/gh/ljharb/call-bound/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/call-bound/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/call-bound +[actions-url]: https://github.com/ljharb/call-bound/actions diff --git a/node_modules/call-bound/index.d.ts b/node_modules/call-bound/index.d.ts new file mode 100644 index 0000000..5562f00 --- /dev/null +++ b/node_modules/call-bound/index.d.ts @@ -0,0 +1,94 @@ +type Intrinsic = typeof globalThis; + +type IntrinsicName = keyof Intrinsic | `%${keyof Intrinsic}%`; + +type IntrinsicPath = IntrinsicName | `${StripPercents}.${string}` | `%${StripPercents}.${string}%`; + +type AllowMissing = boolean; + +type StripPercents = T extends `%${infer U}%` ? U : T; + +type BindMethodPrecise = + F extends (this: infer This, ...args: infer Args) => infer R + ? (obj: This, ...args: Args) => R + : F extends { + (this: infer This1, ...args: infer Args1): infer R1; + (this: infer This2, ...args: infer Args2): infer R2 + } + ? { + (obj: This1, ...args: Args1): R1; + (obj: This2, ...args: Args2): R2 + } + : never + +// Extract method type from a prototype +type GetPrototypeMethod = + (typeof globalThis)[T] extends { prototype: any } + ? M extends keyof (typeof globalThis)[T]['prototype'] + ? (typeof globalThis)[T]['prototype'][M] + : never + : never + +// Get static property/method +type GetStaticMember = + P extends keyof (typeof globalThis)[T] ? (typeof globalThis)[T][P] : never + +// Type that maps string path to actual bound function or value with better precision +type BoundIntrinsic = + S extends `${infer Obj}.prototype.${infer Method}` + ? Obj extends keyof typeof globalThis + ? BindMethodPrecise> + : unknown + : S extends `${infer Obj}.${infer Prop}` + ? Obj extends keyof typeof globalThis + ? GetStaticMember + : unknown + : unknown + +declare function arraySlice(array: readonly T[], start?: number, end?: number): T[]; +declare function arraySlice(array: ArrayLike, start?: number, end?: number): T[]; +declare function arraySlice(array: IArguments, start?: number, end?: number): T[]; + +// Special cases for methods that need explicit typing +interface SpecialCases { + '%Object.prototype.isPrototypeOf%': (thisArg: {}, obj: unknown) => boolean; + '%String.prototype.replace%': { + (str: string, searchValue: string | RegExp, replaceValue: string): string; + (str: string, searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string + }; + '%Object.prototype.toString%': (obj: {}) => string; + '%Object.prototype.hasOwnProperty%': (obj: {}, v: PropertyKey) => boolean; + '%Array.prototype.slice%': typeof arraySlice; + '%Array.prototype.map%': (array: readonly T[], callbackfn: (value: T, index: number, array: readonly T[]) => U, thisArg?: any) => U[]; + '%Array.prototype.filter%': (array: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any) => T[]; + '%Array.prototype.indexOf%': (array: readonly T[], searchElement: T, fromIndex?: number) => number; + '%Function.prototype.apply%': (fn: (...args: A) => R, thisArg: any, args: A) => R; + '%Function.prototype.call%': (fn: (...args: A) => R, thisArg: any, ...args: A) => R; + '%Function.prototype.bind%': (fn: (...args: A) => R, thisArg: any, ...args: A) => (...remainingArgs: A) => R; + '%Promise.prototype.then%': { + (promise: Promise, onfulfilled: (value: T) => R | PromiseLike): Promise; + (promise: Promise, onfulfilled: ((value: T) => R | PromiseLike) | undefined | null, onrejected: (reason: any) => R | PromiseLike): Promise; + }; + '%RegExp.prototype.test%': (regexp: RegExp, str: string) => boolean; + '%RegExp.prototype.exec%': (regexp: RegExp, str: string) => RegExpExecArray | null; + '%Error.prototype.toString%': (error: Error) => string; + '%TypeError.prototype.toString%': (error: TypeError) => string; + '%String.prototype.split%': ( + obj: unknown, + splitter: string | RegExp | { + [Symbol.split](string: string, limit?: number): string[]; + }, + limit?: number | undefined + ) => string[]; +} + +/** + * Returns a bound function for a prototype method, or a value for a static property. + * + * @param name - The name of the intrinsic (e.g. 'Array.prototype.slice') + * @param {AllowMissing} [allowMissing] - Whether to allow missing intrinsics (default: false) + */ +declare function callBound, S extends IntrinsicPath>(name: K, allowMissing?: AllowMissing): SpecialCases[`%${StripPercents}%`]; +declare function callBound, S extends IntrinsicPath>(name: S, allowMissing?: AllowMissing): BoundIntrinsic; + +export = callBound; diff --git a/node_modules/call-bound/index.js b/node_modules/call-bound/index.js new file mode 100644 index 0000000..e9ade74 --- /dev/null +++ b/node_modules/call-bound/index.js @@ -0,0 +1,19 @@ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); + +var callBindBasic = require('call-bind-apply-helpers'); + +/** @type {(thisArg: string, searchString: string, position?: number) => number} */ +var $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]); + +/** @type {import('.')} */ +module.exports = function callBoundIntrinsic(name, allowMissing) { + /* eslint no-extra-parens: 0 */ + + var intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing)); + if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { + return callBindBasic(/** @type {const} */ ([intrinsic])); + } + return intrinsic; +}; diff --git a/node_modules/call-bound/package.json b/node_modules/call-bound/package.json new file mode 100644 index 0000000..d542db4 --- /dev/null +++ b/node_modules/call-bound/package.json @@ -0,0 +1,99 @@ +{ + "name": "call-bound", + "version": "1.0.4", + "description": "Robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=auto", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/call-bound.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "es", + "js", + "callbind", + "callbound", + "call", + "bind", + "bound", + "call-bind", + "call-bound", + "function", + "es-abstract" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/call-bound/issues" + }, + "homepage": "https://github.com/ljharb/call-bound#readme", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.4", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.3.0", + "@types/call-bind": "^1.0.5", + "@types/get-intrinsic": "^1.2.3", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "has-strict-mode": "^1.1.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/node_modules/call-bound/test/index.js b/node_modules/call-bound/test/index.js new file mode 100644 index 0000000..a2fc9f0 --- /dev/null +++ b/node_modules/call-bound/test/index.js @@ -0,0 +1,61 @@ +'use strict'; + +var test = require('tape'); + +var callBound = require('../'); + +/** @template {true} T @template U @typedef {T extends U ? T : never} AssertType */ + +test('callBound', function (t) { + // static primitive + t.equal(callBound('Array.length'), Array.length, 'Array.length yields itself'); + t.equal(callBound('%Array.length%'), Array.length, '%Array.length% yields itself'); + + // static non-function object + t.equal(callBound('Array.prototype'), Array.prototype, 'Array.prototype yields itself'); + t.equal(callBound('%Array.prototype%'), Array.prototype, '%Array.prototype% yields itself'); + t.equal(callBound('Array.constructor'), Array.constructor, 'Array.constructor yields itself'); + t.equal(callBound('%Array.constructor%'), Array.constructor, '%Array.constructor% yields itself'); + + // static function + t.equal(callBound('Date.parse'), Date.parse, 'Date.parse yields itself'); + t.equal(callBound('%Date.parse%'), Date.parse, '%Date.parse% yields itself'); + + // prototype primitive + t.equal(callBound('Error.prototype.message'), Error.prototype.message, 'Error.prototype.message yields itself'); + t.equal(callBound('%Error.prototype.message%'), Error.prototype.message, '%Error.prototype.message% yields itself'); + + var x = callBound('Object.prototype.toString'); + var y = callBound('%Object.prototype.toString%'); + + // prototype function + t.notEqual(x, Object.prototype.toString, 'Object.prototype.toString does not yield itself'); + t.notEqual(y, Object.prototype.toString, '%Object.prototype.toString% does not yield itself'); + t.equal(x(true), Object.prototype.toString.call(true), 'call-bound Object.prototype.toString calls into the original'); + t.equal(y(true), Object.prototype.toString.call(true), 'call-bound %Object.prototype.toString% calls into the original'); + + t['throws']( + // @ts-expect-error + function () { callBound('does not exist'); }, + SyntaxError, + 'nonexistent intrinsic throws' + ); + t['throws']( + // @ts-expect-error + function () { callBound('does not exist', true); }, + SyntaxError, + 'allowMissing arg still throws for unknown intrinsic' + ); + + t.test('real but absent intrinsic', { skip: typeof WeakRef !== 'undefined' }, function (st) { + st['throws']( + function () { callBound('WeakRef'); }, + TypeError, + 'real but absent intrinsic throws' + ); + st.equal(callBound('WeakRef', true), undefined, 'allowMissing arg avoids exception'); + st.end(); + }); + + t.end(); +}); diff --git a/node_modules/call-bound/tsconfig.json b/node_modules/call-bound/tsconfig.json new file mode 100644 index 0000000..8976d98 --- /dev/null +++ b/node_modules/call-bound/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "ESNext", + "lib": ["es2024"], + }, + "exclude": [ + "coverage", + ], +} diff --git a/node_modules/chai/.prettierrc.json b/node_modules/chai/.prettierrc.json new file mode 100644 index 0000000..fba4260 --- /dev/null +++ b/node_modules/chai/.prettierrc.json @@ -0,0 +1,10 @@ +{ + "bracketSpacing": false, + "printWidth": 80, + "semi": true, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false, + "arrowParens": "always" +} diff --git a/node_modules/chai/CODEOWNERS b/node_modules/chai/CODEOWNERS new file mode 100644 index 0000000..ea74b66 --- /dev/null +++ b/node_modules/chai/CODEOWNERS @@ -0,0 +1 @@ +* @chaijs/chai diff --git a/node_modules/chai/CODE_OF_CONDUCT.md b/node_modules/chai/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..074addc --- /dev/null +++ b/node_modules/chai/CODE_OF_CONDUCT.md @@ -0,0 +1,58 @@ +# Contributor Code of Conduct + +> Read in: [Español](http://contributor-covenant.org/version/1/3/0/es/) | +[Français](http://contributor-covenant.org/version/1/3/0/fr/) | +[Italiano](http://contributor-covenant.org/version/1/3/0/it/) | +[Magyar](http://contributor-covenant.org/version/1/3/0/hu/) | +[Polskie](http://contributor-covenant.org/version/1/3/0/pl/) | +[Português](http://contributor-covenant.org/version/1/3/0/pt/) | +[Português do Brasil](http://contributor-covenant.org/version/1/3/0/pt_br/) + +As contributors and maintainers of this project, and in the interest of +fostering an open and welcoming community, we pledge to respect all people who +contribute through reporting issues, posting feature requests, updating +documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free +experience for everyone, regardless of level of experience, gender, gender +identity and expression, sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, such as physical or electronic + addresses, without explicit permission +* Other unethical or unprofessional conduct + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +By adopting this Code of Conduct, project maintainers commit themselves to +fairly and consistently applying these principles to every aspect of managing +this project. Project maintainers who do not follow or enforce the Code of +Conduct may be permanently removed from the project team. + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting a project maintainer at chaijs@keithcirkel.co.uk. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. Maintainers are +obligated to maintain confidentiality with regard to the reporter of an +incident. + + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.3.0, available at +[http://contributor-covenant.org/version/1/3/0/][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/3/0/ diff --git a/node_modules/chai/CONTRIBUTING.md b/node_modules/chai/CONTRIBUTING.md new file mode 100644 index 0000000..88072d4 --- /dev/null +++ b/node_modules/chai/CONTRIBUTING.md @@ -0,0 +1,218 @@ +# Chai Contribution Guidelines + +We like to encourage you to contribute to the Chai.js repository. This should be as easy as possible for you but there are a few things to consider when contributing. The following guidelines for contribution should be followed if you want to submit a pull request or open an issue. + +Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue or assessing patches and features. + +#### Table of Contents + +- [TLDR;](#tldr) +- [Contributing](#contributing) + - [Bug Reports](#bugs) + - [Feature Requests](#features) + - [Pull Requests](#pull-requests) +- [Releasing](#releasing) +- [Support](#support) + - [Resources](#resources) + - [Core Contributors](#contributors) + + +## TLDR; + +- Creating an Issue or Pull Request requires a [GitHub](http://github.com) account. +- Issue reports should be **clear**, **concise** and **reproducible**. Check to see if your issue has already been resolved in the [master]() branch or already reported in Chai's [GitHub Issue Tracker](https://github.com/chaijs/chai/issues). +- Pull Requests must adhere to strict [coding style guidelines](https://github.com/chaijs/chai/wiki/Chai-Coding-Style-Guide). +- In general, avoid submitting PRs for new Assertions without asking core contributors first. More than likely it would be better implemented as a plugin. +- Additional support is available via the [Google Group](http://groups.google.com/group/chaijs) or on irc.freenode.net#chaijs. +- **IMPORTANT**: By submitting a patch, you agree to allow the project owner to license your work under the same license as that used by the project. + + + + +## Contributing + +The issue tracker is the preferred channel for [bug reports](#bugs), +[feature requests](#features) and [submitting pull +requests](#pull-requests), but please respect the following restrictions: + +* Please **do not** use the issue tracker for personal support requests (use + [Google Group](https://groups.google.com/forum/#!forum/chaijs) or IRC). +* Please **do not** derail or troll issues. Keep the discussion on topic and + respect the opinions of others + + +### Bug Reports + +A bug is a **demonstrable problem** that is caused by the code in the repository. + +Guidelines for bug reports: + +1. **Use the GitHub issue search** — check if the issue has already been reported. +2. **Check if the issue has been fixed** — try to reproduce it using the latest `master` or development branch in the repository. +3. **Isolate the problem** — create a test case to demonstrate your issue. Provide either a repo, gist, or code sample to demonstrate you problem. + +A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and/or Node.js versions experience the problem? What would you expect to be the outcome? All these details will help people to fix any potential bugs. + +Example: + +> Short and descriptive example bug report title +> +> A summary of the issue and the browser/OS environment in which it occurs. If suitable, include the steps required to reproduce the bug. +> +> 1. This is the first step +> 2. This is the second step +> 3. Further steps, etc. +> +> `` - a link to the reduced test case OR +> ```js +> expect(a).to.equal('a'); +> // code sample +> ``` +> +> Any other information you want to share that is relevant to the issue being reported. This might include the lines of code that you have identified as causing the bug, and potential solutions (and your opinions on their merits). + + +### Feature Requests + +Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the project. It's up to *you* to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible. + +Furthermore, since Chai.js has a [robust plugin API](http://chaijs.com/guide/plugins/), we encourage you to publish **new Assertions** as plugins. If your feature is an enhancement to an **existing Assertion**, please propose your changes as an issue prior to opening a pull request. If the core Chai.js contributors feel your plugin would be better suited as a core assertion, they will invite you to open a PR in [chaijs/chai](https://github.com/chaijs/chai). + + +### Pull Requests + +- PRs for new core-assertions are advised against. +- PRs for core-assertion bug fixes are always welcome. +- PRs for enhancing the interfaces are always welcome. +- PRs that increase test coverage are always welcome. +- PRs are scrutinized for coding-style. + +Good pull requests - patches, improvements, new features - are a fantastic help. They should remain focused in scope and avoid containing unrelated commits. + +**Please ask first** before embarking on any significant pull request (e.g. implementing features, refactoring code), otherwise you risk spending a lot of time working on something that the project's developers might not want to merge into the project. + +Please adhere to the coding conventions used throughout a project (indentation, accurate comments, etc.) and any other requirements (such as test coverage). Please review the [Chai.js Coding Style Guide](https://github.com/chaijs/chai/wiki/Chai-Coding-Style-Guide). + +Follow this process if you'd like your work considered for inclusion in the project: + +1. [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork, and configure the remotes: + +```bash +# Clone your fork of the repo into the current directory +git clone https://github.com// +# Navigate to the newly cloned directory +cd +# Assign the original repo to a remote called "upstream" +git remote add upstream https://github.com// +``` + +2. If you cloned a while ago, get the latest changes from upstream: + +```bash +git checkout +git pull upstream +``` + +3. Create a new topic branch (off the main project development branch) to contain your feature, change, or fix: + +```bash +git checkout -b +``` + +4. Commit your changes in logical chunks. Use Git's [interactive rebase](https://help.github.com/articles/interactive-rebase) feature to tidy up your commits before making them public. + +5. Run you code to make sure it works. If you're still having problems please try to run `make clean` and then test your code again. + +```bash +npm test +# when finished running tests... +git checkout chai.js +``` + +6. Locally merge (or rebase) the upstream development branch into your topic branch: + +```bash +git pull [--rebase] upstream +``` + +7. Push your topic branch up to your fork: + +```bash +git push origin +``` + +8. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) with a clear title and description. + +**IMPORTANT**: By submitting a patch, you agree to allow the project owner to license your work under the same license as that used by the project. + + +## Releasing + +Releases can be **prepared** by anyone with access to the code. + +Simply run `make release-major`, `make release-minor`, or `make-release-patch` +and it will automatically do the following: + + - Build chai.js + - Bump the version numbers across the project + - Make a commit within git + +All you need to do is push the commit up and make a pull request, one of the core contributors will merge it and publish a release. + +### Publishing a Release + +Anyone who is a core contributor (see the [Core Contributors Heading in the Readme](https://github.com/chaijs/chai#core-contributors)) can publish a release: + +1. Go to the [Releases page on Github](https://github.com/chaijs/chai/releases) +2. Hit "Draft a new release" (if you can't see this, you're not a core contributor!) +3. Write human-friendly Release Notes based on changelog. + - The release title is "x.x.x / YYYY-MM-DD" (where x.x.x is the version number) + - If breaking changes, write migration tutorial(s) and reasoning. + - Callouts for community contributions (PRs) with links to PR and contributing user. + - Callouts for other fixes made by core contributors with links to issue. +4. Hit "Save Draft" and get other core contributors to check your work, or alternatively hit "Publish release" +5. That's it! + + +## Support + + +### Resources + +For most of the documentation you are going to want to visit [ChaiJS.com](http://chaijs.com). + +- [Getting Started Guide](http://chaijs.com/guide/) +- [API Reference](http://chaijs.com/api/) +- [Plugins](http://chaijs.com/plugins/) + +Alternatively, the [wiki](https://github.com/chaijs/chai/wiki) might be what you are looking for. + +- [Chai Coding Style Guide](https://github.com/chaijs/chai/wiki/Chai-Coding-Style-Guide) +- [Third-party Resources](https://github.com/chaijs/chai/wiki/Third-Party-Resources) + +Or finally, you may find a core-contributor or like-minded developer in any of our support channels. + +- IRC: irc.freenode.org #chaijs +- [Mailing List / Google Group](https://groups.google.com/forum/#!forum/chaijs) + + +### Core Contributors + +Feel free to reach out to any of the core-contributors with you questions or concerns. We will do our best to respond in a timely manner. + +- Jake Luer + - GH: [@logicalparadox](https://github.com/logicalparadox) + - TW: [@jakeluer](http://twitter.com/jakeluer) + - IRC: logicalparadox +- Veselin Todorov + - GH: [@vesln](https://github.com/vesln/) + - TW: [@vesln](http://twitter.com/vesln) + - IRC: vesln +- Keith Cirkel + - GH: [@keithamus](https://github.com/keithamus) + - TW: [@keithamus](http://twitter.com/keithamus) + - IRC: keithamus +- Lucas Fernandes da Costa + - GH: [@lucasfcosta](https://github.com/lucasfcosta) + - TW: [@lfernandescosta](https://twitter.com/lfernandescosta) + - IRC: lucasfcosta diff --git a/node_modules/chai/History.md b/node_modules/chai/History.md new file mode 100644 index 0000000..5b5ae7b --- /dev/null +++ b/node_modules/chai/History.md @@ -0,0 +1,1059 @@ +### Note + +As of 3.0.0, the History.md file has been deprecated. [Please refer to the full +commit logs available on GitHub](https://github.com/chaijs/chai/commits). + +--- + +2.3.0 / 2015-04-26 +================== + + * Merge pull request #423 from ehntoo/patch-1 + * Merge pull request #422 from ljharb/fix_descriptor_tests + * Fix a small bug in the .null assertion docs + * Use a regex to account for property ordering issues across engines. + * Add `make test-firefox` + * Merge pull request #417 from astorije/astorije/minimalist-typo + * Remove trailing whitespaces + * Fix super minor typo in an example + * Merge pull request #408 from ljharb/enumerableProperty + * Add `ownPropertyDescriptor` assertion. + +2.2.0 / 2015-03-26 +================== + + * Merge pull request #405 from chaijs/deep-escape-doc-tweaks + * Tweak documentation on `.deep` flag. + * Merge pull request #402 from umireon/escaping-dot-should-be-taken + * Documentation of escaping in `.deep` flag. + * take regular expression apart + * Feature: backslash-escaping in `.deep.property` + * Escaping dot should be taken in deep property + +2.1.2 / 2015-03-15 +================== + + * Merge pull request #396 from chaijs/add-keith-cirkel-contributing-md + * Add Keith Cirkel to CONTRIBUTING.md + * Merge pull request #395 from cjqed/386-assert-operator-no-eval + * No longer using eval on assert operator #386 + * Merge pull request #389 from chaijs/update-git-summary + * Update `git summary` in README + +2.1.1 / 2015-03-04 +================== + + * Merge pull request #385 from eldritch-fossicker/master + * updates to reflect code style preference from @keithamus + * fix indexing into array with deep propery + * Merge pull request #382 from astorije/patch-2 + * Merge pull request #383 from gurdiga/config-doc-wording-improvement + * config.truncateThreshold docs: simpler wording + * Add missing docstring for showDiff argument of assert + * Merge pull request #381 from astorije/patch-1 + * Add a minor precision that empty asserts on strings too. + * Merge pull request #379 from dcneiner/should-primitive-fix + * Primitives now use valueOf in shouldGetter + +2.1.0 / 2015-02-23 +================== + + * Merge pull request #374 from jmm/v2.0.1 + * Increment version to 2.0.1. + * Merge pull request #365 from chaijs/fix-travis + * Fix travis.yml deploy + * Merge pull request #356 from Soviut/master + * documented fail methods for expect and should interfaces + * fail method added directly to expect + +2.0.0 / 2015-02-09 +================== + + * Merge pull request #361 from gregglind/b265-keys-object + * fix #359. Add `.keys(object)` + * Merge pull request #359 from gregglind/b359-unexpected-keys-sort + * Fix #359 keys() sorts input unexpectedly + * contrib: publish release strategy and travis npm creds #337 + * Merge pull request #357 from danilovaz/master + * Update copyright date + * Merge pull request #349 from toastynerd/add-which-chain-method + * add the which chain method as per issue #347 + * Merge pull request #333 from cmpolis/change-assertions + * more `by` cleanup + * cleaned out `.by` for #333 + * Merge pull request #335 from DingoEatingFuzz/expose-util + * Expose chai util through the chai object + * cleanup (per notes on pr #333) + * updated `change` to work w/ non-number values + tests + * Merge pull request #334 from hurrymaplelad/patch-1 + * Typo, the flag is called 'contains' with an 's' + * updated assertion interface with `change` (#330) + * added `change`,`increase`,`decrease` assertions (#330) + * assert tests for `change`,`increase`,`decrease` + * expect/should tests for `change`,`increase`,`decrease` + * Merge pull request #328 from lo1tuma/issue-327 + * Add includes and contains alias (fixes #327) + * Merge pull request #325 from chasenlehara/overwriteChainableMethodDocs + * Fix docs for overwriteChainableMethod parameters + * Merge pull request #317 from jasonkarns/patch-2 + * Merge pull request #318 from jasonkarns/patch-3 + * Merge pull request #316 from jasonkarns/patch-1 + * typos in docs + * minor docs typo + * update docs: getAllFlags -> transferFlags + * Merge pull request #313 from cjqed/254-expect-any-all + * Added the all and any flags for keys assertion, with all being the default behavior + * Merge pull request #312 from cjqed/291-assert-same-deep-members + * Changed public comment of sameDeepMemebers to be more clear + * Fixes issue #291, adds assert.sameDeepMembers + * Merge pull request #311 from cjqed/305-above-below-on-assert + * Merge pull request #308 from prodatakey/hasproperty + * Issue #305 fixed, added assert.isAbove and assert.isBelow + * Fix typo + * More unit tests for new utility functions + * Refactor common functionality, document, test + * Refactor if statement out + * Small unit test fix + * Handle array indexing terminating paths + * Merge pull request #309 from ericdouglas/iterableEqual-couting-once + * couting variables just once + * Fix properties with `undefined` value pass property assertion + * Merge pull request #306 from chaijs/revert-297-noopchainfunc + * Revert "Allows writing lint-friendly tests" + +1.10.0 / 2014-11-10 +================== + + * Merge pull request #297 from prodatakey/noopchainfunc + * Merge pull request #300 from julienw/299-fix-getMessage-test + * Fix #299: the test is defining global variables + * Add a couple more unit tests + * Add unit tests for chained terminating property asserts + * Revise documentation wording + * Add docs for function style NOOP asserts + * Make the NOOP function a shared constant + * Merge pull request #298 from dasilvacontin/negativeZeroLogging + * why not more assertions + * added test for inspecting `-0` + * a more readable/simple condition statement, as pointed out by @keithamus + * added check for logging negative zero + * Change test to not trigger argument bug + * Allows writing lint-friendly tests + * readme: update contributors for 1.9.2 + +1.9.2 / 2014-09-29 +================== + + * Merge pull request #268 from charlierudolph/cr-lazyMessages + * Merge pull request #269 from charlierudolph/cr-codeCleanup + * Merge pull request #277 from charlierudolph/fix-doc + * Merge pull request #279 from mohayonao/fix-closeTo + * Merge pull request #292 from boneskull/mocha + * resolves #255: upgrade mocha + * Merge pull request #289 from charlierudolph/cr-dryUpCode + * Dry up code + * Merge pull request #275 from DrRataplan/master + * assert: .closeTo() verify value's type before assertion + * Rewrite pretty-printing HTML elements to prevent throwing internal errors Fixes errors occuring when using a non-native DOM implementation + * Fix assert documentation + * Remove unused argument + * Allow messages to be functions + * Merge pull request #267 from shinnn/master + * Use SVG badge + * Merge pull request #264 from cjthompson/keys_diff + * Show diff for keys assertion + +1.9.1 / 2014-03-19 +================== + + * deps update + * util: [getActual] select actual logic now allows undefined for actual. Closes #183 + * docs: [config] make public, express param type + * Merge pull request #251 from romario333/threshold3 + * Fix issue #166 - configurable threshold in objDisplay. + * Move configuration options to config.js. + * Merge pull request #233 from Empeeric/master + * Merge pull request #244 from leider/fix_for_contains + * Merge pull request #247 from didoarellano/typo-fixes + * Fix typos + * Merge pull request #245 from lfac-pt/patch-1 + * Update `exports.version` to 1.9.0 + * aborting loop on finding + * declaring variable only once + * additional test finds incomplete implementation + * simplified code + * fixing #239 (without changing chai.js) + * ssfi as it should be + * Merge pull request #228 from duncanbeevers/deep_members + * Deep equality check for collection membership + +1.9.0 / 2014-01-29 +================== + + * docs: add contributing.md #238 + * assert: .throws() returns thrown error. Closes #185 + * Merge pull request #232 from laconbass/assert-throws + * assert: .fail() parameter mismatch. Closes #206 + * Merge branch 'karma-fixes' + * Add karma phantomjs launcher + * Use latest karma and sauce launcher + * Karma tweaks + * Merge pull request #230 from jkroso/include + * Merge pull request #237 from chaijs/coverage + * Add coverage to npmignore + * Remove lib-cov from test-travisci dependents + * Remove the not longer needed lcov reporter + * Test coverage with istanbul + * Remove jscoverage + * Remove coveralls + * Merge pull request #226 from duncanbeevers/add_has + * Avoid error instantiation if possible on assert.throws + * Merge pull request #231 from duncanbeevers/update_copyright_year + * Update Copyright notices to 2014 + * handle negation correctly + * add failing test case + * support `{a:1,b:2}.should.include({a:1})` + * Merge pull request #224 from vbardales/master + * Add `has` to language chains + * Merge pull request #219 from demands/overwrite_chainable + * return error on throw method to chain on error properties, possibly different from message + * util: store chainable behavior in a __methods object on ctx + * util: code style fix + * util: add overwriteChainableMethod utility (for #215) + * Merge pull request #217 from demands/test_cleanup + * test: make it possible to run utilities tests with --watch + * makefile: change location of karma-runner bin script + * Merge pull request #202 from andreineculau/patch-2 + * test: add tests for throwing custom errors + * Merge pull request #201 from andreineculau/patch-1 + * test: updated for the new assertion errors + * core: improve message for assertion errors (throw assertion) + +1.8.1 / 2013-10-10 +================== + + * pkg: update deep-eql version + +1.8.0 / 2013-09-18 +================== + + * test: [sauce] add a few more browsers + * Merge branch 'refactor/deep-equal' + * util: remove embedded deep equal utility + * util: replace embedded deep equal with external module + * Merge branch 'feature/karma' + * docs: add sauce badge to readme [ci skip] + * test: [sauce] use karma@canary to prevent timeouts + * travis: only run on node 0.10 + * test: [karma] use karma phantomjs runner + * Merge pull request #181 from tricknotes/fix-highlight + * Fix highlight for example code + +1.7.2 / 2013-06-27 +================== + + * coverage: add coveralls badge + * test: [coveralls] add coveralls api integration. testing travis-ci integration + * Merge branch 'master' of github.com:chaijs/chai + * Merge branch 'feature/bower' + * Merge pull request #180 from tricknotes/modify-method-title + * Merge pull request #179 from tricknotes/highlight-code-example + * Modify method title to include argument name + * Fix to highlight code example + * bower: granular ignores + +1.7.1 / 2013-06-24 +================== + + * Merge branch 'feature/bower'. #175 + * bower: add json file + * build: browser + +1.7.0 / 2013-06-17 +================== + + * error: remove internal assertion error constructor + * core: [assertion-error] replace internal assertion error with dep + * deps: add chaijs/assertion-error@1.0.0 + * docs: fix typo in source file. #174 + * Merge pull request #174 from piecioshka/master + * typo + * Merge branch 'master' of github.com:chaijs/chai + * pkg: lock mocha/mocha-phantomjs versions (for now) + * Merge pull request #173 from chaijs/inspect-fix + * Fix `utils.inspect` with custom object-returning inspect()s. + * Merge pull request #171 from Bartvds/master + * replaced tabs with 2 spaces + * added assert.notOk() + * Merge pull request #169 from katsgeorgeek/topics/master + * Fix comparison objects. + +1.6.1 / 2013-06-05 +================== + + * Merge pull request #168 from katsgeorgeek/topics/master + * Add test for different RegExp flags. + * Add test for regexp comparison. + * Downgrade mocha version for fix running Phantom tests. + * Fix comparison equality of two regexps. + * Merge pull request #161 from brandonpayton/master + * Fix documented name for assert interfaces isDefined method + +1.6.0 / 2013-04-29 +================== + + * build: browser + * assert: [(not)include] throw on incompatible haystack. Closes #142 + * assert: [notInclude] add assert.notInclude. Closes #158 + * browser build + * makefile: force browser build on browser-test + * makefile: use component for browser build + * core: [assertions] remove extraneous comments + * Merge branch 'master' of github.com:chaijs/chai + * test: [assert] deep equal ordering + * Merge pull request #153 from NickHeiner/array-assertions + * giving members a no-flag assertion + * Code review comments - changing syntax + * Code review comments + * Adding members and memberEquals assertions for checking for subsets and set equality. Implements chaijs/chai#148. + * Merge pull request #140 from RubenVerborgh/function-prototype + * Restore the `call` and `apply` methods of Function when adding a chainable method. + * readme: 2013 + * notes: migration notes for deep equal changes + * test: for ever err() there must be a passing version + +1.5.0 / 2013-02-03 +================== + + * docs: add Release Notes for non-gitlog summary of changes. + * lib: update copyright to 2013 + * Merge branch 'refactor/travis' + * makefile: remove test-component for full test run + * pkg: script test now runs make test so travis will test browser + * browser: build + * tests: refactor some tests to support new objDisplay output + * test: [bootstrap] normalize boostrap across all test scenarios + * assertions: refactor some assertions to use objDisplay instead of inspect + * util: [objDisplay] normalize output of functions + * makefile: refactor for full build scenarios + * component: fix build bug where missing util:type file + * assertions: [throw] code cleanup + * Merge branch 'refactor/typeDetection' + * browser: build + * makefile: chai.js is .PHONY so it builds every time + * test: [expect] add arguments type detection test + * core/assertions: [type] (a/an) refactor to use type detection utility + * util: add cross-browser type detection utility + * Merge branch 'feature/component' + * browser: build + * component: add component.json file + * makefile: refactor for fine grain control of testing scenarios + * test: add mochaPhantomJS support and component test file + * deps: add component and mocha-phantomjs for browser testing + * ignore: update ignore files for component support + * travis: run for all branches + * Merge branch 'feature/showDiff' + * test: [Assertion] configruable showDiff flag. Closes #132 + * lib: [Assertion] add configurable showDiff flag. #132 + * Merge branch 'feature/saucelabs' + * Merge branch 'master' into feature/saucelabs + * browser: build + * support: add mocha cloud runner, client, and html test page + * test: [saucelabs] add auth placeholder + * deps: add mocha-cloud + * Merge pull request #136 from whatthejeff/message_fix + * Merge pull request #138 from timnew/master + * Fix issue #137, test message existence by using message!=null rather than using message + * Fixed backwards negation messages. + * Merge pull request #133 from RubenVerborgh/throw + * Functions throwing strings can reliably be tested. + * Merge pull request #131 from RubenVerborgh/proto + * Cache whether __proto__ is supported. + * Use __proto__ if available. + * Determine the property names to exclude beforehand. + * Merge pull request #126 from RubenVerborgh/eqls + * Add alias eqls for eql. + * Use inherited enumerable properties in deep equality comparison. + * Show inherited properties when inspecting an object. + * Add new getProperties and getEnumerableProperties utils. + * showDiff: force true for equal and eql + +1.4.2 / 2012-12-21 +================== + + * browser build: (object diff support when used with mocha) #106 + * test: [display] array test for mocha object diff + * browser: no longer need different AssertionError constructor + +1.4.1 / 2012-12-21 +================== + + * showDiff: force diff for equal and eql. #106 + * test: [expect] type null. #122 + * Merge pull request #115 from eshao/fix-assert-Throw + * FIX: assert.Throw checks error type/message + * TST: assert.Throw should check error type/message + +1.4.0 / 2012-11-29 +================== + + * pre-release browser build + * clean up index.js to not check for cov, revert package.json to use index.js + * convert tests to use new bootstrap + * refactor testing bootstrap + * use spaces (not tabs). Clean up #114 + * Merge pull request #114 from trantorLiu/master + * Add most() (alias: lte) and least() (alias: gte) to the API with new chainers "at" and "of". + * Change `main` to ./lib/chai. Fixes #28. + * Merge pull request #104 from connec/deep_equals_circular_references_ + * Merge pull request #109 from nnarhinen/patch-1 + * Check for 'actual' type + * Added support for circular references when checking deep (in)equality. + +1.3.0 / 2012-10-01 +================== + + * browser build w/ folio >= 0.3.4. Closes #99 + * add back buffer test for deep equal + * do not write flags to assertion.prototype + * remove buffer test from expect + * browser build + * improve documentation of custom error messages + * Merge branch 'master' of git://github.com/Liffft/chai into Liffft-master + * browser build + * improved buffer deep equal checking + * mocha is npm test command + * Cleaning up the js style… + * expect tests now include message pass-through + * packaging up browser-side changes… + * Increasing Throws error message verbosity + * Should syntax: piping message through + * Make globalShould test work in browser too. + * Add a setter for `Object.prototype.should`. Closes #86. + +1.2.0 / 2012-08-07 +================== + + * Merge branch 'feature/errmsg' + * browser build + * comment updates for utilities + * tweak objDislay to only kick in if object inspection is too long + * Merge branch 'master' into feature/errmsg + * add display sample for error message refactor + * first draft of error message refactor. #93 + * add `closeTo` assertion to `assert` interface. Closes #89. + * update folio build for better require.js handling. Closes #85 + * Merge pull request #92 from paulmillr/topics/add-dom-checks + * Add check for DOM objects. + * browser build + * Merge branch 'master' of github.com:chaijs/chai + * bug - getActual not defaulting to assertion subject + * Merge pull request #88 from pwnall/master + * Don't inspect() assertion arguments if the assertion passes. + +1.1.1 / 2012-07-09 +================== + + * improve commonjs support on browser build + * Merge pull request #83 from tkazec/equals + * Document .equals + * Add .equals as an alias of .equal + * remove unused browser prefix/suffix + * Merge branch 'feature/folio-build' + * browser build + * using folio to compile + * clean up makefile + * early folio 0.3.x support + +1.1.0 / 2012-06-26 +================== + + * browser build + * Disable "Assertion.includeStack is false" test in IE. + * Use `utils.getName` for all function inspections. + * Merge pull request #80 from kilianc/closeTo + * fixes #79 + * browser build + * expand docs to indicate change of subject for chaining. Closes #78 + * add `that` chain noop + * Merge branch 'bug/74' + * comments on how to property use `length` as chain. Closes #74 + * tests for length as chainable property. #74 + * add support for `length` as chainable prop/method. + * Merge branch 'bug/77' + * tests for getPathValue when working with nested arrays. Closes #77 + * add getPathValue support for nested arrays + * browser build + * fix bug for missing browser utils + * compile tool aware of new folder layout + * Merge branch 'refactor/1dot1' + * move core assertions to own file and refactor all using utils + * rearrange folder structure + +1.0.4 / 2012-06-03 +================== + + * Merge pull request #68 from fizker/itself + * Added itself chain. + * simplify error inspections for cross browser compatibility + * fix safari `addChainableMethod` errors. Closes #69 + +1.0.3 / 2012-05-27 +================== + + * Point Travis badge to the right place. + * Make error message for eql/deep.equal more clear. + * Fix .not.deep.equal. + * contributors list + +1.0.2 / 2012-05-26 +================== + + * Merge pull request #67 from chaijs/chaining-and-flags + * Browser build. + * Use `addChainableMethod` to get away from `__proto__` manipulation. + * New `addChainableMethod` utility. + * Replace `getAllFlags` with `transferFlags` utility. + * browser build + * test - get all flags + * utility - get all flags + * Add .mailmap to .npmignore. + * Add a .mailmap file to fix my name in shortlogs. + +1.0.1 / 2012-05-18 +================== + + * browser build + * Fixing "an" vs. "a" grammar in type assertions. + * Uniformize `assert` interface inline docs. + * Don't use `instanceof` for `assert.isArray`. + * Add `deep` flag for equality and property value. + * Merge pull request #64 from chaijs/assertion-docs + * Uniformize assertion inline docs. + * Add npm-debug.log to .gitignore. + * no reserved words as actuals. #62 + +1.0.0 / 2012-05-15 +================== + + * readme cleanup + * browser build + * utility comments + * removed docs + * update to package.json + * docs build + * comments / docs updates + * plugins app cleanup + * Merge pull request #61 from joliss/doc + * Fix and improve documentation of assert.equal and friends + * browser build + * doc checkpoint - texture + * Update chai-jquery link + * Use defined return value of Assertion extension functions + * Update utility docs + +1.0.0-rc3 / 2012-05-09 +================== + + * Merge branch 'feature/rc3' + * docs update + * browser build + * assert test conformity for minor refactor api + * assert minor refactor + * update util tests for new add/overwrite prop/method format + * added chai.Assertion.add/overwrite prop/method for plugin toolbox + * add/overwrite prop/method don't make assumptions about context + * doc test suite + * docs don't need coverage + * refactor all simple chains into one forEach loop, for clean documentation + * updated npm ignore + * remove old docs + * docs checkpoint - guide styled + * Merge pull request #59 from joliss/doc + * Document how to run the test suite + * don't need to rebuild docs to view + * dep update + * docs checkpoint - api section + * comment updates for docs + * new doc site checkpoint - plugin directory! + * Merge pull request #57 from kossnocorp/patch-1 + * Fix typo: devDependancies → devDependencies + * Using message flag in `getMessage` util instead of old `msg` property. + * Adding self to package.json contributors. + * `getMessage` shouldn't choke on null/omitted messages. + * `return this` not necessary in example. + * `return this` not necessary in example. + * Sinon–Chai has a dash + * updated plugins list for docs + +1.0.0-rc2 / 2012-05-06 +================== + + * Merge branch 'feature/test-cov' + * browser build + * missing assert tests for ownProperty + * appropriate assert equivalent for expect.to.have.property(key, val) + * reset AssertionError to include full stack + * test for plugin utilities + * overwrite Property and Method now ensure chain + * version notes in readme + +1.0.0-rc1 / 2012-05-04 +================== + + * browser build (rc1) + * assert match/notMatch tests + * assert interface - notMatch, ownProperty, notOwnProperty, ownPropertyVal, ownPropertyNotVal + * cleaner should interface export. + * added chai.Assertion.prototype._obj (getter) for quick access to object flag + * moved almostEqual / almostDeepEqual to stats plugin + * added mocha.opts + * Add test for `utils.addMethod` + * Fix a typo + * Add test for `utils.overwriteMethod` + * Fix a typo + * Browser build + * Add undefined assertion + * Add null assertion + * Fix an issue with `mocha --watch` + * travis no longer tests on node 0.4.x + * removing unnecissary carbon dep + * Merge branch 'feature/plugins-app' + * docs build + * templates for docs express app for plugin directory + * express app for plugin and static serving + * added web server deps + * Merge pull request #54 from josher19/master + * Remove old test.assert code + * Use util.inspect instead of inspect for deepAlmostEqual and almostEqual + * browser build + * Added almostEqual and deepAlmostEqual to assert test suite. + * bug - context determinants for utils + * dec=0 means rounding, so assert.deepAlmostEqual({pi: 3.1416}, {pi: 3}, 0) is true + * wrong travis link + * readme updates for version information + * travis tests 0.5.x branch as well + * [bug] util `addProperty` not correctly exporting + * read me version notes + * browser build 1.0.0alpha1 + * not using reserved words in internal assertions. #52 + * version tick + * clean up redundant tests + * Merge branch 'refs/heads/0.6.x' + * update version tag in package 1.0.0alpha1 + * browser build + * added utility tests to browser specs + * beginning utility testing + * updated utility comments + * utility - overwriteMethod + * utility - overwriteProperty + * utility - addMethod + * utility - addProperty + * missing ; + * contributors list update + * Merge branch 'refs/heads/0.6.x-docs' into 0.6.x + * Added guide link to docs. WIP + * Include/contain are now both properties and methods + * Add an alias annotation + * Remove usless function wrapper + * Fix a typo + * A/an are now both properties and methods + * [docs] new site homepage layout / color checkpoint + * Ignore IE-specific error properties. + * Fixing order of error message test. + * New cross-browser `getName` util. + * Fixing up `AssertionError` inheritance. + * backup docs + * Add doctypes + * [bug] was still using `constructor.name` in `throw` assertion + * [bug] flag Object.create(null) instead of new Object + * [test] browser build + * [refactor] all usage of Assertion.prototype.assert now uses template tags and flags + * [refactor] remove Assertion.prototype.inspect for testable object inspection + * [refactor] object to test is now stored in flag, with ssfi and custom message + * [bug] flag util - don't return on `set` + * [docs] comments for getMessage utility + * [feature] getMessage + * [feature] testing utilities + * [refactor] flag doesn't require `call` + * Make order of source files well-defined + * Added support for throw(errorInstance). + * Use a foolproof method of grabbing an error's name. + * Removed constructor.name check from throw. + * disabled stackTrack configuration tests until api is stable again + * first version of line displayed error for node js (unstable) + * refactor core Assertion to use flag utility for negation + * added flag utility + * tests for assert interface negatives. Closed #42 + * added assertion negatives that were missing. #42 + * Support for expected and actual parameters in assert-style error object + * chai as promised - readme + * Added assert.fail. Closes #40 + * better error message for assert.operator. Closes #39 + * [refactor] Assertion#property to use getPathValue property + * added getPathValue utility helper + * removed todo about browser build + * version notes + * version bumb 0.6.0 + * browser build + * [refactor] browser compile function to replace with `require('./error')' with 'require('./browser/error')' + * [feature] browser uses different error.js + * [refactor] error without chai.fail + * Assertion & interfaces use new utils helper export + * [refactor] primary export for new plugin util usage + * added util index.js helper + * added 2012 to copyright headers + * Added DeepEqual assertions + +0.5.3 / 2012-04-21 +================== + + * Merge branch 'refs/heads/jgonera-oldbrowsers' + * browser build + * fixed reserved names for old browsers in interface/assert + * fixed reserved names for old browsers in interface/should + * fixed: chai.js no longer contains fail() + * fixed reserved names for old browsers in Assertion + * Merge pull request #49 from joliss/build-order + * Make order of source files well-defined + * Merge pull request #43 from zzen/patch-1 + * Support for expected and actual parameters in assert-style error object + * chai as promised - readme + +0.5.2 / 2012-03-21 +================== + + * browser build + * Merge branch 'feature/assert-fail' + * Added assert.fail. Closes #40 + * Merge branch 'bug/operator-msg' + * better error message for assert.operator. Closes #39 + * version notes + +0.5.1 / 2012-03-14 +================== + + * chai.fail no longer exists + * Merge branch 'feature/assertdefined' + * Added asset#isDefined. Closes #37. + * dev docs update for Assertion#assert + +0.5.0 / 2012-03-07 +================== + + * [bug] on inspect of reg on n 0.4.12 + * Merge branch 'bug/33-throws' + * Merge pull request #35 from logicalparadox/empty-object + * browser build + * updated #throw docs + * Assertion#throw `should` tests updated + * Assertion#throw `expect` tests + * Should interface supports multiple throw parameters + * Update Assertion#throw to support strings and type checks. + * Add more tests for `empty` in `should`. + * Add more tests for `empty` in `expect`. + * Merge branch 'master' into empty-object + * don't switch act/exp + * Merge pull request #34 from logicalparadox/assert-operator + * Update the compiled verison. + * Add `assert.operator`. + * Notes on messages. #22 + * browser build + * have been test + * below tests + * Merge branch 'feature/actexp' + * browser build + * remove unnecessary fail export + * full support for actual/expected where relevant + * Assertion.assert support expected value + * clean up error + * Update the compiled version. + * Add object & sane arguments support to `Assertion#empty`. + +0.4.2 / 2012-02-28 +================== + + * fix for `process` not available in browser when used via browserify. Closes #28 + * Merge pull request #31 from joliss/doc + * Document that "should" works in browsers other than IE + * Merge pull request #30 from logicalparadox/assert-tests + * Update the browser version of chai. + * Update `assert.doesNotThrow` test in order to check the use case when type is a string. + * Add test for `assert.ifError`. + * Falsey -> falsy. + * Full coverage for `assert.throws` and `assert.doesNotThrow`. + * Add test for `assert.doesNotThrow`. + * Add test for `assert.throws`. + * Add test for `assert.length`. + * Add test for `assert.include`. + * Add test for `assert.isBoolean`. + * Fix the implementation of `assert.isNumber`. + * Add test for `assert.isNumber`. + * Add test for `assert.isString`. + * Add test for `assert.isArray`. + * Add test for `assert.isUndefined`. + * Add test for `assert.isNotNull`. + * Fix `assert.isNotNull` implementation. + * Fix `assert.isNull` implementation. + * Add test for `assert.isNull`. + * Add test for `assert.notDeepEqual`. + * Add test for `assert.deepEqual`. + * Add test for `assert.notStrictEqual`. + * Add test for `assert.strictEqual`. + * Add test for `assert.notEqual`. + +0.4.1 / 2012-02-26 +================== + + * Merge pull request #27 from logicalparadox/type-fix + * Update the browser version. + * Add should tests for type checks. + * Add function type check test. + * Add more type checks tests. + * Add test for `new Number` type check. + * Fix type of actual checks. + +0.4.0 / 2012-02-25 +================== + + * docs and readme for upcoming 0.4.0 + * docs generated + * putting coverage and tests for docs in docs/out/support + * make docs + * makefile copy necessary resources for tests in docs + * rename configuration test + * Merge pull request #21 from logicalparadox/close-to + * Update the browser version. + * Update `closeTo()` docs. + * Add `Assertion.closeTo()` method. + * Add `.closeTo()` should test. + * Add `.closeTo()` expect test. + * Merge pull request #20 from logicalparadox/satisfy + * Update the browser version. + * `..` -> `()` in `.satisfy()` should test. + * Update example for `.satisfy()`. + * Update the compiled browser version. + * Add `Assertion.satisfy()` method. + * Add `.satisfy()` should test. + * Add `.satisfy()` expect test. + * Merge pull request #19 from logicalparadox/respond-to + * Update the compiled browser version. + * Add `respondTo` Assertion. + * Add `respondTo` should test. + * Add `respondTo` expect test. + * Merge branch 'feature/coverage' + * mocha coverage support + * doc contributors + * README contributors + +0.3.4 / 2012-02-23 +================== + + * inline comment typos for #15 + * Merge branch 'refs/heads/jeffbski-configErrorStackCompat' + * includeStack documentation for all interfaces + * suite name more generic + * Update test to be compatible with browsers that do not support err.stack + * udpated compiled chai.js and added to browser tests + * Allow inclusion of stack trace for Assert error messages to be configurable + * docs sharing buttons + * sinon-chai link + * doc updates + * read me updates include plugins + +0.3.3 / 2012-02-12 +================== + + * Merge pull request #14 from jfirebaugh/configurable_properties + * Make Assertion.prototype properties configurable + +0.3.2 / 2012-02-10 +================== + + * codex version + * docs + * docs cleanup + +0.3.1 / 2012-02-07 +================== + + * node 0.4.x compat + +0.3.0 / 2012-02-07 +================== + + * Merge branch 'feature/03x' + * browser build + * remove html/json/headers testign + * regex error.message testing + * tests for using plugins + * Merge pull request #11 from domenic/master + * Make `chai.use` a no-op if the function has already been used. + +0.2.4 / 2012-02-02 +================== + + * added in past tense switch for `been` + +0.2.3 / 2012-02-01 +================== + + * try that again + +0.2.2 / 2012-02-01 +================== + + * added `been` (past of `be`) alias + +0.2.1 / 2012-01-29 +================== + + * added Throw, with a capital T, as an alias to `throw` (#7) + +0.2.0 / 2012-01-26 +================== + + * update gitignore for vim *.swp + * Merge branch 'feature/plugins' + * browser build + * interfaces now work with use + * simple .use function. See #9. + * readme notice on browser compat + +0.1.7 / 2012-01-25 +================== + + * added assert tests to browser test runner + * browser update + * `should` interface patch for primitives support in FF + * fix isObject() Thanks @milewise + * travis only on branch `master` + * add instanceof alias `instanceOf`. #6 + * some tests for assert module + +0.1.6 / 2012-01-02 +================== + + * commenting for assert interface + * updated codex dep + +0.1.5 / 2012-01-02 +================== + + * browser tests pass + * type in should.not.equal + * test for should (not) exist + * added should.exist and should.not.exist + * browser uses tdd + * convert tests to tdd + +0.1.4 / 2011-12-26 +================== + + * browser lib update for new assert interface compatiblitiy + * inspect typos + * added strict equal + negatives and ifError + * interface assert had doesNotThrow + * added should tests to browser + * new expect empty tests + * should test browser compat + * Fix typo for instanceof docs. Closes #3 [ci skip] + +0.1.3 / 2011-12-18 +================== + + * much cleaner reporting string on error. + +0.1.2 / 2011-12-18 +================== + + * [docs] for upcoming 0.1.2 + * browser version built with pre/suffix … all tests passing + * make / compile now use prefix/suffix correctly + * code clean + * prefix/suffix to wrap browser output to prevent conflicts with other `require` methods. + * Merge branch 'feature/should4xcompatibility' + * compile for browser tests.. all pass + * added header/status/html/json + * throw tests + * should.throw & should.not.throw shortcuts + * improved `throw` type detection and messaging + * contain is now `include` … keys modifier is now `contain` + * removed object() test + * removed #respondTo + * Merge branch 'bug/2' + * replaced __defineGetter__ with defineProperty for all uses + * [docs] change mp tracking code + * docs site updated with assert (TDD) interface + * updated doc comments for assert interface + +0.1.1 / 2011-12-16 +================== + + * docs ready for upcoming 0.1.1 + * readme image fixed [ci skip] + * more readme tweaks [ci skip] + * réadmet image fixed [ci skip] + * documentation + * codex locked in version 0.0.5 + * more comments to assertions for docs + * assertions fully commented, browser library updated + * adding codex as doc dependancy + * prepping for docs + * assertion component completely commented for documentation + * added exist test + * var expect outside of browser if check + * added keywords to package.json + +0.1.0 / 2011-12-15 +================== + + * failing on purpose successful .. back to normal + * testing travis failure + * assert#arguments getter + * readme typo + * updated README + * added travis and npmignore + * copyright notices … think i got them all + * moved expect interface to own file for consistency + * assert ui deepEqual + * browser tests expect (all working) + * browser version built + * chai.fail (should ui) + * expect tests browser compatible + * tests for should and expect (all pass) + * moved fail to primary export + * should compatibility testing + * within, greaterThan, object, keys, + * Aliases + * Assertion#property now correctly works with negate and undefined values + * error message language matches should + * Assertion#respondTo + * Assertion now uses inspect util + * git ignore node modules + * should is exported + * AssertionError __proto__ from Error.prototype + * add should interface for should.js compatibility + * moved eql to until folder and added inspect from (joyent/node) + * added mocha for testing + * browser build for current api + * multiple .property assertions + * added deep equal from node + +0.0.2 / 2011-12-07 +================== + + * cleaner output on error + * improved exists detection + * package remnant artifact + * empty deep equal + * test browser build + * assertion cleanup + * client compile script + * makefile + * most of the basic assertions + * allow no parameters to assertion error + * name change + * assertion error instance + * main exports: assert() & expect() + * initialize diff --git a/node_modules/chai/LICENSE b/node_modules/chai/LICENSE new file mode 100644 index 0000000..eedbe23 --- /dev/null +++ b/node_modules/chai/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Chai.js Assertion Library + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/chai/README.md b/node_modules/chai/README.md new file mode 100644 index 0000000..2424971 --- /dev/null +++ b/node_modules/chai/README.md @@ -0,0 +1,154 @@ +

    + + ChaiJS + +
    + chai +

    + +

    + Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. +

    + +

    + + downloads:? + + + node:? + +
    + + Join the Slack chat + + + Join the Gitter chat + + + OpenCollective Backers + +

    + +For more information or to download plugins, view the [documentation](http://chaijs.com). + +## What is Chai? + +Chai is an _assertion library_, similar to Node's built-in `assert`. It makes testing much easier by giving you lots of assertions you can run against your code. + +## Installation + +### Node.js + +`chai` is available on [npm](http://npmjs.org). To install it, type: + + $ npm install --save-dev chai + +### Browsers + +You can also use it within the browser; install via npm and use the `chai.js` file found within the download. For example: + +```html + +``` + +## Usage + +Import the library in your code, and then pick one of the styles you'd like to use - either `assert`, `expect` or `should`: + +```js +import { assert } from 'chai'; // Using Assert style +import { expect } from 'chai'; // Using Expect style +import { should } from 'chai'; // Using Should style +``` + +### Register the chai testing style globally + +```js +import 'chai/register-assert'; // Using Assert style +import 'chai/register-expect'; // Using Expect style +import 'chai/register-should'; // Using Should style +``` + +### Import assertion styles as local variables + +```js +import { assert } from 'chai'; // Using Assert style +import { expect } from 'chai'; // Using Expect style +import { should } from 'chai'; // Using Should style +should(); // Modifies `Object.prototype` + +import { expect, use } from 'chai'; // Creates local variables `expect` and `use`; useful for plugin use +``` + +### Usage with Mocha + +```bash +mocha spec.js --require chai/register-assert.js # Using Assert style +mocha spec.js --require chai/register-expect.js # Using Expect style +mocha spec.js --require chai/register-should.js # Using Should style +``` + +[Read more about these styles in our docs](http://chaijs.com/guide/styles/). + +## Plugins + +Chai offers a robust Plugin architecture for extending Chai's assertions and interfaces. + +- Need a plugin? View the [official plugin list](http://chaijs.com/plugins). +- Want to build a plugin? Read the [plugin api documentation](http://chaijs.com/guide/plugins/). +- Have a plugin and want it listed? Simply add the following keywords to your package.json: + - `chai-plugin` + - `browser` if your plugin works in the browser as well as Node.js + - `browser-only` if your plugin does not work with Node.js + +### Related Projects + +- [chaijs / chai-docs](https://github.com/chaijs/chai-docs): The chaijs.com website source code. +- [chaijs / assertion-error](https://github.com/chaijs/assertion-error): Custom `Error` constructor thrown upon an assertion failing. +- [chaijs / deep-eql](https://github.com/chaijs/deep-eql): Improved deep equality testing for Node.js and the browser. +- [chaijs / check-error](https://github.com/chaijs/check-error): Error comparison and information related utility for Node.js and the browser. +- [chaijs / loupe](https://github.com/chaijs/loupe): Inspect utility for Node.js and browsers. +- [chaijs / pathval](https://github.com/chaijs/pathval): Object value retrieval given a string path. + +### Contributing + +Thank you very much for considering to contribute! + +Please make sure you follow our [Code Of Conduct](https://github.com/chaijs/chai/blob/master/CODE_OF_CONDUCT.md) and we also strongly recommend reading our [Contributing Guide](https://github.com/chaijs/chai/blob/master/CONTRIBUTING.md). + +Here are a few issues other contributors frequently ran into when opening pull requests: + +- Please do not commit changes to the `chai.js` build. We do it once per release. +- Before pushing your commits, please make sure you [rebase](https://github.com/chaijs/chai/blob/master/CONTRIBUTING.md#pull-requests) them. + +### Contributors + +Please see the full +[Contributors Graph](https://github.com/chaijs/chai/graphs/contributors) for our +list of contributors. + +### Core Contributors + +Feel free to reach out to any of the core contributors with your questions or +concerns. We will do our best to respond in a timely manner. + +[![Jake Luer](https://avatars3.githubusercontent.com/u/58988?v=3&s=50)](https://github.com/logicalparadox) +[![Veselin Todorov](https://avatars3.githubusercontent.com/u/330048?v=3&s=50)](https://github.com/vesln) +[![Keith Cirkel](https://avatars3.githubusercontent.com/u/118266?v=3&s=50)](https://github.com/keithamus) +[![Lucas Fernandes da Costa](https://avatars3.githubusercontent.com/u/6868147?v=3&s=50)](https://github.com/lucasfcosta) +[![Grant Snodgrass](https://avatars3.githubusercontent.com/u/17260989?v=3&s=50)](https://github.com/meeber) diff --git a/node_modules/chai/ReleaseNotes.md b/node_modules/chai/ReleaseNotes.md new file mode 100644 index 0000000..2a80d5c --- /dev/null +++ b/node_modules/chai/ReleaseNotes.md @@ -0,0 +1,737 @@ +# Release Notes + +## Note + +As of 3.0.0, the ReleaseNotes.md file has been deprecated. [Please refer to the release notes available on Github](https://github.com/chaijs/chai/releases). Or +[the release notes on the chaijs.com website](https://chaijs.com/releases). + +--- + +## 2.3.0 / 2015-04-26 + +Added `ownPropertyDescriptor` assertion: + +```js +expect('test').to.have.ownPropertyDescriptor('length'); +expect('test').to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 4 }); +expect('test').not.to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 3 }); +expect('test').ownPropertyDescriptor('length').to.have.property('enumerable', false); +expect('test').ownPropertyDescriptor('length').to.have.keys('value'); +``` + +### Community Contributions + +#### Code Features & Fixes + + * [#408](https://github.com/chaijs/chai/pull/408) Add `ownPropertyDescriptor` + assertion. + By [@ljharb](https://github.com/ljharb) + * [#422](https://github.com/chaijs/chai/pull/422) Improve ownPropertyDescriptor + tests. + By [@ljharb](https://github.com/ljharb) + +#### Documentation fixes + + * [#417](https://github.com/chaijs/chai/pull/417) Fix documentation typo + By [@astorije](https://github.com/astorije) + * [#423](https://github.com/chaijs/chai/pull/423) Fix inconsistency in docs. + By [@ehntoo](https://github.com/ehntoo) + + +## 2.2.0 / 2015-03-26 + +Deep property strings can now be escaped using `\\` - for example: + +```js +var deepCss = { '.link': { '[target]': 42 }}; +expect(deepCss).to.have.deep.property('\\.link.\\[target\\]', 42) +``` + +### Community Contributions + +#### Code Features & Fixes + + * [#402](https://github.com/chaijs/chai/pull/402) Allow escaping of deep + property keys. + By [@umireon](https://github.com/umireon) + +#### Documentation fixes + + * [#405](https://github.com/chaijs/chai/pull/405) Tweak documentation around + deep property escaping. + By [@keithamus](https://github.com/keithamus) + + +## 2.1.2 / 2015-03-15 + +A minor bug fix. No new features. + +### Community Contributions + +#### Code Features & Fixes + + * [#395](https://github.com/chaijs/chai/pull/395) Fix eval-related bugs with + assert.operator ([#386](https://github.com/chaijs/chai/pull/386)). + By [@cjqed](https://github.com/cjqed) + +## 2.1.1 / 2015-03-04 + +Two minor bugfixes. No new features. + +### Community Contributions + +#### Code Features & Fixes + + * [#385](https://github.com/chaijs/chai/pull/385) Fix a bug (also described in + [#387](https://github.com/chaijs/chai/pull/385)) where `deep.property` would not work with single + key names. By [@eldritch-fossicker](https://github.com/eldritch-fossicker) + * [#379](https://github.com/chaijs/chai/pull/379) Fix bug where tools which overwrite + primitive prototypes, such as Babel or core-js would fail. + By [@dcneiner](https://github.com/dcneiner) + +#### Documentation fixes + + * [#382](https://github.com/chaijs/chai/pull/382) Add doc for showDiff argument in assert. + By [@astorije](https://github.com/astorije) + * [#383](https://github.com/chaijs/chai/pull/383) Improve wording for truncateTreshold docs + By [@gurdiga](https://github.com/gurdiga) + * [#381](https://github.com/chaijs/chai/pull/381) Improve wording for assert.empty docs + By [@astorije](https://github.com/astorije) + +## 2.1.0 / 2015-02-23 + +Small release; fixes an issue where the Chai lib was incorrectly reporting the +version number. + +Adds new `should.fail()` and `expect.fail()` methods, which are convinience +methods to throw Assertion Errors. + +### Community Contributions + +#### Code Features & Fixes + + * [#356](https://github.com/chaijs/chai/pull/356) Add should.fail(), expect.fail(). By [@Soviut](https://github.com/Soviut) + * [#374](https://github.com/chaijs/chai/pull/374) Increment version. By [@jmm](https://github.com/jmm) + +## 2.0.0 / 2015-02-09 + +Unfortunately with 1.10.0 - compatibility broke with older versions because of +the `addChainableNoop`. This change has been reverted. + +Any plugins using `addChainableNoop` should cease to do so. + +Any developers wishing for this behaviour can use [dirty-chai](https://www.npmjs.com/package/dirty-chai) +by [@joshperry](https://github.com/joshperry) + +### Community Contributions + +#### Code Features & Fixes + + * [#361](https://github.com/chaijs/chai/pull/361) `.keys()` now accepts Objects, extracting keys from them. By [@gregglind](https://github.com/gregglind) + * [#359](https://github.com/chaijs/chai/pull/359) `.keys()` no longer mutates passed arrays. By [@gregglind](https://github.com/gregglind) + * [#349](https://github.com/chaijs/chai/pull/349) Add a new chainable keyword - `.which`. By [@toastynerd](https://github.com/toastynerd) + * [#333](https://github.com/chaijs/chai/pull/333) Add `.change`, `.increase` and `.decrease` assertions. By [@cmpolis](https://github.com/cmpolis) + * [#335](https://github.com/chaijs/chai/pull/335) `chai.util` is now exposed [@DingoEatingFuzz](https://github.com/DingoEatingFuzz) + * [#328](https://github.com/chaijs/chai/pull/328) Add `.includes` and `.contains` aliases (for `.include` and `.contain`). By [@lo1tuma](https://github.com/lo1tuma) + * [#313](https://github.com/chaijs/chai/pull/313) Add `.any.keys()` and `.all.keys()` qualifiers. By [@cjqed](https://github.com/cjqed) + * [#312](https://github.com/chaijs/chai/pull/312) Add `assert.sameDeepMembers()`. By [@cjqed](https://github.com/cjqed) + * [#311](https://github.com/chaijs/chai/pull/311) Add `assert.isAbove()` and `assert.isBelow()`. By [@cjqed](https://github.com/cjqed) + * [#308](https://github.com/chaijs/chai/pull/308) `property` and `deep.property` now pass if a value is set to `undefined`. By [@prodatakey](https://github.com/prodatakey) + * [#309](https://github.com/chaijs/chai/pull/309) optimize deep equal in Arrays. By [@ericdouglas](https://github.com/ericdouglas) + * [#306](https://github.com/chaijs/chai/pull/306) revert #297 - allowing lint-friendly tests. By [@keithamus](https://github.com/keithamus) + +#### Documentation fixes + + * [#357](https://github.com/chaijs/chai/pull/357) Copyright year updated in docs. By [@danilovaz](https://github.com/danilovaz) + * [#325](https://github.com/chaijs/chai/pull/325) Fix documentation for overwriteChainableMethod. By [@chasenlehara](https://github.com/chasenlehara) + * [#334](https://github.com/chaijs/chai/pull/334) Typo fix. By [@hurrymaplelad](https://github.com/hurrymaplelad) + * [#317](https://github.com/chaijs/chai/pull/317) Typo fix. By [@jasonkarns](https://github.com/jasonkarns) + * [#318](https://github.com/chaijs/chai/pull/318) Typo fix. By [@jasonkarns](https://github.com/jasonkarns) + * [#316](https://github.com/chaijs/chai/pull/316) Typo fix. By [@jasonkarns](https://github.com/jasonkarns) + + +## 1.10.0 / 2014-11-10 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - No changes required +- **Plugin Developers:** + - Review `addChainableNoop` notes below. +- **Core Contributors:** + - Refresh `node_modules` folder for updated dependencies. + +### Noop Function for Terminating Assertion Properties + +The following assertions can now also be used in the function-call form: + +* ok +* true +* false +* null +* undefined +* exist +* empty +* arguments +* Arguments + +The above list of assertions are property getters that assert immediately on +access. Because of that, they were written to be used by terminating the assertion +chain with a property access. + +```js +expect(true).to.be.true; +foo.should.be.ok; +``` + +This syntax is definitely aesthetically pleasing but, if you are linting your +test code, your linter will complain with an error something like "Expected an +assignment or function call and instead saw an expression." Since the linter +doesn't know about the property getter it assumes this line has no side-effects, +and throws a warning in case you made a mistake. + +Squelching these errors is not a good solution as test code is getting to be +just as important as, if not more than, production code. Catching syntactical +errors in tests using static analysis is a great tool to help make sure that your +tests are well-defined and free of typos. + +A better option was to provide a function-call form for these assertions so that +the code's intent is more clear and the linters stop complaining about something +looking off. This form is added in addition to the existing property access form +and does not impact existing test code. + +```js +expect(true).to.be.true(); +foo.should.be.ok(); +``` + +These forms can also be mixed in any way, these are all functionally identical: + +```js +expect(true).to.be.true.and.not.false(); +expect(true).to.be.true().and.not.false; +expect(true).to.be.true.and.not.false; +``` + +#### Plugin Authors + +If you would like to provide this function-call form for your terminating assertion +properties, there is a new function to register these types of asserts. Instead +of using `addProperty` to register terminating assertions, simply use `addChainableNoop` +instead; the arguments to both are identical. The latter will make the assertion +available in both the attribute and function-call forms and should have no impact +on existing users of your plugin. + +### Community Contributions + +- [#297](https://github.com/chaijs/chai/pull/297) Allow writing lint-friendly tests. [@joshperry](https://github.com/joshperry) +- [#298](https://github.com/chaijs/chai/pull/298) Add check for logging `-0`. [@dasilvacontin](https://github.com/dasilvacontin) +- [#300](https://github.com/chaijs/chai/pull/300) Fix #299: the test is defining global variables [@julienw](https://github.com/julienw) + +Thank you to all who took time to contribute! + +## 1.9.2 / 2014-09-29 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - No changes required +- **Plugin Developers:** + - No changes required +- **Core Contributors:** + - Refresh `node_modules` folder for updated dependencies. + +### Community Contributions + +- [#264](https://github.com/chaijs/chai/pull/264) Show diff for keys assertions [@cjthompson](https://github.com/cjthompson) +- [#267](https://github.com/chaijs/chai/pull/267) Use SVG badges [@shinnn](https://github.com/shinnn) +- [#268](https://github.com/chaijs/chai/pull/268) Allow messages to be functions (sinon-compat) [@charlierudolph](https://github.com/charlierudolph) +- [#269](https://github.com/chaijs/chai/pull/269) Remove unused argument for #lengthOf [@charlierudolph](https://github.com/charlierudolph) +- [#275](https://github.com/chaijs/chai/pull/275) Rewrite pretty-printing HTML elements to prevent throwing internal errors [@DrRataplan](https://github.com/DrRataplan) +- [#277](https://github.com/chaijs/chai/pull/277) Fix assert documentation for #sameMembers [@charlierudolph](https://github.com/charlierudolph) +- [#279](https://github.com/chaijs/chai/pull/279) closeTo should check value's type before assertion [@mohayonao](https://github.com/mohayonao) +- [#289](https://github.com/chaijs/chai/pull/289) satisfy is called twice [@charlierudolph](https://github.com/charlierudolph) +- [#292](https://github.com/chaijs/chai/pull/292) resolve conflicts with node-webkit and global usage [@boneskull](https://github.com/boneskull) + +Thank you to all who took time to contribute! + +## 1.9.1 / 2014-03-19 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - Migrate configuration options to new interface. (see notes) +- **Plugin Developers:** + - No changes required +- **Core Contributors:** + - Refresh `node_modules` folder for updated dependencies. + +### Configuration + +There have been requests for changes and additions to the configuration mechanisms +and their impact in the Chai architecture. As such, we have decoupled the +configuration from the `Assertion` constructor. This not only allows for centralized +configuration, but will allow us to shift the responsibility from the `Assertion` +constructor to the `assert` interface in future releases. + +These changes have been implemented in a non-breaking way, but a depretiation +warning will be presented to users until they migrate. The old config method will +be removed in either `v1.11.0` or `v2.0.0`, whichever comes first. + +#### Quick Migration + +```js +// change this: +chai.Assertion.includeStack = true; +chai.Assertion.showDiff = false; + +// ... to this: +chai.config.includeStack = true; +chai.config.showDiff = false; +``` + +#### All Config Options + +##### config.includeStack + +- **@param** _{Boolean}_ +- **@default** `false` + +User configurable property, influences whether stack trace is included in +Assertion error message. Default of `false` suppresses stack trace in the error +message. + +##### config.showDiff + +- **@param** _{Boolean}_ +- **@default** `true` + +User configurable property, influences whether or not the `showDiff` flag +should be included in the thrown AssertionErrors. `false` will always be `false`; +`true` will be true when the assertion has requested a diff be shown. + +##### config.truncateThreshold **(NEW)** + +- **@param** _{Number}_ +- **@default** `40` + +User configurable property, sets length threshold for actual and expected values +in assertion errors. If this threshold is exceeded, the value is truncated. + +Set it to zero if you want to disable truncating altogether. + +```js +chai.config.truncateThreshold = 0; // disable truncating +``` + +### Community Contributions + +- [#228](https://github.com/chaijs/chai/pull/228) Deep equality check for memebers. [@duncanbeevers](https://github.com/duncanbeevers) +- [#247](https://github.com/chaijs/chai/pull/247) Proofreading. [@didorellano](https://github.com/didoarellano) +- [#244](https://github.com/chaijs/chai/pull/244) Fix `contain`/`include` 1.9.0 regression. [@leider](https://github.com/leider) +- [#233](https://github.com/chaijs/chai/pull/233) Improvements to `ssfi` for `assert` interface. [@refack](https://github.com/refack) +- [#251](https://github.com/chaijs/chai/pull/251) New config option: object display threshold. [@romario333](https://github.com/romario333) + +Thank you to all who took time to contribute! + +### Other Bug Fixes + +- [#183](https://github.com/chaijs/chai/issues/183) Allow `undefined` for actual. (internal api) +- Update Karam(+plugins)/Istanbul to most recent versions. + +## 1.9.0 / 2014-01-29 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - No changes required +- **Plugin Developers:** + - Review [#219](https://github.com/chaijs/chai/pull/219). +- **Core Contributors:** + - Refresh `node_modules` folder for updated dependencies. + +### Community Contributions + +- [#202](https://github.com/chaijs/chai/pull/201) Improve error message for .throw(). [@andreineculau](https://github.com/andreineculau) +- [#217](https://github.com/chaijs/chai/pull/217) Chai tests can be run with `--watch`. [@demands](https://github.com/demands) +- [#219](https://github.com/chaijs/chai/pull/219) Add overwriteChainableMethod utility. [@demands](https://github.com/demands) +- [#224](https://github.com/chaijs/chai/pull/224) Return error on throw method to chain on error properties. [@vbardales](https://github.com/vbardales) +- [#226](https://github.com/chaijs/chai/pull/226) Add `has` to language chains. [@duncanbeevers](https://github.com/duncanbeevers) +- [#230](https://github.com/chaijs/chai/pull/230) Support `{a:1,b:2}.should.include({a:1})` [@jkroso](https://github.com/jkroso) +- [#231](https://github.com/chaijs/chai/pull/231) Update Copyright notices to 2014 [@duncanbeevers](https://github.com/duncanbeevers) +- [#232](https://github.com/chaijs/chai/pull/232) Avoid error instantiation if possible on assert.throws. [@laconbass](https://github.com/laconbass) + +Thank you to all who took time to contribute! + +### Other Bug Fixes + +- [#225](https://github.com/chaijs/chai/pull/225) Improved AMD wrapper provided by upstream `component(1)`. +- [#185](https://github.com/chaijs/chai/issues/185) `assert.throws()` returns thrown error for further assertions. +- [#237](https://github.com/chaijs/chai/pull/237) Remove coveralls/jscoverage, include istanbul coverage report in travis test. +- Update Karma and Sauce runner versions for consistent CI results. No more karma@canary. + +## 1.8.1 / 2013-10-10 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - Refresh `node_modules` folder for updated dependencies. +- **Plugin Developers:** + - No changes required +- **Core Contributors:** + - Refresh `node_modules` folder for updated dependencies. + +### Browserify + +This is a small patch that updates the dependency tree so browserify users can install +chai. (Remove conditional requires) + +## 1.8.0 / 2013-09-18 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - See `deep.equal` notes. +- **Plugin Developers:** + - No changes required +- **Core Contributors:** + - Refresh `node_modules` folder for updated dependencies. + +### Deep Equals + +This version of Chai focused on a overhaul to the deep equal utility. The code for this +tool has been removed from the core lib and can now be found at: +[chai / deep-eql](https://github.com/chaijs/deep-eql). As stated in previous releases, +this is part of a larger initiative to provide transparency, independent testing, and coverage for +some of the more complicated internal tools. + +For the most part `.deep.equal` will behave the same as it has. However, in order to provide a +consistent ruleset across all types being tested, the following changes have been made and _might_ +require changes to your tests. + +**1.** Strict equality for non-traversable nodes according to [egal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). + +_Previously:_ Non-traversable equal via `===`. + +```js +expect(NaN).to.deep.equal(NaN); +expect(-0).to.not.deep.equal(+0); +``` + +**2.** Arguments are not Arrays (and all types must be equal): + +_Previously:_ Some crazy nonsense that led to empty arrays deep equaling empty objects deep equaling dates. + +```js +expect(arguments).to.not.deep.equal([]); +expect(Array.prototype.slice.call(arguments)).to.deep.equal([]); +``` + +- [#156](https://github.com/chaijs/chai/issues/156) Empty object is eql to empty array +- [#192](https://github.com/chaijs/chai/issues/192) empty object is eql to a Date object +- [#194](https://github.com/chaijs/chai/issues/194) refactor deep-equal utility + +### CI and Browser Testing + +Chai now runs the browser CI suite using [Karma](http://karma-runner.github.io/) directed at +[SauceLabs](https://saucelabs.com/). This means we get to know where our browser support stands... +and we get a cool badge: + +[![Selenium Test Status](https://saucelabs.com/browser-matrix/logicalparadox.svg)](https://saucelabs.com/u/logicalparadox) + +Look for the list of browsers/versions to expand over the coming releases. + +- [#195](https://github.com/chaijs/chai/issues/195) karma test framework + +## 1.7.2 / 2013-06-27 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - No changes required. +- **Plugin Developers:** + - No changes required +- **Core Contributors:** + - Refresh `node_modules` folder for updated dependencies. + +### Coverage Reporting + +Coverage reporting has always been available for core-developers but the data has never been published +for our end users. In our ongoing effort to improve accountability this data will now be published via +the [coveralls.io](https://coveralls.io/) service. A badge has been added to the README and the full report +can be viewed online at the [chai coveralls project](https://coveralls.io/r/chaijs/chai). Furthermore, PRs +will receive automated messages indicating how their PR impacts test coverage. This service is tied to TravisCI. + +### Other Fixes + +- [#175](https://github.com/chaijs/chai/issues/175) Add `bower.json`. (Fix ignore all) + +## 1.7.1 / 2013-06-24 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - No changes required. +- **Plugin Developers:** + - No changes required +- **Core Contributors:** + - Refresh `node_modules` folder for updated dependencies. + +### Official Bower Support + +Support has been added for the Bower Package Manager ([bower.io])(http://bower.io/). Though +Chai could be installed via Bower in the past, this update adds official support via the `bower.json` +specification file. + +- [#175](https://github.com/chaijs/chai/issues/175) Add `bower.json`. + +## 1.7.0 / 2013-06-17 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - No changes required. +- **Plugin Developers:** + - Review AssertionError update notice. +- **Core Contributors:** + - Refresh `node_modules` folder for updated dependencies. + +### AssertionError Update Notice + +Chai now uses [chaijs/assertion-error](https://github.com/chaijs/assertion-error) instead an internal +constructor. This will allow for further iteration/experimentation of the AssertionError constructor +independant of Chai. Future plans include stack parsing for callsite support. + +This update constructor has a different constructor param signature that conforms more with the standard +`Error` object. If your plugin throws and `AssertionError` directly you will need to update your plugin +with the new signature. + +```js +var AssertionError = require('chai').AssertionError; + +/** + * previous + * + * @param {Object} options + */ + +throw new AssertionError({ + message: 'An assertion error occurred' + , actual: actual + , expect: expect + , startStackFunction: arguments.callee + , showStack: true +}); + +/** + * new + * + * @param {String} message + * @param {Object} options + * @param {Function} start stack function + */ + +throw new AssertionError('An assertion error occurred', { + actual: actual + , expect: expect + , showStack: true +}, arguments.callee); + +// other signatures +throw new AssertionError('An assertion error occurred'); +throw new AssertionError('An assertion error occurred', null, arguments.callee); +``` + +#### External Dependencies + +This is the first non-developement dependency for Chai. As Chai continues to evolve we will begin adding +more; the next will likely be improved type detection and deep equality. With Chai's userbase continually growing +there is an higher need for accountability and documentation. External dependencies will allow us to iterate and +test on features independent from our interfaces. + +Note: The browser packaged version `chai.js` will ALWAYS contain all dependencies needed to run Chai. + +### Community Contributions + +- [#169](https://github.com/chaijs/chai/pull/169) Fix deep equal comparison for Date/Regexp types. [@katsgeorgeek](https://github.com/katsgeorgeek) +- [#171](https://github.com/chaijs/chai/pull/171) Add `assert.notOk()`. [@Bartvds](https://github.com/Bartvds) +- [#173](https://github.com/chaijs/chai/pull/173) Fix `inspect` utility. [@domenic](https://github.com/domenic) + +Thank you to all who took the time to contribute! + +## 1.6.1 / 2013-06-05 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - No changes required. +- **Plugin Developers:** + - No changes required. +- **Core Contributors:** + - Refresh `node_modules` folder for updated developement dependencies. + +### Deep Equality + +Regular Expressions are now tested as part of all deep equality assertions. In previous versions +they silently passed for all scenarios. Thanks to [@katsgeorgeek](https://github.com/katsgeorgeek) for the contribution. + +### Community Contributions + +- [#161](https://github.com/chaijs/chai/pull/161) Fix documented name for assert interface's isDefined method. [@brandonpayton](https://github.com/brandonpayton) +- [#168](https://github.com/chaijs/chai/pull/168) Fix comparison equality of two regexps for when using deep equality. [@katsgeorgeek](https://github.com/katsgeorgeek) + +Thank you to all who took the time to contribute! + +### Additional Notes + +- Mocha has been locked at version `1.8.x` to ensure `mocha-phantomjs` compatibility. + +## 1.6.0 / 2013-04-29 + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - No changes required. +- **Plugin Developers:** + - No changes required. +- **Core Contributors:** + - Refresh `node_modules` folder for updated developement dependencies. + +### New Assertions + +#### Array Members Inclusion + +Asserts that the target is a superset of `set`, or that the target and `set` have the same members. +Order is not taken into account. Thanks to [@NickHeiner](https://github.com/NickHeiner) for the contribution. + +```js +// (expect/should) full set +expect([4, 2]).to.have.members([2, 4]); +expect([5, 2]).to.not.have.members([5, 2, 1]); + +// (expect/should) inclusion +expect([1, 2, 3]).to.include.members([3, 2]); +expect([1, 2, 3]).to.not.include.members([3, 2, 8]); + +// (assert) full set +assert.sameMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'same members'); + +// (assert) inclusion +assert.includeMembers([ 1, 2, 3 ], [ 2, 1 ], 'include members'); + +``` + +#### Non-inclusion for Assert Interface + +Most `assert` functions have a negative version, like `instanceOf()` has a corresponding `notInstaceOf()`. +However `include()` did not have a corresponding `notInclude()`. This has been added. + +```js +assert.notInclude([ 1, 2, 3 ], 8); +assert.notInclude('foobar', 'baz'); +``` + +### Community Contributions + +- [#140](https://github.com/chaijs/chai/pull/140) Restore `call`/`apply` methods for plugin interface. [@RubenVerborgh](https://github.com/RubenVerborgh) +- [#148](https://github.com/chaijs/chai/issues/148)/[#153](https://github.com/chaijs/chai/pull/153) Add `members` and `include.members` assertions. [#NickHeiner](https://github.com/NickHeiner) + +Thank you to all who took time to contribute! + +### Other Bug Fixes + +- [#142](https://github.com/chaijs/chai/issues/142) `assert#include` will no longer silently pass on wrong-type haystack. +- [#158](https://github.com/chaijs/chai/issues/158) `assert#notInclude` has been added. +- Travis-CI now tests Node.js `v0.10.x`. Support for `v0.6.x` has been removed. `v0.8.x` is still tested as before. + +## 1.5.0 / 2013-02-03 + +### Migration Requirements + +The following changes are required if you are upgrading from the previous version: + +- **Users:** + - _Update [2013-02-04]:_ Some users may notice a small subset of deep equality assertions will no longer pass. This is the result of + [#120](https://github.com/chaijs/chai/issues/120), an improvement to our deep equality algorithm. Users will need to revise their assertions + to be more granular should this occur. Further information: [#139](https://github.com/chaijs/chai/issues/139). +- **Plugin Developers:** + - No changes required. +- **Core Contributors:** + - Refresh `node_modules` folder for updated developement dependencies. + +### Community Contributions + +- [#126](https://github.com/chaijs/chai/pull/126): Add `eqls` alias for `eql`. [@RubenVerborgh](https://github.com/RubenVerborgh) +- [#127](https://github.com/chaijs/chai/issues/127): Performance refactor for chainable methods. [@RubenVerborgh](https://github.com/RubenVerborgh) +- [#133](https://github.com/chaijs/chai/pull/133): Assertion `.throw` support for primitives. [@RubenVerborgh](https://github.com/RubenVerborgh) +- [#137](https://github.com/chaijs/chai/issues/137): Assertion `.throw` support for empty messages. [@timnew](https://github.com/timnew) +- [#136](https://github.com/chaijs/chai/pull/136): Fix backward negation messages when using `.above()` and `.below()`. [@whatthejeff](https://github.com/whatthejeff) + +Thank you to all who took time to contribute! + +### Other Bug Fixes + +- Improve type detection of `.a()`/`.an()` to work in cross-browser scenarios. +- [#116](https://github.com/chaijs/chai/issues/116): `.throw()` has cleaner display of errors when WebKit browsers. +- [#120](https://github.com/chaijs/chai/issues/120): `.eql()` now works to compare dom nodes in browsers. + + +### Usage Updates + +#### For Users + +**1. Component Support:** Chai now included the proper configuration to be installed as a +[component](https://github.com/component/component). Component users are encouraged to consult +[chaijs.com](http://chaijs.com) for the latest version number as using the master branch +does not gaurantee stability. + +```js +// relevant component.json + devDependencies: { + "chaijs/chai": "1.5.0" + } +``` + +Alternatively, bleeding-edge is available: + + $ component install chaijs/chai + +**2. Configurable showDiff:** Some test runners (such as [mocha](http://visionmedia.github.com/mocha/)) +include support for showing the diff of strings and objects when an equality error occurs. Chai has +already included support for this, however some users may not prefer this display behavior. To revert to +no diff display, the following configuration is available: + +```js +chai.Assertion.showDiff = false; // diff output disabled +chai.Assertion.showDiff = true; // default, diff output enabled +``` + +#### For Plugin Developers + +**1. New Utility - type**: The new utility `.type()` is available as a better implementation of `typeof` +that can be used cross-browser. It handles the inconsistencies of Array, `null`, and `undefined` detection. + +- **@param** _{Mixed}_ object to detect type of +- **@return** _{String}_ object type + +```js +chai.use(function (c, utils) { + // some examples + utils.type({}); // 'object' + utils.type(null); // `null' + utils.type(undefined); // `undefined` + utils.type([]); // `array` +}); +``` + +#### For Core Contributors + +**1. Browser Testing**: Browser testing of the `./chai.js` file is now available in the command line +via PhantomJS. `make test` and Travis-CI will now also rebuild and test `./chai.js`. Consequently, all +pull requests will now be browser tested in this way. + +_Note: Contributors opening pull requests should still NOT include the browser build._ + +**2. SauceLabs Testing**: Early SauceLab support has been enabled with the file `./support/mocha-cloud.js`. +Those interested in trying it out should create a free [Open Sauce](https://saucelabs.com/signup/plan) account +and include their credentials in `./test/auth/sauce.json`. diff --git a/node_modules/chai/chai.js b/node_modules/chai/chai.js new file mode 100644 index 0000000..7d95cc1 --- /dev/null +++ b/node_modules/chai/chai.js @@ -0,0 +1,4351 @@ +var __defProp = Object.defineProperty; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; + +// (disabled):util +var require_util = __commonJS({ + "(disabled):util"() { + } +}); + +// lib/chai/utils/index.js +var utils_exports = {}; +__export(utils_exports, { + addChainableMethod: () => addChainableMethod, + addLengthGuard: () => addLengthGuard, + addMethod: () => addMethod, + addProperty: () => addProperty, + checkError: () => check_error_exports, + compareByInspect: () => compareByInspect, + eql: () => deep_eql_default, + expectTypes: () => expectTypes, + flag: () => flag, + getActual: () => getActual, + getMessage: () => getMessage2, + getName: () => getName, + getOperator: () => getOperator, + getOwnEnumerableProperties: () => getOwnEnumerableProperties, + getOwnEnumerablePropertySymbols: () => getOwnEnumerablePropertySymbols, + getPathInfo: () => getPathInfo, + hasProperty: () => hasProperty, + inspect: () => inspect2, + isNaN: () => isNaN2, + isNumeric: () => isNumeric, + isProxyEnabled: () => isProxyEnabled, + isRegExp: () => isRegExp2, + objDisplay: () => objDisplay, + overwriteChainableMethod: () => overwriteChainableMethod, + overwriteMethod: () => overwriteMethod, + overwriteProperty: () => overwriteProperty, + proxify: () => proxify, + test: () => test, + transferFlags: () => transferFlags, + type: () => type +}); + +// node_modules/check-error/index.js +var check_error_exports = {}; +__export(check_error_exports, { + compatibleConstructor: () => compatibleConstructor, + compatibleInstance: () => compatibleInstance, + compatibleMessage: () => compatibleMessage, + getConstructorName: () => getConstructorName, + getMessage: () => getMessage +}); +function isErrorInstance(obj) { + return obj instanceof Error || Object.prototype.toString.call(obj) === "[object Error]"; +} +__name(isErrorInstance, "isErrorInstance"); +function isRegExp(obj) { + return Object.prototype.toString.call(obj) === "[object RegExp]"; +} +__name(isRegExp, "isRegExp"); +function compatibleInstance(thrown, errorLike) { + return isErrorInstance(errorLike) && thrown === errorLike; +} +__name(compatibleInstance, "compatibleInstance"); +function compatibleConstructor(thrown, errorLike) { + if (isErrorInstance(errorLike)) { + return thrown.constructor === errorLike.constructor || thrown instanceof errorLike.constructor; + } else if ((typeof errorLike === "object" || typeof errorLike === "function") && errorLike.prototype) { + return thrown.constructor === errorLike || thrown instanceof errorLike; + } + return false; +} +__name(compatibleConstructor, "compatibleConstructor"); +function compatibleMessage(thrown, errMatcher) { + const comparisonString = typeof thrown === "string" ? thrown : thrown.message; + if (isRegExp(errMatcher)) { + return errMatcher.test(comparisonString); + } else if (typeof errMatcher === "string") { + return comparisonString.indexOf(errMatcher) !== -1; + } + return false; +} +__name(compatibleMessage, "compatibleMessage"); +function getConstructorName(errorLike) { + let constructorName = errorLike; + if (isErrorInstance(errorLike)) { + constructorName = errorLike.constructor.name; + } else if (typeof errorLike === "function") { + constructorName = errorLike.name; + if (constructorName === "") { + const newConstructorName = new errorLike().name; + constructorName = newConstructorName || constructorName; + } + } + return constructorName; +} +__name(getConstructorName, "getConstructorName"); +function getMessage(errorLike) { + let msg = ""; + if (errorLike && errorLike.message) { + msg = errorLike.message; + } else if (typeof errorLike === "string") { + msg = errorLike; + } + return msg; +} +__name(getMessage, "getMessage"); + +// lib/chai/utils/flag.js +function flag(obj, key, value) { + var flags = obj.__flags || (obj.__flags = /* @__PURE__ */ Object.create(null)); + if (arguments.length === 3) { + flags[key] = value; + } else { + return flags[key]; + } +} +__name(flag, "flag"); + +// lib/chai/utils/test.js +function test(obj, args) { + var negate = flag(obj, "negate"), expr = args[0]; + return negate ? !expr : expr; +} +__name(test, "test"); + +// lib/chai/utils/type-detect.js +function type(obj) { + if (typeof obj === "undefined") { + return "undefined"; + } + if (obj === null) { + return "null"; + } + const stringTag = obj[Symbol.toStringTag]; + if (typeof stringTag === "string") { + return stringTag; + } + const type3 = Object.prototype.toString.call(obj).slice(8, -1); + return type3; +} +__name(type, "type"); + +// node_modules/assertion-error/index.js +var canElideFrames = "captureStackTrace" in Error; +var AssertionError = class _AssertionError extends Error { + static { + __name(this, "AssertionError"); + } + message; + get name() { + return "AssertionError"; + } + get ok() { + return false; + } + constructor(message = "Unspecified AssertionError", props, ssf) { + super(message); + this.message = message; + if (canElideFrames) { + Error.captureStackTrace(this, ssf || _AssertionError); + } + for (const key in props) { + if (!(key in this)) { + this[key] = props[key]; + } + } + } + toJSON(stack) { + return { + ...this, + name: this.name, + message: this.message, + ok: false, + stack: stack !== false ? this.stack : void 0 + }; + } +}; + +// lib/chai/utils/expectTypes.js +function expectTypes(obj, types) { + var flagMsg = flag(obj, "message"); + var ssfi = flag(obj, "ssfi"); + flagMsg = flagMsg ? flagMsg + ": " : ""; + obj = flag(obj, "object"); + types = types.map(function(t) { + return t.toLowerCase(); + }); + types.sort(); + var str = types.map(function(t, index) { + var art = ~["a", "e", "i", "o", "u"].indexOf(t.charAt(0)) ? "an" : "a"; + var or = types.length > 1 && index === types.length - 1 ? "or " : ""; + return or + art + " " + t; + }).join(", "); + var objType = type(obj).toLowerCase(); + if (!types.some(function(expected) { + return objType === expected; + })) { + throw new AssertionError( + flagMsg + "object tested must be " + str + ", but " + objType + " given", + void 0, + ssfi + ); + } +} +__name(expectTypes, "expectTypes"); + +// lib/chai/utils/getActual.js +function getActual(obj, args) { + return args.length > 4 ? args[4] : obj._obj; +} +__name(getActual, "getActual"); + +// node_modules/loupe/lib/helpers.js +var ansiColors = { + bold: ["1", "22"], + dim: ["2", "22"], + italic: ["3", "23"], + underline: ["4", "24"], + // 5 & 6 are blinking + inverse: ["7", "27"], + hidden: ["8", "28"], + strike: ["9", "29"], + // 10-20 are fonts + // 21-29 are resets for 1-9 + black: ["30", "39"], + red: ["31", "39"], + green: ["32", "39"], + yellow: ["33", "39"], + blue: ["34", "39"], + magenta: ["35", "39"], + cyan: ["36", "39"], + white: ["37", "39"], + brightblack: ["30;1", "39"], + brightred: ["31;1", "39"], + brightgreen: ["32;1", "39"], + brightyellow: ["33;1", "39"], + brightblue: ["34;1", "39"], + brightmagenta: ["35;1", "39"], + brightcyan: ["36;1", "39"], + brightwhite: ["37;1", "39"], + grey: ["90", "39"] +}; +var styles = { + special: "cyan", + number: "yellow", + bigint: "yellow", + boolean: "yellow", + undefined: "grey", + null: "bold", + string: "green", + symbol: "green", + date: "magenta", + regexp: "red" +}; +var truncator = "\u2026"; +function colorise(value, styleType) { + const color = ansiColors[styles[styleType]] || ansiColors[styleType] || ""; + if (!color) { + return String(value); + } + return `\x1B[${color[0]}m${String(value)}\x1B[${color[1]}m`; +} +__name(colorise, "colorise"); +function normaliseOptions({ + showHidden = false, + depth = 2, + colors = false, + customInspect = true, + showProxy = false, + maxArrayLength = Infinity, + breakLength = Infinity, + seen = [], + // eslint-disable-next-line no-shadow + truncate: truncate2 = Infinity, + stylize = String +} = {}, inspect3) { + const options = { + showHidden: Boolean(showHidden), + depth: Number(depth), + colors: Boolean(colors), + customInspect: Boolean(customInspect), + showProxy: Boolean(showProxy), + maxArrayLength: Number(maxArrayLength), + breakLength: Number(breakLength), + truncate: Number(truncate2), + seen, + inspect: inspect3, + stylize + }; + if (options.colors) { + options.stylize = colorise; + } + return options; +} +__name(normaliseOptions, "normaliseOptions"); +function isHighSurrogate(char) { + return char >= "\uD800" && char <= "\uDBFF"; +} +__name(isHighSurrogate, "isHighSurrogate"); +function truncate(string, length, tail = truncator) { + string = String(string); + const tailLength = tail.length; + const stringLength = string.length; + if (tailLength > length && stringLength > tailLength) { + return tail; + } + if (stringLength > length && stringLength > tailLength) { + let end = length - tailLength; + if (end > 0 && isHighSurrogate(string[end - 1])) { + end = end - 1; + } + return `${string.slice(0, end)}${tail}`; + } + return string; +} +__name(truncate, "truncate"); +function inspectList(list, options, inspectItem, separator = ", ") { + inspectItem = inspectItem || options.inspect; + const size = list.length; + if (size === 0) + return ""; + const originalLength = options.truncate; + let output = ""; + let peek = ""; + let truncated = ""; + for (let i = 0; i < size; i += 1) { + const last = i + 1 === list.length; + const secondToLast = i + 2 === list.length; + truncated = `${truncator}(${list.length - i})`; + const value = list[i]; + options.truncate = originalLength - output.length - (last ? 0 : separator.length); + const string = peek || inspectItem(value, options) + (last ? "" : separator); + const nextLength = output.length + string.length; + const truncatedLength = nextLength + truncated.length; + if (last && nextLength > originalLength && output.length + truncated.length <= originalLength) { + break; + } + if (!last && !secondToLast && truncatedLength > originalLength) { + break; + } + peek = last ? "" : inspectItem(list[i + 1], options) + (secondToLast ? "" : separator); + if (!last && secondToLast && truncatedLength > originalLength && nextLength + peek.length > originalLength) { + break; + } + output += string; + if (!last && !secondToLast && nextLength + peek.length >= originalLength) { + truncated = `${truncator}(${list.length - i - 1})`; + break; + } + truncated = ""; + } + return `${output}${truncated}`; +} +__name(inspectList, "inspectList"); +function quoteComplexKey(key) { + if (key.match(/^[a-zA-Z_][a-zA-Z_0-9]*$/)) { + return key; + } + return JSON.stringify(key).replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"); +} +__name(quoteComplexKey, "quoteComplexKey"); +function inspectProperty([key, value], options) { + options.truncate -= 2; + if (typeof key === "string") { + key = quoteComplexKey(key); + } else if (typeof key !== "number") { + key = `[${options.inspect(key, options)}]`; + } + options.truncate -= key.length; + value = options.inspect(value, options); + return `${key}: ${value}`; +} +__name(inspectProperty, "inspectProperty"); + +// node_modules/loupe/lib/array.js +function inspectArray(array, options) { + const nonIndexProperties = Object.keys(array).slice(array.length); + if (!array.length && !nonIndexProperties.length) + return "[]"; + options.truncate -= 4; + const listContents = inspectList(array, options); + options.truncate -= listContents.length; + let propertyContents = ""; + if (nonIndexProperties.length) { + propertyContents = inspectList(nonIndexProperties.map((key) => [key, array[key]]), options, inspectProperty); + } + return `[ ${listContents}${propertyContents ? `, ${propertyContents}` : ""} ]`; +} +__name(inspectArray, "inspectArray"); + +// node_modules/loupe/lib/typedarray.js +var getArrayName = /* @__PURE__ */ __name((array) => { + if (typeof Buffer === "function" && array instanceof Buffer) { + return "Buffer"; + } + if (array[Symbol.toStringTag]) { + return array[Symbol.toStringTag]; + } + return array.constructor.name; +}, "getArrayName"); +function inspectTypedArray(array, options) { + const name = getArrayName(array); + options.truncate -= name.length + 4; + const nonIndexProperties = Object.keys(array).slice(array.length); + if (!array.length && !nonIndexProperties.length) + return `${name}[]`; + let output = ""; + for (let i = 0; i < array.length; i++) { + const string = `${options.stylize(truncate(array[i], options.truncate), "number")}${i === array.length - 1 ? "" : ", "}`; + options.truncate -= string.length; + if (array[i] !== array.length && options.truncate <= 3) { + output += `${truncator}(${array.length - array[i] + 1})`; + break; + } + output += string; + } + let propertyContents = ""; + if (nonIndexProperties.length) { + propertyContents = inspectList(nonIndexProperties.map((key) => [key, array[key]]), options, inspectProperty); + } + return `${name}[ ${output}${propertyContents ? `, ${propertyContents}` : ""} ]`; +} +__name(inspectTypedArray, "inspectTypedArray"); + +// node_modules/loupe/lib/date.js +function inspectDate(dateObject, options) { + const stringRepresentation = dateObject.toJSON(); + if (stringRepresentation === null) { + return "Invalid Date"; + } + const split = stringRepresentation.split("T"); + const date = split[0]; + return options.stylize(`${date}T${truncate(split[1], options.truncate - date.length - 1)}`, "date"); +} +__name(inspectDate, "inspectDate"); + +// node_modules/loupe/lib/function.js +function inspectFunction(func, options) { + const functionType = func[Symbol.toStringTag] || "Function"; + const name = func.name; + if (!name) { + return options.stylize(`[${functionType}]`, "special"); + } + return options.stylize(`[${functionType} ${truncate(name, options.truncate - 11)}]`, "special"); +} +__name(inspectFunction, "inspectFunction"); + +// node_modules/loupe/lib/map.js +function inspectMapEntry([key, value], options) { + options.truncate -= 4; + key = options.inspect(key, options); + options.truncate -= key.length; + value = options.inspect(value, options); + return `${key} => ${value}`; +} +__name(inspectMapEntry, "inspectMapEntry"); +function mapToEntries(map) { + const entries = []; + map.forEach((value, key) => { + entries.push([key, value]); + }); + return entries; +} +__name(mapToEntries, "mapToEntries"); +function inspectMap(map, options) { + const size = map.size - 1; + if (size <= 0) { + return "Map{}"; + } + options.truncate -= 7; + return `Map{ ${inspectList(mapToEntries(map), options, inspectMapEntry)} }`; +} +__name(inspectMap, "inspectMap"); + +// node_modules/loupe/lib/number.js +var isNaN = Number.isNaN || ((i) => i !== i); +function inspectNumber(number, options) { + if (isNaN(number)) { + return options.stylize("NaN", "number"); + } + if (number === Infinity) { + return options.stylize("Infinity", "number"); + } + if (number === -Infinity) { + return options.stylize("-Infinity", "number"); + } + if (number === 0) { + return options.stylize(1 / number === Infinity ? "+0" : "-0", "number"); + } + return options.stylize(truncate(String(number), options.truncate), "number"); +} +__name(inspectNumber, "inspectNumber"); + +// node_modules/loupe/lib/bigint.js +function inspectBigInt(number, options) { + let nums = truncate(number.toString(), options.truncate - 1); + if (nums !== truncator) + nums += "n"; + return options.stylize(nums, "bigint"); +} +__name(inspectBigInt, "inspectBigInt"); + +// node_modules/loupe/lib/regexp.js +function inspectRegExp(value, options) { + const flags = value.toString().split("/")[2]; + const sourceLength = options.truncate - (2 + flags.length); + const source = value.source; + return options.stylize(`/${truncate(source, sourceLength)}/${flags}`, "regexp"); +} +__name(inspectRegExp, "inspectRegExp"); + +// node_modules/loupe/lib/set.js +function arrayFromSet(set2) { + const values = []; + set2.forEach((value) => { + values.push(value); + }); + return values; +} +__name(arrayFromSet, "arrayFromSet"); +function inspectSet(set2, options) { + if (set2.size === 0) + return "Set{}"; + options.truncate -= 7; + return `Set{ ${inspectList(arrayFromSet(set2), options)} }`; +} +__name(inspectSet, "inspectSet"); + +// node_modules/loupe/lib/string.js +var stringEscapeChars = new RegExp("['\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]", "g"); +var escapeCharacters = { + "\b": "\\b", + " ": "\\t", + "\n": "\\n", + "\f": "\\f", + "\r": "\\r", + "'": "\\'", + "\\": "\\\\" +}; +var hex = 16; +var unicodeLength = 4; +function escape(char) { + return escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(hex)}`.slice(-unicodeLength)}`; +} +__name(escape, "escape"); +function inspectString(string, options) { + if (stringEscapeChars.test(string)) { + string = string.replace(stringEscapeChars, escape); + } + return options.stylize(`'${truncate(string, options.truncate - 2)}'`, "string"); +} +__name(inspectString, "inspectString"); + +// node_modules/loupe/lib/symbol.js +function inspectSymbol(value) { + if ("description" in Symbol.prototype) { + return value.description ? `Symbol(${value.description})` : "Symbol()"; + } + return value.toString(); +} +__name(inspectSymbol, "inspectSymbol"); + +// node_modules/loupe/lib/promise.js +var getPromiseValue = /* @__PURE__ */ __name(() => "Promise{\u2026}", "getPromiseValue"); +try { + const { getPromiseDetails, kPending, kRejected } = process.binding("util"); + if (Array.isArray(getPromiseDetails(Promise.resolve()))) { + getPromiseValue = /* @__PURE__ */ __name((value, options) => { + const [state, innerValue] = getPromiseDetails(value); + if (state === kPending) { + return "Promise{}"; + } + return `Promise${state === kRejected ? "!" : ""}{${options.inspect(innerValue, options)}}`; + }, "getPromiseValue"); + } +} catch (notNode) { +} +var promise_default = getPromiseValue; + +// node_modules/loupe/lib/object.js +function inspectObject(object, options) { + const properties = Object.getOwnPropertyNames(object); + const symbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : []; + if (properties.length === 0 && symbols.length === 0) { + return "{}"; + } + options.truncate -= 4; + options.seen = options.seen || []; + if (options.seen.includes(object)) { + return "[Circular]"; + } + options.seen.push(object); + const propertyContents = inspectList(properties.map((key) => [key, object[key]]), options, inspectProperty); + const symbolContents = inspectList(symbols.map((key) => [key, object[key]]), options, inspectProperty); + options.seen.pop(); + let sep = ""; + if (propertyContents && symbolContents) { + sep = ", "; + } + return `{ ${propertyContents}${sep}${symbolContents} }`; +} +__name(inspectObject, "inspectObject"); + +// node_modules/loupe/lib/class.js +var toStringTag = typeof Symbol !== "undefined" && Symbol.toStringTag ? Symbol.toStringTag : false; +function inspectClass(value, options) { + let name = ""; + if (toStringTag && toStringTag in value) { + name = value[toStringTag]; + } + name = name || value.constructor.name; + if (!name || name === "_class") { + name = ""; + } + options.truncate -= name.length; + return `${name}${inspectObject(value, options)}`; +} +__name(inspectClass, "inspectClass"); + +// node_modules/loupe/lib/arguments.js +function inspectArguments(args, options) { + if (args.length === 0) + return "Arguments[]"; + options.truncate -= 13; + return `Arguments[ ${inspectList(args, options)} ]`; +} +__name(inspectArguments, "inspectArguments"); + +// node_modules/loupe/lib/error.js +var errorKeys = [ + "stack", + "line", + "column", + "name", + "message", + "fileName", + "lineNumber", + "columnNumber", + "number", + "description", + "cause" +]; +function inspectObject2(error, options) { + const properties = Object.getOwnPropertyNames(error).filter((key) => errorKeys.indexOf(key) === -1); + const name = error.name; + options.truncate -= name.length; + let message = ""; + if (typeof error.message === "string") { + message = truncate(error.message, options.truncate); + } else { + properties.unshift("message"); + } + message = message ? `: ${message}` : ""; + options.truncate -= message.length + 5; + options.seen = options.seen || []; + if (options.seen.includes(error)) { + return "[Circular]"; + } + options.seen.push(error); + const propertyContents = inspectList(properties.map((key) => [key, error[key]]), options, inspectProperty); + return `${name}${message}${propertyContents ? ` { ${propertyContents} }` : ""}`; +} +__name(inspectObject2, "inspectObject"); + +// node_modules/loupe/lib/html.js +function inspectAttribute([key, value], options) { + options.truncate -= 3; + if (!value) { + return `${options.stylize(String(key), "yellow")}`; + } + return `${options.stylize(String(key), "yellow")}=${options.stylize(`"${value}"`, "string")}`; +} +__name(inspectAttribute, "inspectAttribute"); +function inspectHTMLCollection(collection, options) { + return inspectList(collection, options, inspectHTML, "\n"); +} +__name(inspectHTMLCollection, "inspectHTMLCollection"); +function inspectHTML(element, options) { + const properties = element.getAttributeNames(); + const name = element.tagName.toLowerCase(); + const head = options.stylize(`<${name}`, "special"); + const headClose = options.stylize(`>`, "special"); + const tail = options.stylize(``, "special"); + options.truncate -= name.length * 2 + 5; + let propertyContents = ""; + if (properties.length > 0) { + propertyContents += " "; + propertyContents += inspectList(properties.map((key) => [key, element.getAttribute(key)]), options, inspectAttribute, " "); + } + options.truncate -= propertyContents.length; + const truncate2 = options.truncate; + let children = inspectHTMLCollection(element.children, options); + if (children && children.length > truncate2) { + children = `${truncator}(${element.children.length})`; + } + return `${head}${propertyContents}${headClose}${children}${tail}`; +} +__name(inspectHTML, "inspectHTML"); + +// node_modules/loupe/lib/index.js +var symbolsSupported = typeof Symbol === "function" && typeof Symbol.for === "function"; +var chaiInspect = symbolsSupported ? Symbol.for("chai/inspect") : "@@chai/inspect"; +var nodeInspect = false; +try { + const nodeUtil = require_util(); + nodeInspect = nodeUtil.inspect ? nodeUtil.inspect.custom : false; +} catch (noNodeInspect) { + nodeInspect = false; +} +var constructorMap = /* @__PURE__ */ new WeakMap(); +var stringTagMap = {}; +var baseTypesMap = { + undefined: (value, options) => options.stylize("undefined", "undefined"), + null: (value, options) => options.stylize("null", "null"), + boolean: (value, options) => options.stylize(String(value), "boolean"), + Boolean: (value, options) => options.stylize(String(value), "boolean"), + number: inspectNumber, + Number: inspectNumber, + bigint: inspectBigInt, + BigInt: inspectBigInt, + string: inspectString, + String: inspectString, + function: inspectFunction, + Function: inspectFunction, + symbol: inspectSymbol, + // A Symbol polyfill will return `Symbol` not `symbol` from typedetect + Symbol: inspectSymbol, + Array: inspectArray, + Date: inspectDate, + Map: inspectMap, + Set: inspectSet, + RegExp: inspectRegExp, + Promise: promise_default, + // WeakSet, WeakMap are totally opaque to us + WeakSet: (value, options) => options.stylize("WeakSet{\u2026}", "special"), + WeakMap: (value, options) => options.stylize("WeakMap{\u2026}", "special"), + Arguments: inspectArguments, + Int8Array: inspectTypedArray, + Uint8Array: inspectTypedArray, + Uint8ClampedArray: inspectTypedArray, + Int16Array: inspectTypedArray, + Uint16Array: inspectTypedArray, + Int32Array: inspectTypedArray, + Uint32Array: inspectTypedArray, + Float32Array: inspectTypedArray, + Float64Array: inspectTypedArray, + Generator: () => "", + DataView: () => "", + ArrayBuffer: () => "", + Error: inspectObject2, + HTMLCollection: inspectHTMLCollection, + NodeList: inspectHTMLCollection +}; +var inspectCustom = /* @__PURE__ */ __name((value, options, type3) => { + if (chaiInspect in value && typeof value[chaiInspect] === "function") { + return value[chaiInspect](options); + } + if (nodeInspect && nodeInspect in value && typeof value[nodeInspect] === "function") { + return value[nodeInspect](options.depth, options); + } + if ("inspect" in value && typeof value.inspect === "function") { + return value.inspect(options.depth, options); + } + if ("constructor" in value && constructorMap.has(value.constructor)) { + return constructorMap.get(value.constructor)(value, options); + } + if (stringTagMap[type3]) { + return stringTagMap[type3](value, options); + } + return ""; +}, "inspectCustom"); +var toString = Object.prototype.toString; +function inspect(value, opts = {}) { + const options = normaliseOptions(opts, inspect); + const { customInspect } = options; + let type3 = value === null ? "null" : typeof value; + if (type3 === "object") { + type3 = toString.call(value).slice(8, -1); + } + if (type3 in baseTypesMap) { + return baseTypesMap[type3](value, options); + } + if (customInspect && value) { + const output = inspectCustom(value, options, type3); + if (output) { + if (typeof output === "string") + return output; + return inspect(output, options); + } + } + const proto = value ? Object.getPrototypeOf(value) : false; + if (proto === Object.prototype || proto === null) { + return inspectObject(value, options); + } + if (value && typeof HTMLElement === "function" && value instanceof HTMLElement) { + return inspectHTML(value, options); + } + if ("constructor" in value) { + if (value.constructor !== Object) { + return inspectClass(value, options); + } + return inspectObject(value, options); + } + if (value === Object(value)) { + return inspectObject(value, options); + } + return options.stylize(String(value), type3); +} +__name(inspect, "inspect"); + +// lib/chai/config.js +var config = { + /** + * ### config.includeStack + * + * User configurable property, influences whether stack trace + * is included in Assertion error message. Default of false + * suppresses stack trace in the error message. + * + * chai.config.includeStack = true; // enable stack on error + * + * @param {boolean} + * @public + */ + includeStack: false, + /** + * ### config.showDiff + * + * User configurable property, influences whether or not + * the `showDiff` flag should be included in the thrown + * AssertionErrors. `false` will always be `false`; `true` + * will be true when the assertion has requested a diff + * be shown. + * + * @param {boolean} + * @public + */ + showDiff: true, + /** + * ### config.truncateThreshold + * + * User configurable property, sets length threshold for actual and + * expected values in assertion errors. If this threshold is exceeded, for + * example for large data structures, the value is replaced with something + * like `[ Array(3) ]` or `{ Object (prop1, prop2) }`. + * + * Set it to zero if you want to disable truncating altogether. + * + * This is especially userful when doing assertions on arrays: having this + * set to a reasonable large value makes the failure messages readily + * inspectable. + * + * chai.config.truncateThreshold = 0; // disable truncating + * + * @param {number} + * @public + */ + truncateThreshold: 40, + /** + * ### config.useProxy + * + * User configurable property, defines if chai will use a Proxy to throw + * an error when a non-existent property is read, which protects users + * from typos when using property-based assertions. + * + * Set it to false if you want to disable this feature. + * + * chai.config.useProxy = false; // disable use of Proxy + * + * This feature is automatically disabled regardless of this config value + * in environments that don't support proxies. + * + * @param {boolean} + * @public + */ + useProxy: true, + /** + * ### config.proxyExcludedKeys + * + * User configurable property, defines which properties should be ignored + * instead of throwing an error if they do not exist on the assertion. + * This is only applied if the environment Chai is running in supports proxies and + * if the `useProxy` configuration setting is enabled. + * By default, `then` and `inspect` will not throw an error if they do not exist on the + * assertion object because the `.inspect` property is read by `util.inspect` (for example, when + * using `console.log` on the assertion object) and `.then` is necessary for promise type-checking. + * + * // By default these keys will not throw an error if they do not exist on the assertion object + * chai.config.proxyExcludedKeys = ['then', 'inspect']; + * + * @param {Array} + * @public + */ + proxyExcludedKeys: ["then", "catch", "inspect", "toJSON"], + /** + * ### config.deepEqual + * + * User configurable property, defines which a custom function to use for deepEqual + * comparisons. + * By default, the function used is the one from the `deep-eql` package without custom comparator. + * + * // use a custom comparator + * chai.config.deepEqual = (expected, actual) => { + * return chai.util.eql(expected, actual, { + * comparator: (expected, actual) => { + * // for non number comparison, use the default behavior + * if(typeof expected !== 'number') return null; + * // allow a difference of 10 between compared numbers + * return typeof actual === 'number' && Math.abs(actual - expected) < 10 + * } + * }) + * }; + * + * @param {Function} + * @public + */ + deepEqual: null +}; + +// lib/chai/utils/inspect.js +function inspect2(obj, showHidden, depth, colors) { + var options = { + colors, + depth: typeof depth === "undefined" ? 2 : depth, + showHidden, + truncate: config.truncateThreshold ? config.truncateThreshold : Infinity + }; + return inspect(obj, options); +} +__name(inspect2, "inspect"); + +// lib/chai/utils/objDisplay.js +function objDisplay(obj) { + var str = inspect2(obj), type3 = Object.prototype.toString.call(obj); + if (config.truncateThreshold && str.length >= config.truncateThreshold) { + if (type3 === "[object Function]") { + return !obj.name || obj.name === "" ? "[Function]" : "[Function: " + obj.name + "]"; + } else if (type3 === "[object Array]") { + return "[ Array(" + obj.length + ") ]"; + } else if (type3 === "[object Object]") { + var keys = Object.keys(obj), kstr = keys.length > 2 ? keys.splice(0, 2).join(", ") + ", ..." : keys.join(", "); + return "{ Object (" + kstr + ") }"; + } else { + return str; + } + } else { + return str; + } +} +__name(objDisplay, "objDisplay"); + +// lib/chai/utils/getMessage.js +function getMessage2(obj, args) { + var negate = flag(obj, "negate"), val = flag(obj, "object"), expected = args[3], actual = getActual(obj, args), msg = negate ? args[2] : args[1], flagMsg = flag(obj, "message"); + if (typeof msg === "function") + msg = msg(); + msg = msg || ""; + msg = msg.replace(/#\{this\}/g, function() { + return objDisplay(val); + }).replace(/#\{act\}/g, function() { + return objDisplay(actual); + }).replace(/#\{exp\}/g, function() { + return objDisplay(expected); + }); + return flagMsg ? flagMsg + ": " + msg : msg; +} +__name(getMessage2, "getMessage"); + +// lib/chai/utils/transferFlags.js +function transferFlags(assertion, object, includeAll) { + var flags = assertion.__flags || (assertion.__flags = /* @__PURE__ */ Object.create(null)); + if (!object.__flags) { + object.__flags = /* @__PURE__ */ Object.create(null); + } + includeAll = arguments.length === 3 ? includeAll : true; + for (var flag3 in flags) { + if (includeAll || flag3 !== "object" && flag3 !== "ssfi" && flag3 !== "lockSsfi" && flag3 != "message") { + object.__flags[flag3] = flags[flag3]; + } + } +} +__name(transferFlags, "transferFlags"); + +// node_modules/deep-eql/index.js +function type2(obj) { + if (typeof obj === "undefined") { + return "undefined"; + } + if (obj === null) { + return "null"; + } + const stringTag = obj[Symbol.toStringTag]; + if (typeof stringTag === "string") { + return stringTag; + } + const sliceStart = 8; + const sliceEnd = -1; + return Object.prototype.toString.call(obj).slice(sliceStart, sliceEnd); +} +__name(type2, "type"); +function FakeMap() { + this._key = "chai/deep-eql__" + Math.random() + Date.now(); +} +__name(FakeMap, "FakeMap"); +FakeMap.prototype = { + get: /* @__PURE__ */ __name(function get(key) { + return key[this._key]; + }, "get"), + set: /* @__PURE__ */ __name(function set(key, value) { + if (Object.isExtensible(key)) { + Object.defineProperty(key, this._key, { + value, + configurable: true + }); + } + }, "set") +}; +var MemoizeMap = typeof WeakMap === "function" ? WeakMap : FakeMap; +function memoizeCompare(leftHandOperand, rightHandOperand, memoizeMap) { + if (!memoizeMap || isPrimitive(leftHandOperand) || isPrimitive(rightHandOperand)) { + return null; + } + var leftHandMap = memoizeMap.get(leftHandOperand); + if (leftHandMap) { + var result = leftHandMap.get(rightHandOperand); + if (typeof result === "boolean") { + return result; + } + } + return null; +} +__name(memoizeCompare, "memoizeCompare"); +function memoizeSet(leftHandOperand, rightHandOperand, memoizeMap, result) { + if (!memoizeMap || isPrimitive(leftHandOperand) || isPrimitive(rightHandOperand)) { + return; + } + var leftHandMap = memoizeMap.get(leftHandOperand); + if (leftHandMap) { + leftHandMap.set(rightHandOperand, result); + } else { + leftHandMap = new MemoizeMap(); + leftHandMap.set(rightHandOperand, result); + memoizeMap.set(leftHandOperand, leftHandMap); + } +} +__name(memoizeSet, "memoizeSet"); +var deep_eql_default = deepEqual; +function deepEqual(leftHandOperand, rightHandOperand, options) { + if (options && options.comparator) { + return extensiveDeepEqual(leftHandOperand, rightHandOperand, options); + } + var simpleResult = simpleEqual(leftHandOperand, rightHandOperand); + if (simpleResult !== null) { + return simpleResult; + } + return extensiveDeepEqual(leftHandOperand, rightHandOperand, options); +} +__name(deepEqual, "deepEqual"); +function simpleEqual(leftHandOperand, rightHandOperand) { + if (leftHandOperand === rightHandOperand) { + return leftHandOperand !== 0 || 1 / leftHandOperand === 1 / rightHandOperand; + } + if (leftHandOperand !== leftHandOperand && // eslint-disable-line no-self-compare + rightHandOperand !== rightHandOperand) { + return true; + } + if (isPrimitive(leftHandOperand) || isPrimitive(rightHandOperand)) { + return false; + } + return null; +} +__name(simpleEqual, "simpleEqual"); +function extensiveDeepEqual(leftHandOperand, rightHandOperand, options) { + options = options || {}; + options.memoize = options.memoize === false ? false : options.memoize || new MemoizeMap(); + var comparator = options && options.comparator; + var memoizeResultLeft = memoizeCompare(leftHandOperand, rightHandOperand, options.memoize); + if (memoizeResultLeft !== null) { + return memoizeResultLeft; + } + var memoizeResultRight = memoizeCompare(rightHandOperand, leftHandOperand, options.memoize); + if (memoizeResultRight !== null) { + return memoizeResultRight; + } + if (comparator) { + var comparatorResult = comparator(leftHandOperand, rightHandOperand); + if (comparatorResult === false || comparatorResult === true) { + memoizeSet(leftHandOperand, rightHandOperand, options.memoize, comparatorResult); + return comparatorResult; + } + var simpleResult = simpleEqual(leftHandOperand, rightHandOperand); + if (simpleResult !== null) { + return simpleResult; + } + } + var leftHandType = type2(leftHandOperand); + if (leftHandType !== type2(rightHandOperand)) { + memoizeSet(leftHandOperand, rightHandOperand, options.memoize, false); + return false; + } + memoizeSet(leftHandOperand, rightHandOperand, options.memoize, true); + var result = extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandType, options); + memoizeSet(leftHandOperand, rightHandOperand, options.memoize, result); + return result; +} +__name(extensiveDeepEqual, "extensiveDeepEqual"); +function extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandType, options) { + switch (leftHandType) { + case "String": + case "Number": + case "Boolean": + case "Date": + return deepEqual(leftHandOperand.valueOf(), rightHandOperand.valueOf()); + case "Promise": + case "Symbol": + case "function": + case "WeakMap": + case "WeakSet": + return leftHandOperand === rightHandOperand; + case "Error": + return keysEqual(leftHandOperand, rightHandOperand, ["name", "message", "code"], options); + case "Arguments": + case "Int8Array": + case "Uint8Array": + case "Uint8ClampedArray": + case "Int16Array": + case "Uint16Array": + case "Int32Array": + case "Uint32Array": + case "Float32Array": + case "Float64Array": + case "Array": + return iterableEqual(leftHandOperand, rightHandOperand, options); + case "RegExp": + return regexpEqual(leftHandOperand, rightHandOperand); + case "Generator": + return generatorEqual(leftHandOperand, rightHandOperand, options); + case "DataView": + return iterableEqual(new Uint8Array(leftHandOperand.buffer), new Uint8Array(rightHandOperand.buffer), options); + case "ArrayBuffer": + return iterableEqual(new Uint8Array(leftHandOperand), new Uint8Array(rightHandOperand), options); + case "Set": + return entriesEqual(leftHandOperand, rightHandOperand, options); + case "Map": + return entriesEqual(leftHandOperand, rightHandOperand, options); + case "Temporal.PlainDate": + case "Temporal.PlainTime": + case "Temporal.PlainDateTime": + case "Temporal.Instant": + case "Temporal.ZonedDateTime": + case "Temporal.PlainYearMonth": + case "Temporal.PlainMonthDay": + return leftHandOperand.equals(rightHandOperand); + case "Temporal.Duration": + return leftHandOperand.total("nanoseconds") === rightHandOperand.total("nanoseconds"); + case "Temporal.TimeZone": + case "Temporal.Calendar": + return leftHandOperand.toString() === rightHandOperand.toString(); + default: + return objectEqual(leftHandOperand, rightHandOperand, options); + } +} +__name(extensiveDeepEqualByType, "extensiveDeepEqualByType"); +function regexpEqual(leftHandOperand, rightHandOperand) { + return leftHandOperand.toString() === rightHandOperand.toString(); +} +__name(regexpEqual, "regexpEqual"); +function entriesEqual(leftHandOperand, rightHandOperand, options) { + try { + if (leftHandOperand.size !== rightHandOperand.size) { + return false; + } + if (leftHandOperand.size === 0) { + return true; + } + } catch (sizeError) { + return false; + } + var leftHandItems = []; + var rightHandItems = []; + leftHandOperand.forEach(/* @__PURE__ */ __name(function gatherEntries(key, value) { + leftHandItems.push([key, value]); + }, "gatherEntries")); + rightHandOperand.forEach(/* @__PURE__ */ __name(function gatherEntries(key, value) { + rightHandItems.push([key, value]); + }, "gatherEntries")); + return iterableEqual(leftHandItems.sort(), rightHandItems.sort(), options); +} +__name(entriesEqual, "entriesEqual"); +function iterableEqual(leftHandOperand, rightHandOperand, options) { + var length = leftHandOperand.length; + if (length !== rightHandOperand.length) { + return false; + } + if (length === 0) { + return true; + } + var index = -1; + while (++index < length) { + if (deepEqual(leftHandOperand[index], rightHandOperand[index], options) === false) { + return false; + } + } + return true; +} +__name(iterableEqual, "iterableEqual"); +function generatorEqual(leftHandOperand, rightHandOperand, options) { + return iterableEqual(getGeneratorEntries(leftHandOperand), getGeneratorEntries(rightHandOperand), options); +} +__name(generatorEqual, "generatorEqual"); +function hasIteratorFunction(target) { + return typeof Symbol !== "undefined" && typeof target === "object" && typeof Symbol.iterator !== "undefined" && typeof target[Symbol.iterator] === "function"; +} +__name(hasIteratorFunction, "hasIteratorFunction"); +function getIteratorEntries(target) { + if (hasIteratorFunction(target)) { + try { + return getGeneratorEntries(target[Symbol.iterator]()); + } catch (iteratorError) { + return []; + } + } + return []; +} +__name(getIteratorEntries, "getIteratorEntries"); +function getGeneratorEntries(generator) { + var generatorResult = generator.next(); + var accumulator = [generatorResult.value]; + while (generatorResult.done === false) { + generatorResult = generator.next(); + accumulator.push(generatorResult.value); + } + return accumulator; +} +__name(getGeneratorEntries, "getGeneratorEntries"); +function getEnumerableKeys(target) { + var keys = []; + for (var key in target) { + keys.push(key); + } + return keys; +} +__name(getEnumerableKeys, "getEnumerableKeys"); +function getEnumerableSymbols(target) { + var keys = []; + var allKeys = Object.getOwnPropertySymbols(target); + for (var i = 0; i < allKeys.length; i += 1) { + var key = allKeys[i]; + if (Object.getOwnPropertyDescriptor(target, key).enumerable) { + keys.push(key); + } + } + return keys; +} +__name(getEnumerableSymbols, "getEnumerableSymbols"); +function keysEqual(leftHandOperand, rightHandOperand, keys, options) { + var length = keys.length; + if (length === 0) { + return true; + } + for (var i = 0; i < length; i += 1) { + if (deepEqual(leftHandOperand[keys[i]], rightHandOperand[keys[i]], options) === false) { + return false; + } + } + return true; +} +__name(keysEqual, "keysEqual"); +function objectEqual(leftHandOperand, rightHandOperand, options) { + var leftHandKeys = getEnumerableKeys(leftHandOperand); + var rightHandKeys = getEnumerableKeys(rightHandOperand); + var leftHandSymbols = getEnumerableSymbols(leftHandOperand); + var rightHandSymbols = getEnumerableSymbols(rightHandOperand); + leftHandKeys = leftHandKeys.concat(leftHandSymbols); + rightHandKeys = rightHandKeys.concat(rightHandSymbols); + if (leftHandKeys.length && leftHandKeys.length === rightHandKeys.length) { + if (iterableEqual(mapSymbols(leftHandKeys).sort(), mapSymbols(rightHandKeys).sort()) === false) { + return false; + } + return keysEqual(leftHandOperand, rightHandOperand, leftHandKeys, options); + } + var leftHandEntries = getIteratorEntries(leftHandOperand); + var rightHandEntries = getIteratorEntries(rightHandOperand); + if (leftHandEntries.length && leftHandEntries.length === rightHandEntries.length) { + leftHandEntries.sort(); + rightHandEntries.sort(); + return iterableEqual(leftHandEntries, rightHandEntries, options); + } + if (leftHandKeys.length === 0 && leftHandEntries.length === 0 && rightHandKeys.length === 0 && rightHandEntries.length === 0) { + return true; + } + return false; +} +__name(objectEqual, "objectEqual"); +function isPrimitive(value) { + return value === null || typeof value !== "object"; +} +__name(isPrimitive, "isPrimitive"); +function mapSymbols(arr) { + return arr.map(/* @__PURE__ */ __name(function mapSymbol(entry) { + if (typeof entry === "symbol") { + return entry.toString(); + } + return entry; + }, "mapSymbol")); +} +__name(mapSymbols, "mapSymbols"); + +// node_modules/pathval/index.js +function hasProperty(obj, name) { + if (typeof obj === "undefined" || obj === null) { + return false; + } + return name in Object(obj); +} +__name(hasProperty, "hasProperty"); +function parsePath(path) { + const str = path.replace(/([^\\])\[/g, "$1.["); + const parts = str.match(/(\\\.|[^.]+?)+/g); + return parts.map((value) => { + if (value === "constructor" || value === "__proto__" || value === "prototype") { + return {}; + } + const regexp = /^\[(\d+)\]$/; + const mArr = regexp.exec(value); + let parsed = null; + if (mArr) { + parsed = { i: parseFloat(mArr[1]) }; + } else { + parsed = { p: value.replace(/\\([.[\]])/g, "$1") }; + } + return parsed; + }); +} +__name(parsePath, "parsePath"); +function internalGetPathValue(obj, parsed, pathDepth) { + let temporaryValue = obj; + let res = null; + pathDepth = typeof pathDepth === "undefined" ? parsed.length : pathDepth; + for (let i = 0; i < pathDepth; i++) { + const part = parsed[i]; + if (temporaryValue) { + if (typeof part.p === "undefined") { + temporaryValue = temporaryValue[part.i]; + } else { + temporaryValue = temporaryValue[part.p]; + } + if (i === pathDepth - 1) { + res = temporaryValue; + } + } + } + return res; +} +__name(internalGetPathValue, "internalGetPathValue"); +function getPathInfo(obj, path) { + const parsed = parsePath(path); + const last = parsed[parsed.length - 1]; + const info = { + parent: parsed.length > 1 ? internalGetPathValue(obj, parsed, parsed.length - 1) : obj, + name: last.p || last.i, + value: internalGetPathValue(obj, parsed) + }; + info.exists = hasProperty(info.parent, info.name); + return info; +} +__name(getPathInfo, "getPathInfo"); + +// lib/chai/assertion.js +function Assertion(obj, msg, ssfi, lockSsfi) { + flag(this, "ssfi", ssfi || Assertion); + flag(this, "lockSsfi", lockSsfi); + flag(this, "object", obj); + flag(this, "message", msg); + flag(this, "eql", config.deepEqual || deep_eql_default); + return proxify(this); +} +__name(Assertion, "Assertion"); +Object.defineProperty(Assertion, "includeStack", { + get: function() { + console.warn( + "Assertion.includeStack is deprecated, use chai.config.includeStack instead." + ); + return config.includeStack; + }, + set: function(value) { + console.warn( + "Assertion.includeStack is deprecated, use chai.config.includeStack instead." + ); + config.includeStack = value; + } +}); +Object.defineProperty(Assertion, "showDiff", { + get: function() { + console.warn( + "Assertion.showDiff is deprecated, use chai.config.showDiff instead." + ); + return config.showDiff; + }, + set: function(value) { + console.warn( + "Assertion.showDiff is deprecated, use chai.config.showDiff instead." + ); + config.showDiff = value; + } +}); +Assertion.addProperty = function(name, fn) { + addProperty(this.prototype, name, fn); +}; +Assertion.addMethod = function(name, fn) { + addMethod(this.prototype, name, fn); +}; +Assertion.addChainableMethod = function(name, fn, chainingBehavior) { + addChainableMethod(this.prototype, name, fn, chainingBehavior); +}; +Assertion.overwriteProperty = function(name, fn) { + overwriteProperty(this.prototype, name, fn); +}; +Assertion.overwriteMethod = function(name, fn) { + overwriteMethod(this.prototype, name, fn); +}; +Assertion.overwriteChainableMethod = function(name, fn, chainingBehavior) { + overwriteChainableMethod(this.prototype, name, fn, chainingBehavior); +}; +Assertion.prototype.assert = function(expr, msg, negateMsg, expected, _actual, showDiff) { + var ok = test(this, arguments); + if (false !== showDiff) + showDiff = true; + if (void 0 === expected && void 0 === _actual) + showDiff = false; + if (true !== config.showDiff) + showDiff = false; + if (!ok) { + msg = getMessage2(this, arguments); + var actual = getActual(this, arguments); + var assertionErrorObjectProperties = { + actual, + expected, + showDiff + }; + var operator = getOperator(this, arguments); + if (operator) { + assertionErrorObjectProperties.operator = operator; + } + throw new AssertionError( + msg, + assertionErrorObjectProperties, + config.includeStack ? this.assert : flag(this, "ssfi") + ); + } +}; +Object.defineProperty(Assertion.prototype, "_obj", { + get: function() { + return flag(this, "object"); + }, + set: function(val) { + flag(this, "object", val); + } +}); + +// lib/chai/utils/isProxyEnabled.js +function isProxyEnabled() { + return config.useProxy && typeof Proxy !== "undefined" && typeof Reflect !== "undefined"; +} +__name(isProxyEnabled, "isProxyEnabled"); + +// lib/chai/utils/addProperty.js +function addProperty(ctx, name, getter) { + getter = getter === void 0 ? function() { + } : getter; + Object.defineProperty(ctx, name, { + get: /* @__PURE__ */ __name(function propertyGetter() { + if (!isProxyEnabled() && !flag(this, "lockSsfi")) { + flag(this, "ssfi", propertyGetter); + } + var result = getter.call(this); + if (result !== void 0) + return result; + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }, "propertyGetter"), + configurable: true + }); +} +__name(addProperty, "addProperty"); + +// lib/chai/utils/addLengthGuard.js +var fnLengthDesc = Object.getOwnPropertyDescriptor(function() { +}, "length"); +function addLengthGuard(fn, assertionName, isChainable) { + if (!fnLengthDesc.configurable) + return fn; + Object.defineProperty(fn, "length", { + get: function() { + if (isChainable) { + throw Error( + "Invalid Chai property: " + assertionName + '.length. Due to a compatibility issue, "length" cannot directly follow "' + assertionName + '". Use "' + assertionName + '.lengthOf" instead.' + ); + } + throw Error( + "Invalid Chai property: " + assertionName + '.length. See docs for proper usage of "' + assertionName + '".' + ); + } + }); + return fn; +} +__name(addLengthGuard, "addLengthGuard"); + +// lib/chai/utils/getProperties.js +function getProperties(object) { + var result = Object.getOwnPropertyNames(object); + function addProperty2(property) { + if (result.indexOf(property) === -1) { + result.push(property); + } + } + __name(addProperty2, "addProperty"); + var proto = Object.getPrototypeOf(object); + while (proto !== null) { + Object.getOwnPropertyNames(proto).forEach(addProperty2); + proto = Object.getPrototypeOf(proto); + } + return result; +} +__name(getProperties, "getProperties"); + +// lib/chai/utils/proxify.js +var builtins = ["__flags", "__methods", "_obj", "assert"]; +function proxify(obj, nonChainableMethodName) { + if (!isProxyEnabled()) + return obj; + return new Proxy(obj, { + get: /* @__PURE__ */ __name(function proxyGetter(target, property) { + if (typeof property === "string" && config.proxyExcludedKeys.indexOf(property) === -1 && !Reflect.has(target, property)) { + if (nonChainableMethodName) { + throw Error( + "Invalid Chai property: " + nonChainableMethodName + "." + property + '. See docs for proper usage of "' + nonChainableMethodName + '".' + ); + } + var suggestion = null; + var suggestionDistance = 4; + getProperties(target).forEach(function(prop) { + if ( + // we actually mean to check `Object.prototype` here + // eslint-disable-next-line no-prototype-builtins + !Object.prototype.hasOwnProperty(prop) && builtins.indexOf(prop) === -1 + ) { + var dist = stringDistanceCapped(property, prop, suggestionDistance); + if (dist < suggestionDistance) { + suggestion = prop; + suggestionDistance = dist; + } + } + }); + if (suggestion !== null) { + throw Error( + "Invalid Chai property: " + property + '. Did you mean "' + suggestion + '"?' + ); + } else { + throw Error("Invalid Chai property: " + property); + } + } + if (builtins.indexOf(property) === -1 && !flag(target, "lockSsfi")) { + flag(target, "ssfi", proxyGetter); + } + return Reflect.get(target, property); + }, "proxyGetter") + }); +} +__name(proxify, "proxify"); +function stringDistanceCapped(strA, strB, cap) { + if (Math.abs(strA.length - strB.length) >= cap) { + return cap; + } + var memo = []; + for (let i = 0; i <= strA.length; i++) { + memo[i] = Array(strB.length + 1).fill(0); + memo[i][0] = i; + } + for (let j = 0; j < strB.length; j++) { + memo[0][j] = j; + } + for (let i = 1; i <= strA.length; i++) { + var ch = strA.charCodeAt(i - 1); + for (let j = 1; j <= strB.length; j++) { + if (Math.abs(i - j) >= cap) { + memo[i][j] = cap; + continue; + } + memo[i][j] = Math.min( + memo[i - 1][j] + 1, + memo[i][j - 1] + 1, + memo[i - 1][j - 1] + (ch === strB.charCodeAt(j - 1) ? 0 : 1) + ); + } + } + return memo[strA.length][strB.length]; +} +__name(stringDistanceCapped, "stringDistanceCapped"); + +// lib/chai/utils/addMethod.js +function addMethod(ctx, name, method) { + var methodWrapper = /* @__PURE__ */ __name(function() { + if (!flag(this, "lockSsfi")) { + flag(this, "ssfi", methodWrapper); + } + var result = method.apply(this, arguments); + if (result !== void 0) + return result; + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }, "methodWrapper"); + addLengthGuard(methodWrapper, name, false); + ctx[name] = proxify(methodWrapper, name); +} +__name(addMethod, "addMethod"); + +// lib/chai/utils/overwriteProperty.js +function overwriteProperty(ctx, name, getter) { + var _get = Object.getOwnPropertyDescriptor(ctx, name), _super = /* @__PURE__ */ __name(function() { + }, "_super"); + if (_get && "function" === typeof _get.get) + _super = _get.get; + Object.defineProperty(ctx, name, { + get: /* @__PURE__ */ __name(function overwritingPropertyGetter() { + if (!isProxyEnabled() && !flag(this, "lockSsfi")) { + flag(this, "ssfi", overwritingPropertyGetter); + } + var origLockSsfi = flag(this, "lockSsfi"); + flag(this, "lockSsfi", true); + var result = getter(_super).call(this); + flag(this, "lockSsfi", origLockSsfi); + if (result !== void 0) { + return result; + } + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }, "overwritingPropertyGetter"), + configurable: true + }); +} +__name(overwriteProperty, "overwriteProperty"); + +// lib/chai/utils/overwriteMethod.js +function overwriteMethod(ctx, name, method) { + var _method = ctx[name], _super = /* @__PURE__ */ __name(function() { + throw new Error(name + " is not a function"); + }, "_super"); + if (_method && "function" === typeof _method) + _super = _method; + var overwritingMethodWrapper = /* @__PURE__ */ __name(function() { + if (!flag(this, "lockSsfi")) { + flag(this, "ssfi", overwritingMethodWrapper); + } + var origLockSsfi = flag(this, "lockSsfi"); + flag(this, "lockSsfi", true); + var result = method(_super).apply(this, arguments); + flag(this, "lockSsfi", origLockSsfi); + if (result !== void 0) { + return result; + } + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }, "overwritingMethodWrapper"); + addLengthGuard(overwritingMethodWrapper, name, false); + ctx[name] = proxify(overwritingMethodWrapper, name); +} +__name(overwriteMethod, "overwriteMethod"); + +// lib/chai/utils/addChainableMethod.js +var canSetPrototype = typeof Object.setPrototypeOf === "function"; +var testFn = /* @__PURE__ */ __name(function() { +}, "testFn"); +var excludeNames = Object.getOwnPropertyNames(testFn).filter(function(name) { + var propDesc = Object.getOwnPropertyDescriptor(testFn, name); + if (typeof propDesc !== "object") + return true; + return !propDesc.configurable; +}); +var call = Function.prototype.call; +var apply = Function.prototype.apply; +function addChainableMethod(ctx, name, method, chainingBehavior) { + if (typeof chainingBehavior !== "function") { + chainingBehavior = /* @__PURE__ */ __name(function() { + }, "chainingBehavior"); + } + var chainableBehavior = { + method, + chainingBehavior + }; + if (!ctx.__methods) { + ctx.__methods = {}; + } + ctx.__methods[name] = chainableBehavior; + Object.defineProperty(ctx, name, { + get: /* @__PURE__ */ __name(function chainableMethodGetter() { + chainableBehavior.chainingBehavior.call(this); + var chainableMethodWrapper = /* @__PURE__ */ __name(function() { + if (!flag(this, "lockSsfi")) { + flag(this, "ssfi", chainableMethodWrapper); + } + var result = chainableBehavior.method.apply(this, arguments); + if (result !== void 0) { + return result; + } + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }, "chainableMethodWrapper"); + addLengthGuard(chainableMethodWrapper, name, true); + if (canSetPrototype) { + var prototype = Object.create(this); + prototype.call = call; + prototype.apply = apply; + Object.setPrototypeOf(chainableMethodWrapper, prototype); + } else { + var asserterNames = Object.getOwnPropertyNames(ctx); + asserterNames.forEach(function(asserterName) { + if (excludeNames.indexOf(asserterName) !== -1) { + return; + } + var pd = Object.getOwnPropertyDescriptor(ctx, asserterName); + Object.defineProperty(chainableMethodWrapper, asserterName, pd); + }); + } + transferFlags(this, chainableMethodWrapper); + return proxify(chainableMethodWrapper); + }, "chainableMethodGetter"), + configurable: true + }); +} +__name(addChainableMethod, "addChainableMethod"); + +// lib/chai/utils/overwriteChainableMethod.js +function overwriteChainableMethod(ctx, name, method, chainingBehavior) { + var chainableBehavior = ctx.__methods[name]; + var _chainingBehavior = chainableBehavior.chainingBehavior; + chainableBehavior.chainingBehavior = /* @__PURE__ */ __name(function overwritingChainableMethodGetter() { + var result = chainingBehavior(_chainingBehavior).call(this); + if (result !== void 0) { + return result; + } + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }, "overwritingChainableMethodGetter"); + var _method = chainableBehavior.method; + chainableBehavior.method = /* @__PURE__ */ __name(function overwritingChainableMethodWrapper() { + var result = method(_method).apply(this, arguments); + if (result !== void 0) { + return result; + } + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }, "overwritingChainableMethodWrapper"); +} +__name(overwriteChainableMethod, "overwriteChainableMethod"); + +// lib/chai/utils/compareByInspect.js +function compareByInspect(a, b) { + return inspect2(a) < inspect2(b) ? -1 : 1; +} +__name(compareByInspect, "compareByInspect"); + +// lib/chai/utils/getOwnEnumerablePropertySymbols.js +function getOwnEnumerablePropertySymbols(obj) { + if (typeof Object.getOwnPropertySymbols !== "function") + return []; + return Object.getOwnPropertySymbols(obj).filter(function(sym) { + return Object.getOwnPropertyDescriptor(obj, sym).enumerable; + }); +} +__name(getOwnEnumerablePropertySymbols, "getOwnEnumerablePropertySymbols"); + +// lib/chai/utils/getOwnEnumerableProperties.js +function getOwnEnumerableProperties(obj) { + return Object.keys(obj).concat(getOwnEnumerablePropertySymbols(obj)); +} +__name(getOwnEnumerableProperties, "getOwnEnumerableProperties"); + +// lib/chai/utils/isNaN.js +var isNaN2 = Number.isNaN; + +// lib/chai/utils/getOperator.js +function isObjectType(obj) { + var objectType = type(obj); + var objectTypes = ["Array", "Object", "Function"]; + return objectTypes.indexOf(objectType) !== -1; +} +__name(isObjectType, "isObjectType"); +function getOperator(obj, args) { + var operator = flag(obj, "operator"); + var negate = flag(obj, "negate"); + var expected = args[3]; + var msg = negate ? args[2] : args[1]; + if (operator) { + return operator; + } + if (typeof msg === "function") + msg = msg(); + msg = msg || ""; + if (!msg) { + return void 0; + } + if (/\shave\s/.test(msg)) { + return void 0; + } + var isObject = isObjectType(expected); + if (/\snot\s/.test(msg)) { + return isObject ? "notDeepStrictEqual" : "notStrictEqual"; + } + return isObject ? "deepStrictEqual" : "strictEqual"; +} +__name(getOperator, "getOperator"); + +// lib/chai/utils/index.js +function getName(fn) { + return fn.name; +} +__name(getName, "getName"); +function isRegExp2(obj) { + return Object.prototype.toString.call(obj) === "[object RegExp]"; +} +__name(isRegExp2, "isRegExp"); +function isNumeric(obj) { + return ["Number", "BigInt"].includes(type(obj)); +} +__name(isNumeric, "isNumeric"); + +// lib/chai/core/assertions.js +var { flag: flag2 } = utils_exports; +[ + "to", + "be", + "been", + "is", + "and", + "has", + "have", + "with", + "that", + "which", + "at", + "of", + "same", + "but", + "does", + "still", + "also" +].forEach(function(chain) { + Assertion.addProperty(chain); +}); +Assertion.addProperty("not", function() { + flag2(this, "negate", true); +}); +Assertion.addProperty("deep", function() { + flag2(this, "deep", true); +}); +Assertion.addProperty("nested", function() { + flag2(this, "nested", true); +}); +Assertion.addProperty("own", function() { + flag2(this, "own", true); +}); +Assertion.addProperty("ordered", function() { + flag2(this, "ordered", true); +}); +Assertion.addProperty("any", function() { + flag2(this, "any", true); + flag2(this, "all", false); +}); +Assertion.addProperty("all", function() { + flag2(this, "all", true); + flag2(this, "any", false); +}); +var functionTypes = { + function: [ + "function", + "asyncfunction", + "generatorfunction", + "asyncgeneratorfunction" + ], + asyncfunction: ["asyncfunction", "asyncgeneratorfunction"], + generatorfunction: ["generatorfunction", "asyncgeneratorfunction"], + asyncgeneratorfunction: ["asyncgeneratorfunction"] +}; +function an(type3, msg) { + if (msg) + flag2(this, "message", msg); + type3 = type3.toLowerCase(); + var obj = flag2(this, "object"), article = ~["a", "e", "i", "o", "u"].indexOf(type3.charAt(0)) ? "an " : "a "; + const detectedType = type(obj).toLowerCase(); + if (functionTypes["function"].includes(type3)) { + this.assert( + functionTypes[type3].includes(detectedType), + "expected #{this} to be " + article + type3, + "expected #{this} not to be " + article + type3 + ); + } else { + this.assert( + type3 === detectedType, + "expected #{this} to be " + article + type3, + "expected #{this} not to be " + article + type3 + ); + } +} +__name(an, "an"); +Assertion.addChainableMethod("an", an); +Assertion.addChainableMethod("a", an); +function SameValueZero(a, b) { + return isNaN2(a) && isNaN2(b) || a === b; +} +__name(SameValueZero, "SameValueZero"); +function includeChainingBehavior() { + flag2(this, "contains", true); +} +__name(includeChainingBehavior, "includeChainingBehavior"); +function include(val, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), objType = type(obj).toLowerCase(), flagMsg = flag2(this, "message"), negate = flag2(this, "negate"), ssfi = flag2(this, "ssfi"), isDeep = flag2(this, "deep"), descriptor = isDeep ? "deep " : "", isEql = isDeep ? flag2(this, "eql") : SameValueZero; + flagMsg = flagMsg ? flagMsg + ": " : ""; + var included = false; + switch (objType) { + case "string": + included = obj.indexOf(val) !== -1; + break; + case "weakset": + if (isDeep) { + throw new AssertionError( + flagMsg + "unable to use .deep.include with WeakSet", + void 0, + ssfi + ); + } + included = obj.has(val); + break; + case "map": + obj.forEach(function(item) { + included = included || isEql(item, val); + }); + break; + case "set": + if (isDeep) { + obj.forEach(function(item) { + included = included || isEql(item, val); + }); + } else { + included = obj.has(val); + } + break; + case "array": + if (isDeep) { + included = obj.some(function(item) { + return isEql(item, val); + }); + } else { + included = obj.indexOf(val) !== -1; + } + break; + default: + if (val !== Object(val)) { + throw new AssertionError( + flagMsg + "the given combination of arguments (" + objType + " and " + type(val).toLowerCase() + ") is invalid for this assertion. You can use an array, a map, an object, a set, a string, or a weakset instead of a " + type(val).toLowerCase(), + void 0, + ssfi + ); + } + var props = Object.keys(val), firstErr = null, numErrs = 0; + props.forEach(function(prop) { + var propAssertion = new Assertion(obj); + transferFlags(this, propAssertion, true); + flag2(propAssertion, "lockSsfi", true); + if (!negate || props.length === 1) { + propAssertion.property(prop, val[prop]); + return; + } + try { + propAssertion.property(prop, val[prop]); + } catch (err) { + if (!check_error_exports.compatibleConstructor(err, AssertionError)) { + throw err; + } + if (firstErr === null) + firstErr = err; + numErrs++; + } + }, this); + if (negate && props.length > 1 && numErrs === props.length) { + throw firstErr; + } + return; + } + this.assert( + included, + "expected #{this} to " + descriptor + "include " + inspect2(val), + "expected #{this} to not " + descriptor + "include " + inspect2(val) + ); +} +__name(include, "include"); +Assertion.addChainableMethod("include", include, includeChainingBehavior); +Assertion.addChainableMethod("contain", include, includeChainingBehavior); +Assertion.addChainableMethod("contains", include, includeChainingBehavior); +Assertion.addChainableMethod("includes", include, includeChainingBehavior); +Assertion.addProperty("ok", function() { + this.assert( + flag2(this, "object"), + "expected #{this} to be truthy", + "expected #{this} to be falsy" + ); +}); +Assertion.addProperty("true", function() { + this.assert( + true === flag2(this, "object"), + "expected #{this} to be true", + "expected #{this} to be false", + flag2(this, "negate") ? false : true + ); +}); +Assertion.addProperty("numeric", function() { + const object = flag2(this, "object"); + this.assert( + ["Number", "BigInt"].includes(type(object)), + "expected #{this} to be numeric", + "expected #{this} to not be numeric", + flag2(this, "negate") ? false : true + ); +}); +Assertion.addProperty("callable", function() { + const val = flag2(this, "object"); + const ssfi = flag2(this, "ssfi"); + const message = flag2(this, "message"); + const msg = message ? `${message}: ` : ""; + const negate = flag2(this, "negate"); + const assertionMessage = negate ? `${msg}expected ${inspect2(val)} not to be a callable function` : `${msg}expected ${inspect2(val)} to be a callable function`; + const isCallable = [ + "Function", + "AsyncFunction", + "GeneratorFunction", + "AsyncGeneratorFunction" + ].includes(type(val)); + if (isCallable && negate || !isCallable && !negate) { + throw new AssertionError(assertionMessage, void 0, ssfi); + } +}); +Assertion.addProperty("false", function() { + this.assert( + false === flag2(this, "object"), + "expected #{this} to be false", + "expected #{this} to be true", + flag2(this, "negate") ? true : false + ); +}); +Assertion.addProperty("null", function() { + this.assert( + null === flag2(this, "object"), + "expected #{this} to be null", + "expected #{this} not to be null" + ); +}); +Assertion.addProperty("undefined", function() { + this.assert( + void 0 === flag2(this, "object"), + "expected #{this} to be undefined", + "expected #{this} not to be undefined" + ); +}); +Assertion.addProperty("NaN", function() { + this.assert( + isNaN2(flag2(this, "object")), + "expected #{this} to be NaN", + "expected #{this} not to be NaN" + ); +}); +function assertExist() { + var val = flag2(this, "object"); + this.assert( + val !== null && val !== void 0, + "expected #{this} to exist", + "expected #{this} to not exist" + ); +} +__name(assertExist, "assertExist"); +Assertion.addProperty("exist", assertExist); +Assertion.addProperty("exists", assertExist); +Assertion.addProperty("empty", function() { + var val = flag2(this, "object"), ssfi = flag2(this, "ssfi"), flagMsg = flag2(this, "message"), itemsCount; + flagMsg = flagMsg ? flagMsg + ": " : ""; + switch (type(val).toLowerCase()) { + case "array": + case "string": + itemsCount = val.length; + break; + case "map": + case "set": + itemsCount = val.size; + break; + case "weakmap": + case "weakset": + throw new AssertionError( + flagMsg + ".empty was passed a weak collection", + void 0, + ssfi + ); + case "function": + var msg = flagMsg + ".empty was passed a function " + getName(val); + throw new AssertionError(msg.trim(), void 0, ssfi); + default: + if (val !== Object(val)) { + throw new AssertionError( + flagMsg + ".empty was passed non-string primitive " + inspect2(val), + void 0, + ssfi + ); + } + itemsCount = Object.keys(val).length; + } + this.assert( + 0 === itemsCount, + "expected #{this} to be empty", + "expected #{this} not to be empty" + ); +}); +function checkArguments() { + var obj = flag2(this, "object"), type3 = type(obj); + this.assert( + "Arguments" === type3, + "expected #{this} to be arguments but got " + type3, + "expected #{this} to not be arguments" + ); +} +__name(checkArguments, "checkArguments"); +Assertion.addProperty("arguments", checkArguments); +Assertion.addProperty("Arguments", checkArguments); +function assertEqual(val, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"); + if (flag2(this, "deep")) { + var prevLockSsfi = flag2(this, "lockSsfi"); + flag2(this, "lockSsfi", true); + this.eql(val); + flag2(this, "lockSsfi", prevLockSsfi); + } else { + this.assert( + val === obj, + "expected #{this} to equal #{exp}", + "expected #{this} to not equal #{exp}", + val, + this._obj, + true + ); + } +} +__name(assertEqual, "assertEqual"); +Assertion.addMethod("equal", assertEqual); +Assertion.addMethod("equals", assertEqual); +Assertion.addMethod("eq", assertEqual); +function assertEql(obj, msg) { + if (msg) + flag2(this, "message", msg); + var eql = flag2(this, "eql"); + this.assert( + eql(obj, flag2(this, "object")), + "expected #{this} to deeply equal #{exp}", + "expected #{this} to not deeply equal #{exp}", + obj, + this._obj, + true + ); +} +__name(assertEql, "assertEql"); +Assertion.addMethod("eql", assertEql); +Assertion.addMethod("eqls", assertEql); +function assertAbove(n, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n).toLowerCase(); + if (doLength && objType !== "map" && objType !== "set") { + new Assertion(obj, flagMsg, ssfi, true).to.have.property("length"); + } + if (!doLength && objType === "date" && nType !== "date") { + throw new AssertionError( + msgPrefix + "the argument to above must be a date", + void 0, + ssfi + ); + } else if (!isNumeric(n) && (doLength || isNumeric(obj))) { + throw new AssertionError( + msgPrefix + "the argument to above must be a number", + void 0, + ssfi + ); + } else if (!doLength && objType !== "date" && !isNumeric(obj)) { + var printObj = objType === "string" ? "'" + obj + "'" : obj; + throw new AssertionError( + msgPrefix + "expected " + printObj + " to be a number or a date", + void 0, + ssfi + ); + } + if (doLength) { + var descriptor = "length", itemsCount; + if (objType === "map" || objType === "set") { + descriptor = "size"; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount > n, + "expected #{this} to have a " + descriptor + " above #{exp} but got #{act}", + "expected #{this} to not have a " + descriptor + " above #{exp}", + n, + itemsCount + ); + } else { + this.assert( + obj > n, + "expected #{this} to be above #{exp}", + "expected #{this} to be at most #{exp}", + n + ); + } +} +__name(assertAbove, "assertAbove"); +Assertion.addMethod("above", assertAbove); +Assertion.addMethod("gt", assertAbove); +Assertion.addMethod("greaterThan", assertAbove); +function assertLeast(n, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n).toLowerCase(), errorMessage, shouldThrow = true; + if (doLength && objType !== "map" && objType !== "set") { + new Assertion(obj, flagMsg, ssfi, true).to.have.property("length"); + } + if (!doLength && objType === "date" && nType !== "date") { + errorMessage = msgPrefix + "the argument to least must be a date"; + } else if (!isNumeric(n) && (doLength || isNumeric(obj))) { + errorMessage = msgPrefix + "the argument to least must be a number"; + } else if (!doLength && objType !== "date" && !isNumeric(obj)) { + var printObj = objType === "string" ? "'" + obj + "'" : obj; + errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date"; + } else { + shouldThrow = false; + } + if (shouldThrow) { + throw new AssertionError(errorMessage, void 0, ssfi); + } + if (doLength) { + var descriptor = "length", itemsCount; + if (objType === "map" || objType === "set") { + descriptor = "size"; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount >= n, + "expected #{this} to have a " + descriptor + " at least #{exp} but got #{act}", + "expected #{this} to have a " + descriptor + " below #{exp}", + n, + itemsCount + ); + } else { + this.assert( + obj >= n, + "expected #{this} to be at least #{exp}", + "expected #{this} to be below #{exp}", + n + ); + } +} +__name(assertLeast, "assertLeast"); +Assertion.addMethod("least", assertLeast); +Assertion.addMethod("gte", assertLeast); +Assertion.addMethod("greaterThanOrEqual", assertLeast); +function assertBelow(n, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n).toLowerCase(), errorMessage, shouldThrow = true; + if (doLength && objType !== "map" && objType !== "set") { + new Assertion(obj, flagMsg, ssfi, true).to.have.property("length"); + } + if (!doLength && objType === "date" && nType !== "date") { + errorMessage = msgPrefix + "the argument to below must be a date"; + } else if (!isNumeric(n) && (doLength || isNumeric(obj))) { + errorMessage = msgPrefix + "the argument to below must be a number"; + } else if (!doLength && objType !== "date" && !isNumeric(obj)) { + var printObj = objType === "string" ? "'" + obj + "'" : obj; + errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date"; + } else { + shouldThrow = false; + } + if (shouldThrow) { + throw new AssertionError(errorMessage, void 0, ssfi); + } + if (doLength) { + var descriptor = "length", itemsCount; + if (objType === "map" || objType === "set") { + descriptor = "size"; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount < n, + "expected #{this} to have a " + descriptor + " below #{exp} but got #{act}", + "expected #{this} to not have a " + descriptor + " below #{exp}", + n, + itemsCount + ); + } else { + this.assert( + obj < n, + "expected #{this} to be below #{exp}", + "expected #{this} to be at least #{exp}", + n + ); + } +} +__name(assertBelow, "assertBelow"); +Assertion.addMethod("below", assertBelow); +Assertion.addMethod("lt", assertBelow); +Assertion.addMethod("lessThan", assertBelow); +function assertMost(n, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n).toLowerCase(), errorMessage, shouldThrow = true; + if (doLength && objType !== "map" && objType !== "set") { + new Assertion(obj, flagMsg, ssfi, true).to.have.property("length"); + } + if (!doLength && objType === "date" && nType !== "date") { + errorMessage = msgPrefix + "the argument to most must be a date"; + } else if (!isNumeric(n) && (doLength || isNumeric(obj))) { + errorMessage = msgPrefix + "the argument to most must be a number"; + } else if (!doLength && objType !== "date" && !isNumeric(obj)) { + var printObj = objType === "string" ? "'" + obj + "'" : obj; + errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date"; + } else { + shouldThrow = false; + } + if (shouldThrow) { + throw new AssertionError(errorMessage, void 0, ssfi); + } + if (doLength) { + var descriptor = "length", itemsCount; + if (objType === "map" || objType === "set") { + descriptor = "size"; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount <= n, + "expected #{this} to have a " + descriptor + " at most #{exp} but got #{act}", + "expected #{this} to have a " + descriptor + " above #{exp}", + n, + itemsCount + ); + } else { + this.assert( + obj <= n, + "expected #{this} to be at most #{exp}", + "expected #{this} to be above #{exp}", + n + ); + } +} +__name(assertMost, "assertMost"); +Assertion.addMethod("most", assertMost); +Assertion.addMethod("lte", assertMost); +Assertion.addMethod("lessThanOrEqual", assertMost); +Assertion.addMethod("within", function(start, finish, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), startType = type(start).toLowerCase(), finishType = type(finish).toLowerCase(), errorMessage, shouldThrow = true, range = startType === "date" && finishType === "date" ? start.toISOString() + ".." + finish.toISOString() : start + ".." + finish; + if (doLength && objType !== "map" && objType !== "set") { + new Assertion(obj, flagMsg, ssfi, true).to.have.property("length"); + } + if (!doLength && objType === "date" && (startType !== "date" || finishType !== "date")) { + errorMessage = msgPrefix + "the arguments to within must be dates"; + } else if ((!isNumeric(start) || !isNumeric(finish)) && (doLength || isNumeric(obj))) { + errorMessage = msgPrefix + "the arguments to within must be numbers"; + } else if (!doLength && objType !== "date" && !isNumeric(obj)) { + var printObj = objType === "string" ? "'" + obj + "'" : obj; + errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date"; + } else { + shouldThrow = false; + } + if (shouldThrow) { + throw new AssertionError(errorMessage, void 0, ssfi); + } + if (doLength) { + var descriptor = "length", itemsCount; + if (objType === "map" || objType === "set") { + descriptor = "size"; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount >= start && itemsCount <= finish, + "expected #{this} to have a " + descriptor + " within " + range, + "expected #{this} to not have a " + descriptor + " within " + range + ); + } else { + this.assert( + obj >= start && obj <= finish, + "expected #{this} to be within " + range, + "expected #{this} to not be within " + range + ); + } +}); +function assertInstanceOf(constructor, msg) { + if (msg) + flag2(this, "message", msg); + var target = flag2(this, "object"); + var ssfi = flag2(this, "ssfi"); + var flagMsg = flag2(this, "message"); + try { + var isInstanceOf = target instanceof constructor; + } catch (err) { + if (err instanceof TypeError) { + flagMsg = flagMsg ? flagMsg + ": " : ""; + throw new AssertionError( + flagMsg + "The instanceof assertion needs a constructor but " + type(constructor) + " was given.", + void 0, + ssfi + ); + } + throw err; + } + var name = getName(constructor); + if (name == null) { + name = "an unnamed constructor"; + } + this.assert( + isInstanceOf, + "expected #{this} to be an instance of " + name, + "expected #{this} to not be an instance of " + name + ); +} +__name(assertInstanceOf, "assertInstanceOf"); +Assertion.addMethod("instanceof", assertInstanceOf); +Assertion.addMethod("instanceOf", assertInstanceOf); +function assertProperty(name, val, msg) { + if (msg) + flag2(this, "message", msg); + var isNested = flag2(this, "nested"), isOwn = flag2(this, "own"), flagMsg = flag2(this, "message"), obj = flag2(this, "object"), ssfi = flag2(this, "ssfi"), nameType = typeof name; + flagMsg = flagMsg ? flagMsg + ": " : ""; + if (isNested) { + if (nameType !== "string") { + throw new AssertionError( + flagMsg + "the argument to property must be a string when using nested syntax", + void 0, + ssfi + ); + } + } else { + if (nameType !== "string" && nameType !== "number" && nameType !== "symbol") { + throw new AssertionError( + flagMsg + "the argument to property must be a string, number, or symbol", + void 0, + ssfi + ); + } + } + if (isNested && isOwn) { + throw new AssertionError( + flagMsg + 'The "nested" and "own" flags cannot be combined.', + void 0, + ssfi + ); + } + if (obj === null || obj === void 0) { + throw new AssertionError( + flagMsg + "Target cannot be null or undefined.", + void 0, + ssfi + ); + } + var isDeep = flag2(this, "deep"), negate = flag2(this, "negate"), pathInfo = isNested ? getPathInfo(obj, name) : null, value = isNested ? pathInfo.value : obj[name], isEql = isDeep ? flag2(this, "eql") : (val1, val2) => val1 === val2; + var descriptor = ""; + if (isDeep) + descriptor += "deep "; + if (isOwn) + descriptor += "own "; + if (isNested) + descriptor += "nested "; + descriptor += "property "; + var hasProperty2; + if (isOwn) + hasProperty2 = Object.prototype.hasOwnProperty.call(obj, name); + else if (isNested) + hasProperty2 = pathInfo.exists; + else + hasProperty2 = hasProperty(obj, name); + if (!negate || arguments.length === 1) { + this.assert( + hasProperty2, + "expected #{this} to have " + descriptor + inspect2(name), + "expected #{this} to not have " + descriptor + inspect2(name) + ); + } + if (arguments.length > 1) { + this.assert( + hasProperty2 && isEql(val, value), + "expected #{this} to have " + descriptor + inspect2(name) + " of #{exp}, but got #{act}", + "expected #{this} to not have " + descriptor + inspect2(name) + " of #{act}", + val, + value + ); + } + flag2(this, "object", value); +} +__name(assertProperty, "assertProperty"); +Assertion.addMethod("property", assertProperty); +function assertOwnProperty(_name, _value, _msg) { + flag2(this, "own", true); + assertProperty.apply(this, arguments); +} +__name(assertOwnProperty, "assertOwnProperty"); +Assertion.addMethod("ownProperty", assertOwnProperty); +Assertion.addMethod("haveOwnProperty", assertOwnProperty); +function assertOwnPropertyDescriptor(name, descriptor, msg) { + if (typeof descriptor === "string") { + msg = descriptor; + descriptor = null; + } + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"); + var actualDescriptor = Object.getOwnPropertyDescriptor(Object(obj), name); + var eql = flag2(this, "eql"); + if (actualDescriptor && descriptor) { + this.assert( + eql(descriptor, actualDescriptor), + "expected the own property descriptor for " + inspect2(name) + " on #{this} to match " + inspect2(descriptor) + ", got " + inspect2(actualDescriptor), + "expected the own property descriptor for " + inspect2(name) + " on #{this} to not match " + inspect2(descriptor), + descriptor, + actualDescriptor, + true + ); + } else { + this.assert( + actualDescriptor, + "expected #{this} to have an own property descriptor for " + inspect2(name), + "expected #{this} to not have an own property descriptor for " + inspect2(name) + ); + } + flag2(this, "object", actualDescriptor); +} +__name(assertOwnPropertyDescriptor, "assertOwnPropertyDescriptor"); +Assertion.addMethod("ownPropertyDescriptor", assertOwnPropertyDescriptor); +Assertion.addMethod("haveOwnPropertyDescriptor", assertOwnPropertyDescriptor); +function assertLengthChain() { + flag2(this, "doLength", true); +} +__name(assertLengthChain, "assertLengthChain"); +function assertLength(n, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), objType = type(obj).toLowerCase(), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"), descriptor = "length", itemsCount; + switch (objType) { + case "map": + case "set": + descriptor = "size"; + itemsCount = obj.size; + break; + default: + new Assertion(obj, flagMsg, ssfi, true).to.have.property("length"); + itemsCount = obj.length; + } + this.assert( + itemsCount == n, + "expected #{this} to have a " + descriptor + " of #{exp} but got #{act}", + "expected #{this} to not have a " + descriptor + " of #{act}", + n, + itemsCount + ); +} +__name(assertLength, "assertLength"); +Assertion.addChainableMethod("length", assertLength, assertLengthChain); +Assertion.addChainableMethod("lengthOf", assertLength, assertLengthChain); +function assertMatch(re, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"); + this.assert( + re.exec(obj), + "expected #{this} to match " + re, + "expected #{this} not to match " + re + ); +} +__name(assertMatch, "assertMatch"); +Assertion.addMethod("match", assertMatch); +Assertion.addMethod("matches", assertMatch); +Assertion.addMethod("string", function(str, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"); + new Assertion(obj, flagMsg, ssfi, true).is.a("string"); + this.assert( + ~obj.indexOf(str), + "expected #{this} to contain " + inspect2(str), + "expected #{this} to not contain " + inspect2(str) + ); +}); +function assertKeys(keys) { + var obj = flag2(this, "object"), objType = type(obj), keysType = type(keys), ssfi = flag2(this, "ssfi"), isDeep = flag2(this, "deep"), str, deepStr = "", actual, ok = true, flagMsg = flag2(this, "message"); + flagMsg = flagMsg ? flagMsg + ": " : ""; + var mixedArgsMsg = flagMsg + "when testing keys against an object or an array you must give a single Array|Object|String argument or multiple String arguments"; + if (objType === "Map" || objType === "Set") { + deepStr = isDeep ? "deeply " : ""; + actual = []; + obj.forEach(function(val, key) { + actual.push(key); + }); + if (keysType !== "Array") { + keys = Array.prototype.slice.call(arguments); + } + } else { + actual = getOwnEnumerableProperties(obj); + switch (keysType) { + case "Array": + if (arguments.length > 1) { + throw new AssertionError(mixedArgsMsg, void 0, ssfi); + } + break; + case "Object": + if (arguments.length > 1) { + throw new AssertionError(mixedArgsMsg, void 0, ssfi); + } + keys = Object.keys(keys); + break; + default: + keys = Array.prototype.slice.call(arguments); + } + keys = keys.map(function(val) { + return typeof val === "symbol" ? val : String(val); + }); + } + if (!keys.length) { + throw new AssertionError(flagMsg + "keys required", void 0, ssfi); + } + var len = keys.length, any = flag2(this, "any"), all = flag2(this, "all"), expected = keys, isEql = isDeep ? flag2(this, "eql") : (val1, val2) => val1 === val2; + if (!any && !all) { + all = true; + } + if (any) { + ok = expected.some(function(expectedKey) { + return actual.some(function(actualKey) { + return isEql(expectedKey, actualKey); + }); + }); + } + if (all) { + ok = expected.every(function(expectedKey) { + return actual.some(function(actualKey) { + return isEql(expectedKey, actualKey); + }); + }); + if (!flag2(this, "contains")) { + ok = ok && keys.length == actual.length; + } + } + if (len > 1) { + keys = keys.map(function(key) { + return inspect2(key); + }); + var last = keys.pop(); + if (all) { + str = keys.join(", ") + ", and " + last; + } + if (any) { + str = keys.join(", ") + ", or " + last; + } + } else { + str = inspect2(keys[0]); + } + str = (len > 1 ? "keys " : "key ") + str; + str = (flag2(this, "contains") ? "contain " : "have ") + str; + this.assert( + ok, + "expected #{this} to " + deepStr + str, + "expected #{this} to not " + deepStr + str, + expected.slice(0).sort(compareByInspect), + actual.sort(compareByInspect), + true + ); +} +__name(assertKeys, "assertKeys"); +Assertion.addMethod("keys", assertKeys); +Assertion.addMethod("key", assertKeys); +function assertThrows(errorLike, errMsgMatcher, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), ssfi = flag2(this, "ssfi"), flagMsg = flag2(this, "message"), negate = flag2(this, "negate") || false; + new Assertion(obj, flagMsg, ssfi, true).is.a("function"); + if (isRegExp2(errorLike) || typeof errorLike === "string") { + errMsgMatcher = errorLike; + errorLike = null; + } + let caughtErr; + let errorWasThrown = false; + try { + obj(); + } catch (err) { + errorWasThrown = true; + caughtErr = err; + } + var everyArgIsUndefined = errorLike === void 0 && errMsgMatcher === void 0; + var everyArgIsDefined = Boolean(errorLike && errMsgMatcher); + var errorLikeFail = false; + var errMsgMatcherFail = false; + if (everyArgIsUndefined || !everyArgIsUndefined && !negate) { + var errorLikeString = "an error"; + if (errorLike instanceof Error) { + errorLikeString = "#{exp}"; + } else if (errorLike) { + errorLikeString = check_error_exports.getConstructorName(errorLike); + } + let actual = caughtErr; + if (caughtErr instanceof Error) { + actual = caughtErr.toString(); + } else if (typeof caughtErr === "string") { + actual = caughtErr; + } else if (caughtErr && (typeof caughtErr === "object" || typeof caughtErr === "function")) { + try { + actual = check_error_exports.getConstructorName(caughtErr); + } catch (_err) { + } + } + this.assert( + errorWasThrown, + "expected #{this} to throw " + errorLikeString, + "expected #{this} to not throw an error but #{act} was thrown", + errorLike && errorLike.toString(), + actual + ); + } + if (errorLike && caughtErr) { + if (errorLike instanceof Error) { + var isCompatibleInstance = check_error_exports.compatibleInstance( + caughtErr, + errorLike + ); + if (isCompatibleInstance === negate) { + if (everyArgIsDefined && negate) { + errorLikeFail = true; + } else { + this.assert( + negate, + "expected #{this} to throw #{exp} but #{act} was thrown", + "expected #{this} to not throw #{exp}" + (caughtErr && !negate ? " but #{act} was thrown" : ""), + errorLike.toString(), + caughtErr.toString() + ); + } + } + } + var isCompatibleConstructor = check_error_exports.compatibleConstructor( + caughtErr, + errorLike + ); + if (isCompatibleConstructor === negate) { + if (everyArgIsDefined && negate) { + errorLikeFail = true; + } else { + this.assert( + negate, + "expected #{this} to throw #{exp} but #{act} was thrown", + "expected #{this} to not throw #{exp}" + (caughtErr ? " but #{act} was thrown" : ""), + errorLike instanceof Error ? errorLike.toString() : errorLike && check_error_exports.getConstructorName(errorLike), + caughtErr instanceof Error ? caughtErr.toString() : caughtErr && check_error_exports.getConstructorName(caughtErr) + ); + } + } + } + if (caughtErr && errMsgMatcher !== void 0 && errMsgMatcher !== null) { + var placeholder = "including"; + if (isRegExp2(errMsgMatcher)) { + placeholder = "matching"; + } + var isCompatibleMessage = check_error_exports.compatibleMessage( + caughtErr, + errMsgMatcher + ); + if (isCompatibleMessage === negate) { + if (everyArgIsDefined && negate) { + errMsgMatcherFail = true; + } else { + this.assert( + negate, + "expected #{this} to throw error " + placeholder + " #{exp} but got #{act}", + "expected #{this} to throw error not " + placeholder + " #{exp}", + errMsgMatcher, + check_error_exports.getMessage(caughtErr) + ); + } + } + } + if (errorLikeFail && errMsgMatcherFail) { + this.assert( + negate, + "expected #{this} to throw #{exp} but #{act} was thrown", + "expected #{this} to not throw #{exp}" + (caughtErr ? " but #{act} was thrown" : ""), + errorLike instanceof Error ? errorLike.toString() : errorLike && check_error_exports.getConstructorName(errorLike), + caughtErr instanceof Error ? caughtErr.toString() : caughtErr && check_error_exports.getConstructorName(caughtErr) + ); + } + flag2(this, "object", caughtErr); +} +__name(assertThrows, "assertThrows"); +Assertion.addMethod("throw", assertThrows); +Assertion.addMethod("throws", assertThrows); +Assertion.addMethod("Throw", assertThrows); +function respondTo(method, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), itself = flag2(this, "itself"), context = "function" === typeof obj && !itself ? obj.prototype[method] : obj[method]; + this.assert( + "function" === typeof context, + "expected #{this} to respond to " + inspect2(method), + "expected #{this} to not respond to " + inspect2(method) + ); +} +__name(respondTo, "respondTo"); +Assertion.addMethod("respondTo", respondTo); +Assertion.addMethod("respondsTo", respondTo); +Assertion.addProperty("itself", function() { + flag2(this, "itself", true); +}); +function satisfy(matcher, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"); + var result = matcher(obj); + this.assert( + result, + "expected #{this} to satisfy " + objDisplay(matcher), + "expected #{this} to not satisfy" + objDisplay(matcher), + flag2(this, "negate") ? false : true, + result + ); +} +__name(satisfy, "satisfy"); +Assertion.addMethod("satisfy", satisfy); +Assertion.addMethod("satisfies", satisfy); +function closeTo(expected, delta, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"); + new Assertion(obj, flagMsg, ssfi, true).is.numeric; + let message = "A `delta` value is required for `closeTo`"; + if (delta == void 0) + throw new AssertionError( + flagMsg ? `${flagMsg}: ${message}` : message, + void 0, + ssfi + ); + new Assertion(delta, flagMsg, ssfi, true).is.numeric; + message = "A `expected` value is required for `closeTo`"; + if (expected == void 0) + throw new AssertionError( + flagMsg ? `${flagMsg}: ${message}` : message, + void 0, + ssfi + ); + new Assertion(expected, flagMsg, ssfi, true).is.numeric; + const abs = /* @__PURE__ */ __name((x) => x < 0n ? -x : x, "abs"); + const strip = /* @__PURE__ */ __name((number) => parseFloat(parseFloat(number).toPrecision(12)), "strip"); + this.assert( + strip(abs(obj - expected)) <= delta, + "expected #{this} to be close to " + expected + " +/- " + delta, + "expected #{this} not to be close to " + expected + " +/- " + delta + ); +} +__name(closeTo, "closeTo"); +Assertion.addMethod("closeTo", closeTo); +Assertion.addMethod("approximately", closeTo); +function isSubsetOf(_subset, _superset, cmp, contains, ordered) { + let superset = Array.from(_superset); + let subset = Array.from(_subset); + if (!contains) { + if (subset.length !== superset.length) + return false; + superset = superset.slice(); + } + return subset.every(function(elem, idx) { + if (ordered) + return cmp ? cmp(elem, superset[idx]) : elem === superset[idx]; + if (!cmp) { + var matchIdx = superset.indexOf(elem); + if (matchIdx === -1) + return false; + if (!contains) + superset.splice(matchIdx, 1); + return true; + } + return superset.some(function(elem2, matchIdx2) { + if (!cmp(elem, elem2)) + return false; + if (!contains) + superset.splice(matchIdx2, 1); + return true; + }); + }); +} +__name(isSubsetOf, "isSubsetOf"); +Assertion.addMethod("members", function(subset, msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"); + new Assertion(obj, flagMsg, ssfi, true).to.be.iterable; + new Assertion(subset, flagMsg, ssfi, true).to.be.iterable; + var contains = flag2(this, "contains"); + var ordered = flag2(this, "ordered"); + var subject, failMsg, failNegateMsg; + if (contains) { + subject = ordered ? "an ordered superset" : "a superset"; + failMsg = "expected #{this} to be " + subject + " of #{exp}"; + failNegateMsg = "expected #{this} to not be " + subject + " of #{exp}"; + } else { + subject = ordered ? "ordered members" : "members"; + failMsg = "expected #{this} to have the same " + subject + " as #{exp}"; + failNegateMsg = "expected #{this} to not have the same " + subject + " as #{exp}"; + } + var cmp = flag2(this, "deep") ? flag2(this, "eql") : void 0; + this.assert( + isSubsetOf(subset, obj, cmp, contains, ordered), + failMsg, + failNegateMsg, + subset, + obj, + true + ); +}); +Assertion.addProperty("iterable", function(msg) { + if (msg) + flag2(this, "message", msg); + var obj = flag2(this, "object"); + this.assert( + obj != void 0 && obj[Symbol.iterator], + "expected #{this} to be an iterable", + "expected #{this} to not be an iterable", + obj + ); +}); +function oneOf(list, msg) { + if (msg) + flag2(this, "message", msg); + var expected = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"), contains = flag2(this, "contains"), isDeep = flag2(this, "deep"), eql = flag2(this, "eql"); + new Assertion(list, flagMsg, ssfi, true).to.be.an("array"); + if (contains) { + this.assert( + list.some(function(possibility) { + return expected.indexOf(possibility) > -1; + }), + "expected #{this} to contain one of #{exp}", + "expected #{this} to not contain one of #{exp}", + list, + expected + ); + } else { + if (isDeep) { + this.assert( + list.some(function(possibility) { + return eql(expected, possibility); + }), + "expected #{this} to deeply equal one of #{exp}", + "expected #{this} to deeply equal one of #{exp}", + list, + expected + ); + } else { + this.assert( + list.indexOf(expected) > -1, + "expected #{this} to be one of #{exp}", + "expected #{this} to not be one of #{exp}", + list, + expected + ); + } + } +} +__name(oneOf, "oneOf"); +Assertion.addMethod("oneOf", oneOf); +function assertChanges(subject, prop, msg) { + if (msg) + flag2(this, "message", msg); + var fn = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"); + new Assertion(fn, flagMsg, ssfi, true).is.a("function"); + var initial; + if (!prop) { + new Assertion(subject, flagMsg, ssfi, true).is.a("function"); + initial = subject(); + } else { + new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop); + initial = subject[prop]; + } + fn(); + var final = prop === void 0 || prop === null ? subject() : subject[prop]; + var msgObj = prop === void 0 || prop === null ? initial : "." + prop; + flag2(this, "deltaMsgObj", msgObj); + flag2(this, "initialDeltaValue", initial); + flag2(this, "finalDeltaValue", final); + flag2(this, "deltaBehavior", "change"); + flag2(this, "realDelta", final !== initial); + this.assert( + initial !== final, + "expected " + msgObj + " to change", + "expected " + msgObj + " to not change" + ); +} +__name(assertChanges, "assertChanges"); +Assertion.addMethod("change", assertChanges); +Assertion.addMethod("changes", assertChanges); +function assertIncreases(subject, prop, msg) { + if (msg) + flag2(this, "message", msg); + var fn = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"); + new Assertion(fn, flagMsg, ssfi, true).is.a("function"); + var initial; + if (!prop) { + new Assertion(subject, flagMsg, ssfi, true).is.a("function"); + initial = subject(); + } else { + new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop); + initial = subject[prop]; + } + new Assertion(initial, flagMsg, ssfi, true).is.a("number"); + fn(); + var final = prop === void 0 || prop === null ? subject() : subject[prop]; + var msgObj = prop === void 0 || prop === null ? initial : "." + prop; + flag2(this, "deltaMsgObj", msgObj); + flag2(this, "initialDeltaValue", initial); + flag2(this, "finalDeltaValue", final); + flag2(this, "deltaBehavior", "increase"); + flag2(this, "realDelta", final - initial); + this.assert( + final - initial > 0, + "expected " + msgObj + " to increase", + "expected " + msgObj + " to not increase" + ); +} +__name(assertIncreases, "assertIncreases"); +Assertion.addMethod("increase", assertIncreases); +Assertion.addMethod("increases", assertIncreases); +function assertDecreases(subject, prop, msg) { + if (msg) + flag2(this, "message", msg); + var fn = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"); + new Assertion(fn, flagMsg, ssfi, true).is.a("function"); + var initial; + if (!prop) { + new Assertion(subject, flagMsg, ssfi, true).is.a("function"); + initial = subject(); + } else { + new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop); + initial = subject[prop]; + } + new Assertion(initial, flagMsg, ssfi, true).is.a("number"); + fn(); + var final = prop === void 0 || prop === null ? subject() : subject[prop]; + var msgObj = prop === void 0 || prop === null ? initial : "." + prop; + flag2(this, "deltaMsgObj", msgObj); + flag2(this, "initialDeltaValue", initial); + flag2(this, "finalDeltaValue", final); + flag2(this, "deltaBehavior", "decrease"); + flag2(this, "realDelta", initial - final); + this.assert( + final - initial < 0, + "expected " + msgObj + " to decrease", + "expected " + msgObj + " to not decrease" + ); +} +__name(assertDecreases, "assertDecreases"); +Assertion.addMethod("decrease", assertDecreases); +Assertion.addMethod("decreases", assertDecreases); +function assertDelta(delta, msg) { + if (msg) + flag2(this, "message", msg); + var msgObj = flag2(this, "deltaMsgObj"); + var initial = flag2(this, "initialDeltaValue"); + var final = flag2(this, "finalDeltaValue"); + var behavior = flag2(this, "deltaBehavior"); + var realDelta = flag2(this, "realDelta"); + var expression; + if (behavior === "change") { + expression = Math.abs(final - initial) === Math.abs(delta); + } else { + expression = realDelta === Math.abs(delta); + } + this.assert( + expression, + "expected " + msgObj + " to " + behavior + " by " + delta, + "expected " + msgObj + " to not " + behavior + " by " + delta + ); +} +__name(assertDelta, "assertDelta"); +Assertion.addMethod("by", assertDelta); +Assertion.addProperty("extensible", function() { + var obj = flag2(this, "object"); + var isExtensible = obj === Object(obj) && Object.isExtensible(obj); + this.assert( + isExtensible, + "expected #{this} to be extensible", + "expected #{this} to not be extensible" + ); +}); +Assertion.addProperty("sealed", function() { + var obj = flag2(this, "object"); + var isSealed = obj === Object(obj) ? Object.isSealed(obj) : true; + this.assert( + isSealed, + "expected #{this} to be sealed", + "expected #{this} to not be sealed" + ); +}); +Assertion.addProperty("frozen", function() { + var obj = flag2(this, "object"); + var isFrozen = obj === Object(obj) ? Object.isFrozen(obj) : true; + this.assert( + isFrozen, + "expected #{this} to be frozen", + "expected #{this} to not be frozen" + ); +}); +Assertion.addProperty("finite", function(_msg) { + var obj = flag2(this, "object"); + this.assert( + typeof obj === "number" && isFinite(obj), + "expected #{this} to be a finite number", + "expected #{this} to not be a finite number" + ); +}); +function compareSubset(expected, actual) { + if (expected === actual) { + return true; + } + if (typeof actual !== typeof expected) { + return false; + } + if (typeof expected !== "object" || expected === null) { + return expected === actual; + } + if (!actual) { + return false; + } + if (Array.isArray(expected)) { + if (!Array.isArray(actual)) { + return false; + } + return expected.every(function(exp) { + return actual.some(function(act) { + return compareSubset(exp, act); + }); + }); + } + if (expected instanceof Date) { + if (actual instanceof Date) { + return expected.getTime() === actual.getTime(); + } else { + return false; + } + } + return Object.keys(expected).every(function(key) { + var expectedValue = expected[key]; + var actualValue = actual[key]; + if (typeof expectedValue === "object" && expectedValue !== null && actualValue !== null) { + return compareSubset(expectedValue, actualValue); + } + if (typeof expectedValue === "function") { + return expectedValue(actualValue); + } + return actualValue === expectedValue; + }); +} +__name(compareSubset, "compareSubset"); +Assertion.addMethod("containSubset", function(expected) { + const actual = flag(this, "object"); + const showDiff = config.showDiff; + this.assert( + compareSubset(expected, actual), + "expected #{act} to contain subset #{exp}", + "expected #{act} to not contain subset #{exp}", + expected, + actual, + showDiff + ); +}); + +// lib/chai/interface/expect.js +function expect(val, message) { + return new Assertion(val, message); +} +__name(expect, "expect"); +expect.fail = function(actual, expected, message, operator) { + if (arguments.length < 2) { + message = actual; + actual = void 0; + } + message = message || "expect.fail()"; + throw new AssertionError( + message, + { + actual, + expected, + operator + }, + expect.fail + ); +}; + +// lib/chai/interface/should.js +var should_exports = {}; +__export(should_exports, { + Should: () => Should, + should: () => should +}); +function loadShould() { + function shouldGetter() { + if (this instanceof String || this instanceof Number || this instanceof Boolean || typeof Symbol === "function" && this instanceof Symbol || typeof BigInt === "function" && this instanceof BigInt) { + return new Assertion(this.valueOf(), null, shouldGetter); + } + return new Assertion(this, null, shouldGetter); + } + __name(shouldGetter, "shouldGetter"); + function shouldSetter(value) { + Object.defineProperty(this, "should", { + value, + enumerable: true, + configurable: true, + writable: true + }); + } + __name(shouldSetter, "shouldSetter"); + Object.defineProperty(Object.prototype, "should", { + set: shouldSetter, + get: shouldGetter, + configurable: true + }); + var should2 = {}; + should2.fail = function(actual, expected, message, operator) { + if (arguments.length < 2) { + message = actual; + actual = void 0; + } + message = message || "should.fail()"; + throw new AssertionError( + message, + { + actual, + expected, + operator + }, + should2.fail + ); + }; + should2.equal = function(actual, expected, message) { + new Assertion(actual, message).to.equal(expected); + }; + should2.Throw = function(fn, errt, errs, msg) { + new Assertion(fn, msg).to.Throw(errt, errs); + }; + should2.exist = function(val, msg) { + new Assertion(val, msg).to.exist; + }; + should2.not = {}; + should2.not.equal = function(actual, expected, msg) { + new Assertion(actual, msg).to.not.equal(expected); + }; + should2.not.Throw = function(fn, errt, errs, msg) { + new Assertion(fn, msg).to.not.Throw(errt, errs); + }; + should2.not.exist = function(val, msg) { + new Assertion(val, msg).to.not.exist; + }; + should2["throw"] = should2["Throw"]; + should2.not["throw"] = should2.not["Throw"]; + return should2; +} +__name(loadShould, "loadShould"); +var should = loadShould; +var Should = loadShould; + +// lib/chai/interface/assert.js +function assert(express, errmsg) { + var test2 = new Assertion(null, null, assert, true); + test2.assert(express, errmsg, "[ negation message unavailable ]"); +} +__name(assert, "assert"); +assert.fail = function(actual, expected, message, operator) { + if (arguments.length < 2) { + message = actual; + actual = void 0; + } + message = message || "assert.fail()"; + throw new AssertionError( + message, + { + actual, + expected, + operator + }, + assert.fail + ); +}; +assert.isOk = function(val, msg) { + new Assertion(val, msg, assert.isOk, true).is.ok; +}; +assert.isNotOk = function(val, msg) { + new Assertion(val, msg, assert.isNotOk, true).is.not.ok; +}; +assert.equal = function(act, exp, msg) { + var test2 = new Assertion(act, msg, assert.equal, true); + test2.assert( + exp == flag(test2, "object"), + "expected #{this} to equal #{exp}", + "expected #{this} to not equal #{act}", + exp, + act, + true + ); +}; +assert.notEqual = function(act, exp, msg) { + var test2 = new Assertion(act, msg, assert.notEqual, true); + test2.assert( + exp != flag(test2, "object"), + "expected #{this} to not equal #{exp}", + "expected #{this} to equal #{act}", + exp, + act, + true + ); +}; +assert.strictEqual = function(act, exp, msg) { + new Assertion(act, msg, assert.strictEqual, true).to.equal(exp); +}; +assert.notStrictEqual = function(act, exp, msg) { + new Assertion(act, msg, assert.notStrictEqual, true).to.not.equal(exp); +}; +assert.deepEqual = assert.deepStrictEqual = function(act, exp, msg) { + new Assertion(act, msg, assert.deepEqual, true).to.eql(exp); +}; +assert.notDeepEqual = function(act, exp, msg) { + new Assertion(act, msg, assert.notDeepEqual, true).to.not.eql(exp); +}; +assert.isAbove = function(val, abv, msg) { + new Assertion(val, msg, assert.isAbove, true).to.be.above(abv); +}; +assert.isAtLeast = function(val, atlst, msg) { + new Assertion(val, msg, assert.isAtLeast, true).to.be.least(atlst); +}; +assert.isBelow = function(val, blw, msg) { + new Assertion(val, msg, assert.isBelow, true).to.be.below(blw); +}; +assert.isAtMost = function(val, atmst, msg) { + new Assertion(val, msg, assert.isAtMost, true).to.be.most(atmst); +}; +assert.isTrue = function(val, msg) { + new Assertion(val, msg, assert.isTrue, true).is["true"]; +}; +assert.isNotTrue = function(val, msg) { + new Assertion(val, msg, assert.isNotTrue, true).to.not.equal(true); +}; +assert.isFalse = function(val, msg) { + new Assertion(val, msg, assert.isFalse, true).is["false"]; +}; +assert.isNotFalse = function(val, msg) { + new Assertion(val, msg, assert.isNotFalse, true).to.not.equal(false); +}; +assert.isNull = function(val, msg) { + new Assertion(val, msg, assert.isNull, true).to.equal(null); +}; +assert.isNotNull = function(val, msg) { + new Assertion(val, msg, assert.isNotNull, true).to.not.equal(null); +}; +assert.isNaN = function(val, msg) { + new Assertion(val, msg, assert.isNaN, true).to.be.NaN; +}; +assert.isNotNaN = function(value, message) { + new Assertion(value, message, assert.isNotNaN, true).not.to.be.NaN; +}; +assert.exists = function(val, msg) { + new Assertion(val, msg, assert.exists, true).to.exist; +}; +assert.notExists = function(val, msg) { + new Assertion(val, msg, assert.notExists, true).to.not.exist; +}; +assert.isUndefined = function(val, msg) { + new Assertion(val, msg, assert.isUndefined, true).to.equal(void 0); +}; +assert.isDefined = function(val, msg) { + new Assertion(val, msg, assert.isDefined, true).to.not.equal(void 0); +}; +assert.isCallable = function(value, message) { + new Assertion(value, message, assert.isCallable, true).is.callable; +}; +assert.isNotCallable = function(value, message) { + new Assertion(value, message, assert.isNotCallable, true).is.not.callable; +}; +assert.isObject = function(val, msg) { + new Assertion(val, msg, assert.isObject, true).to.be.a("object"); +}; +assert.isNotObject = function(val, msg) { + new Assertion(val, msg, assert.isNotObject, true).to.not.be.a("object"); +}; +assert.isArray = function(val, msg) { + new Assertion(val, msg, assert.isArray, true).to.be.an("array"); +}; +assert.isNotArray = function(val, msg) { + new Assertion(val, msg, assert.isNotArray, true).to.not.be.an("array"); +}; +assert.isString = function(val, msg) { + new Assertion(val, msg, assert.isString, true).to.be.a("string"); +}; +assert.isNotString = function(val, msg) { + new Assertion(val, msg, assert.isNotString, true).to.not.be.a("string"); +}; +assert.isNumber = function(val, msg) { + new Assertion(val, msg, assert.isNumber, true).to.be.a("number"); +}; +assert.isNotNumber = function(val, msg) { + new Assertion(val, msg, assert.isNotNumber, true).to.not.be.a("number"); +}; +assert.isNumeric = function(val, msg) { + new Assertion(val, msg, assert.isNumeric, true).is.numeric; +}; +assert.isNotNumeric = function(val, msg) { + new Assertion(val, msg, assert.isNotNumeric, true).is.not.numeric; +}; +assert.isFinite = function(val, msg) { + new Assertion(val, msg, assert.isFinite, true).to.be.finite; +}; +assert.isBoolean = function(val, msg) { + new Assertion(val, msg, assert.isBoolean, true).to.be.a("boolean"); +}; +assert.isNotBoolean = function(val, msg) { + new Assertion(val, msg, assert.isNotBoolean, true).to.not.be.a("boolean"); +}; +assert.typeOf = function(val, type3, msg) { + new Assertion(val, msg, assert.typeOf, true).to.be.a(type3); +}; +assert.notTypeOf = function(value, type3, message) { + new Assertion(value, message, assert.notTypeOf, true).to.not.be.a(type3); +}; +assert.instanceOf = function(val, type3, msg) { + new Assertion(val, msg, assert.instanceOf, true).to.be.instanceOf(type3); +}; +assert.notInstanceOf = function(val, type3, msg) { + new Assertion(val, msg, assert.notInstanceOf, true).to.not.be.instanceOf( + type3 + ); +}; +assert.include = function(exp, inc, msg) { + new Assertion(exp, msg, assert.include, true).include(inc); +}; +assert.notInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.notInclude, true).not.include(inc); +}; +assert.deepInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.deepInclude, true).deep.include(inc); +}; +assert.notDeepInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.notDeepInclude, true).not.deep.include(inc); +}; +assert.nestedInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.nestedInclude, true).nested.include(inc); +}; +assert.notNestedInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.notNestedInclude, true).not.nested.include( + inc + ); +}; +assert.deepNestedInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.deepNestedInclude, true).deep.nested.include( + inc + ); +}; +assert.notDeepNestedInclude = function(exp, inc, msg) { + new Assertion( + exp, + msg, + assert.notDeepNestedInclude, + true + ).not.deep.nested.include(inc); +}; +assert.ownInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.ownInclude, true).own.include(inc); +}; +assert.notOwnInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.notOwnInclude, true).not.own.include(inc); +}; +assert.deepOwnInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.deepOwnInclude, true).deep.own.include(inc); +}; +assert.notDeepOwnInclude = function(exp, inc, msg) { + new Assertion(exp, msg, assert.notDeepOwnInclude, true).not.deep.own.include( + inc + ); +}; +assert.match = function(exp, re, msg) { + new Assertion(exp, msg, assert.match, true).to.match(re); +}; +assert.notMatch = function(exp, re, msg) { + new Assertion(exp, msg, assert.notMatch, true).to.not.match(re); +}; +assert.property = function(obj, prop, msg) { + new Assertion(obj, msg, assert.property, true).to.have.property(prop); +}; +assert.notProperty = function(obj, prop, msg) { + new Assertion(obj, msg, assert.notProperty, true).to.not.have.property(prop); +}; +assert.propertyVal = function(obj, prop, val, msg) { + new Assertion(obj, msg, assert.propertyVal, true).to.have.property(prop, val); +}; +assert.notPropertyVal = function(obj, prop, val, msg) { + new Assertion(obj, msg, assert.notPropertyVal, true).to.not.have.property( + prop, + val + ); +}; +assert.deepPropertyVal = function(obj, prop, val, msg) { + new Assertion(obj, msg, assert.deepPropertyVal, true).to.have.deep.property( + prop, + val + ); +}; +assert.notDeepPropertyVal = function(obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.notDeepPropertyVal, + true + ).to.not.have.deep.property(prop, val); +}; +assert.ownProperty = function(obj, prop, msg) { + new Assertion(obj, msg, assert.ownProperty, true).to.have.own.property(prop); +}; +assert.notOwnProperty = function(obj, prop, msg) { + new Assertion(obj, msg, assert.notOwnProperty, true).to.not.have.own.property( + prop + ); +}; +assert.ownPropertyVal = function(obj, prop, value, msg) { + new Assertion(obj, msg, assert.ownPropertyVal, true).to.have.own.property( + prop, + value + ); +}; +assert.notOwnPropertyVal = function(obj, prop, value, msg) { + new Assertion( + obj, + msg, + assert.notOwnPropertyVal, + true + ).to.not.have.own.property(prop, value); +}; +assert.deepOwnPropertyVal = function(obj, prop, value, msg) { + new Assertion( + obj, + msg, + assert.deepOwnPropertyVal, + true + ).to.have.deep.own.property(prop, value); +}; +assert.notDeepOwnPropertyVal = function(obj, prop, value, msg) { + new Assertion( + obj, + msg, + assert.notDeepOwnPropertyVal, + true + ).to.not.have.deep.own.property(prop, value); +}; +assert.nestedProperty = function(obj, prop, msg) { + new Assertion(obj, msg, assert.nestedProperty, true).to.have.nested.property( + prop + ); +}; +assert.notNestedProperty = function(obj, prop, msg) { + new Assertion( + obj, + msg, + assert.notNestedProperty, + true + ).to.not.have.nested.property(prop); +}; +assert.nestedPropertyVal = function(obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.nestedPropertyVal, + true + ).to.have.nested.property(prop, val); +}; +assert.notNestedPropertyVal = function(obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.notNestedPropertyVal, + true + ).to.not.have.nested.property(prop, val); +}; +assert.deepNestedPropertyVal = function(obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.deepNestedPropertyVal, + true + ).to.have.deep.nested.property(prop, val); +}; +assert.notDeepNestedPropertyVal = function(obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.notDeepNestedPropertyVal, + true + ).to.not.have.deep.nested.property(prop, val); +}; +assert.lengthOf = function(exp, len, msg) { + new Assertion(exp, msg, assert.lengthOf, true).to.have.lengthOf(len); +}; +assert.hasAnyKeys = function(obj, keys, msg) { + new Assertion(obj, msg, assert.hasAnyKeys, true).to.have.any.keys(keys); +}; +assert.hasAllKeys = function(obj, keys, msg) { + new Assertion(obj, msg, assert.hasAllKeys, true).to.have.all.keys(keys); +}; +assert.containsAllKeys = function(obj, keys, msg) { + new Assertion(obj, msg, assert.containsAllKeys, true).to.contain.all.keys( + keys + ); +}; +assert.doesNotHaveAnyKeys = function(obj, keys, msg) { + new Assertion(obj, msg, assert.doesNotHaveAnyKeys, true).to.not.have.any.keys( + keys + ); +}; +assert.doesNotHaveAllKeys = function(obj, keys, msg) { + new Assertion(obj, msg, assert.doesNotHaveAllKeys, true).to.not.have.all.keys( + keys + ); +}; +assert.hasAnyDeepKeys = function(obj, keys, msg) { + new Assertion(obj, msg, assert.hasAnyDeepKeys, true).to.have.any.deep.keys( + keys + ); +}; +assert.hasAllDeepKeys = function(obj, keys, msg) { + new Assertion(obj, msg, assert.hasAllDeepKeys, true).to.have.all.deep.keys( + keys + ); +}; +assert.containsAllDeepKeys = function(obj, keys, msg) { + new Assertion( + obj, + msg, + assert.containsAllDeepKeys, + true + ).to.contain.all.deep.keys(keys); +}; +assert.doesNotHaveAnyDeepKeys = function(obj, keys, msg) { + new Assertion( + obj, + msg, + assert.doesNotHaveAnyDeepKeys, + true + ).to.not.have.any.deep.keys(keys); +}; +assert.doesNotHaveAllDeepKeys = function(obj, keys, msg) { + new Assertion( + obj, + msg, + assert.doesNotHaveAllDeepKeys, + true + ).to.not.have.all.deep.keys(keys); +}; +assert.throws = function(fn, errorLike, errMsgMatcher, msg) { + if ("string" === typeof errorLike || errorLike instanceof RegExp) { + errMsgMatcher = errorLike; + errorLike = null; + } + var assertErr = new Assertion(fn, msg, assert.throws, true).to.throw( + errorLike, + errMsgMatcher + ); + return flag(assertErr, "object"); +}; +assert.doesNotThrow = function(fn, errorLike, errMsgMatcher, message) { + if ("string" === typeof errorLike || errorLike instanceof RegExp) { + errMsgMatcher = errorLike; + errorLike = null; + } + new Assertion(fn, message, assert.doesNotThrow, true).to.not.throw( + errorLike, + errMsgMatcher + ); +}; +assert.operator = function(val, operator, val2, msg) { + var ok; + switch (operator) { + case "==": + ok = val == val2; + break; + case "===": + ok = val === val2; + break; + case ">": + ok = val > val2; + break; + case ">=": + ok = val >= val2; + break; + case "<": + ok = val < val2; + break; + case "<=": + ok = val <= val2; + break; + case "!=": + ok = val != val2; + break; + case "!==": + ok = val !== val2; + break; + default: + msg = msg ? msg + ": " : msg; + throw new AssertionError( + msg + 'Invalid operator "' + operator + '"', + void 0, + assert.operator + ); + } + var test2 = new Assertion(ok, msg, assert.operator, true); + test2.assert( + true === flag(test2, "object"), + "expected " + inspect2(val) + " to be " + operator + " " + inspect2(val2), + "expected " + inspect2(val) + " to not be " + operator + " " + inspect2(val2) + ); +}; +assert.closeTo = function(act, exp, delta, msg) { + new Assertion(act, msg, assert.closeTo, true).to.be.closeTo(exp, delta); +}; +assert.approximately = function(act, exp, delta, msg) { + new Assertion(act, msg, assert.approximately, true).to.be.approximately( + exp, + delta + ); +}; +assert.sameMembers = function(set1, set2, msg) { + new Assertion(set1, msg, assert.sameMembers, true).to.have.same.members(set2); +}; +assert.notSameMembers = function(set1, set2, msg) { + new Assertion( + set1, + msg, + assert.notSameMembers, + true + ).to.not.have.same.members(set2); +}; +assert.sameDeepMembers = function(set1, set2, msg) { + new Assertion( + set1, + msg, + assert.sameDeepMembers, + true + ).to.have.same.deep.members(set2); +}; +assert.notSameDeepMembers = function(set1, set2, msg) { + new Assertion( + set1, + msg, + assert.notSameDeepMembers, + true + ).to.not.have.same.deep.members(set2); +}; +assert.sameOrderedMembers = function(set1, set2, msg) { + new Assertion( + set1, + msg, + assert.sameOrderedMembers, + true + ).to.have.same.ordered.members(set2); +}; +assert.notSameOrderedMembers = function(set1, set2, msg) { + new Assertion( + set1, + msg, + assert.notSameOrderedMembers, + true + ).to.not.have.same.ordered.members(set2); +}; +assert.sameDeepOrderedMembers = function(set1, set2, msg) { + new Assertion( + set1, + msg, + assert.sameDeepOrderedMembers, + true + ).to.have.same.deep.ordered.members(set2); +}; +assert.notSameDeepOrderedMembers = function(set1, set2, msg) { + new Assertion( + set1, + msg, + assert.notSameDeepOrderedMembers, + true + ).to.not.have.same.deep.ordered.members(set2); +}; +assert.includeMembers = function(superset, subset, msg) { + new Assertion(superset, msg, assert.includeMembers, true).to.include.members( + subset + ); +}; +assert.notIncludeMembers = function(superset, subset, msg) { + new Assertion( + superset, + msg, + assert.notIncludeMembers, + true + ).to.not.include.members(subset); +}; +assert.includeDeepMembers = function(superset, subset, msg) { + new Assertion( + superset, + msg, + assert.includeDeepMembers, + true + ).to.include.deep.members(subset); +}; +assert.notIncludeDeepMembers = function(superset, subset, msg) { + new Assertion( + superset, + msg, + assert.notIncludeDeepMembers, + true + ).to.not.include.deep.members(subset); +}; +assert.includeOrderedMembers = function(superset, subset, msg) { + new Assertion( + superset, + msg, + assert.includeOrderedMembers, + true + ).to.include.ordered.members(subset); +}; +assert.notIncludeOrderedMembers = function(superset, subset, msg) { + new Assertion( + superset, + msg, + assert.notIncludeOrderedMembers, + true + ).to.not.include.ordered.members(subset); +}; +assert.includeDeepOrderedMembers = function(superset, subset, msg) { + new Assertion( + superset, + msg, + assert.includeDeepOrderedMembers, + true + ).to.include.deep.ordered.members(subset); +}; +assert.notIncludeDeepOrderedMembers = function(superset, subset, msg) { + new Assertion( + superset, + msg, + assert.notIncludeDeepOrderedMembers, + true + ).to.not.include.deep.ordered.members(subset); +}; +assert.oneOf = function(inList, list, msg) { + new Assertion(inList, msg, assert.oneOf, true).to.be.oneOf(list); +}; +assert.isIterable = function(obj, msg) { + if (obj == void 0 || !obj[Symbol.iterator]) { + msg = msg ? `${msg} expected ${inspect2(obj)} to be an iterable` : `expected ${inspect2(obj)} to be an iterable`; + throw new AssertionError(msg, void 0, assert.isIterable); + } +}; +assert.changes = function(fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === "function") { + msg = prop; + prop = null; + } + new Assertion(fn, msg, assert.changes, true).to.change(obj, prop); +}; +assert.changesBy = function(fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === "function") { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + new Assertion(fn, msg, assert.changesBy, true).to.change(obj, prop).by(delta); +}; +assert.doesNotChange = function(fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === "function") { + msg = prop; + prop = null; + } + return new Assertion(fn, msg, assert.doesNotChange, true).to.not.change( + obj, + prop + ); +}; +assert.changesButNotBy = function(fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === "function") { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + new Assertion(fn, msg, assert.changesButNotBy, true).to.change(obj, prop).but.not.by(delta); +}; +assert.increases = function(fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === "function") { + msg = prop; + prop = null; + } + return new Assertion(fn, msg, assert.increases, true).to.increase(obj, prop); +}; +assert.increasesBy = function(fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === "function") { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + new Assertion(fn, msg, assert.increasesBy, true).to.increase(obj, prop).by(delta); +}; +assert.doesNotIncrease = function(fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === "function") { + msg = prop; + prop = null; + } + return new Assertion(fn, msg, assert.doesNotIncrease, true).to.not.increase( + obj, + prop + ); +}; +assert.increasesButNotBy = function(fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === "function") { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + new Assertion(fn, msg, assert.increasesButNotBy, true).to.increase(obj, prop).but.not.by(delta); +}; +assert.decreases = function(fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === "function") { + msg = prop; + prop = null; + } + return new Assertion(fn, msg, assert.decreases, true).to.decrease(obj, prop); +}; +assert.decreasesBy = function(fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === "function") { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + new Assertion(fn, msg, assert.decreasesBy, true).to.decrease(obj, prop).by(delta); +}; +assert.doesNotDecrease = function(fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === "function") { + msg = prop; + prop = null; + } + return new Assertion(fn, msg, assert.doesNotDecrease, true).to.not.decrease( + obj, + prop + ); +}; +assert.doesNotDecreaseBy = function(fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === "function") { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + return new Assertion(fn, msg, assert.doesNotDecreaseBy, true).to.not.decrease(obj, prop).by(delta); +}; +assert.decreasesButNotBy = function(fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === "function") { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + new Assertion(fn, msg, assert.decreasesButNotBy, true).to.decrease(obj, prop).but.not.by(delta); +}; +assert.ifError = function(val) { + if (val) { + throw val; + } +}; +assert.isExtensible = function(obj, msg) { + new Assertion(obj, msg, assert.isExtensible, true).to.be.extensible; +}; +assert.isNotExtensible = function(obj, msg) { + new Assertion(obj, msg, assert.isNotExtensible, true).to.not.be.extensible; +}; +assert.isSealed = function(obj, msg) { + new Assertion(obj, msg, assert.isSealed, true).to.be.sealed; +}; +assert.isNotSealed = function(obj, msg) { + new Assertion(obj, msg, assert.isNotSealed, true).to.not.be.sealed; +}; +assert.isFrozen = function(obj, msg) { + new Assertion(obj, msg, assert.isFrozen, true).to.be.frozen; +}; +assert.isNotFrozen = function(obj, msg) { + new Assertion(obj, msg, assert.isNotFrozen, true).to.not.be.frozen; +}; +assert.isEmpty = function(val, msg) { + new Assertion(val, msg, assert.isEmpty, true).to.be.empty; +}; +assert.isNotEmpty = function(val, msg) { + new Assertion(val, msg, assert.isNotEmpty, true).to.not.be.empty; +}; +assert.containsSubset = function(val, exp, msg) { + new Assertion(val, msg).to.containSubset(exp); +}; +assert.doesNotContainSubset = function(val, exp, msg) { + new Assertion(val, msg).to.not.containSubset(exp); +}; +var aliases = [ + ["isOk", "ok"], + ["isNotOk", "notOk"], + ["throws", "throw"], + ["throws", "Throw"], + ["isExtensible", "extensible"], + ["isNotExtensible", "notExtensible"], + ["isSealed", "sealed"], + ["isNotSealed", "notSealed"], + ["isFrozen", "frozen"], + ["isNotFrozen", "notFrozen"], + ["isEmpty", "empty"], + ["isNotEmpty", "notEmpty"], + ["isCallable", "isFunction"], + ["isNotCallable", "isNotFunction"], + ["containsSubset", "containSubset"] +]; +for (const [name, as] of aliases) { + assert[as] = assert[name]; +} + +// lib/chai.js +var used = []; +function use(fn) { + const exports = { + use, + AssertionError, + util: utils_exports, + config, + expect, + assert, + Assertion, + ...should_exports + }; + if (!~used.indexOf(fn)) { + fn(exports, utils_exports); + used.push(fn); + } + return exports; +} +__name(use, "use"); +export { + Assertion, + AssertionError, + Should, + assert, + config, + expect, + should, + use, + utils_exports as util +}; +/*! + * Chai - flag utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - test utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - expectTypes utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - getActual utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - message composition utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - transferFlags utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * chai + * http://chaijs.com + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - isProxyEnabled helper + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - addProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - addLengthGuard utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - getProperties utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - proxify utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - addMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - overwriteProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - overwriteMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - addChainingMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - overwriteChainableMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ +/*! + * Chai - compareByInspect utility + * Copyright(c) 2011-2016 Jake Luer + * MIT Licensed + */ +/*! + * Chai - getOwnEnumerablePropertySymbols utility + * Copyright(c) 2011-2016 Jake Luer + * MIT Licensed + */ +/*! + * Chai - getOwnEnumerableProperties utility + * Copyright(c) 2011-2016 Jake Luer + * MIT Licensed + */ +/*! + * Chai - isNaN utility + * Copyright(c) 2012-2015 Sakthipriyan Vairamani + * MIT Licensed + */ +/*! + * chai + * Copyright(c) 2011 Jake Luer + * MIT Licensed + */ +/*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ +/*! Bundled license information: + +deep-eql/index.js: + (*! + * deep-eql + * Copyright(c) 2013 Jake Luer + * MIT Licensed + *) + (*! + * Check to see if the MemoizeMap has recorded a result of the two operands + * + * @param {Mixed} leftHandOperand + * @param {Mixed} rightHandOperand + * @param {MemoizeMap} memoizeMap + * @returns {Boolean|null} result + *) + (*! + * Set the result of the equality into the MemoizeMap + * + * @param {Mixed} leftHandOperand + * @param {Mixed} rightHandOperand + * @param {MemoizeMap} memoizeMap + * @param {Boolean} result + *) + (*! + * Primary Export + *) + (*! + * The main logic of the `deepEqual` function. + * + * @param {Mixed} leftHandOperand + * @param {Mixed} rightHandOperand + * @param {Object} [options] (optional) Additional options + * @param {Array} [options.comparator] (optional) Override default algorithm, determining custom equality. + * @param {Array} [options.memoize] (optional) Provide a custom memoization object which will cache the results of + complex objects for a speed boost. By passing `false` you can disable memoization, but this will cause circular + references to blow the stack. + * @return {Boolean} equal match + *) + (*! + * Compare two Regular Expressions for equality. + * + * @param {RegExp} leftHandOperand + * @param {RegExp} rightHandOperand + * @return {Boolean} result + *) + (*! + * Compare two Sets/Maps for equality. Faster than other equality functions. + * + * @param {Set} leftHandOperand + * @param {Set} rightHandOperand + * @param {Object} [options] (Optional) + * @return {Boolean} result + *) + (*! + * Simple equality for flat iterable objects such as Arrays, TypedArrays or Node.js buffers. + * + * @param {Iterable} leftHandOperand + * @param {Iterable} rightHandOperand + * @param {Object} [options] (Optional) + * @return {Boolean} result + *) + (*! + * Simple equality for generator objects such as those returned by generator functions. + * + * @param {Iterable} leftHandOperand + * @param {Iterable} rightHandOperand + * @param {Object} [options] (Optional) + * @return {Boolean} result + *) + (*! + * Determine if the given object has an @@iterator function. + * + * @param {Object} target + * @return {Boolean} `true` if the object has an @@iterator function. + *) + (*! + * Gets all iterator entries from the given Object. If the Object has no @@iterator function, returns an empty array. + * This will consume the iterator - which could have side effects depending on the @@iterator implementation. + * + * @param {Object} target + * @returns {Array} an array of entries from the @@iterator function + *) + (*! + * Gets all entries from a Generator. This will consume the generator - which could have side effects. + * + * @param {Generator} target + * @returns {Array} an array of entries from the Generator. + *) + (*! + * Gets all own and inherited enumerable keys from a target. + * + * @param {Object} target + * @returns {Array} an array of own and inherited enumerable keys from the target. + *) + (*! + * Determines if two objects have matching values, given a set of keys. Defers to deepEqual for the equality check of + * each key. If any value of the given key is not equal, the function will return false (early). + * + * @param {Mixed} leftHandOperand + * @param {Mixed} rightHandOperand + * @param {Array} keys An array of keys to compare the values of leftHandOperand and rightHandOperand against + * @param {Object} [options] (Optional) + * @return {Boolean} result + *) + (*! + * Recursively check the equality of two Objects. Once basic sameness has been established it will defer to `deepEqual` + * for each enumerable key in the object. + * + * @param {Mixed} leftHandOperand + * @param {Mixed} rightHandOperand + * @param {Object} [options] (Optional) + * @return {Boolean} result + *) + (*! + * Returns true if the argument is a primitive. + * + * This intentionally returns true for all objects that can be compared by reference, + * including functions and symbols. + * + * @param {Mixed} value + * @return {Boolean} result + *) +*/ diff --git a/node_modules/chai/eslint.config.js b/node_modules/chai/eslint.config.js new file mode 100644 index 0000000..22339fc --- /dev/null +++ b/node_modules/chai/eslint.config.js @@ -0,0 +1,26 @@ +import jsdoc from "eslint-plugin-jsdoc"; +import eslintjs from "@eslint/js"; + +const {configs: eslintConfigs} = eslintjs; + +export default [ + jsdoc.configs["flat/recommended"], + eslintConfigs["recommended"], + { + languageOptions: { + // if we ever use more globals than this, pull in the `globals` package + globals: { + console: false + } + }, + rules: { + "jsdoc/require-param-description": "off", + "jsdoc/require-returns-description": "off", + "jsdoc/tag-lines": ["error", "any", { startLines: 1 }], + "no-unused-vars": ["error", { + argsIgnorePattern: "^_", + caughtErrorsIgnorePattern: "^_" + }] + }, + }, +]; diff --git a/node_modules/chai/index.js b/node_modules/chai/index.js new file mode 100644 index 0000000..ea48748 --- /dev/null +++ b/node_modules/chai/index.js @@ -0,0 +1 @@ +export * from './lib/chai.js'; diff --git a/node_modules/chai/lib/chai.js b/node_modules/chai/lib/chai.js new file mode 100644 index 0000000..1918689 --- /dev/null +++ b/node_modules/chai/lib/chai.js @@ -0,0 +1,66 @@ +/*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +import * as util from './chai/utils/index.js'; +import {AssertionError} from 'assertion-error'; +import {config} from './chai/config.js'; +import './chai/core/assertions.js'; +import {expect} from './chai/interface/expect.js'; +import {Assertion} from './chai/assertion.js'; +import * as should from './chai/interface/should.js'; +import {assert} from './chai/interface/assert.js'; + +const used = []; + +// Assertion Error +export {AssertionError}; + +/** + * # .use(function) + * + * Provides a way to extend the internals of Chai. + * + * @param {Function} fn + * @returns {this} for chaining + * @public + */ +export function use(fn) { + const exports = { + use, + AssertionError, + util, + config, + expect, + assert, + Assertion, + ...should + }; + + if (!~used.indexOf(fn)) { + fn(exports, util); + used.push(fn); + } + + return exports; +} + +// Utility Functions +export {util}; + +// Configuration +export {config}; + +// Primary `Assertion` prototype +export * from './chai/assertion.js'; + +// Expect interface +export * from './chai/interface/expect.js'; + +// Should interface +export * from './chai/interface/should.js'; + +// Assert interface +export * from './chai/interface/assert.js'; diff --git a/node_modules/chai/lib/chai/assertion.js b/node_modules/chai/lib/chai/assertion.js new file mode 100644 index 0000000..2969d3e --- /dev/null +++ b/node_modules/chai/lib/chai/assertion.js @@ -0,0 +1,180 @@ +/*! + * chai + * http://chaijs.com + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +import {config} from './config.js'; +import {AssertionError} from 'assertion-error'; +import * as util from './utils/index.js'; + +/** + * Assertion Constructor + * + * Creates object for chaining. + * + * `Assertion` objects contain metadata in the form of flags. Three flags can + * be assigned during instantiation by passing arguments to this constructor: + * + * - `object`: This flag contains the target of the assertion. For example, in + * the assertion `expect(numKittens).to.equal(7);`, the `object` flag will + * contain `numKittens` so that the `equal` assertion can reference it when + * needed. + * + * - `message`: This flag contains an optional custom error message to be + * prepended to the error message that's generated by the assertion when it + * fails. + * + * - `ssfi`: This flag stands for "start stack function indicator". It + * contains a function reference that serves as the starting point for + * removing frames from the stack trace of the error that's created by the + * assertion when it fails. The goal is to provide a cleaner stack trace to + * end users by removing Chai's internal functions. Note that it only works + * in environments that support `Error.captureStackTrace`, and only when + * `Chai.config.includeStack` hasn't been set to `false`. + * + * - `lockSsfi`: This flag controls whether or not the given `ssfi` flag + * should retain its current value, even as assertions are chained off of + * this object. This is usually set to `true` when creating a new assertion + * from within another assertion. It's also temporarily set to `true` before + * an overwritten assertion gets called by the overwriting assertion. + * + * - `eql`: This flag contains the deepEqual function to be used by the assertion. + * + * @param {unknown} obj target of the assertion + * @param {string} msg (optional) custom error message + * @param {Function} ssfi (optional) starting point for removing stack frames + * @param {boolean} lockSsfi (optional) whether or not the ssfi flag is locked + * @returns {unknown} + * @private + */ +export function Assertion(obj, msg, ssfi, lockSsfi) { + util.flag(this, 'ssfi', ssfi || Assertion); + util.flag(this, 'lockSsfi', lockSsfi); + util.flag(this, 'object', obj); + util.flag(this, 'message', msg); + util.flag(this, 'eql', config.deepEqual || util.eql); + + return util.proxify(this); +} + +Object.defineProperty(Assertion, 'includeStack', { + get: function () { + console.warn( + 'Assertion.includeStack is deprecated, use chai.config.includeStack instead.' + ); + return config.includeStack; + }, + set: function (value) { + console.warn( + 'Assertion.includeStack is deprecated, use chai.config.includeStack instead.' + ); + config.includeStack = value; + } +}); + +Object.defineProperty(Assertion, 'showDiff', { + get: function () { + console.warn( + 'Assertion.showDiff is deprecated, use chai.config.showDiff instead.' + ); + return config.showDiff; + }, + set: function (value) { + console.warn( + 'Assertion.showDiff is deprecated, use chai.config.showDiff instead.' + ); + config.showDiff = value; + } +}); + +Assertion.addProperty = function (name, fn) { + util.addProperty(this.prototype, name, fn); +}; + +Assertion.addMethod = function (name, fn) { + util.addMethod(this.prototype, name, fn); +}; + +Assertion.addChainableMethod = function (name, fn, chainingBehavior) { + util.addChainableMethod(this.prototype, name, fn, chainingBehavior); +}; + +Assertion.overwriteProperty = function (name, fn) { + util.overwriteProperty(this.prototype, name, fn); +}; + +Assertion.overwriteMethod = function (name, fn) { + util.overwriteMethod(this.prototype, name, fn); +}; + +Assertion.overwriteChainableMethod = function (name, fn, chainingBehavior) { + util.overwriteChainableMethod(this.prototype, name, fn, chainingBehavior); +}; + +/** + * ### .assert(expression, message, negateMessage, expected, actual, showDiff) + * + * Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass. + * + * @name assert + * @param {unknown} expression to be tested + * @param {string | Function} message or function that returns message to display if expression fails + * @param {string | Function} negatedMessage or function that returns negatedMessage to display if negated expression fails + * @param {unknown} expected value (remember to check for negation) + * @param {unknown} actual (optional) will default to `this.obj` + * @param {boolean} showDiff (optional) when set to `true`, assert will display a diff in addition to the message if expression fails + * @private + */ + +Assertion.prototype.assert = function ( + expr, + msg, + negateMsg, + expected, + _actual, + showDiff +) { + var ok = util.test(this, arguments); + if (false !== showDiff) showDiff = true; + if (undefined === expected && undefined === _actual) showDiff = false; + if (true !== config.showDiff) showDiff = false; + + if (!ok) { + msg = util.getMessage(this, arguments); + var actual = util.getActual(this, arguments); + var assertionErrorObjectProperties = { + actual: actual, + expected: expected, + showDiff: showDiff + }; + + var operator = util.getOperator(this, arguments); + if (operator) { + assertionErrorObjectProperties.operator = operator; + } + + throw new AssertionError( + msg, + assertionErrorObjectProperties, + config.includeStack ? this.assert : util.flag(this, 'ssfi') + ); + } +}; + +/** + * ### ._obj + * + * Quick reference to stored `actual` value for plugin developers. + * + * @private + */ +Object.defineProperty(Assertion.prototype, '_obj', { + get: function () { + return util.flag(this, 'object'); + }, + set: function (val) { + util.flag(this, 'object', val); + } +}); diff --git a/node_modules/chai/lib/chai/config.js b/node_modules/chai/lib/chai/config.js new file mode 100644 index 0000000..07a1bbe --- /dev/null +++ b/node_modules/chai/lib/chai/config.js @@ -0,0 +1,112 @@ +export const config = { + /** + * ### config.includeStack + * + * User configurable property, influences whether stack trace + * is included in Assertion error message. Default of false + * suppresses stack trace in the error message. + * + * chai.config.includeStack = true; // enable stack on error + * + * @param {boolean} + * @public + */ + includeStack: false, + + /** + * ### config.showDiff + * + * User configurable property, influences whether or not + * the `showDiff` flag should be included in the thrown + * AssertionErrors. `false` will always be `false`; `true` + * will be true when the assertion has requested a diff + * be shown. + * + * @param {boolean} + * @public + */ + showDiff: true, + + /** + * ### config.truncateThreshold + * + * User configurable property, sets length threshold for actual and + * expected values in assertion errors. If this threshold is exceeded, for + * example for large data structures, the value is replaced with something + * like `[ Array(3) ]` or `{ Object (prop1, prop2) }`. + * + * Set it to zero if you want to disable truncating altogether. + * + * This is especially userful when doing assertions on arrays: having this + * set to a reasonable large value makes the failure messages readily + * inspectable. + * + * chai.config.truncateThreshold = 0; // disable truncating + * + * @param {number} + * @public + */ + truncateThreshold: 40, + + /** + * ### config.useProxy + * + * User configurable property, defines if chai will use a Proxy to throw + * an error when a non-existent property is read, which protects users + * from typos when using property-based assertions. + * + * Set it to false if you want to disable this feature. + * + * chai.config.useProxy = false; // disable use of Proxy + * + * This feature is automatically disabled regardless of this config value + * in environments that don't support proxies. + * + * @param {boolean} + * @public + */ + useProxy: true, + + /** + * ### config.proxyExcludedKeys + * + * User configurable property, defines which properties should be ignored + * instead of throwing an error if they do not exist on the assertion. + * This is only applied if the environment Chai is running in supports proxies and + * if the `useProxy` configuration setting is enabled. + * By default, `then` and `inspect` will not throw an error if they do not exist on the + * assertion object because the `.inspect` property is read by `util.inspect` (for example, when + * using `console.log` on the assertion object) and `.then` is necessary for promise type-checking. + * + * // By default these keys will not throw an error if they do not exist on the assertion object + * chai.config.proxyExcludedKeys = ['then', 'inspect']; + * + * @param {Array} + * @public + */ + proxyExcludedKeys: ['then', 'catch', 'inspect', 'toJSON'], + + /** + * ### config.deepEqual + * + * User configurable property, defines which a custom function to use for deepEqual + * comparisons. + * By default, the function used is the one from the `deep-eql` package without custom comparator. + * + * // use a custom comparator + * chai.config.deepEqual = (expected, actual) => { + * return chai.util.eql(expected, actual, { + * comparator: (expected, actual) => { + * // for non number comparison, use the default behavior + * if(typeof expected !== 'number') return null; + * // allow a difference of 10 between compared numbers + * return typeof actual === 'number' && Math.abs(actual - expected) < 10 + * } + * }) + * }; + * + * @param {Function} + * @public + */ + deepEqual: null +}; diff --git a/node_modules/chai/lib/chai/core/assertions.js b/node_modules/chai/lib/chai/core/assertions.js new file mode 100644 index 0000000..90a9017 --- /dev/null +++ b/node_modules/chai/lib/chai/core/assertions.js @@ -0,0 +1,4157 @@ +/*! + * chai + * http://chaijs.com + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +import {Assertion} from '../assertion.js'; +import {AssertionError} from 'assertion-error'; +import * as _ from '../utils/index.js'; +import {config} from '../config.js'; + +const {flag} = _; + +/** + * ### Language Chains + * + * The following are provided as chainable getters to improve the readability + * of your assertions. + * + * **Chains** + * + * - to + * - be + * - been + * - is + * - that + * - which + * - and + * - has + * - have + * - with + * - at + * - of + * - same + * - but + * - does + * - still + * - also + * + * @name language chains + * @namespace BDD + * @public + */ + +[ + 'to', + 'be', + 'been', + 'is', + 'and', + 'has', + 'have', + 'with', + 'that', + 'which', + 'at', + 'of', + 'same', + 'but', + 'does', + 'still', + 'also' +].forEach(function (chain) { + Assertion.addProperty(chain); +}); + +/** + * ### .not + * + * Negates all assertions that follow in the chain. + * + * expect(function () {}).to.not.throw(); + * expect({a: 1}).to.not.have.property('b'); + * expect([1, 2]).to.be.an('array').that.does.not.include(3); + * + * Just because you can negate any assertion with `.not` doesn't mean you + * should. With great power comes great responsibility. It's often best to + * assert that the one expected output was produced, rather than asserting + * that one of countless unexpected outputs wasn't produced. See individual + * assertions for specific guidance. + * + * expect(2).to.equal(2); // Recommended + * expect(2).to.not.equal(1); // Not recommended + * + * @name not + * @namespace BDD + * @public + */ + +Assertion.addProperty('not', function () { + flag(this, 'negate', true); +}); + +/** + * ### .deep + * + * Causes all `.equal`, `.include`, `.members`, `.keys`, and `.property` + * assertions that follow in the chain to use deep equality instead of strict + * (`===`) equality. See the `deep-eql` project page for info on the deep + * equality algorithm: https://github.com/chaijs/deep-eql. + * + * // Target object deeply (but not strictly) equals `{a: 1}` + * expect({a: 1}).to.deep.equal({a: 1}); + * expect({a: 1}).to.not.equal({a: 1}); + * + * // Target array deeply (but not strictly) includes `{a: 1}` + * expect([{a: 1}]).to.deep.include({a: 1}); + * expect([{a: 1}]).to.not.include({a: 1}); + * + * // Target object deeply (but not strictly) includes `x: {a: 1}` + * expect({x: {a: 1}}).to.deep.include({x: {a: 1}}); + * expect({x: {a: 1}}).to.not.include({x: {a: 1}}); + * + * // Target array deeply (but not strictly) has member `{a: 1}` + * expect([{a: 1}]).to.have.deep.members([{a: 1}]); + * expect([{a: 1}]).to.not.have.members([{a: 1}]); + * + * // Target set deeply (but not strictly) has key `{a: 1}` + * expect(new Set([{a: 1}])).to.have.deep.keys([{a: 1}]); + * expect(new Set([{a: 1}])).to.not.have.keys([{a: 1}]); + * + * // Target object deeply (but not strictly) has property `x: {a: 1}` + * expect({x: {a: 1}}).to.have.deep.property('x', {a: 1}); + * expect({x: {a: 1}}).to.not.have.property('x', {a: 1}); + * + * @name deep + * @namespace BDD + * @public + */ + +Assertion.addProperty('deep', function () { + flag(this, 'deep', true); +}); + +/** + * ### .nested + * + * Enables dot- and bracket-notation in all `.property` and `.include` + * assertions that follow in the chain. + * + * expect({a: {b: ['x', 'y']}}).to.have.nested.property('a.b[1]'); + * expect({a: {b: ['x', 'y']}}).to.nested.include({'a.b[1]': 'y'}); + * + * If `.` or `[]` are part of an actual property name, they can be escaped by + * adding two backslashes before them. + * + * expect({'.a': {'[b]': 'x'}}).to.have.nested.property('\\.a.\\[b\\]'); + * expect({'.a': {'[b]': 'x'}}).to.nested.include({'\\.a.\\[b\\]': 'x'}); + * + * `.nested` cannot be combined with `.own`. + * + * @name nested + * @namespace BDD + * @public + */ + +Assertion.addProperty('nested', function () { + flag(this, 'nested', true); +}); + +/** + * ### .own + * + * Causes all `.property` and `.include` assertions that follow in the chain + * to ignore inherited properties. + * + * Object.prototype.b = 2; + * + * expect({a: 1}).to.have.own.property('a'); + * expect({a: 1}).to.have.property('b'); + * expect({a: 1}).to.not.have.own.property('b'); + * + * expect({a: 1}).to.own.include({a: 1}); + * expect({a: 1}).to.include({b: 2}).but.not.own.include({b: 2}); + * + * `.own` cannot be combined with `.nested`. + * + * @name own + * @namespace BDD + * @public + */ + +Assertion.addProperty('own', function () { + flag(this, 'own', true); +}); + +/** + * ### .ordered + * + * Causes all `.members` assertions that follow in the chain to require that + * members be in the same order. + * + * expect([1, 2]).to.have.ordered.members([1, 2]) + * .but.not.have.ordered.members([2, 1]); + * + * When `.include` and `.ordered` are combined, the ordering begins at the + * start of both arrays. + * + * expect([1, 2, 3]).to.include.ordered.members([1, 2]) + * .but.not.include.ordered.members([2, 3]); + * + * @name ordered + * @namespace BDD + * @public + */ + +Assertion.addProperty('ordered', function () { + flag(this, 'ordered', true); +}); + +/** + * ### .any + * + * Causes all `.keys` assertions that follow in the chain to only require that + * the target have at least one of the given keys. This is the opposite of + * `.all`, which requires that the target have all of the given keys. + * + * expect({a: 1, b: 2}).to.not.have.any.keys('c', 'd'); + * + * See the `.keys` doc for guidance on when to use `.any` or `.all`. + * + * @name any + * @namespace BDD + * @public + */ + +Assertion.addProperty('any', function () { + flag(this, 'any', true); + flag(this, 'all', false); +}); + +/** + * ### .all + * + * Causes all `.keys` assertions that follow in the chain to require that the + * target have all of the given keys. This is the opposite of `.any`, which + * only requires that the target have at least one of the given keys. + * + * expect({a: 1, b: 2}).to.have.all.keys('a', 'b'); + * + * Note that `.all` is used by default when neither `.all` nor `.any` are + * added earlier in the chain. However, it's often best to add `.all` anyway + * because it improves readability. + * + * See the `.keys` doc for guidance on when to use `.any` or `.all`. + * + * @name all + * @namespace BDD + * @public + */ +Assertion.addProperty('all', function () { + flag(this, 'all', true); + flag(this, 'any', false); +}); + +const functionTypes = { + function: [ + 'function', + 'asyncfunction', + 'generatorfunction', + 'asyncgeneratorfunction' + ], + asyncfunction: ['asyncfunction', 'asyncgeneratorfunction'], + generatorfunction: ['generatorfunction', 'asyncgeneratorfunction'], + asyncgeneratorfunction: ['asyncgeneratorfunction'] +}; + +/** + * ### .a(type[, msg]) + * + * Asserts that the target's type is equal to the given string `type`. Types + * are case insensitive. See the utility file `./type-detect.js` for info on the + * type detection algorithm. + * + * expect('foo').to.be.a('string'); + * expect({a: 1}).to.be.an('object'); + * expect(null).to.be.a('null'); + * expect(undefined).to.be.an('undefined'); + * expect(new Error).to.be.an('error'); + * expect(Promise.resolve()).to.be.a('promise'); + * expect(new Float32Array).to.be.a('float32array'); + * expect(Symbol()).to.be.a('symbol'); + * + * `.a` supports objects that have a custom type set via `Symbol.toStringTag`. + * + * var myObj = { + * [Symbol.toStringTag]: 'myCustomType' + * }; + * + * expect(myObj).to.be.a('myCustomType').but.not.an('object'); + * + * It's often best to use `.a` to check a target's type before making more + * assertions on the same target. That way, you avoid unexpected behavior from + * any assertion that does different things based on the target's type. + * + * expect([1, 2, 3]).to.be.an('array').that.includes(2); + * expect([]).to.be.an('array').that.is.empty; + * + * Add `.not` earlier in the chain to negate `.a`. However, it's often best to + * assert that the target is the expected type, rather than asserting that it + * isn't one of many unexpected types. + * + * expect('foo').to.be.a('string'); // Recommended + * expect('foo').to.not.be.an('array'); // Not recommended + * + * `.a` accepts an optional `msg` argument which is a custom error message to + * show when the assertion fails. The message can also be given as the second + * argument to `expect`. + * + * expect(1).to.be.a('string', 'nooo why fail??'); + * expect(1, 'nooo why fail??').to.be.a('string'); + * + * `.a` can also be used as a language chain to improve the readability of + * your assertions. + * + * expect({b: 2}).to.have.a.property('b'); + * + * The alias `.an` can be used interchangeably with `.a`. + * + * @name a + * @alias an + * @param {string} type + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function an(type, msg) { + if (msg) flag(this, 'message', msg); + type = type.toLowerCase(); + var obj = flag(this, 'object'), + article = ~['a', 'e', 'i', 'o', 'u'].indexOf(type.charAt(0)) ? 'an ' : 'a '; + + const detectedType = _.type(obj).toLowerCase(); + + if (functionTypes['function'].includes(type)) { + this.assert( + functionTypes[type].includes(detectedType), + 'expected #{this} to be ' + article + type, + 'expected #{this} not to be ' + article + type + ); + } else { + this.assert( + type === detectedType, + 'expected #{this} to be ' + article + type, + 'expected #{this} not to be ' + article + type + ); + } +} + +Assertion.addChainableMethod('an', an); +Assertion.addChainableMethod('a', an); + +/** + * + * @param {unknown} a + * @param {unknown} b + * @returns {boolean} + */ +function SameValueZero(a, b) { + return (_.isNaN(a) && _.isNaN(b)) || a === b; +} + +/** + * + */ +function includeChainingBehavior() { + flag(this, 'contains', true); +} + +/** + * ### .include(val[, msg]) + * + * When the target is a string, `.include` asserts that the given string `val` + * is a substring of the target. + * + * expect('foobar').to.include('foo'); + * + * When the target is an array, `.include` asserts that the given `val` is a + * member of the target. + * + * expect([1, 2, 3]).to.include(2); + * + * When the target is an object, `.include` asserts that the given object + * `val`'s properties are a subset of the target's properties. + * + * expect({a: 1, b: 2, c: 3}).to.include({a: 1, b: 2}); + * + * When the target is a Set or WeakSet, `.include` asserts that the given `val` is a + * member of the target. SameValueZero equality algorithm is used. + * + * expect(new Set([1, 2])).to.include(2); + * + * When the target is a Map, `.include` asserts that the given `val` is one of + * the values of the target. SameValueZero equality algorithm is used. + * + * expect(new Map([['a', 1], ['b', 2]])).to.include(2); + * + * Because `.include` does different things based on the target's type, it's + * important to check the target's type before using `.include`. See the `.a` + * doc for info on testing a target's type. + * + * expect([1, 2, 3]).to.be.an('array').that.includes(2); + * + * By default, strict (`===`) equality is used to compare array members and + * object properties. Add `.deep` earlier in the chain to use deep equality + * instead (WeakSet targets are not supported). See the `deep-eql` project + * page for info on the deep equality algorithm: https://github.com/chaijs/deep-eql. + * + * // Target array deeply (but not strictly) includes `{a: 1}` + * expect([{a: 1}]).to.deep.include({a: 1}); + * expect([{a: 1}]).to.not.include({a: 1}); + * + * // Target object deeply (but not strictly) includes `x: {a: 1}` + * expect({x: {a: 1}}).to.deep.include({x: {a: 1}}); + * expect({x: {a: 1}}).to.not.include({x: {a: 1}}); + * + * By default, all of the target's properties are searched when working with + * objects. This includes properties that are inherited and/or non-enumerable. + * Add `.own` earlier in the chain to exclude the target's inherited + * properties from the search. + * + * Object.prototype.b = 2; + * + * expect({a: 1}).to.own.include({a: 1}); + * expect({a: 1}).to.include({b: 2}).but.not.own.include({b: 2}); + * + * Note that a target object is always only searched for `val`'s own + * enumerable properties. + * + * `.deep` and `.own` can be combined. + * + * expect({a: {b: 2}}).to.deep.own.include({a: {b: 2}}); + * + * Add `.nested` earlier in the chain to enable dot- and bracket-notation when + * referencing nested properties. + * + * expect({a: {b: ['x', 'y']}}).to.nested.include({'a.b[1]': 'y'}); + * + * If `.` or `[]` are part of an actual property name, they can be escaped by + * adding two backslashes before them. + * + * expect({'.a': {'[b]': 2}}).to.nested.include({'\\.a.\\[b\\]': 2}); + * + * `.deep` and `.nested` can be combined. + * + * expect({a: {b: [{c: 3}]}}).to.deep.nested.include({'a.b[0]': {c: 3}}); + * + * `.own` and `.nested` cannot be combined. + * + * Add `.not` earlier in the chain to negate `.include`. + * + * expect('foobar').to.not.include('taco'); + * expect([1, 2, 3]).to.not.include(4); + * + * However, it's dangerous to negate `.include` when the target is an object. + * The problem is that it creates uncertain expectations by asserting that the + * target object doesn't have all of `val`'s key/value pairs but may or may + * not have some of them. It's often best to identify the exact output that's + * expected, and then write an assertion that only accepts that exact output. + * + * When the target object isn't even expected to have `val`'s keys, it's + * often best to assert exactly that. + * + * expect({c: 3}).to.not.have.any.keys('a', 'b'); // Recommended + * expect({c: 3}).to.not.include({a: 1, b: 2}); // Not recommended + * + * When the target object is expected to have `val`'s keys, it's often best to + * assert that each of the properties has its expected value, rather than + * asserting that each property doesn't have one of many unexpected values. + * + * expect({a: 3, b: 4}).to.include({a: 3, b: 4}); // Recommended + * expect({a: 3, b: 4}).to.not.include({a: 1, b: 2}); // Not recommended + * + * `.include` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. + * + * expect([1, 2, 3]).to.include(4, 'nooo why fail??'); + * expect([1, 2, 3], 'nooo why fail??').to.include(4); + * + * `.include` can also be used as a language chain, causing all `.members` and + * `.keys` assertions that follow in the chain to require the target to be a + * superset of the expected set, rather than an identical set. Note that + * `.members` ignores duplicates in the subset when `.include` is added. + * + * // Target object's keys are a superset of ['a', 'b'] but not identical + * expect({a: 1, b: 2, c: 3}).to.include.all.keys('a', 'b'); + * expect({a: 1, b: 2, c: 3}).to.not.have.all.keys('a', 'b'); + * + * // Target array is a superset of [1, 2] but not identical + * expect([1, 2, 3]).to.include.members([1, 2]); + * expect([1, 2, 3]).to.not.have.members([1, 2]); + * + * // Duplicates in the subset are ignored + * expect([1, 2, 3]).to.include.members([1, 2, 2, 2]); + * + * Note that adding `.any` earlier in the chain causes the `.keys` assertion + * to ignore `.include`. + * + * // Both assertions are identical + * expect({a: 1}).to.include.any.keys('a', 'b'); + * expect({a: 1}).to.have.any.keys('a', 'b'); + * + * The aliases `.includes`, `.contain`, and `.contains` can be used + * interchangeably with `.include`. + * + * @name include + * @alias contain + * @alias includes + * @alias contains + * @param {unknown} val + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function include(val, msg) { + if (msg) flag(this, 'message', msg); + + var obj = flag(this, 'object'), + objType = _.type(obj).toLowerCase(), + flagMsg = flag(this, 'message'), + negate = flag(this, 'negate'), + ssfi = flag(this, 'ssfi'), + isDeep = flag(this, 'deep'), + descriptor = isDeep ? 'deep ' : '', + isEql = isDeep ? flag(this, 'eql') : SameValueZero; + + flagMsg = flagMsg ? flagMsg + ': ' : ''; + + var included = false; + + switch (objType) { + case 'string': + included = obj.indexOf(val) !== -1; + break; + + case 'weakset': + if (isDeep) { + throw new AssertionError( + flagMsg + 'unable to use .deep.include with WeakSet', + undefined, + ssfi + ); + } + + included = obj.has(val); + break; + + case 'map': + obj.forEach(function (item) { + included = included || isEql(item, val); + }); + break; + + case 'set': + if (isDeep) { + obj.forEach(function (item) { + included = included || isEql(item, val); + }); + } else { + included = obj.has(val); + } + break; + + case 'array': + if (isDeep) { + included = obj.some(function (item) { + return isEql(item, val); + }); + } else { + included = obj.indexOf(val) !== -1; + } + break; + + default: + // This block is for asserting a subset of properties in an object. + // `_.expectTypes` isn't used here because `.include` should work with + // objects with a custom `@@toStringTag`. + if (val !== Object(val)) { + throw new AssertionError( + flagMsg + + 'the given combination of arguments (' + + objType + + ' and ' + + _.type(val).toLowerCase() + + ')' + + ' is invalid for this assertion. ' + + 'You can use an array, a map, an object, a set, a string, ' + + 'or a weakset instead of a ' + + _.type(val).toLowerCase(), + undefined, + ssfi + ); + } + + var props = Object.keys(val), + firstErr = null, + numErrs = 0; + + props.forEach(function (prop) { + var propAssertion = new Assertion(obj); + _.transferFlags(this, propAssertion, true); + flag(propAssertion, 'lockSsfi', true); + + if (!negate || props.length === 1) { + propAssertion.property(prop, val[prop]); + return; + } + + try { + propAssertion.property(prop, val[prop]); + } catch (err) { + if (!_.checkError.compatibleConstructor(err, AssertionError)) { + throw err; + } + if (firstErr === null) firstErr = err; + numErrs++; + } + }, this); + + // When validating .not.include with multiple properties, we only want + // to throw an assertion error if all of the properties are included, + // in which case we throw the first property assertion error that we + // encountered. + if (negate && props.length > 1 && numErrs === props.length) { + throw firstErr; + } + return; + } + + // Assert inclusion in collection or substring in a string. + this.assert( + included, + 'expected #{this} to ' + descriptor + 'include ' + _.inspect(val), + 'expected #{this} to not ' + descriptor + 'include ' + _.inspect(val) + ); +} + +Assertion.addChainableMethod('include', include, includeChainingBehavior); +Assertion.addChainableMethod('contain', include, includeChainingBehavior); +Assertion.addChainableMethod('contains', include, includeChainingBehavior); +Assertion.addChainableMethod('includes', include, includeChainingBehavior); + +/** + * ### .ok + * + * Asserts that the target is a truthy value (considered `true` in boolean context). + * However, it's often best to assert that the target is strictly (`===`) or + * deeply equal to its expected value. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.be.ok; // Not recommended + * + * expect(true).to.be.true; // Recommended + * expect(true).to.be.ok; // Not recommended + * + * Add `.not` earlier in the chain to negate `.ok`. + * + * expect(0).to.equal(0); // Recommended + * expect(0).to.not.be.ok; // Not recommended + * + * expect(false).to.be.false; // Recommended + * expect(false).to.not.be.ok; // Not recommended + * + * expect(null).to.be.null; // Recommended + * expect(null).to.not.be.ok; // Not recommended + * + * expect(undefined).to.be.undefined; // Recommended + * expect(undefined).to.not.be.ok; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect(false, 'nooo why fail??').to.be.ok; + * + * @name ok + * @namespace BDD + * @public + */ +Assertion.addProperty('ok', function () { + this.assert( + flag(this, 'object'), + 'expected #{this} to be truthy', + 'expected #{this} to be falsy' + ); +}); + +/** + * ### .true + * + * Asserts that the target is strictly (`===`) equal to `true`. + * + * expect(true).to.be.true; + * + * Add `.not` earlier in the chain to negate `.true`. However, it's often best + * to assert that the target is equal to its expected value, rather than not + * equal to `true`. + * + * expect(false).to.be.false; // Recommended + * expect(false).to.not.be.true; // Not recommended + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.not.be.true; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect(false, 'nooo why fail??').to.be.true; + * + * @name true + * @namespace BDD + * @public + */ +Assertion.addProperty('true', function () { + this.assert( + true === flag(this, 'object'), + 'expected #{this} to be true', + 'expected #{this} to be false', + flag(this, 'negate') ? false : true + ); +}); + +Assertion.addProperty('numeric', function () { + const object = flag(this, 'object'); + + this.assert( + ['Number', 'BigInt'].includes(_.type(object)), + 'expected #{this} to be numeric', + 'expected #{this} to not be numeric', + flag(this, 'negate') ? false : true + ); +}); + +/** + * ### .callable + * + * Asserts that the target a callable function. + * + * expect(console.log).to.be.callable; + * + * A custom error message can be given as the second argument to `expect`. + * + * expect('not a function', 'nooo why fail??').to.be.callable; + * + * @name callable + * @namespace BDD + * @public + */ +Assertion.addProperty('callable', function () { + const val = flag(this, 'object'); + const ssfi = flag(this, 'ssfi'); + const message = flag(this, 'message'); + const msg = message ? `${message}: ` : ''; + const negate = flag(this, 'negate'); + + const assertionMessage = negate + ? `${msg}expected ${_.inspect(val)} not to be a callable function` + : `${msg}expected ${_.inspect(val)} to be a callable function`; + + const isCallable = [ + 'Function', + 'AsyncFunction', + 'GeneratorFunction', + 'AsyncGeneratorFunction' + ].includes(_.type(val)); + + if ((isCallable && negate) || (!isCallable && !negate)) { + throw new AssertionError(assertionMessage, undefined, ssfi); + } +}); + +/** + * ### .false + * + * Asserts that the target is strictly (`===`) equal to `false`. + * + * expect(false).to.be.false; + * + * Add `.not` earlier in the chain to negate `.false`. However, it's often + * best to assert that the target is equal to its expected value, rather than + * not equal to `false`. + * + * expect(true).to.be.true; // Recommended + * expect(true).to.not.be.false; // Not recommended + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.not.be.false; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect(true, 'nooo why fail??').to.be.false; + * + * @name false + * @namespace BDD + * @public + */ +Assertion.addProperty('false', function () { + this.assert( + false === flag(this, 'object'), + 'expected #{this} to be false', + 'expected #{this} to be true', + flag(this, 'negate') ? true : false + ); +}); + +/** + * ### .null + * + * Asserts that the target is strictly (`===`) equal to `null`. + * + * expect(null).to.be.null; + * + * Add `.not` earlier in the chain to negate `.null`. However, it's often best + * to assert that the target is equal to its expected value, rather than not + * equal to `null`. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.not.be.null; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect(42, 'nooo why fail??').to.be.null; + * + * @name null + * @namespace BDD + * @public + */ +Assertion.addProperty('null', function () { + this.assert( + null === flag(this, 'object'), + 'expected #{this} to be null', + 'expected #{this} not to be null' + ); +}); + +/** + * ### .undefined + * + * Asserts that the target is strictly (`===`) equal to `undefined`. + * + * expect(undefined).to.be.undefined; + * + * Add `.not` earlier in the chain to negate `.undefined`. However, it's often + * best to assert that the target is equal to its expected value, rather than + * not equal to `undefined`. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.not.be.undefined; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect(42, 'nooo why fail??').to.be.undefined; + * + * @name undefined + * @namespace BDD + * @public + */ +Assertion.addProperty('undefined', function () { + this.assert( + undefined === flag(this, 'object'), + 'expected #{this} to be undefined', + 'expected #{this} not to be undefined' + ); +}); + +/** + * ### .NaN + * + * Asserts that the target is exactly `NaN`. + * + * expect(NaN).to.be.NaN; + * + * Add `.not` earlier in the chain to negate `.NaN`. However, it's often best + * to assert that the target is equal to its expected value, rather than not + * equal to `NaN`. + * + * expect('foo').to.equal('foo'); // Recommended + * expect('foo').to.not.be.NaN; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect(42, 'nooo why fail??').to.be.NaN; + * + * @name NaN + * @namespace BDD + * @public + */ +Assertion.addProperty('NaN', function () { + this.assert( + _.isNaN(flag(this, 'object')), + 'expected #{this} to be NaN', + 'expected #{this} not to be NaN' + ); +}); + +/** + * ### .exist + * + * Asserts that the target is not strictly (`===`) equal to either `null` or + * `undefined`. However, it's often best to assert that the target is equal to + * its expected value. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.exist; // Not recommended + * + * expect(0).to.equal(0); // Recommended + * expect(0).to.exist; // Not recommended + * + * Add `.not` earlier in the chain to negate `.exist`. + * + * expect(null).to.be.null; // Recommended + * expect(null).to.not.exist; // Not recommended + * + * expect(undefined).to.be.undefined; // Recommended + * expect(undefined).to.not.exist; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect(null, 'nooo why fail??').to.exist; + * + * The alias `.exists` can be used interchangeably with `.exist`. + * + * @name exist + * @alias exists + * @namespace BDD + * @public + */ +function assertExist() { + var val = flag(this, 'object'); + this.assert( + val !== null && val !== undefined, + 'expected #{this} to exist', + 'expected #{this} to not exist' + ); +} + +Assertion.addProperty('exist', assertExist); +Assertion.addProperty('exists', assertExist); + +/** + * ### .empty + * + * When the target is a string or array, `.empty` asserts that the target's + * `length` property is strictly (`===`) equal to `0`. + * + * expect([]).to.be.empty; + * expect('').to.be.empty; + * + * When the target is a map or set, `.empty` asserts that the target's `size` + * property is strictly equal to `0`. + * + * expect(new Set()).to.be.empty; + * expect(new Map()).to.be.empty; + * + * When the target is a non-function object, `.empty` asserts that the target + * doesn't have any own enumerable properties. Properties with Symbol-based + * keys are excluded from the count. + * + * expect({}).to.be.empty; + * + * Because `.empty` does different things based on the target's type, it's + * important to check the target's type before using `.empty`. See the `.a` + * doc for info on testing a target's type. + * + * expect([]).to.be.an('array').that.is.empty; + * + * Add `.not` earlier in the chain to negate `.empty`. However, it's often + * best to assert that the target contains its expected number of values, + * rather than asserting that it's not empty. + * + * expect([1, 2, 3]).to.have.lengthOf(3); // Recommended + * expect([1, 2, 3]).to.not.be.empty; // Not recommended + * + * expect(new Set([1, 2, 3])).to.have.property('size', 3); // Recommended + * expect(new Set([1, 2, 3])).to.not.be.empty; // Not recommended + * + * expect(Object.keys({a: 1})).to.have.lengthOf(1); // Recommended + * expect({a: 1}).to.not.be.empty; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect([1, 2, 3], 'nooo why fail??').to.be.empty; + * + * @name empty + * @namespace BDD + * @public + */ +Assertion.addProperty('empty', function () { + var val = flag(this, 'object'), + ssfi = flag(this, 'ssfi'), + flagMsg = flag(this, 'message'), + itemsCount; + + flagMsg = flagMsg ? flagMsg + ': ' : ''; + + switch (_.type(val).toLowerCase()) { + case 'array': + case 'string': + itemsCount = val.length; + break; + case 'map': + case 'set': + itemsCount = val.size; + break; + case 'weakmap': + case 'weakset': + throw new AssertionError( + flagMsg + '.empty was passed a weak collection', + undefined, + ssfi + ); + case 'function': + var msg = flagMsg + '.empty was passed a function ' + _.getName(val); + throw new AssertionError(msg.trim(), undefined, ssfi); + default: + if (val !== Object(val)) { + throw new AssertionError( + flagMsg + '.empty was passed non-string primitive ' + _.inspect(val), + undefined, + ssfi + ); + } + itemsCount = Object.keys(val).length; + } + + this.assert( + 0 === itemsCount, + 'expected #{this} to be empty', + 'expected #{this} not to be empty' + ); +}); + +/** + * ### .arguments + * + * Asserts that the target is an `arguments` object. + * + * function test () { + * expect(arguments).to.be.arguments; + * } + * + * test(); + * + * Add `.not` earlier in the chain to negate `.arguments`. However, it's often + * best to assert which type the target is expected to be, rather than + * asserting that it’s not an `arguments` object. + * + * expect('foo').to.be.a('string'); // Recommended + * expect('foo').to.not.be.arguments; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect({}, 'nooo why fail??').to.be.arguments; + * + * The alias `.Arguments` can be used interchangeably with `.arguments`. + * + * @name arguments + * @alias Arguments + * @namespace BDD + * @public + */ +function checkArguments() { + var obj = flag(this, 'object'), + type = _.type(obj); + this.assert( + 'Arguments' === type, + 'expected #{this} to be arguments but got ' + type, + 'expected #{this} to not be arguments' + ); +} + +Assertion.addProperty('arguments', checkArguments); +Assertion.addProperty('Arguments', checkArguments); + +/** + * ### .equal(val[, msg]) + * + * Asserts that the target is strictly (`===`) equal to the given `val`. + * + * expect(1).to.equal(1); + * expect('foo').to.equal('foo'); + * + * Add `.deep` earlier in the chain to use deep equality instead. See the + * `deep-eql` project page for info on the deep equality algorithm: + * https://github.com/chaijs/deep-eql. + * + * // Target object deeply (but not strictly) equals `{a: 1}` + * expect({a: 1}).to.deep.equal({a: 1}); + * expect({a: 1}).to.not.equal({a: 1}); + * + * // Target array deeply (but not strictly) equals `[1, 2]` + * expect([1, 2]).to.deep.equal([1, 2]); + * expect([1, 2]).to.not.equal([1, 2]); + * + * Add `.not` earlier in the chain to negate `.equal`. However, it's often + * best to assert that the target is equal to its expected value, rather than + * not equal to one of countless unexpected values. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.not.equal(2); // Not recommended + * + * `.equal` accepts an optional `msg` argument which is a custom error message + * to show when the assertion fails. The message can also be given as the + * second argument to `expect`. + * + * expect(1).to.equal(2, 'nooo why fail??'); + * expect(1, 'nooo why fail??').to.equal(2); + * + * The aliases `.equals` and `eq` can be used interchangeably with `.equal`. + * + * @name equal + * @alias equals + * @alias eq + * @param {unknown} val + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertEqual(val, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'deep')) { + var prevLockSsfi = flag(this, 'lockSsfi'); + flag(this, 'lockSsfi', true); + this.eql(val); + flag(this, 'lockSsfi', prevLockSsfi); + } else { + this.assert( + val === obj, + 'expected #{this} to equal #{exp}', + 'expected #{this} to not equal #{exp}', + val, + this._obj, + true + ); + } +} + +Assertion.addMethod('equal', assertEqual); +Assertion.addMethod('equals', assertEqual); +Assertion.addMethod('eq', assertEqual); + +/** + * ### .eql(obj[, msg]) + * + * Asserts that the target is deeply equal to the given `obj`. See the + * `deep-eql` project page for info on the deep equality algorithm: + * https://github.com/chaijs/deep-eql. + * + * // Target object is deeply (but not strictly) equal to {a: 1} + * expect({a: 1}).to.eql({a: 1}).but.not.equal({a: 1}); + * + * // Target array is deeply (but not strictly) equal to [1, 2] + * expect([1, 2]).to.eql([1, 2]).but.not.equal([1, 2]); + * + * Add `.not` earlier in the chain to negate `.eql`. However, it's often best + * to assert that the target is deeply equal to its expected value, rather + * than not deeply equal to one of countless unexpected values. + * + * expect({a: 1}).to.eql({a: 1}); // Recommended + * expect({a: 1}).to.not.eql({b: 2}); // Not recommended + * + * `.eql` accepts an optional `msg` argument which is a custom error message + * to show when the assertion fails. The message can also be given as the + * second argument to `expect`. + * + * expect({a: 1}).to.eql({b: 2}, 'nooo why fail??'); + * expect({a: 1}, 'nooo why fail??').to.eql({b: 2}); + * + * The alias `.eqls` can be used interchangeably with `.eql`. + * + * The `.deep.equal` assertion is almost identical to `.eql` but with one + * difference: `.deep.equal` causes deep equality comparisons to also be used + * for any other assertions that follow in the chain. + * + * @name eql + * @alias eqls + * @param {unknown} obj + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertEql(obj, msg) { + if (msg) flag(this, 'message', msg); + var eql = flag(this, 'eql'); + this.assert( + eql(obj, flag(this, 'object')), + 'expected #{this} to deeply equal #{exp}', + 'expected #{this} to not deeply equal #{exp}', + obj, + this._obj, + true + ); +} + +Assertion.addMethod('eql', assertEql); +Assertion.addMethod('eqls', assertEql); + +/** + * ### .above(n[, msg]) + * + * Asserts that the target is a number or a date greater than the given number or date `n` respectively. + * However, it's often best to assert that the target is equal to its expected + * value. + * + * expect(2).to.equal(2); // Recommended + * expect(2).to.be.above(1); // Not recommended + * + * Add `.lengthOf` earlier in the chain to assert that the target's `length` + * or `size` is greater than the given number `n`. + * + * expect('foo').to.have.lengthOf(3); // Recommended + * expect('foo').to.have.lengthOf.above(2); // Not recommended + * + * expect([1, 2, 3]).to.have.lengthOf(3); // Recommended + * expect([1, 2, 3]).to.have.lengthOf.above(2); // Not recommended + * + * Add `.not` earlier in the chain to negate `.above`. + * + * expect(2).to.equal(2); // Recommended + * expect(1).to.not.be.above(2); // Not recommended + * + * `.above` accepts an optional `msg` argument which is a custom error message + * to show when the assertion fails. The message can also be given as the + * second argument to `expect`. + * + * expect(1).to.be.above(2, 'nooo why fail??'); + * expect(1, 'nooo why fail??').to.be.above(2); + * + * The aliases `.gt` and `.greaterThan` can be used interchangeably with + * `.above`. + * + * @name above + * @alias gt + * @alias greaterThan + * @param {number} n + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertAbove(n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + doLength = flag(this, 'doLength'), + flagMsg = flag(this, 'message'), + msgPrefix = flagMsg ? flagMsg + ': ' : '', + ssfi = flag(this, 'ssfi'), + objType = _.type(obj).toLowerCase(), + nType = _.type(n).toLowerCase(); + + if (doLength && objType !== 'map' && objType !== 'set') { + new Assertion(obj, flagMsg, ssfi, true).to.have.property('length'); + } + + if (!doLength && objType === 'date' && nType !== 'date') { + throw new AssertionError( + msgPrefix + 'the argument to above must be a date', + undefined, + ssfi + ); + } else if (!_.isNumeric(n) && (doLength || _.isNumeric(obj))) { + throw new AssertionError( + msgPrefix + 'the argument to above must be a number', + undefined, + ssfi + ); + } else if (!doLength && objType !== 'date' && !_.isNumeric(obj)) { + var printObj = objType === 'string' ? "'" + obj + "'" : obj; + throw new AssertionError( + msgPrefix + 'expected ' + printObj + ' to be a number or a date', + undefined, + ssfi + ); + } + + if (doLength) { + var descriptor = 'length', + itemsCount; + if (objType === 'map' || objType === 'set') { + descriptor = 'size'; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount > n, + 'expected #{this} to have a ' + + descriptor + + ' above #{exp} but got #{act}', + 'expected #{this} to not have a ' + descriptor + ' above #{exp}', + n, + itemsCount + ); + } else { + this.assert( + obj > n, + 'expected #{this} to be above #{exp}', + 'expected #{this} to be at most #{exp}', + n + ); + } +} + +Assertion.addMethod('above', assertAbove); +Assertion.addMethod('gt', assertAbove); +Assertion.addMethod('greaterThan', assertAbove); + +/** + * ### .least(n[, msg]) + * + * Asserts that the target is a number or a date greater than or equal to the given + * number or date `n` respectively. However, it's often best to assert that the target is equal to + * its expected value. + * + * expect(2).to.equal(2); // Recommended + * expect(2).to.be.at.least(1); // Not recommended + * expect(2).to.be.at.least(2); // Not recommended + * + * Add `.lengthOf` earlier in the chain to assert that the target's `length` + * or `size` is greater than or equal to the given number `n`. + * + * expect('foo').to.have.lengthOf(3); // Recommended + * expect('foo').to.have.lengthOf.at.least(2); // Not recommended + * + * expect([1, 2, 3]).to.have.lengthOf(3); // Recommended + * expect([1, 2, 3]).to.have.lengthOf.at.least(2); // Not recommended + * + * Add `.not` earlier in the chain to negate `.least`. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.not.be.at.least(2); // Not recommended + * + * `.least` accepts an optional `msg` argument which is a custom error message + * to show when the assertion fails. The message can also be given as the + * second argument to `expect`. + * + * expect(1).to.be.at.least(2, 'nooo why fail??'); + * expect(1, 'nooo why fail??').to.be.at.least(2); + * + * The aliases `.gte` and `.greaterThanOrEqual` can be used interchangeably with + * `.least`. + * + * @name least + * @alias gte + * @alias greaterThanOrEqual + * @param {unknown} n + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertLeast(n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + doLength = flag(this, 'doLength'), + flagMsg = flag(this, 'message'), + msgPrefix = flagMsg ? flagMsg + ': ' : '', + ssfi = flag(this, 'ssfi'), + objType = _.type(obj).toLowerCase(), + nType = _.type(n).toLowerCase(), + errorMessage, + shouldThrow = true; + + if (doLength && objType !== 'map' && objType !== 'set') { + new Assertion(obj, flagMsg, ssfi, true).to.have.property('length'); + } + + if (!doLength && objType === 'date' && nType !== 'date') { + errorMessage = msgPrefix + 'the argument to least must be a date'; + } else if (!_.isNumeric(n) && (doLength || _.isNumeric(obj))) { + errorMessage = msgPrefix + 'the argument to least must be a number'; + } else if (!doLength && objType !== 'date' && !_.isNumeric(obj)) { + var printObj = objType === 'string' ? "'" + obj + "'" : obj; + errorMessage = + msgPrefix + 'expected ' + printObj + ' to be a number or a date'; + } else { + shouldThrow = false; + } + + if (shouldThrow) { + throw new AssertionError(errorMessage, undefined, ssfi); + } + + if (doLength) { + var descriptor = 'length', + itemsCount; + if (objType === 'map' || objType === 'set') { + descriptor = 'size'; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount >= n, + 'expected #{this} to have a ' + + descriptor + + ' at least #{exp} but got #{act}', + 'expected #{this} to have a ' + descriptor + ' below #{exp}', + n, + itemsCount + ); + } else { + this.assert( + obj >= n, + 'expected #{this} to be at least #{exp}', + 'expected #{this} to be below #{exp}', + n + ); + } +} + +Assertion.addMethod('least', assertLeast); +Assertion.addMethod('gte', assertLeast); +Assertion.addMethod('greaterThanOrEqual', assertLeast); + +/** + * ### .below(n[, msg]) + * + * Asserts that the target is a number or a date less than the given number or date `n` respectively. + * However, it's often best to assert that the target is equal to its expected + * value. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.be.below(2); // Not recommended + * + * Add `.lengthOf` earlier in the chain to assert that the target's `length` + * or `size` is less than the given number `n`. + * + * expect('foo').to.have.lengthOf(3); // Recommended + * expect('foo').to.have.lengthOf.below(4); // Not recommended + * + * expect([1, 2, 3]).to.have.length(3); // Recommended + * expect([1, 2, 3]).to.have.lengthOf.below(4); // Not recommended + * + * Add `.not` earlier in the chain to negate `.below`. + * + * expect(2).to.equal(2); // Recommended + * expect(2).to.not.be.below(1); // Not recommended + * + * `.below` accepts an optional `msg` argument which is a custom error message + * to show when the assertion fails. The message can also be given as the + * second argument to `expect`. + * + * expect(2).to.be.below(1, 'nooo why fail??'); + * expect(2, 'nooo why fail??').to.be.below(1); + * + * The aliases `.lt` and `.lessThan` can be used interchangeably with + * `.below`. + * + * @name below + * @alias lt + * @alias lessThan + * @param {unknown} n + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertBelow(n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + doLength = flag(this, 'doLength'), + flagMsg = flag(this, 'message'), + msgPrefix = flagMsg ? flagMsg + ': ' : '', + ssfi = flag(this, 'ssfi'), + objType = _.type(obj).toLowerCase(), + nType = _.type(n).toLowerCase(), + errorMessage, + shouldThrow = true; + + if (doLength && objType !== 'map' && objType !== 'set') { + new Assertion(obj, flagMsg, ssfi, true).to.have.property('length'); + } + + if (!doLength && objType === 'date' && nType !== 'date') { + errorMessage = msgPrefix + 'the argument to below must be a date'; + } else if (!_.isNumeric(n) && (doLength || _.isNumeric(obj))) { + errorMessage = msgPrefix + 'the argument to below must be a number'; + } else if (!doLength && objType !== 'date' && !_.isNumeric(obj)) { + var printObj = objType === 'string' ? "'" + obj + "'" : obj; + errorMessage = + msgPrefix + 'expected ' + printObj + ' to be a number or a date'; + } else { + shouldThrow = false; + } + + if (shouldThrow) { + throw new AssertionError(errorMessage, undefined, ssfi); + } + + if (doLength) { + var descriptor = 'length', + itemsCount; + if (objType === 'map' || objType === 'set') { + descriptor = 'size'; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount < n, + 'expected #{this} to have a ' + + descriptor + + ' below #{exp} but got #{act}', + 'expected #{this} to not have a ' + descriptor + ' below #{exp}', + n, + itemsCount + ); + } else { + this.assert( + obj < n, + 'expected #{this} to be below #{exp}', + 'expected #{this} to be at least #{exp}', + n + ); + } +} + +Assertion.addMethod('below', assertBelow); +Assertion.addMethod('lt', assertBelow); +Assertion.addMethod('lessThan', assertBelow); + +/** + * ### .most(n[, msg]) + * + * Asserts that the target is a number or a date less than or equal to the given number + * or date `n` respectively. However, it's often best to assert that the target is equal to its + * expected value. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.be.at.most(2); // Not recommended + * expect(1).to.be.at.most(1); // Not recommended + * + * Add `.lengthOf` earlier in the chain to assert that the target's `length` + * or `size` is less than or equal to the given number `n`. + * + * expect('foo').to.have.lengthOf(3); // Recommended + * expect('foo').to.have.lengthOf.at.most(4); // Not recommended + * + * expect([1, 2, 3]).to.have.lengthOf(3); // Recommended + * expect([1, 2, 3]).to.have.lengthOf.at.most(4); // Not recommended + * + * Add `.not` earlier in the chain to negate `.most`. + * + * expect(2).to.equal(2); // Recommended + * expect(2).to.not.be.at.most(1); // Not recommended + * + * `.most` accepts an optional `msg` argument which is a custom error message + * to show when the assertion fails. The message can also be given as the + * second argument to `expect`. + * + * expect(2).to.be.at.most(1, 'nooo why fail??'); + * expect(2, 'nooo why fail??').to.be.at.most(1); + * + * The aliases `.lte` and `.lessThanOrEqual` can be used interchangeably with + * `.most`. + * + * @name most + * @alias lte + * @alias lessThanOrEqual + * @param {unknown} n + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertMost(n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + doLength = flag(this, 'doLength'), + flagMsg = flag(this, 'message'), + msgPrefix = flagMsg ? flagMsg + ': ' : '', + ssfi = flag(this, 'ssfi'), + objType = _.type(obj).toLowerCase(), + nType = _.type(n).toLowerCase(), + errorMessage, + shouldThrow = true; + + if (doLength && objType !== 'map' && objType !== 'set') { + new Assertion(obj, flagMsg, ssfi, true).to.have.property('length'); + } + + if (!doLength && objType === 'date' && nType !== 'date') { + errorMessage = msgPrefix + 'the argument to most must be a date'; + } else if (!_.isNumeric(n) && (doLength || _.isNumeric(obj))) { + errorMessage = msgPrefix + 'the argument to most must be a number'; + } else if (!doLength && objType !== 'date' && !_.isNumeric(obj)) { + var printObj = objType === 'string' ? "'" + obj + "'" : obj; + errorMessage = + msgPrefix + 'expected ' + printObj + ' to be a number or a date'; + } else { + shouldThrow = false; + } + + if (shouldThrow) { + throw new AssertionError(errorMessage, undefined, ssfi); + } + + if (doLength) { + var descriptor = 'length', + itemsCount; + if (objType === 'map' || objType === 'set') { + descriptor = 'size'; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount <= n, + 'expected #{this} to have a ' + + descriptor + + ' at most #{exp} but got #{act}', + 'expected #{this} to have a ' + descriptor + ' above #{exp}', + n, + itemsCount + ); + } else { + this.assert( + obj <= n, + 'expected #{this} to be at most #{exp}', + 'expected #{this} to be above #{exp}', + n + ); + } +} + +Assertion.addMethod('most', assertMost); +Assertion.addMethod('lte', assertMost); +Assertion.addMethod('lessThanOrEqual', assertMost); + +/** + * ### .within(start, finish[, msg]) + * + * Asserts that the target is a number or a date greater than or equal to the given + * number or date `start`, and less than or equal to the given number or date `finish` respectively. + * However, it's often best to assert that the target is equal to its expected + * value. + * + * expect(2).to.equal(2); // Recommended + * expect(2).to.be.within(1, 3); // Not recommended + * expect(2).to.be.within(2, 3); // Not recommended + * expect(2).to.be.within(1, 2); // Not recommended + * + * Add `.lengthOf` earlier in the chain to assert that the target's `length` + * or `size` is greater than or equal to the given number `start`, and less + * than or equal to the given number `finish`. + * + * expect('foo').to.have.lengthOf(3); // Recommended + * expect('foo').to.have.lengthOf.within(2, 4); // Not recommended + * + * expect([1, 2, 3]).to.have.lengthOf(3); // Recommended + * expect([1, 2, 3]).to.have.lengthOf.within(2, 4); // Not recommended + * + * Add `.not` earlier in the chain to negate `.within`. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.not.be.within(2, 4); // Not recommended + * + * `.within` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. + * + * expect(4).to.be.within(1, 3, 'nooo why fail??'); + * expect(4, 'nooo why fail??').to.be.within(1, 3); + * + * @name within + * @param {unknown} start lower bound inclusive + * @param {unknown} finish upper bound inclusive + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +Assertion.addMethod('within', function (start, finish, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + doLength = flag(this, 'doLength'), + flagMsg = flag(this, 'message'), + msgPrefix = flagMsg ? flagMsg + ': ' : '', + ssfi = flag(this, 'ssfi'), + objType = _.type(obj).toLowerCase(), + startType = _.type(start).toLowerCase(), + finishType = _.type(finish).toLowerCase(), + errorMessage, + shouldThrow = true, + range = + startType === 'date' && finishType === 'date' + ? start.toISOString() + '..' + finish.toISOString() + : start + '..' + finish; + + if (doLength && objType !== 'map' && objType !== 'set') { + new Assertion(obj, flagMsg, ssfi, true).to.have.property('length'); + } + + if ( + !doLength && + objType === 'date' && + (startType !== 'date' || finishType !== 'date') + ) { + errorMessage = msgPrefix + 'the arguments to within must be dates'; + } else if ( + (!_.isNumeric(start) || !_.isNumeric(finish)) && + (doLength || _.isNumeric(obj)) + ) { + errorMessage = msgPrefix + 'the arguments to within must be numbers'; + } else if (!doLength && objType !== 'date' && !_.isNumeric(obj)) { + var printObj = objType === 'string' ? "'" + obj + "'" : obj; + errorMessage = + msgPrefix + 'expected ' + printObj + ' to be a number or a date'; + } else { + shouldThrow = false; + } + + if (shouldThrow) { + throw new AssertionError(errorMessage, undefined, ssfi); + } + + if (doLength) { + var descriptor = 'length', + itemsCount; + if (objType === 'map' || objType === 'set') { + descriptor = 'size'; + itemsCount = obj.size; + } else { + itemsCount = obj.length; + } + this.assert( + itemsCount >= start && itemsCount <= finish, + 'expected #{this} to have a ' + descriptor + ' within ' + range, + 'expected #{this} to not have a ' + descriptor + ' within ' + range + ); + } else { + this.assert( + obj >= start && obj <= finish, + 'expected #{this} to be within ' + range, + 'expected #{this} to not be within ' + range + ); + } +}); + +/** + * ### .instanceof(constructor[, msg]) + * + * Asserts that the target is an instance of the given `constructor`. + * + * function Cat () { } + * + * expect(new Cat()).to.be.an.instanceof(Cat); + * expect([1, 2]).to.be.an.instanceof(Array); + * + * Add `.not` earlier in the chain to negate `.instanceof`. + * + * expect({a: 1}).to.not.be.an.instanceof(Array); + * + * `.instanceof` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. + * + * expect(1).to.be.an.instanceof(Array, 'nooo why fail??'); + * expect(1, 'nooo why fail??').to.be.an.instanceof(Array); + * + * Due to limitations in ES5, `.instanceof` may not always work as expected + * when using a transpiler such as Babel or TypeScript. In particular, it may + * produce unexpected results when subclassing built-in object such as + * `Array`, `Error`, and `Map`. See your transpiler's docs for details: + * + * - ([Babel](https://babeljs.io/docs/usage/caveats/#classes)) + * - ([TypeScript](https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work)) + * + * The alias `.instanceOf` can be used interchangeably with `.instanceof`. + * + * @name instanceof + * @param {unknown} constructor + * @param {string} msg _optional_ + * @alias instanceOf + * @namespace BDD + * @public + */ +function assertInstanceOf(constructor, msg) { + if (msg) flag(this, 'message', msg); + + var target = flag(this, 'object'); + var ssfi = flag(this, 'ssfi'); + var flagMsg = flag(this, 'message'); + + try { + var isInstanceOf = target instanceof constructor; + } catch (err) { + if (err instanceof TypeError) { + flagMsg = flagMsg ? flagMsg + ': ' : ''; + throw new AssertionError( + flagMsg + + 'The instanceof assertion needs a constructor but ' + + _.type(constructor) + + ' was given.', + undefined, + ssfi + ); + } + throw err; + } + + var name = _.getName(constructor); + if (name == null) { + name = 'an unnamed constructor'; + } + + this.assert( + isInstanceOf, + 'expected #{this} to be an instance of ' + name, + 'expected #{this} to not be an instance of ' + name + ); +} + +Assertion.addMethod('instanceof', assertInstanceOf); +Assertion.addMethod('instanceOf', assertInstanceOf); + +/** + * ### .property(name[, val[, msg]]) + * + * Asserts that the target has a property with the given key `name`. + * + * expect({a: 1}).to.have.property('a'); + * + * When `val` is provided, `.property` also asserts that the property's value + * is equal to the given `val`. + * + * expect({a: 1}).to.have.property('a', 1); + * + * By default, strict (`===`) equality is used. Add `.deep` earlier in the + * chain to use deep equality instead. See the `deep-eql` project page for + * info on the deep equality algorithm: https://github.com/chaijs/deep-eql. + * + * // Target object deeply (but not strictly) has property `x: {a: 1}` + * expect({x: {a: 1}}).to.have.deep.property('x', {a: 1}); + * expect({x: {a: 1}}).to.not.have.property('x', {a: 1}); + * + * The target's enumerable and non-enumerable properties are always included + * in the search. By default, both own and inherited properties are included. + * Add `.own` earlier in the chain to exclude inherited properties from the + * search. + * + * Object.prototype.b = 2; + * + * expect({a: 1}).to.have.own.property('a'); + * expect({a: 1}).to.have.own.property('a', 1); + * expect({a: 1}).to.have.property('b'); + * expect({a: 1}).to.not.have.own.property('b'); + * + * `.deep` and `.own` can be combined. + * + * expect({x: {a: 1}}).to.have.deep.own.property('x', {a: 1}); + * + * Add `.nested` earlier in the chain to enable dot- and bracket-notation when + * referencing nested properties. + * + * expect({a: {b: ['x', 'y']}}).to.have.nested.property('a.b[1]'); + * expect({a: {b: ['x', 'y']}}).to.have.nested.property('a.b[1]', 'y'); + * + * If `.` or `[]` are part of an actual property name, they can be escaped by + * adding two backslashes before them. + * + * expect({'.a': {'[b]': 'x'}}).to.have.nested.property('\\.a.\\[b\\]'); + * + * `.deep` and `.nested` can be combined. + * + * expect({a: {b: [{c: 3}]}}) + * .to.have.deep.nested.property('a.b[0]', {c: 3}); + * + * `.own` and `.nested` cannot be combined. + * + * Add `.not` earlier in the chain to negate `.property`. + * + * expect({a: 1}).to.not.have.property('b'); + * + * However, it's dangerous to negate `.property` when providing `val`. The + * problem is that it creates uncertain expectations by asserting that the + * target either doesn't have a property with the given key `name`, or that it + * does have a property with the given key `name` but its value isn't equal to + * the given `val`. It's often best to identify the exact output that's + * expected, and then write an assertion that only accepts that exact output. + * + * When the target isn't expected to have a property with the given key + * `name`, it's often best to assert exactly that. + * + * expect({b: 2}).to.not.have.property('a'); // Recommended + * expect({b: 2}).to.not.have.property('a', 1); // Not recommended + * + * When the target is expected to have a property with the given key `name`, + * it's often best to assert that the property has its expected value, rather + * than asserting that it doesn't have one of many unexpected values. + * + * expect({a: 3}).to.have.property('a', 3); // Recommended + * expect({a: 3}).to.not.have.property('a', 1); // Not recommended + * + * `.property` changes the target of any assertions that follow in the chain + * to be the value of the property from the original target object. + * + * expect({a: 1}).to.have.property('a').that.is.a('number'); + * + * `.property` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. When not providing `val`, only use the + * second form. + * + * // Recommended + * expect({a: 1}).to.have.property('a', 2, 'nooo why fail??'); + * expect({a: 1}, 'nooo why fail??').to.have.property('a', 2); + * expect({a: 1}, 'nooo why fail??').to.have.property('b'); + * + * // Not recommended + * expect({a: 1}).to.have.property('b', undefined, 'nooo why fail??'); + * + * The above assertion isn't the same thing as not providing `val`. Instead, + * it's asserting that the target object has a `b` property that's equal to + * `undefined`. + * + * The assertions `.ownProperty` and `.haveOwnProperty` can be used + * interchangeably with `.own.property`. + * + * @name property + * @param {string} name + * @param {unknown} val (optional) + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertProperty(name, val, msg) { + if (msg) flag(this, 'message', msg); + + var isNested = flag(this, 'nested'), + isOwn = flag(this, 'own'), + flagMsg = flag(this, 'message'), + obj = flag(this, 'object'), + ssfi = flag(this, 'ssfi'), + nameType = typeof name; + + flagMsg = flagMsg ? flagMsg + ': ' : ''; + + if (isNested) { + if (nameType !== 'string') { + throw new AssertionError( + flagMsg + + 'the argument to property must be a string when using nested syntax', + undefined, + ssfi + ); + } + } else { + if ( + nameType !== 'string' && + nameType !== 'number' && + nameType !== 'symbol' + ) { + throw new AssertionError( + flagMsg + + 'the argument to property must be a string, number, or symbol', + undefined, + ssfi + ); + } + } + + if (isNested && isOwn) { + throw new AssertionError( + flagMsg + 'The "nested" and "own" flags cannot be combined.', + undefined, + ssfi + ); + } + + if (obj === null || obj === undefined) { + throw new AssertionError( + flagMsg + 'Target cannot be null or undefined.', + undefined, + ssfi + ); + } + + var isDeep = flag(this, 'deep'), + negate = flag(this, 'negate'), + pathInfo = isNested ? _.getPathInfo(obj, name) : null, + value = isNested ? pathInfo.value : obj[name], + isEql = isDeep ? flag(this, 'eql') : (val1, val2) => val1 === val2; + + var descriptor = ''; + if (isDeep) descriptor += 'deep '; + if (isOwn) descriptor += 'own '; + if (isNested) descriptor += 'nested '; + descriptor += 'property '; + + var hasProperty; + if (isOwn) hasProperty = Object.prototype.hasOwnProperty.call(obj, name); + else if (isNested) hasProperty = pathInfo.exists; + else hasProperty = _.hasProperty(obj, name); + + // When performing a negated assertion for both name and val, merely having + // a property with the given name isn't enough to cause the assertion to + // fail. It must both have a property with the given name, and the value of + // that property must equal the given val. Therefore, skip this assertion in + // favor of the next. + if (!negate || arguments.length === 1) { + this.assert( + hasProperty, + 'expected #{this} to have ' + descriptor + _.inspect(name), + 'expected #{this} to not have ' + descriptor + _.inspect(name) + ); + } + + if (arguments.length > 1) { + this.assert( + hasProperty && isEql(val, value), + 'expected #{this} to have ' + + descriptor + + _.inspect(name) + + ' of #{exp}, but got #{act}', + 'expected #{this} to not have ' + + descriptor + + _.inspect(name) + + ' of #{act}', + val, + value + ); + } + + flag(this, 'object', value); +} + +Assertion.addMethod('property', assertProperty); + +/** + * + * @param {unknown} _name + * @param {unknown} _value + * @param {string} _msg + */ +function assertOwnProperty(_name, _value, _msg) { + flag(this, 'own', true); + assertProperty.apply(this, arguments); +} + +Assertion.addMethod('ownProperty', assertOwnProperty); +Assertion.addMethod('haveOwnProperty', assertOwnProperty); + +/** + * ### .ownPropertyDescriptor(name[, descriptor[, msg]]) + * + * Asserts that the target has its own property descriptor with the given key + * `name`. Enumerable and non-enumerable properties are included in the + * search. + * + * expect({a: 1}).to.have.ownPropertyDescriptor('a'); + * + * When `descriptor` is provided, `.ownPropertyDescriptor` also asserts that + * the property's descriptor is deeply equal to the given `descriptor`. See + * the `deep-eql` project page for info on the deep equality algorithm: + * https://github.com/chaijs/deep-eql. + * + * expect({a: 1}).to.have.ownPropertyDescriptor('a', { + * configurable: true, + * enumerable: true, + * writable: true, + * value: 1, + * }); + * + * Add `.not` earlier in the chain to negate `.ownPropertyDescriptor`. + * + * expect({a: 1}).to.not.have.ownPropertyDescriptor('b'); + * + * However, it's dangerous to negate `.ownPropertyDescriptor` when providing + * a `descriptor`. The problem is that it creates uncertain expectations by + * asserting that the target either doesn't have a property descriptor with + * the given key `name`, or that it does have a property descriptor with the + * given key `name` but it’s not deeply equal to the given `descriptor`. It's + * often best to identify the exact output that's expected, and then write an + * assertion that only accepts that exact output. + * + * When the target isn't expected to have a property descriptor with the given + * key `name`, it's often best to assert exactly that. + * + * // Recommended + * expect({b: 2}).to.not.have.ownPropertyDescriptor('a'); + * + * // Not recommended + * expect({b: 2}).to.not.have.ownPropertyDescriptor('a', { + * configurable: true, + * enumerable: true, + * writable: true, + * value: 1, + * }); + * + * When the target is expected to have a property descriptor with the given + * key `name`, it's often best to assert that the property has its expected + * descriptor, rather than asserting that it doesn't have one of many + * unexpected descriptors. + * + * // Recommended + * expect({a: 3}).to.have.ownPropertyDescriptor('a', { + * configurable: true, + * enumerable: true, + * writable: true, + * value: 3, + * }); + * + * // Not recommended + * expect({a: 3}).to.not.have.ownPropertyDescriptor('a', { + * configurable: true, + * enumerable: true, + * writable: true, + * value: 1, + * }); + * + * `.ownPropertyDescriptor` changes the target of any assertions that follow + * in the chain to be the value of the property descriptor from the original + * target object. + * + * expect({a: 1}).to.have.ownPropertyDescriptor('a') + * .that.has.property('enumerable', true); + * + * `.ownPropertyDescriptor` accepts an optional `msg` argument which is a + * custom error message to show when the assertion fails. The message can also + * be given as the second argument to `expect`. When not providing + * `descriptor`, only use the second form. + * + * // Recommended + * expect({a: 1}).to.have.ownPropertyDescriptor('a', { + * configurable: true, + * enumerable: true, + * writable: true, + * value: 2, + * }, 'nooo why fail??'); + * + * // Recommended + * expect({a: 1}, 'nooo why fail??').to.have.ownPropertyDescriptor('a', { + * configurable: true, + * enumerable: true, + * writable: true, + * value: 2, + * }); + * + * // Recommended + * expect({a: 1}, 'nooo why fail??').to.have.ownPropertyDescriptor('b'); + * + * // Not recommended + * expect({a: 1}) + * .to.have.ownPropertyDescriptor('b', undefined, 'nooo why fail??'); + * + * The above assertion isn't the same thing as not providing `descriptor`. + * Instead, it's asserting that the target object has a `b` property + * descriptor that's deeply equal to `undefined`. + * + * The alias `.haveOwnPropertyDescriptor` can be used interchangeably with + * `.ownPropertyDescriptor`. + * + * @name ownPropertyDescriptor + * @alias haveOwnPropertyDescriptor + * @param {string} name + * @param {object} descriptor _optional_ + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertOwnPropertyDescriptor(name, descriptor, msg) { + if (typeof descriptor === 'string') { + msg = descriptor; + descriptor = null; + } + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + var actualDescriptor = Object.getOwnPropertyDescriptor(Object(obj), name); + var eql = flag(this, 'eql'); + if (actualDescriptor && descriptor) { + this.assert( + eql(descriptor, actualDescriptor), + 'expected the own property descriptor for ' + + _.inspect(name) + + ' on #{this} to match ' + + _.inspect(descriptor) + + ', got ' + + _.inspect(actualDescriptor), + 'expected the own property descriptor for ' + + _.inspect(name) + + ' on #{this} to not match ' + + _.inspect(descriptor), + descriptor, + actualDescriptor, + true + ); + } else { + this.assert( + actualDescriptor, + 'expected #{this} to have an own property descriptor for ' + + _.inspect(name), + 'expected #{this} to not have an own property descriptor for ' + + _.inspect(name) + ); + } + flag(this, 'object', actualDescriptor); +} + +Assertion.addMethod('ownPropertyDescriptor', assertOwnPropertyDescriptor); +Assertion.addMethod('haveOwnPropertyDescriptor', assertOwnPropertyDescriptor); + +/** + * + */ +function assertLengthChain() { + flag(this, 'doLength', true); +} + +/** + * ### .lengthOf(n[, msg]) + * + * Asserts that the target's `length` or `size` is equal to the given number + * `n`. + * + * expect([1, 2, 3]).to.have.lengthOf(3); + * expect('foo').to.have.lengthOf(3); + * expect(new Set([1, 2, 3])).to.have.lengthOf(3); + * expect(new Map([['a', 1], ['b', 2], ['c', 3]])).to.have.lengthOf(3); + * + * Add `.not` earlier in the chain to negate `.lengthOf`. However, it's often + * best to assert that the target's `length` property is equal to its expected + * value, rather than not equal to one of many unexpected values. + * + * expect('foo').to.have.lengthOf(3); // Recommended + * expect('foo').to.not.have.lengthOf(4); // Not recommended + * + * `.lengthOf` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. + * + * expect([1, 2, 3]).to.have.lengthOf(2, 'nooo why fail??'); + * expect([1, 2, 3], 'nooo why fail??').to.have.lengthOf(2); + * + * `.lengthOf` can also be used as a language chain, causing all `.above`, + * `.below`, `.least`, `.most`, and `.within` assertions that follow in the + * chain to use the target's `length` property as the target. However, it's + * often best to assert that the target's `length` property is equal to its + * expected length, rather than asserting that its `length` property falls + * within some range of values. + * + * // Recommended + * expect([1, 2, 3]).to.have.lengthOf(3); + * + * // Not recommended + * expect([1, 2, 3]).to.have.lengthOf.above(2); + * expect([1, 2, 3]).to.have.lengthOf.below(4); + * expect([1, 2, 3]).to.have.lengthOf.at.least(3); + * expect([1, 2, 3]).to.have.lengthOf.at.most(3); + * expect([1, 2, 3]).to.have.lengthOf.within(2,4); + * + * Due to a compatibility issue, the alias `.length` can't be chained directly + * off of an uninvoked method such as `.a`. Therefore, `.length` can't be used + * interchangeably with `.lengthOf` in every situation. It's recommended to + * always use `.lengthOf` instead of `.length`. + * + * expect([1, 2, 3]).to.have.a.length(3); // incompatible; throws error + * expect([1, 2, 3]).to.have.a.lengthOf(3); // passes as expected + * + * @name lengthOf + * @alias length + * @param {number} n + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertLength(n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + objType = _.type(obj).toLowerCase(), + flagMsg = flag(this, 'message'), + ssfi = flag(this, 'ssfi'), + descriptor = 'length', + itemsCount; + + switch (objType) { + case 'map': + case 'set': + descriptor = 'size'; + itemsCount = obj.size; + break; + default: + new Assertion(obj, flagMsg, ssfi, true).to.have.property('length'); + itemsCount = obj.length; + } + + this.assert( + itemsCount == n, + 'expected #{this} to have a ' + descriptor + ' of #{exp} but got #{act}', + 'expected #{this} to not have a ' + descriptor + ' of #{act}', + n, + itemsCount + ); +} + +Assertion.addChainableMethod('length', assertLength, assertLengthChain); +Assertion.addChainableMethod('lengthOf', assertLength, assertLengthChain); + +/** + * ### .match(re[, msg]) + * + * Asserts that the target matches the given regular expression `re`. + * + * expect('foobar').to.match(/^foo/); + * + * Add `.not` earlier in the chain to negate `.match`. + * + * expect('foobar').to.not.match(/taco/); + * + * `.match` accepts an optional `msg` argument which is a custom error message + * to show when the assertion fails. The message can also be given as the + * second argument to `expect`. + * + * expect('foobar').to.match(/taco/, 'nooo why fail??'); + * expect('foobar', 'nooo why fail??').to.match(/taco/); + * + * The alias `.matches` can be used interchangeably with `.match`. + * + * @name match + * @alias matches + * @param {RegExp} re + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertMatch(re, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + this.assert( + re.exec(obj), + 'expected #{this} to match ' + re, + 'expected #{this} not to match ' + re + ); +} + +Assertion.addMethod('match', assertMatch); +Assertion.addMethod('matches', assertMatch); + +/** + * ### .string(str[, msg]) + * + * Asserts that the target string contains the given substring `str`. + * + * expect('foobar').to.have.string('bar'); + * + * Add `.not` earlier in the chain to negate `.string`. + * + * expect('foobar').to.not.have.string('taco'); + * + * `.string` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. + * + * expect('foobar').to.have.string('taco', 'nooo why fail??'); + * expect('foobar', 'nooo why fail??').to.have.string('taco'); + * + * @name string + * @param {string} str + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +Assertion.addMethod('string', function (str, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + flagMsg = flag(this, 'message'), + ssfi = flag(this, 'ssfi'); + new Assertion(obj, flagMsg, ssfi, true).is.a('string'); + + this.assert( + ~obj.indexOf(str), + 'expected #{this} to contain ' + _.inspect(str), + 'expected #{this} to not contain ' + _.inspect(str) + ); +}); + +/** + * ### .keys(key1[, key2[, ...]]) + * + * Asserts that the target object, array, map, or set has the given keys. Only + * the target's own inherited properties are included in the search. + * + * When the target is an object or array, keys can be provided as one or more + * string arguments, a single array argument, or a single object argument. In + * the latter case, only the keys in the given object matter; the values are + * ignored. + * + * expect({a: 1, b: 2}).to.have.all.keys('a', 'b'); + * expect(['x', 'y']).to.have.all.keys(0, 1); + * + * expect({a: 1, b: 2}).to.have.all.keys(['a', 'b']); + * expect(['x', 'y']).to.have.all.keys([0, 1]); + * + * expect({a: 1, b: 2}).to.have.all.keys({a: 4, b: 5}); // ignore 4 and 5 + * expect(['x', 'y']).to.have.all.keys({0: 4, 1: 5}); // ignore 4 and 5 + * + * When the target is a map or set, each key must be provided as a separate + * argument. + * + * expect(new Map([['a', 1], ['b', 2]])).to.have.all.keys('a', 'b'); + * expect(new Set(['a', 'b'])).to.have.all.keys('a', 'b'); + * + * Because `.keys` does different things based on the target's type, it's + * important to check the target's type before using `.keys`. See the `.a` doc + * for info on testing a target's type. + * + * expect({a: 1, b: 2}).to.be.an('object').that.has.all.keys('a', 'b'); + * + * By default, strict (`===`) equality is used to compare keys of maps and + * sets. Add `.deep` earlier in the chain to use deep equality instead. See + * the `deep-eql` project page for info on the deep equality algorithm: + * https://github.com/chaijs/deep-eql. + * + * // Target set deeply (but not strictly) has key `{a: 1}` + * expect(new Set([{a: 1}])).to.have.all.deep.keys([{a: 1}]); + * expect(new Set([{a: 1}])).to.not.have.all.keys([{a: 1}]); + * + * By default, the target must have all of the given keys and no more. Add + * `.any` earlier in the chain to only require that the target have at least + * one of the given keys. Also, add `.not` earlier in the chain to negate + * `.keys`. It's often best to add `.any` when negating `.keys`, and to use + * `.all` when asserting `.keys` without negation. + * + * When negating `.keys`, `.any` is preferred because `.not.any.keys` asserts + * exactly what's expected of the output, whereas `.not.all.keys` creates + * uncertain expectations. + * + * // Recommended; asserts that target doesn't have any of the given keys + * expect({a: 1, b: 2}).to.not.have.any.keys('c', 'd'); + * + * // Not recommended; asserts that target doesn't have all of the given + * // keys but may or may not have some of them + * expect({a: 1, b: 2}).to.not.have.all.keys('c', 'd'); + * + * When asserting `.keys` without negation, `.all` is preferred because + * `.all.keys` asserts exactly what's expected of the output, whereas + * `.any.keys` creates uncertain expectations. + * + * // Recommended; asserts that target has all the given keys + * expect({a: 1, b: 2}).to.have.all.keys('a', 'b'); + * + * // Not recommended; asserts that target has at least one of the given + * // keys but may or may not have more of them + * expect({a: 1, b: 2}).to.have.any.keys('a', 'b'); + * + * Note that `.all` is used by default when neither `.all` nor `.any` appear + * earlier in the chain. However, it's often best to add `.all` anyway because + * it improves readability. + * + * // Both assertions are identical + * expect({a: 1, b: 2}).to.have.all.keys('a', 'b'); // Recommended + * expect({a: 1, b: 2}).to.have.keys('a', 'b'); // Not recommended + * + * Add `.include` earlier in the chain to require that the target's keys be a + * superset of the expected keys, rather than identical sets. + * + * // Target object's keys are a superset of ['a', 'b'] but not identical + * expect({a: 1, b: 2, c: 3}).to.include.all.keys('a', 'b'); + * expect({a: 1, b: 2, c: 3}).to.not.have.all.keys('a', 'b'); + * + * However, if `.any` and `.include` are combined, only the `.any` takes + * effect. The `.include` is ignored in this case. + * + * // Both assertions are identical + * expect({a: 1}).to.have.any.keys('a', 'b'); + * expect({a: 1}).to.include.any.keys('a', 'b'); + * + * A custom error message can be given as the second argument to `expect`. + * + * expect({a: 1}, 'nooo why fail??').to.have.key('b'); + * + * The alias `.key` can be used interchangeably with `.keys`. + * + * @name keys + * @alias key + * @param {...string | Array | object} keys + * @namespace BDD + * @public + */ +function assertKeys(keys) { + var obj = flag(this, 'object'), + objType = _.type(obj), + keysType = _.type(keys), + ssfi = flag(this, 'ssfi'), + isDeep = flag(this, 'deep'), + str, + deepStr = '', + actual, + ok = true, + flagMsg = flag(this, 'message'); + + flagMsg = flagMsg ? flagMsg + ': ' : ''; + var mixedArgsMsg = + flagMsg + + 'when testing keys against an object or an array you must give a single Array|Object|String argument or multiple String arguments'; + + if (objType === 'Map' || objType === 'Set') { + deepStr = isDeep ? 'deeply ' : ''; + actual = []; + + // Map and Set '.keys' aren't supported in IE 11. Therefore, use .forEach. + obj.forEach(function (val, key) { + actual.push(key); + }); + + if (keysType !== 'Array') { + keys = Array.prototype.slice.call(arguments); + } + } else { + actual = _.getOwnEnumerableProperties(obj); + + switch (keysType) { + case 'Array': + if (arguments.length > 1) { + throw new AssertionError(mixedArgsMsg, undefined, ssfi); + } + break; + case 'Object': + if (arguments.length > 1) { + throw new AssertionError(mixedArgsMsg, undefined, ssfi); + } + keys = Object.keys(keys); + break; + default: + keys = Array.prototype.slice.call(arguments); + } + + // Only stringify non-Symbols because Symbols would become "Symbol()" + keys = keys.map(function (val) { + return typeof val === 'symbol' ? val : String(val); + }); + } + + if (!keys.length) { + throw new AssertionError(flagMsg + 'keys required', undefined, ssfi); + } + + var len = keys.length, + any = flag(this, 'any'), + all = flag(this, 'all'), + expected = keys, + isEql = isDeep ? flag(this, 'eql') : (val1, val2) => val1 === val2; + + if (!any && !all) { + all = true; + } + + // Has any + if (any) { + ok = expected.some(function (expectedKey) { + return actual.some(function (actualKey) { + return isEql(expectedKey, actualKey); + }); + }); + } + + // Has all + if (all) { + ok = expected.every(function (expectedKey) { + return actual.some(function (actualKey) { + return isEql(expectedKey, actualKey); + }); + }); + + if (!flag(this, 'contains')) { + ok = ok && keys.length == actual.length; + } + } + + // Key string + if (len > 1) { + keys = keys.map(function (key) { + return _.inspect(key); + }); + var last = keys.pop(); + if (all) { + str = keys.join(', ') + ', and ' + last; + } + if (any) { + str = keys.join(', ') + ', or ' + last; + } + } else { + str = _.inspect(keys[0]); + } + + // Form + str = (len > 1 ? 'keys ' : 'key ') + str; + + // Have / include + str = (flag(this, 'contains') ? 'contain ' : 'have ') + str; + + // Assertion + this.assert( + ok, + 'expected #{this} to ' + deepStr + str, + 'expected #{this} to not ' + deepStr + str, + expected.slice(0).sort(_.compareByInspect), + actual.sort(_.compareByInspect), + true + ); +} + +Assertion.addMethod('keys', assertKeys); +Assertion.addMethod('key', assertKeys); + +/** + * ### .throw([errorLike], [errMsgMatcher], [msg]) + * + * When no arguments are provided, `.throw` invokes the target function and + * asserts that an error is thrown. + * + * var badFn = function () { throw new TypeError('Illegal salmon!'); }; + * expect(badFn).to.throw(); + * + * When one argument is provided, and it's an error constructor, `.throw` + * invokes the target function and asserts that an error is thrown that's an + * instance of that error constructor. + * + * var badFn = function () { throw new TypeError('Illegal salmon!'); }; + * expect(badFn).to.throw(TypeError); + * + * When one argument is provided, and it's an error instance, `.throw` invokes + * the target function and asserts that an error is thrown that's strictly + * (`===`) equal to that error instance. + * + * var err = new TypeError('Illegal salmon!'); + * var badFn = function () { throw err; }; + * + * expect(badFn).to.throw(err); + * + * When one argument is provided, and it's a string, `.throw` invokes the + * target function and asserts that an error is thrown with a message that + * contains that string. + * + * var badFn = function () { throw new TypeError('Illegal salmon!'); }; + * expect(badFn).to.throw('salmon'); + * + * When one argument is provided, and it's a regular expression, `.throw` + * invokes the target function and asserts that an error is thrown with a + * message that matches that regular expression. + * + * var badFn = function () { throw new TypeError('Illegal salmon!'); }; + * expect(badFn).to.throw(/salmon/); + * + * When two arguments are provided, and the first is an error instance or + * constructor, and the second is a string or regular expression, `.throw` + * invokes the function and asserts that an error is thrown that fulfills both + * conditions as described above. + * + * var err = new TypeError('Illegal salmon!'); + * var badFn = function () { throw err; }; + * + * expect(badFn).to.throw(TypeError, 'salmon'); + * expect(badFn).to.throw(TypeError, /salmon/); + * expect(badFn).to.throw(err, 'salmon'); + * expect(badFn).to.throw(err, /salmon/); + * + * Add `.not` earlier in the chain to negate `.throw`. + * + * var goodFn = function () {}; + * expect(goodFn).to.not.throw(); + * + * However, it's dangerous to negate `.throw` when providing any arguments. + * The problem is that it creates uncertain expectations by asserting that the + * target either doesn't throw an error, or that it throws an error but of a + * different type than the given type, or that it throws an error of the given + * type but with a message that doesn't include the given string. It's often + * best to identify the exact output that's expected, and then write an + * assertion that only accepts that exact output. + * + * When the target isn't expected to throw an error, it's often best to assert + * exactly that. + * + * var goodFn = function () {}; + * + * expect(goodFn).to.not.throw(); // Recommended + * expect(goodFn).to.not.throw(ReferenceError, 'x'); // Not recommended + * + * When the target is expected to throw an error, it's often best to assert + * that the error is of its expected type, and has a message that includes an + * expected string, rather than asserting that it doesn't have one of many + * unexpected types, and doesn't have a message that includes some string. + * + * var badFn = function () { throw new TypeError('Illegal salmon!'); }; + * + * expect(badFn).to.throw(TypeError, 'salmon'); // Recommended + * expect(badFn).to.not.throw(ReferenceError, 'x'); // Not recommended + * + * `.throw` changes the target of any assertions that follow in the chain to + * be the error object that's thrown. + * + * var err = new TypeError('Illegal salmon!'); + * err.code = 42; + * var badFn = function () { throw err; }; + * + * expect(badFn).to.throw(TypeError).with.property('code', 42); + * + * `.throw` accepts an optional `msg` argument which is a custom error message + * to show when the assertion fails. The message can also be given as the + * second argument to `expect`. When not providing two arguments, always use + * the second form. + * + * var goodFn = function () {}; + * + * expect(goodFn).to.throw(TypeError, 'x', 'nooo why fail??'); + * expect(goodFn, 'nooo why fail??').to.throw(); + * + * Due to limitations in ES5, `.throw` may not always work as expected when + * using a transpiler such as Babel or TypeScript. In particular, it may + * produce unexpected results when subclassing the built-in `Error` object and + * then passing the subclassed constructor to `.throw`. See your transpiler's + * docs for details: + * + * - ([Babel](https://babeljs.io/docs/usage/caveats/#classes)) + * - ([TypeScript](https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work)) + * + * Beware of some common mistakes when using the `throw` assertion. One common + * mistake is to accidentally invoke the function yourself instead of letting + * the `throw` assertion invoke the function for you. For example, when + * testing if a function named `fn` throws, provide `fn` instead of `fn()` as + * the target for the assertion. + * + * expect(fn).to.throw(); // Good! Tests `fn` as desired + * expect(fn()).to.throw(); // Bad! Tests result of `fn()`, not `fn` + * + * If you need to assert that your function `fn` throws when passed certain + * arguments, then wrap a call to `fn` inside of another function. + * + * expect(function () { fn(42); }).to.throw(); // Function expression + * expect(() => fn(42)).to.throw(); // ES6 arrow function + * + * Another common mistake is to provide an object method (or any stand-alone + * function that relies on `this`) as the target of the assertion. Doing so is + * problematic because the `this` context will be lost when the function is + * invoked by `.throw`; there's no way for it to know what `this` is supposed + * to be. There are two ways around this problem. One solution is to wrap the + * method or function call inside of another function. Another solution is to + * use `bind`. + * + * expect(function () { cat.meow(); }).to.throw(); // Function expression + * expect(() => cat.meow()).to.throw(); // ES6 arrow function + * expect(cat.meow.bind(cat)).to.throw(); // Bind + * + * Finally, it's worth mentioning that it's a best practice in JavaScript to + * only throw `Error` and derivatives of `Error` such as `ReferenceError`, + * `TypeError`, and user-defined objects that extend `Error`. No other type of + * value will generate a stack trace when initialized. With that said, the + * `throw` assertion does technically support any type of value being thrown, + * not just `Error` and its derivatives. + * + * The aliases `.throws` and `.Throw` can be used interchangeably with + * `.throw`. + * + * @name throw + * @alias throws + * @alias Throw + * @param {Error} errorLike + * @param {string | RegExp} errMsgMatcher error message + * @param {string} msg _optional_ + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @returns {void} error for chaining (null if no error) + * @namespace BDD + * @public + */ +function assertThrows(errorLike, errMsgMatcher, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + ssfi = flag(this, 'ssfi'), + flagMsg = flag(this, 'message'), + negate = flag(this, 'negate') || false; + new Assertion(obj, flagMsg, ssfi, true).is.a('function'); + + if (_.isRegExp(errorLike) || typeof errorLike === 'string') { + errMsgMatcher = errorLike; + errorLike = null; + } + + let caughtErr; + let errorWasThrown = false; + try { + obj(); + } catch (err) { + errorWasThrown = true; + caughtErr = err; + } + + // If we have the negate flag enabled and at least one valid argument it means we do expect an error + // but we want it to match a given set of criteria + var everyArgIsUndefined = + errorLike === undefined && errMsgMatcher === undefined; + + // If we've got the negate flag enabled and both args, we should only fail if both aren't compatible + // See Issue #551 and PR #683@GitHub + var everyArgIsDefined = Boolean(errorLike && errMsgMatcher); + var errorLikeFail = false; + var errMsgMatcherFail = false; + + // Checking if error was thrown + if (everyArgIsUndefined || (!everyArgIsUndefined && !negate)) { + // We need this to display results correctly according to their types + var errorLikeString = 'an error'; + if (errorLike instanceof Error) { + errorLikeString = '#{exp}'; + } else if (errorLike) { + errorLikeString = _.checkError.getConstructorName(errorLike); + } + + let actual = caughtErr; + if (caughtErr instanceof Error) { + actual = caughtErr.toString(); + } else if (typeof caughtErr === 'string') { + actual = caughtErr; + } else if ( + caughtErr && + (typeof caughtErr === 'object' || typeof caughtErr === 'function') + ) { + try { + actual = _.checkError.getConstructorName(caughtErr); + } catch (_err) { + // somehow wasn't a constructor, maybe we got a function thrown + // or similar + } + } + + this.assert( + errorWasThrown, + 'expected #{this} to throw ' + errorLikeString, + 'expected #{this} to not throw an error but #{act} was thrown', + errorLike && errorLike.toString(), + actual + ); + } + + if (errorLike && caughtErr) { + // We should compare instances only if `errorLike` is an instance of `Error` + if (errorLike instanceof Error) { + var isCompatibleInstance = _.checkError.compatibleInstance( + caughtErr, + errorLike + ); + + if (isCompatibleInstance === negate) { + // These checks were created to ensure we won't fail too soon when we've got both args and a negate + // See Issue #551 and PR #683@GitHub + if (everyArgIsDefined && negate) { + errorLikeFail = true; + } else { + this.assert( + negate, + 'expected #{this} to throw #{exp} but #{act} was thrown', + 'expected #{this} to not throw #{exp}' + + (caughtErr && !negate ? ' but #{act} was thrown' : ''), + errorLike.toString(), + caughtErr.toString() + ); + } + } + } + + var isCompatibleConstructor = _.checkError.compatibleConstructor( + caughtErr, + errorLike + ); + if (isCompatibleConstructor === negate) { + if (everyArgIsDefined && negate) { + errorLikeFail = true; + } else { + this.assert( + negate, + 'expected #{this} to throw #{exp} but #{act} was thrown', + 'expected #{this} to not throw #{exp}' + + (caughtErr ? ' but #{act} was thrown' : ''), + errorLike instanceof Error + ? errorLike.toString() + : errorLike && _.checkError.getConstructorName(errorLike), + caughtErr instanceof Error + ? caughtErr.toString() + : caughtErr && _.checkError.getConstructorName(caughtErr) + ); + } + } + } + + if (caughtErr && errMsgMatcher !== undefined && errMsgMatcher !== null) { + // Here we check compatible messages + var placeholder = 'including'; + if (_.isRegExp(errMsgMatcher)) { + placeholder = 'matching'; + } + + var isCompatibleMessage = _.checkError.compatibleMessage( + caughtErr, + errMsgMatcher + ); + if (isCompatibleMessage === negate) { + if (everyArgIsDefined && negate) { + errMsgMatcherFail = true; + } else { + this.assert( + negate, + 'expected #{this} to throw error ' + + placeholder + + ' #{exp} but got #{act}', + 'expected #{this} to throw error not ' + placeholder + ' #{exp}', + errMsgMatcher, + _.checkError.getMessage(caughtErr) + ); + } + } + } + + // If both assertions failed and both should've matched we throw an error + if (errorLikeFail && errMsgMatcherFail) { + this.assert( + negate, + 'expected #{this} to throw #{exp} but #{act} was thrown', + 'expected #{this} to not throw #{exp}' + + (caughtErr ? ' but #{act} was thrown' : ''), + errorLike instanceof Error + ? errorLike.toString() + : errorLike && _.checkError.getConstructorName(errorLike), + caughtErr instanceof Error + ? caughtErr.toString() + : caughtErr && _.checkError.getConstructorName(caughtErr) + ); + } + + flag(this, 'object', caughtErr); +} + +Assertion.addMethod('throw', assertThrows); +Assertion.addMethod('throws', assertThrows); +Assertion.addMethod('Throw', assertThrows); + +/** + * ### .respondTo(method[, msg]) + * + * When the target is a non-function object, `.respondTo` asserts that the + * target has a method with the given name `method`. The method can be own or + * inherited, and it can be enumerable or non-enumerable. + * + * function Cat () {} + * Cat.prototype.meow = function () {}; + * + * expect(new Cat()).to.respondTo('meow'); + * + * When the target is a function, `.respondTo` asserts that the target's + * `prototype` property has a method with the given name `method`. Again, the + * method can be own or inherited, and it can be enumerable or non-enumerable. + * + * function Cat () {} + * Cat.prototype.meow = function () {}; + * + * expect(Cat).to.respondTo('meow'); + * + * Add `.itself` earlier in the chain to force `.respondTo` to treat the + * target as a non-function object, even if it's a function. Thus, it asserts + * that the target has a method with the given name `method`, rather than + * asserting that the target's `prototype` property has a method with the + * given name `method`. + * + * function Cat () {} + * Cat.prototype.meow = function () {}; + * Cat.hiss = function () {}; + * + * expect(Cat).itself.to.respondTo('hiss').but.not.respondTo('meow'); + * + * When not adding `.itself`, it's important to check the target's type before + * using `.respondTo`. See the `.a` doc for info on checking a target's type. + * + * function Cat () {} + * Cat.prototype.meow = function () {}; + * + * expect(new Cat()).to.be.an('object').that.respondsTo('meow'); + * + * Add `.not` earlier in the chain to negate `.respondTo`. + * + * function Dog () {} + * Dog.prototype.bark = function () {}; + * + * expect(new Dog()).to.not.respondTo('meow'); + * + * `.respondTo` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. + * + * expect({}).to.respondTo('meow', 'nooo why fail??'); + * expect({}, 'nooo why fail??').to.respondTo('meow'); + * + * The alias `.respondsTo` can be used interchangeably with `.respondTo`. + * + * @name respondTo + * @alias respondsTo + * @param {string} method + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function respondTo(method, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + itself = flag(this, 'itself'), + context = + 'function' === typeof obj && !itself + ? obj.prototype[method] + : obj[method]; + + this.assert( + 'function' === typeof context, + 'expected #{this} to respond to ' + _.inspect(method), + 'expected #{this} to not respond to ' + _.inspect(method) + ); +} + +Assertion.addMethod('respondTo', respondTo); +Assertion.addMethod('respondsTo', respondTo); + +/** + * ### .itself + * + * Forces all `.respondTo` assertions that follow in the chain to behave as if + * the target is a non-function object, even if it's a function. Thus, it + * causes `.respondTo` to assert that the target has a method with the given + * name, rather than asserting that the target's `prototype` property has a + * method with the given name. + * + * function Cat () {} + * Cat.prototype.meow = function () {}; + * Cat.hiss = function () {}; + * + * expect(Cat).itself.to.respondTo('hiss').but.not.respondTo('meow'); + * + * @name itself + * @namespace BDD + * @public + */ +Assertion.addProperty('itself', function () { + flag(this, 'itself', true); +}); + +/** + * ### .satisfy(matcher[, msg]) + * + * Invokes the given `matcher` function with the target being passed as the + * first argument, and asserts that the value returned is truthy. + * + * expect(1).to.satisfy(function(num) { + * return num > 0; + * }); + * + * Add `.not` earlier in the chain to negate `.satisfy`. + * + * expect(1).to.not.satisfy(function(num) { + * return num > 2; + * }); + * + * `.satisfy` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. + * + * expect(1).to.satisfy(function(num) { + * return num > 2; + * }, 'nooo why fail??'); + * + * expect(1, 'nooo why fail??').to.satisfy(function(num) { + * return num > 2; + * }); + * + * The alias `.satisfies` can be used interchangeably with `.satisfy`. + * + * @name satisfy + * @alias satisfies + * @param {Function} matcher + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function satisfy(matcher, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + var result = matcher(obj); + this.assert( + result, + 'expected #{this} to satisfy ' + _.objDisplay(matcher), + 'expected #{this} to not satisfy' + _.objDisplay(matcher), + flag(this, 'negate') ? false : true, + result + ); +} + +Assertion.addMethod('satisfy', satisfy); +Assertion.addMethod('satisfies', satisfy); + +/** + * ### .closeTo(expected, delta[, msg]) + * + * Asserts that the target is a number that's within a given +/- `delta` range + * of the given number `expected`. However, it's often best to assert that the + * target is equal to its expected value. + * + * // Recommended + * expect(1.5).to.equal(1.5); + * + * // Not recommended + * expect(1.5).to.be.closeTo(1, 0.5); + * expect(1.5).to.be.closeTo(2, 0.5); + * expect(1.5).to.be.closeTo(1, 1); + * + * Add `.not` earlier in the chain to negate `.closeTo`. + * + * expect(1.5).to.equal(1.5); // Recommended + * expect(1.5).to.not.be.closeTo(3, 1); // Not recommended + * + * `.closeTo` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. + * + * expect(1.5).to.be.closeTo(3, 1, 'nooo why fail??'); + * expect(1.5, 'nooo why fail??').to.be.closeTo(3, 1); + * + * The alias `.approximately` can be used interchangeably with `.closeTo`. + * + * @name closeTo + * @alias approximately + * @param {number} expected + * @param {number} delta + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function closeTo(expected, delta, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + flagMsg = flag(this, 'message'), + ssfi = flag(this, 'ssfi'); + + new Assertion(obj, flagMsg, ssfi, true).is.numeric; + let message = 'A `delta` value is required for `closeTo`'; + if (delta == undefined) + throw new AssertionError( + flagMsg ? `${flagMsg}: ${message}` : message, + undefined, + ssfi + ); + new Assertion(delta, flagMsg, ssfi, true).is.numeric; + message = 'A `expected` value is required for `closeTo`'; + if (expected == undefined) + throw new AssertionError( + flagMsg ? `${flagMsg}: ${message}` : message, + undefined, + ssfi + ); + new Assertion(expected, flagMsg, ssfi, true).is.numeric; + + const abs = (x) => (x < 0n ? -x : x); + + // Used to round floating point number precision arithmetics + // See: https://stackoverflow.com/a/3644302 + const strip = (number) => parseFloat(parseFloat(number).toPrecision(12)); + + this.assert( + strip(abs(obj - expected)) <= delta, + 'expected #{this} to be close to ' + expected + ' +/- ' + delta, + 'expected #{this} not to be close to ' + expected + ' +/- ' + delta + ); +} + +Assertion.addMethod('closeTo', closeTo); +Assertion.addMethod('approximately', closeTo); + +/** + * @param {unknown} _subset + * @param {unknown} _superset + * @param {unknown} cmp + * @param {unknown} contains + * @param {unknown} ordered + * @returns {boolean} + */ +function isSubsetOf(_subset, _superset, cmp, contains, ordered) { + let superset = Array.from(_superset); + let subset = Array.from(_subset); + if (!contains) { + if (subset.length !== superset.length) return false; + superset = superset.slice(); + } + + return subset.every(function (elem, idx) { + if (ordered) return cmp ? cmp(elem, superset[idx]) : elem === superset[idx]; + + if (!cmp) { + var matchIdx = superset.indexOf(elem); + if (matchIdx === -1) return false; + + // Remove match from superset so not counted twice if duplicate in subset. + if (!contains) superset.splice(matchIdx, 1); + return true; + } + + return superset.some(function (elem2, matchIdx) { + if (!cmp(elem, elem2)) return false; + + // Remove match from superset so not counted twice if duplicate in subset. + if (!contains) superset.splice(matchIdx, 1); + return true; + }); + }); +} + +/** + * ### .members(set[, msg]) + * + * Asserts that the target array has the same members as the given array + * `set`. + * + * expect([1, 2, 3]).to.have.members([2, 1, 3]); + * expect([1, 2, 2]).to.have.members([2, 1, 2]); + * + * By default, members are compared using strict (`===`) equality. Add `.deep` + * earlier in the chain to use deep equality instead. See the `deep-eql` + * project page for info on the deep equality algorithm: + * https://github.com/chaijs/deep-eql. + * + * // Target array deeply (but not strictly) has member `{a: 1}` + * expect([{a: 1}]).to.have.deep.members([{a: 1}]); + * expect([{a: 1}]).to.not.have.members([{a: 1}]); + * + * By default, order doesn't matter. Add `.ordered` earlier in the chain to + * require that members appear in the same order. + * + * expect([1, 2, 3]).to.have.ordered.members([1, 2, 3]); + * expect([1, 2, 3]).to.have.members([2, 1, 3]) + * .but.not.ordered.members([2, 1, 3]); + * + * By default, both arrays must be the same size. Add `.include` earlier in + * the chain to require that the target's members be a superset of the + * expected members. Note that duplicates are ignored in the subset when + * `.include` is added. + * + * // Target array is a superset of [1, 2] but not identical + * expect([1, 2, 3]).to.include.members([1, 2]); + * expect([1, 2, 3]).to.not.have.members([1, 2]); + * + * // Duplicates in the subset are ignored + * expect([1, 2, 3]).to.include.members([1, 2, 2, 2]); + * + * `.deep`, `.ordered`, and `.include` can all be combined. However, if + * `.include` and `.ordered` are combined, the ordering begins at the start of + * both arrays. + * + * expect([{a: 1}, {b: 2}, {c: 3}]) + * .to.include.deep.ordered.members([{a: 1}, {b: 2}]) + * .but.not.include.deep.ordered.members([{b: 2}, {c: 3}]); + * + * Add `.not` earlier in the chain to negate `.members`. However, it's + * dangerous to do so. The problem is that it creates uncertain expectations + * by asserting that the target array doesn't have all of the same members as + * the given array `set` but may or may not have some of them. It's often best + * to identify the exact output that's expected, and then write an assertion + * that only accepts that exact output. + * + * expect([1, 2]).to.not.include(3).and.not.include(4); // Recommended + * expect([1, 2]).to.not.have.members([3, 4]); // Not recommended + * + * `.members` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. + * + * expect([1, 2]).to.have.members([1, 2, 3], 'nooo why fail??'); + * expect([1, 2], 'nooo why fail??').to.have.members([1, 2, 3]); + * + * @name members + * @param {Array} set + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +Assertion.addMethod('members', function (subset, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'), + flagMsg = flag(this, 'message'), + ssfi = flag(this, 'ssfi'); + + new Assertion(obj, flagMsg, ssfi, true).to.be.iterable; + new Assertion(subset, flagMsg, ssfi, true).to.be.iterable; + + var contains = flag(this, 'contains'); + var ordered = flag(this, 'ordered'); + + var subject, failMsg, failNegateMsg; + + if (contains) { + subject = ordered ? 'an ordered superset' : 'a superset'; + failMsg = 'expected #{this} to be ' + subject + ' of #{exp}'; + failNegateMsg = 'expected #{this} to not be ' + subject + ' of #{exp}'; + } else { + subject = ordered ? 'ordered members' : 'members'; + failMsg = 'expected #{this} to have the same ' + subject + ' as #{exp}'; + failNegateMsg = + 'expected #{this} to not have the same ' + subject + ' as #{exp}'; + } + + var cmp = flag(this, 'deep') ? flag(this, 'eql') : undefined; + + this.assert( + isSubsetOf(subset, obj, cmp, contains, ordered), + failMsg, + failNegateMsg, + subset, + obj, + true + ); +}); + +/** + * ### .iterable + * + * Asserts that the target is an iterable, which means that it has a iterator. + * + * expect([1, 2]).to.be.iterable; + * expect("foobar").to.be.iterable; + * + * Add `.not` earlier in the chain to negate `.iterable`. + * + * expect(1).to.not.be.iterable; + * expect(true).to.not.be.iterable; + * + * A custom error message can be given as the second argument to `expect`. + * + * expect(1, 'nooo why fail??').to.be.iterable; + * + * @name iterable + * @namespace BDD + * @public + */ +Assertion.addProperty('iterable', function (msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + + this.assert( + obj != undefined && obj[Symbol.iterator], + 'expected #{this} to be an iterable', + 'expected #{this} to not be an iterable', + obj + ); +}); + +/** + * ### .oneOf(list[, msg]) + * + * Asserts that the target is a member of the given array `list`. However, + * it's often best to assert that the target is equal to its expected value. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.be.oneOf([1, 2, 3]); // Not recommended + * + * Comparisons are performed using strict (`===`) equality. + * + * Add `.not` earlier in the chain to negate `.oneOf`. + * + * expect(1).to.equal(1); // Recommended + * expect(1).to.not.be.oneOf([2, 3, 4]); // Not recommended + * + * It can also be chained with `.contain` or `.include`, which will work with + * both arrays and strings: + * + * expect('Today is sunny').to.contain.oneOf(['sunny', 'cloudy']) + * expect('Today is rainy').to.not.contain.oneOf(['sunny', 'cloudy']) + * expect([1,2,3]).to.contain.oneOf([3,4,5]) + * expect([1,2,3]).to.not.contain.oneOf([4,5,6]) + * + * `.oneOf` accepts an optional `msg` argument which is a custom error message + * to show when the assertion fails. The message can also be given as the + * second argument to `expect`. + * + * expect(1).to.be.oneOf([2, 3, 4], 'nooo why fail??'); + * expect(1, 'nooo why fail??').to.be.oneOf([2, 3, 4]); + * + * @name oneOf + * @param {Array<*>} list + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function oneOf(list, msg) { + if (msg) flag(this, 'message', msg); + var expected = flag(this, 'object'), + flagMsg = flag(this, 'message'), + ssfi = flag(this, 'ssfi'), + contains = flag(this, 'contains'), + isDeep = flag(this, 'deep'), + eql = flag(this, 'eql'); + new Assertion(list, flagMsg, ssfi, true).to.be.an('array'); + + if (contains) { + this.assert( + list.some(function (possibility) { + return expected.indexOf(possibility) > -1; + }), + 'expected #{this} to contain one of #{exp}', + 'expected #{this} to not contain one of #{exp}', + list, + expected + ); + } else { + if (isDeep) { + this.assert( + list.some(function (possibility) { + return eql(expected, possibility); + }), + 'expected #{this} to deeply equal one of #{exp}', + 'expected #{this} to deeply equal one of #{exp}', + list, + expected + ); + } else { + this.assert( + list.indexOf(expected) > -1, + 'expected #{this} to be one of #{exp}', + 'expected #{this} to not be one of #{exp}', + list, + expected + ); + } + } +} + +Assertion.addMethod('oneOf', oneOf); + +/** + * ### .change(subject[, prop[, msg]]) + * + * When one argument is provided, `.change` asserts that the given function + * `subject` returns a different value when it's invoked before the target + * function compared to when it's invoked afterward. However, it's often best + * to assert that `subject` is equal to its expected value. + * + * var dots = '' + * , addDot = function () { dots += '.'; } + * , getDots = function () { return dots; }; + * + * // Recommended + * expect(getDots()).to.equal(''); + * addDot(); + * expect(getDots()).to.equal('.'); + * + * // Not recommended + * expect(addDot).to.change(getDots); + * + * When two arguments are provided, `.change` asserts that the value of the + * given object `subject`'s `prop` property is different before invoking the + * target function compared to afterward. + * + * var myObj = {dots: ''} + * , addDot = function () { myObj.dots += '.'; }; + * + * // Recommended + * expect(myObj).to.have.property('dots', ''); + * addDot(); + * expect(myObj).to.have.property('dots', '.'); + * + * // Not recommended + * expect(addDot).to.change(myObj, 'dots'); + * + * Strict (`===`) equality is used to compare before and after values. + * + * Add `.not` earlier in the chain to negate `.change`. + * + * var dots = '' + * , noop = function () {} + * , getDots = function () { return dots; }; + * + * expect(noop).to.not.change(getDots); + * + * var myObj = {dots: ''} + * , noop = function () {}; + * + * expect(noop).to.not.change(myObj, 'dots'); + * + * `.change` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. When not providing two arguments, always + * use the second form. + * + * var myObj = {dots: ''} + * , addDot = function () { myObj.dots += '.'; }; + * + * expect(addDot).to.not.change(myObj, 'dots', 'nooo why fail??'); + * + * var dots = '' + * , addDot = function () { dots += '.'; } + * , getDots = function () { return dots; }; + * + * expect(addDot, 'nooo why fail??').to.not.change(getDots); + * + * `.change` also causes all `.by` assertions that follow in the chain to + * assert how much a numeric subject was increased or decreased by. However, + * it's dangerous to use `.change.by`. The problem is that it creates + * uncertain expectations by asserting that the subject either increases by + * the given delta, or that it decreases by the given delta. It's often best + * to identify the exact output that's expected, and then write an assertion + * that only accepts that exact output. + * + * var myObj = {val: 1} + * , addTwo = function () { myObj.val += 2; } + * , subtractTwo = function () { myObj.val -= 2; }; + * + * expect(addTwo).to.increase(myObj, 'val').by(2); // Recommended + * expect(addTwo).to.change(myObj, 'val').by(2); // Not recommended + * + * expect(subtractTwo).to.decrease(myObj, 'val').by(2); // Recommended + * expect(subtractTwo).to.change(myObj, 'val').by(2); // Not recommended + * + * The alias `.changes` can be used interchangeably with `.change`. + * + * @name change + * @alias changes + * @param {string} subject + * @param {string} prop name _optional_ + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertChanges(subject, prop, msg) { + if (msg) flag(this, 'message', msg); + var fn = flag(this, 'object'), + flagMsg = flag(this, 'message'), + ssfi = flag(this, 'ssfi'); + new Assertion(fn, flagMsg, ssfi, true).is.a('function'); + + var initial; + if (!prop) { + new Assertion(subject, flagMsg, ssfi, true).is.a('function'); + initial = subject(); + } else { + new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop); + initial = subject[prop]; + } + + fn(); + + var final = prop === undefined || prop === null ? subject() : subject[prop]; + var msgObj = prop === undefined || prop === null ? initial : '.' + prop; + + // This gets flagged because of the .by(delta) assertion + flag(this, 'deltaMsgObj', msgObj); + flag(this, 'initialDeltaValue', initial); + flag(this, 'finalDeltaValue', final); + flag(this, 'deltaBehavior', 'change'); + flag(this, 'realDelta', final !== initial); + + this.assert( + initial !== final, + 'expected ' + msgObj + ' to change', + 'expected ' + msgObj + ' to not change' + ); +} + +Assertion.addMethod('change', assertChanges); +Assertion.addMethod('changes', assertChanges); + +/** + * ### .increase(subject[, prop[, msg]]) + * + * When one argument is provided, `.increase` asserts that the given function + * `subject` returns a greater number when it's invoked after invoking the + * target function compared to when it's invoked beforehand. `.increase` also + * causes all `.by` assertions that follow in the chain to assert how much + * greater of a number is returned. It's often best to assert that the return + * value increased by the expected amount, rather than asserting it increased + * by any amount. + * + * var val = 1 + * , addTwo = function () { val += 2; } + * , getVal = function () { return val; }; + * + * expect(addTwo).to.increase(getVal).by(2); // Recommended + * expect(addTwo).to.increase(getVal); // Not recommended + * + * When two arguments are provided, `.increase` asserts that the value of the + * given object `subject`'s `prop` property is greater after invoking the + * target function compared to beforehand. + * + * var myObj = {val: 1} + * , addTwo = function () { myObj.val += 2; }; + * + * expect(addTwo).to.increase(myObj, 'val').by(2); // Recommended + * expect(addTwo).to.increase(myObj, 'val'); // Not recommended + * + * Add `.not` earlier in the chain to negate `.increase`. However, it's + * dangerous to do so. The problem is that it creates uncertain expectations + * by asserting that the subject either decreases, or that it stays the same. + * It's often best to identify the exact output that's expected, and then + * write an assertion that only accepts that exact output. + * + * When the subject is expected to decrease, it's often best to assert that it + * decreased by the expected amount. + * + * var myObj = {val: 1} + * , subtractTwo = function () { myObj.val -= 2; }; + * + * expect(subtractTwo).to.decrease(myObj, 'val').by(2); // Recommended + * expect(subtractTwo).to.not.increase(myObj, 'val'); // Not recommended + * + * When the subject is expected to stay the same, it's often best to assert + * exactly that. + * + * var myObj = {val: 1} + * , noop = function () {}; + * + * expect(noop).to.not.change(myObj, 'val'); // Recommended + * expect(noop).to.not.increase(myObj, 'val'); // Not recommended + * + * `.increase` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. When not providing two arguments, always + * use the second form. + * + * var myObj = {val: 1} + * , noop = function () {}; + * + * expect(noop).to.increase(myObj, 'val', 'nooo why fail??'); + * + * var val = 1 + * , noop = function () {} + * , getVal = function () { return val; }; + * + * expect(noop, 'nooo why fail??').to.increase(getVal); + * + * The alias `.increases` can be used interchangeably with `.increase`. + * + * @name increase + * @alias increases + * @param {string | Function} subject + * @param {string} prop name _optional_ + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertIncreases(subject, prop, msg) { + if (msg) flag(this, 'message', msg); + var fn = flag(this, 'object'), + flagMsg = flag(this, 'message'), + ssfi = flag(this, 'ssfi'); + new Assertion(fn, flagMsg, ssfi, true).is.a('function'); + + var initial; + if (!prop) { + new Assertion(subject, flagMsg, ssfi, true).is.a('function'); + initial = subject(); + } else { + new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop); + initial = subject[prop]; + } + + // Make sure that the target is a number + new Assertion(initial, flagMsg, ssfi, true).is.a('number'); + + fn(); + + var final = prop === undefined || prop === null ? subject() : subject[prop]; + var msgObj = prop === undefined || prop === null ? initial : '.' + prop; + + flag(this, 'deltaMsgObj', msgObj); + flag(this, 'initialDeltaValue', initial); + flag(this, 'finalDeltaValue', final); + flag(this, 'deltaBehavior', 'increase'); + flag(this, 'realDelta', final - initial); + + this.assert( + final - initial > 0, + 'expected ' + msgObj + ' to increase', + 'expected ' + msgObj + ' to not increase' + ); +} + +Assertion.addMethod('increase', assertIncreases); +Assertion.addMethod('increases', assertIncreases); + +/** + * ### .decrease(subject[, prop[, msg]]) + * + * When one argument is provided, `.decrease` asserts that the given function + * `subject` returns a lesser number when it's invoked after invoking the + * target function compared to when it's invoked beforehand. `.decrease` also + * causes all `.by` assertions that follow in the chain to assert how much + * lesser of a number is returned. It's often best to assert that the return + * value decreased by the expected amount, rather than asserting it decreased + * by any amount. + * + * var val = 1 + * , subtractTwo = function () { val -= 2; } + * , getVal = function () { return val; }; + * + * expect(subtractTwo).to.decrease(getVal).by(2); // Recommended + * expect(subtractTwo).to.decrease(getVal); // Not recommended + * + * When two arguments are provided, `.decrease` asserts that the value of the + * given object `subject`'s `prop` property is lesser after invoking the + * target function compared to beforehand. + * + * var myObj = {val: 1} + * , subtractTwo = function () { myObj.val -= 2; }; + * + * expect(subtractTwo).to.decrease(myObj, 'val').by(2); // Recommended + * expect(subtractTwo).to.decrease(myObj, 'val'); // Not recommended + * + * Add `.not` earlier in the chain to negate `.decrease`. However, it's + * dangerous to do so. The problem is that it creates uncertain expectations + * by asserting that the subject either increases, or that it stays the same. + * It's often best to identify the exact output that's expected, and then + * write an assertion that only accepts that exact output. + * + * When the subject is expected to increase, it's often best to assert that it + * increased by the expected amount. + * + * var myObj = {val: 1} + * , addTwo = function () { myObj.val += 2; }; + * + * expect(addTwo).to.increase(myObj, 'val').by(2); // Recommended + * expect(addTwo).to.not.decrease(myObj, 'val'); // Not recommended + * + * When the subject is expected to stay the same, it's often best to assert + * exactly that. + * + * var myObj = {val: 1} + * , noop = function () {}; + * + * expect(noop).to.not.change(myObj, 'val'); // Recommended + * expect(noop).to.not.decrease(myObj, 'val'); // Not recommended + * + * `.decrease` accepts an optional `msg` argument which is a custom error + * message to show when the assertion fails. The message can also be given as + * the second argument to `expect`. When not providing two arguments, always + * use the second form. + * + * var myObj = {val: 1} + * , noop = function () {}; + * + * expect(noop).to.decrease(myObj, 'val', 'nooo why fail??'); + * + * var val = 1 + * , noop = function () {} + * , getVal = function () { return val; }; + * + * expect(noop, 'nooo why fail??').to.decrease(getVal); + * + * The alias `.decreases` can be used interchangeably with `.decrease`. + * + * @name decrease + * @alias decreases + * @param {string | Function} subject + * @param {string} prop name _optional_ + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertDecreases(subject, prop, msg) { + if (msg) flag(this, 'message', msg); + var fn = flag(this, 'object'), + flagMsg = flag(this, 'message'), + ssfi = flag(this, 'ssfi'); + new Assertion(fn, flagMsg, ssfi, true).is.a('function'); + + var initial; + if (!prop) { + new Assertion(subject, flagMsg, ssfi, true).is.a('function'); + initial = subject(); + } else { + new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop); + initial = subject[prop]; + } + + // Make sure that the target is a number + new Assertion(initial, flagMsg, ssfi, true).is.a('number'); + + fn(); + + var final = prop === undefined || prop === null ? subject() : subject[prop]; + var msgObj = prop === undefined || prop === null ? initial : '.' + prop; + + flag(this, 'deltaMsgObj', msgObj); + flag(this, 'initialDeltaValue', initial); + flag(this, 'finalDeltaValue', final); + flag(this, 'deltaBehavior', 'decrease'); + flag(this, 'realDelta', initial - final); + + this.assert( + final - initial < 0, + 'expected ' + msgObj + ' to decrease', + 'expected ' + msgObj + ' to not decrease' + ); +} + +Assertion.addMethod('decrease', assertDecreases); +Assertion.addMethod('decreases', assertDecreases); + +/** + * ### .by(delta[, msg]) + * + * When following an `.increase` assertion in the chain, `.by` asserts that + * the subject of the `.increase` assertion increased by the given `delta`. + * + * var myObj = {val: 1} + * , addTwo = function () { myObj.val += 2; }; + * + * expect(addTwo).to.increase(myObj, 'val').by(2); + * + * When following a `.decrease` assertion in the chain, `.by` asserts that the + * subject of the `.decrease` assertion decreased by the given `delta`. + * + * var myObj = {val: 1} + * , subtractTwo = function () { myObj.val -= 2; }; + * + * expect(subtractTwo).to.decrease(myObj, 'val').by(2); + * + * When following a `.change` assertion in the chain, `.by` asserts that the + * subject of the `.change` assertion either increased or decreased by the + * given `delta`. However, it's dangerous to use `.change.by`. The problem is + * that it creates uncertain expectations. It's often best to identify the + * exact output that's expected, and then write an assertion that only accepts + * that exact output. + * + * var myObj = {val: 1} + * , addTwo = function () { myObj.val += 2; } + * , subtractTwo = function () { myObj.val -= 2; }; + * + * expect(addTwo).to.increase(myObj, 'val').by(2); // Recommended + * expect(addTwo).to.change(myObj, 'val').by(2); // Not recommended + * + * expect(subtractTwo).to.decrease(myObj, 'val').by(2); // Recommended + * expect(subtractTwo).to.change(myObj, 'val').by(2); // Not recommended + * + * Add `.not` earlier in the chain to negate `.by`. However, it's often best + * to assert that the subject changed by its expected delta, rather than + * asserting that it didn't change by one of countless unexpected deltas. + * + * var myObj = {val: 1} + * , addTwo = function () { myObj.val += 2; }; + * + * // Recommended + * expect(addTwo).to.increase(myObj, 'val').by(2); + * + * // Not recommended + * expect(addTwo).to.increase(myObj, 'val').but.not.by(3); + * + * `.by` accepts an optional `msg` argument which is a custom error message to + * show when the assertion fails. The message can also be given as the second + * argument to `expect`. + * + * var myObj = {val: 1} + * , addTwo = function () { myObj.val += 2; }; + * + * expect(addTwo).to.increase(myObj, 'val').by(3, 'nooo why fail??'); + * expect(addTwo, 'nooo why fail??').to.increase(myObj, 'val').by(3); + * + * @name by + * @param {number} delta + * @param {string} msg _optional_ + * @namespace BDD + * @public + */ +function assertDelta(delta, msg) { + if (msg) flag(this, 'message', msg); + + var msgObj = flag(this, 'deltaMsgObj'); + var initial = flag(this, 'initialDeltaValue'); + var final = flag(this, 'finalDeltaValue'); + var behavior = flag(this, 'deltaBehavior'); + var realDelta = flag(this, 'realDelta'); + + var expression; + if (behavior === 'change') { + expression = Math.abs(final - initial) === Math.abs(delta); + } else { + expression = realDelta === Math.abs(delta); + } + + this.assert( + expression, + 'expected ' + msgObj + ' to ' + behavior + ' by ' + delta, + 'expected ' + msgObj + ' to not ' + behavior + ' by ' + delta + ); +} + +Assertion.addMethod('by', assertDelta); + +/** + * ### .extensible + * + * Asserts that the target is extensible, which means that new properties can + * be added to it. Primitives are never extensible. + * + * expect({a: 1}).to.be.extensible; + * + * Add `.not` earlier in the chain to negate `.extensible`. + * + * var nonExtensibleObject = Object.preventExtensions({}) + * , sealedObject = Object.seal({}) + * , frozenObject = Object.freeze({}); + * + * expect(nonExtensibleObject).to.not.be.extensible; + * expect(sealedObject).to.not.be.extensible; + * expect(frozenObject).to.not.be.extensible; + * expect(1).to.not.be.extensible; + * + * A custom error message can be given as the second argument to `expect`. + * + * expect(1, 'nooo why fail??').to.be.extensible; + * + * @name extensible + * @namespace BDD + * @public + */ +Assertion.addProperty('extensible', function () { + var obj = flag(this, 'object'); + + // In ES5, if the argument to this method is a primitive, then it will cause a TypeError. + // In ES6, a non-object argument will be treated as if it was a non-extensible ordinary object, simply return false. + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible + // The following provides ES6 behavior for ES5 environments. + + var isExtensible = obj === Object(obj) && Object.isExtensible(obj); + + this.assert( + isExtensible, + 'expected #{this} to be extensible', + 'expected #{this} to not be extensible' + ); +}); + +/** + * ### .sealed + * + * Asserts that the target is sealed, which means that new properties can't be + * added to it, and its existing properties can't be reconfigured or deleted. + * However, it's possible that its existing properties can still be reassigned + * to different values. Primitives are always sealed. + * + * var sealedObject = Object.seal({}); + * var frozenObject = Object.freeze({}); + * + * expect(sealedObject).to.be.sealed; + * expect(frozenObject).to.be.sealed; + * expect(1).to.be.sealed; + * + * Add `.not` earlier in the chain to negate `.sealed`. + * + * expect({a: 1}).to.not.be.sealed; + * + * A custom error message can be given as the second argument to `expect`. + * + * expect({a: 1}, 'nooo why fail??').to.be.sealed; + * + * @name sealed + * @namespace BDD + * @public + */ +Assertion.addProperty('sealed', function () { + var obj = flag(this, 'object'); + + // In ES5, if the argument to this method is a primitive, then it will cause a TypeError. + // In ES6, a non-object argument will be treated as if it was a sealed ordinary object, simply return true. + // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed + // The following provides ES6 behavior for ES5 environments. + + var isSealed = obj === Object(obj) ? Object.isSealed(obj) : true; + + this.assert( + isSealed, + 'expected #{this} to be sealed', + 'expected #{this} to not be sealed' + ); +}); + +/** + * ### .frozen + * + * Asserts that the target is frozen, which means that new properties can't be + * added to it, and its existing properties can't be reassigned to different + * values, reconfigured, or deleted. Primitives are always frozen. + * + * var frozenObject = Object.freeze({}); + * + * expect(frozenObject).to.be.frozen; + * expect(1).to.be.frozen; + * + * Add `.not` earlier in the chain to negate `.frozen`. + * + * expect({a: 1}).to.not.be.frozen; + * + * A custom error message can be given as the second argument to `expect`. + * + * expect({a: 1}, 'nooo why fail??').to.be.frozen; + * + * @name frozen + * @namespace BDD + * @public + */ +Assertion.addProperty('frozen', function () { + var obj = flag(this, 'object'); + + // In ES5, if the argument to this method is a primitive, then it will cause a TypeError. + // In ES6, a non-object argument will be treated as if it was a frozen ordinary object, simply return true. + // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen + // The following provides ES6 behavior for ES5 environments. + + var isFrozen = obj === Object(obj) ? Object.isFrozen(obj) : true; + + this.assert( + isFrozen, + 'expected #{this} to be frozen', + 'expected #{this} to not be frozen' + ); +}); + +/** + * ### .finite + * + * Asserts that the target is a number, and isn't `NaN` or positive/negative + * `Infinity`. + * + * expect(1).to.be.finite; + * + * Add `.not` earlier in the chain to negate `.finite`. However, it's + * dangerous to do so. The problem is that it creates uncertain expectations + * by asserting that the subject either isn't a number, or that it's `NaN`, or + * that it's positive `Infinity`, or that it's negative `Infinity`. It's often + * best to identify the exact output that's expected, and then write an + * assertion that only accepts that exact output. + * + * When the target isn't expected to be a number, it's often best to assert + * that it's the expected type, rather than asserting that it isn't one of + * many unexpected types. + * + * expect('foo').to.be.a('string'); // Recommended + * expect('foo').to.not.be.finite; // Not recommended + * + * When the target is expected to be `NaN`, it's often best to assert exactly + * that. + * + * expect(NaN).to.be.NaN; // Recommended + * expect(NaN).to.not.be.finite; // Not recommended + * + * When the target is expected to be positive infinity, it's often best to + * assert exactly that. + * + * expect(Infinity).to.equal(Infinity); // Recommended + * expect(Infinity).to.not.be.finite; // Not recommended + * + * When the target is expected to be negative infinity, it's often best to + * assert exactly that. + * + * expect(-Infinity).to.equal(-Infinity); // Recommended + * expect(-Infinity).to.not.be.finite; // Not recommended + * + * A custom error message can be given as the second argument to `expect`. + * + * expect('foo', 'nooo why fail??').to.be.finite; + * + * @name finite + * @namespace BDD + * @public + */ +Assertion.addProperty('finite', function (_msg) { + var obj = flag(this, 'object'); + + this.assert( + typeof obj === 'number' && isFinite(obj), + 'expected #{this} to be a finite number', + 'expected #{this} to not be a finite number' + ); +}); + +/** + * A subset-aware compare function + * + * @param {unknown} expected + * @param {unknown} actual + * @returns {boolean} + */ +function compareSubset(expected, actual) { + if (expected === actual) { + return true; + } + if (typeof actual !== typeof expected) { + return false; + } + if (typeof expected !== 'object' || expected === null) { + return expected === actual; + } + if (!actual) { + return false; + } + + if (Array.isArray(expected)) { + if (!Array.isArray(actual)) { + return false; + } + return expected.every(function (exp) { + return actual.some(function (act) { + return compareSubset(exp, act); + }); + }); + } + + if (expected instanceof Date) { + if (actual instanceof Date) { + return expected.getTime() === actual.getTime(); + } else { + return false; + } + } + + return Object.keys(expected).every(function (key) { + var expectedValue = expected[key]; + var actualValue = actual[key]; + if ( + typeof expectedValue === 'object' && + expectedValue !== null && + actualValue !== null + ) { + return compareSubset(expectedValue, actualValue); + } + if (typeof expectedValue === 'function') { + return expectedValue(actualValue); + } + return actualValue === expectedValue; + }); +} + +/** + * ### .containSubset + * + * Asserts that the target primitive/object/array structure deeply contains all provided fields + * at the same key/depth as the provided structure. + * + * When comparing arrays, the target must contain the subset of at least one of each object/value in the subset array. + * Order does not matter. + * + * expect({name: {first: "John", last: "Smith"}}).to.containSubset({name: {first: "John"}}); + * + * Add `.not` earlier in the chain to negate the assertion. This will cause the assertion to fail + * only if the target DOES contains the provided data at the expected keys/depths. + * + * @name containSubset + * @namespace BDD + * @public + */ +Assertion.addMethod('containSubset', function (expected) { + const actual = _.flag(this, 'object'); + const showDiff = config.showDiff; + + this.assert( + compareSubset(expected, actual), + 'expected #{act} to contain subset #{exp}', + 'expected #{act} to not contain subset #{exp}', + expected, + actual, + showDiff + ); +}); diff --git a/node_modules/chai/lib/chai/interface/assert.js b/node_modules/chai/lib/chai/interface/assert.js new file mode 100644 index 0000000..a399e92 --- /dev/null +++ b/node_modules/chai/lib/chai/interface/assert.js @@ -0,0 +1,3228 @@ +/*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +import * as chai from '../../../index.js'; +import {Assertion} from '../assertion.js'; +import {flag, inspect} from '../utils/index.js'; +import {AssertionError} from 'assertion-error'; + +/** + * ### assert(expression, message) + * + * Write your own test expressions. + * + * assert('foo' !== 'bar', 'foo is not bar'); + * assert(Array.isArray([]), 'empty arrays are arrays'); + * + * @param {unknown} express - expression to test for truthiness + * @param {string} errmsg - message to display on error + * @name assert + * @namespace Assert + * @public + */ +export function assert(express, errmsg) { + var test = new Assertion(null, null, chai.assert, true); + test.assert(express, errmsg, '[ negation message unavailable ]'); +} + +/** + * ### .fail([message]) + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. Node.js `assert` module-compatible. + * + * assert.fail(); + * assert.fail("custom error message"); + * assert.fail(1, 2); + * assert.fail(1, 2, "custom error message"); + * assert.fail(1, 2, "custom error message", ">"); + * assert.fail(1, 2, undefined, ">"); + * + * @name fail + * @param {unknown} actual + * @param {unknown} expected + * @param {string} message + * @param {string} operator + * @namespace Assert + * @public + */ +assert.fail = function (actual, expected, message, operator) { + if (arguments.length < 2) { + // Comply with Node's fail([message]) interface + + message = actual; + actual = undefined; + } + + message = message || 'assert.fail()'; + throw new AssertionError( + message, + { + actual: actual, + expected: expected, + operator: operator + }, + assert.fail + ); +}; + +/** + * ### .isOk(object, [message]) + * + * Asserts that `object` is truthy. + * + * assert.isOk('everything', 'everything is ok'); + * assert.isOk(false, 'this will fail'); + * + * @name isOk + * @alias ok + * @param {unknown} val object to test + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isOk = function (val, msg) { + new Assertion(val, msg, assert.isOk, true).is.ok; +}; + +/** + * ### .isNotOk(object, [message]) + * + * Asserts that `object` is falsy. + * + * assert.isNotOk('everything', 'this will fail'); + * assert.isNotOk(false, 'this will pass'); + * + * @name isNotOk + * @alias notOk + * @param {unknown} val object to test + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotOk = function (val, msg) { + new Assertion(val, msg, assert.isNotOk, true).is.not.ok; +}; + +/** + * ### .equal(actual, expected, [message]) + * + * Asserts non-strict equality (`==`) of `actual` and `expected`. + * + * assert.equal(3, '3', '== coerces values to strings'); + * + * @name equal + * @param {unknown} act + * @param {unknown} exp + * @param {string} msg + * @namespace Assert + * @public + */ +assert.equal = function (act, exp, msg) { + var test = new Assertion(act, msg, assert.equal, true); + + test.assert( + exp == flag(test, 'object'), + 'expected #{this} to equal #{exp}', + 'expected #{this} to not equal #{act}', + exp, + act, + true + ); +}; + +/** + * ### .notEqual(actual, expected, [message]) + * + * Asserts non-strict inequality (`!=`) of `actual` and `expected`. + * + * assert.notEqual(3, 4, 'these numbers are not equal'); + * + * @name notEqual + * @param {unknown} act + * @param {unknown} exp + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notEqual = function (act, exp, msg) { + var test = new Assertion(act, msg, assert.notEqual, true); + + test.assert( + exp != flag(test, 'object'), + 'expected #{this} to not equal #{exp}', + 'expected #{this} to equal #{act}', + exp, + act, + true + ); +}; + +/** + * ### .strictEqual(actual, expected, [message]) + * + * Asserts strict equality (`===`) of `actual` and `expected`. + * + * assert.strictEqual(true, true, 'these booleans are strictly equal'); + * + * @name strictEqual + * @param {unknown} act + * @param {unknown} exp + * @param {string} msg + * @namespace Assert + * @public + */ +assert.strictEqual = function (act, exp, msg) { + new Assertion(act, msg, assert.strictEqual, true).to.equal(exp); +}; + +/** + * ### .notStrictEqual(actual, expected, [message]) + * + * Asserts strict inequality (`!==`) of `actual` and `expected`. + * + * assert.notStrictEqual(3, '3', 'no coercion for strict equality'); + * + * @name notStrictEqual + * @param {unknown} act + * @param {unknown} exp + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notStrictEqual = function (act, exp, msg) { + new Assertion(act, msg, assert.notStrictEqual, true).to.not.equal(exp); +}; + +/** + * ### .deepEqual(actual, expected, [message]) + * + * Asserts that `actual` is deeply equal to `expected`. + * + * assert.deepEqual({ tea: 'green' }, { tea: 'green' }); + * + * @name deepEqual + * @param {unknown} act + * @param {unknown} exp + * @param {string} msg + * @alias deepStrictEqual + * @namespace Assert + * @public + */ +assert.deepEqual = assert.deepStrictEqual = function (act, exp, msg) { + new Assertion(act, msg, assert.deepEqual, true).to.eql(exp); +}; + +/** + * ### .notDeepEqual(actual, expected, [message]) + * + * Assert that `actual` is not deeply equal to `expected`. + * + * assert.notDeepEqual({ tea: 'green' }, { tea: 'jasmine' }); + * + * @name notDeepEqual + * @param {unknown} act + * @param {unknown} exp + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notDeepEqual = function (act, exp, msg) { + new Assertion(act, msg, assert.notDeepEqual, true).to.not.eql(exp); +}; + +/** + * ### .isAbove(valueToCheck, valueToBeAbove, [message]) + * + * Asserts `valueToCheck` is strictly greater than (>) `valueToBeAbove`. + * + * assert.isAbove(5, 2, '5 is strictly greater than 2'); + * + * @name isAbove + * @param {unknown} val + * @param {unknown} abv + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isAbove = function (val, abv, msg) { + new Assertion(val, msg, assert.isAbove, true).to.be.above(abv); +}; + +/** + * ### .isAtLeast(valueToCheck, valueToBeAtLeast, [message]) + * + * Asserts `valueToCheck` is greater than or equal to (>=) `valueToBeAtLeast`. + * + * assert.isAtLeast(5, 2, '5 is greater or equal to 2'); + * assert.isAtLeast(3, 3, '3 is greater or equal to 3'); + * + * @name isAtLeast + * @param {unknown} val + * @param {unknown} atlst + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isAtLeast = function (val, atlst, msg) { + new Assertion(val, msg, assert.isAtLeast, true).to.be.least(atlst); +}; + +/** + * ### .isBelow(valueToCheck, valueToBeBelow, [message]) + * + * Asserts `valueToCheck` is strictly less than (<) `valueToBeBelow`. + * + * assert.isBelow(3, 6, '3 is strictly less than 6'); + * + * @name isBelow + * @param {unknown} val + * @param {unknown} blw + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isBelow = function (val, blw, msg) { + new Assertion(val, msg, assert.isBelow, true).to.be.below(blw); +}; + +/** + * ### .isAtMost(valueToCheck, valueToBeAtMost, [message]) + * + * Asserts `valueToCheck` is less than or equal to (<=) `valueToBeAtMost`. + * + * assert.isAtMost(3, 6, '3 is less than or equal to 6'); + * assert.isAtMost(4, 4, '4 is less than or equal to 4'); + * + * @name isAtMost + * @param {unknown} val + * @param {unknown} atmst + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isAtMost = function (val, atmst, msg) { + new Assertion(val, msg, assert.isAtMost, true).to.be.most(atmst); +}; + +/** + * ### .isTrue(value, [message]) + * + * Asserts that `value` is true. + * + * var teaServed = true; + * assert.isTrue(teaServed, 'the tea has been served'); + * + * @name isTrue + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isTrue = function (val, msg) { + new Assertion(val, msg, assert.isTrue, true).is['true']; +}; + +/** + * ### .isNotTrue(value, [message]) + * + * Asserts that `value` is not true. + * + * var tea = 'tasty chai'; + * assert.isNotTrue(tea, 'great, time for tea!'); + * + * @name isNotTrue + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotTrue = function (val, msg) { + new Assertion(val, msg, assert.isNotTrue, true).to.not.equal(true); +}; + +/** + * ### .isFalse(value, [message]) + * + * Asserts that `value` is false. + * + * var teaServed = false; + * assert.isFalse(teaServed, 'no tea yet? hmm...'); + * + * @name isFalse + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isFalse = function (val, msg) { + new Assertion(val, msg, assert.isFalse, true).is['false']; +}; + +/** + * ### .isNotFalse(value, [message]) + * + * Asserts that `value` is not false. + * + * var tea = 'tasty chai'; + * assert.isNotFalse(tea, 'great, time for tea!'); + * + * @name isNotFalse + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotFalse = function (val, msg) { + new Assertion(val, msg, assert.isNotFalse, true).to.not.equal(false); +}; + +/** + * ### .isNull(value, [message]) + * + * Asserts that `value` is null. + * + * assert.isNull(err, 'there was no error'); + * + * @name isNull + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNull = function (val, msg) { + new Assertion(val, msg, assert.isNull, true).to.equal(null); +}; + +/** + * ### .isNotNull(value, [message]) + * + * Asserts that `value` is not null. + * + * var tea = 'tasty chai'; + * assert.isNotNull(tea, 'great, time for tea!'); + * + * @name isNotNull + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotNull = function (val, msg) { + new Assertion(val, msg, assert.isNotNull, true).to.not.equal(null); +}; + +/** + * ### .isNaN + * + * Asserts that value is NaN. + * + * assert.isNaN(NaN, 'NaN is NaN'); + * + * @name isNaN + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNaN = function (val, msg) { + new Assertion(val, msg, assert.isNaN, true).to.be.NaN; +}; + +/** + * ### .isNotNaN + * + * Asserts that value is not NaN. + * + * assert.isNotNaN(4, '4 is not NaN'); + * + * @name isNotNaN + * @param {unknown} value + * @param {string} message + * @namespace Assert + * @public + */ +assert.isNotNaN = function (value, message) { + new Assertion(value, message, assert.isNotNaN, true).not.to.be.NaN; +}; + +/** + * ### .exists + * + * Asserts that the target is neither `null` nor `undefined`. + * + * var foo = 'hi'; + * assert.exists(foo, 'foo is neither `null` nor `undefined`'); + * + * @name exists + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.exists = function (val, msg) { + new Assertion(val, msg, assert.exists, true).to.exist; +}; + +/** + * ### .notExists + * + * Asserts that the target is either `null` or `undefined`. + * + * var bar = null + * , baz; + * + * assert.notExists(bar); + * assert.notExists(baz, 'baz is either null or undefined'); + * + * @name notExists + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notExists = function (val, msg) { + new Assertion(val, msg, assert.notExists, true).to.not.exist; +}; + +/** + * ### .isUndefined(value, [message]) + * + * Asserts that `value` is `undefined`. + * + * var tea; + * assert.isUndefined(tea, 'no tea defined'); + * + * @name isUndefined + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isUndefined = function (val, msg) { + new Assertion(val, msg, assert.isUndefined, true).to.equal(undefined); +}; + +/** + * ### .isDefined(value, [message]) + * + * Asserts that `value` is not `undefined`. + * + * var tea = 'cup of chai'; + * assert.isDefined(tea, 'tea has been defined'); + * + * @name isDefined + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isDefined = function (val, msg) { + new Assertion(val, msg, assert.isDefined, true).to.not.equal(undefined); +}; + +/** + * ### .isCallable(value, [message]) + * + * Asserts that `value` is a callable function. + * + * function serveTea() { return 'cup of tea'; }; + * assert.isCallable(serveTea, 'great, we can have tea now'); + * + * @name isCallable + * @param {unknown} value + * @param {string} message + * @namespace Assert + * @public + */ +assert.isCallable = function (value, message) { + new Assertion(value, message, assert.isCallable, true).is.callable; +}; + +/** + * ### .isNotCallable(value, [message]) + * + * Asserts that `value` is _not_ a callable function. + * + * var serveTea = [ 'heat', 'pour', 'sip' ]; + * assert.isNotCallable(serveTea, 'great, we have listed the steps'); + * + * @name isNotCallable + * @param {unknown} value + * @param {string} message + * @namespace Assert + * @public + */ +assert.isNotCallable = function (value, message) { + new Assertion(value, message, assert.isNotCallable, true).is.not.callable; +}; + +/** + * ### .isObject(value, [message]) + * + * Asserts that `value` is an object of type 'Object' (as revealed by `Object.prototype.toString`). + * _The assertion does not match subclassed objects._ + * + * var selection = { name: 'Chai', serve: 'with spices' }; + * assert.isObject(selection, 'tea selection is an object'); + * + * @name isObject + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isObject = function (val, msg) { + new Assertion(val, msg, assert.isObject, true).to.be.a('object'); +}; + +/** + * ### .isNotObject(value, [message]) + * + * Asserts that `value` is _not_ an object of type 'Object' (as revealed by `Object.prototype.toString`). + * + * var selection = 'chai' + * assert.isNotObject(selection, 'tea selection is not an object'); + * assert.isNotObject(null, 'null is not an object'); + * + * @name isNotObject + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotObject = function (val, msg) { + new Assertion(val, msg, assert.isNotObject, true).to.not.be.a('object'); +}; + +/** + * ### .isArray(value, [message]) + * + * Asserts that `value` is an array. + * + * var menu = [ 'green', 'chai', 'oolong' ]; + * assert.isArray(menu, 'what kind of tea do we want?'); + * + * @name isArray + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isArray = function (val, msg) { + new Assertion(val, msg, assert.isArray, true).to.be.an('array'); +}; + +/** + * ### .isNotArray(value, [message]) + * + * Asserts that `value` is _not_ an array. + * + * var menu = 'green|chai|oolong'; + * assert.isNotArray(menu, 'what kind of tea do we want?'); + * + * @name isNotArray + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotArray = function (val, msg) { + new Assertion(val, msg, assert.isNotArray, true).to.not.be.an('array'); +}; + +/** + * ### .isString(value, [message]) + * + * Asserts that `value` is a string. + * + * var teaOrder = 'chai'; + * assert.isString(teaOrder, 'order placed'); + * + * @name isString + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isString = function (val, msg) { + new Assertion(val, msg, assert.isString, true).to.be.a('string'); +}; + +/** + * ### .isNotString(value, [message]) + * + * Asserts that `value` is _not_ a string. + * + * var teaOrder = 4; + * assert.isNotString(teaOrder, 'order placed'); + * + * @name isNotString + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotString = function (val, msg) { + new Assertion(val, msg, assert.isNotString, true).to.not.be.a('string'); +}; + +/** + * ### .isNumber(value, [message]) + * + * Asserts that `value` is a number. + * + * var cups = 2; + * assert.isNumber(cups, 'how many cups'); + * + * @name isNumber + * @param {number} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNumber = function (val, msg) { + new Assertion(val, msg, assert.isNumber, true).to.be.a('number'); +}; + +/** + * ### .isNotNumber(value, [message]) + * + * Asserts that `value` is _not_ a number. + * + * var cups = '2 cups please'; + * assert.isNotNumber(cups, 'how many cups'); + * + * @name isNotNumber + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotNumber = function (val, msg) { + new Assertion(val, msg, assert.isNotNumber, true).to.not.be.a('number'); +}; + +/** + * ### .isNumeric(value, [message]) + * + * Asserts that `value` is a number or BigInt. + * + * var cups = 2; + * assert.isNumeric(cups, 'how many cups'); + * + * var cups = 10n; + * assert.isNumeric(cups, 'how many cups'); + * + * @name isNumeric + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNumeric = function (val, msg) { + new Assertion(val, msg, assert.isNumeric, true).is.numeric; +}; + +/** + * ### .isNotNumeric(value, [message]) + * + * Asserts that `value` is _not_ a number or BigInt. + * + * var cups = '2 cups please'; + * assert.isNotNumeric(cups, 'how many cups'); + * + * @name isNotNumeric + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotNumeric = function (val, msg) { + new Assertion(val, msg, assert.isNotNumeric, true).is.not.numeric; +}; + +/** + * ### .isFinite(value, [message]) + * + * Asserts that `value` is a finite number. Unlike `.isNumber`, this will fail for `NaN` and `Infinity`. + * + * var cups = 2; + * assert.isFinite(cups, 'how many cups'); + * assert.isFinite(NaN); // throws + * + * @name isFinite + * @param {number} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isFinite = function (val, msg) { + new Assertion(val, msg, assert.isFinite, true).to.be.finite; +}; + +/** + * ### .isBoolean(value, [message]) + * + * Asserts that `value` is a boolean. + * + * var teaReady = true + * , teaServed = false; + * + * assert.isBoolean(teaReady, 'is the tea ready'); + * assert.isBoolean(teaServed, 'has tea been served'); + * + * @name isBoolean + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isBoolean = function (val, msg) { + new Assertion(val, msg, assert.isBoolean, true).to.be.a('boolean'); +}; + +/** + * ### .isNotBoolean(value, [message]) + * + * Asserts that `value` is _not_ a boolean. + * + * var teaReady = 'yep' + * , teaServed = 'nope'; + * + * assert.isNotBoolean(teaReady, 'is the tea ready'); + * assert.isNotBoolean(teaServed, 'has tea been served'); + * + * @name isNotBoolean + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.isNotBoolean = function (val, msg) { + new Assertion(val, msg, assert.isNotBoolean, true).to.not.be.a('boolean'); +}; + +/** + * ### .typeOf(value, name, [message]) + * + * Asserts that `value`'s type is `name`, as determined by + * `Object.prototype.toString`. + * + * assert.typeOf({ tea: 'chai' }, 'object', 'we have an object'); + * assert.typeOf(['chai', 'jasmine'], 'array', 'we have an array'); + * assert.typeOf('tea', 'string', 'we have a string'); + * assert.typeOf(/tea/, 'regexp', 'we have a regular expression'); + * assert.typeOf(null, 'null', 'we have a null'); + * assert.typeOf(undefined, 'undefined', 'we have an undefined'); + * + * @name typeOf + * @param {unknown} val + * @param {string} type + * @param {string} msg + * @namespace Assert + * @public + */ +assert.typeOf = function (val, type, msg) { + new Assertion(val, msg, assert.typeOf, true).to.be.a(type); +}; + +/** + * ### .notTypeOf(value, name, [message]) + * + * Asserts that `value`'s type is _not_ `name`, as determined by + * `Object.prototype.toString`. + * + * assert.notTypeOf('tea', 'number', 'strings are not numbers'); + * + * @name notTypeOf + * @param {unknown} value + * @param {string} type + * @param {string} message + * @namespace Assert + * @public + */ +assert.notTypeOf = function (value, type, message) { + new Assertion(value, message, assert.notTypeOf, true).to.not.be.a(type); +}; + +/** + * ### .instanceOf(object, constructor, [message]) + * + * Asserts that `value` is an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , chai = new Tea('chai'); + * + * assert.instanceOf(chai, Tea, 'chai is an instance of tea'); + * + * @name instanceOf + * @param {object} val + * @param {object} type + * @param {string} msg + * @namespace Assert + * @public + */ +assert.instanceOf = function (val, type, msg) { + new Assertion(val, msg, assert.instanceOf, true).to.be.instanceOf(type); +}; + +/** + * ### .notInstanceOf(object, constructor, [message]) + * + * Asserts `value` is not an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , chai = new String('chai'); + * + * assert.notInstanceOf(chai, Tea, 'chai is not an instance of tea'); + * + * @name notInstanceOf + * @param {object} val + * @param {object} type + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notInstanceOf = function (val, type, msg) { + new Assertion(val, msg, assert.notInstanceOf, true).to.not.be.instanceOf( + type + ); +}; + +/** + * ### .include(haystack, needle, [message]) + * + * Asserts that `haystack` includes `needle`. Can be used to assert the + * inclusion of a value in an array, a substring in a string, or a subset of + * properties in an object. + * + * assert.include([1,2,3], 2, 'array contains value'); + * assert.include('foobar', 'foo', 'string contains substring'); + * assert.include({ foo: 'bar', hello: 'universe' }, { foo: 'bar' }, 'object contains property'); + * + * Strict equality (===) is used. When asserting the inclusion of a value in + * an array, the array is searched for an element that's strictly equal to the + * given value. When asserting a subset of properties in an object, the object + * is searched for the given property keys, checking that each one is present + * and strictly equal to the given property value. For instance: + * + * var obj1 = {a: 1} + * , obj2 = {b: 2}; + * assert.include([obj1, obj2], obj1); + * assert.include({foo: obj1, bar: obj2}, {foo: obj1}); + * assert.include({foo: obj1, bar: obj2}, {foo: obj1, bar: obj2}); + * + * @name include + * @param {Array | string} exp + * @param {unknown} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.include = function (exp, inc, msg) { + new Assertion(exp, msg, assert.include, true).include(inc); +}; + +/** + * ### .notInclude(haystack, needle, [message]) + * + * Asserts that `haystack` does not include `needle`. Can be used to assert + * the absence of a value in an array, a substring in a string, or a subset of + * properties in an object. + * + * assert.notInclude([1,2,3], 4, "array doesn't contain value"); + * assert.notInclude('foobar', 'baz', "string doesn't contain substring"); + * assert.notInclude({ foo: 'bar', hello: 'universe' }, { foo: 'baz' }, 'object doesn't contain property'); + * + * Strict equality (===) is used. When asserting the absence of a value in an + * array, the array is searched to confirm the absence of an element that's + * strictly equal to the given value. When asserting a subset of properties in + * an object, the object is searched to confirm that at least one of the given + * property keys is either not present or not strictly equal to the given + * property value. For instance: + * + * var obj1 = {a: 1} + * , obj2 = {b: 2}; + * assert.notInclude([obj1, obj2], {a: 1}); + * assert.notInclude({foo: obj1, bar: obj2}, {foo: {a: 1}}); + * assert.notInclude({foo: obj1, bar: obj2}, {foo: obj1, bar: {b: 2}}); + * + * @name notInclude + * @param {Array | string} exp + * @param {unknown} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.notInclude, true).not.include(inc); +}; + +/** + * ### .deepInclude(haystack, needle, [message]) + * + * Asserts that `haystack` includes `needle`. Can be used to assert the + * inclusion of a value in an array or a subset of properties in an object. + * Deep equality is used. + * + * var obj1 = {a: 1} + * , obj2 = {b: 2}; + * assert.deepInclude([obj1, obj2], {a: 1}); + * assert.deepInclude({foo: obj1, bar: obj2}, {foo: {a: 1}}); + * assert.deepInclude({foo: obj1, bar: obj2}, {foo: {a: 1}, bar: {b: 2}}); + * + * @name deepInclude + * @param {Array | string} exp + * @param {unknown} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.deepInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.deepInclude, true).deep.include(inc); +}; + +/** + * ### .notDeepInclude(haystack, needle, [message]) + * + * Asserts that `haystack` does not include `needle`. Can be used to assert + * the absence of a value in an array or a subset of properties in an object. + * Deep equality is used. + * + * var obj1 = {a: 1} + * , obj2 = {b: 2}; + * assert.notDeepInclude([obj1, obj2], {a: 9}); + * assert.notDeepInclude({foo: obj1, bar: obj2}, {foo: {a: 9}}); + * assert.notDeepInclude({foo: obj1, bar: obj2}, {foo: {a: 1}, bar: {b: 9}}); + * + * @name notDeepInclude + * @param {Array | string} exp + * @param {unknown} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notDeepInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.notDeepInclude, true).not.deep.include(inc); +}; + +/** + * ### .nestedInclude(haystack, needle, [message]) + * + * Asserts that 'haystack' includes 'needle'. + * Can be used to assert the inclusion of a subset of properties in an + * object. + * Enables the use of dot- and bracket-notation for referencing nested + * properties. + * '[]' and '.' in property names can be escaped using double backslashes. + * + * assert.nestedInclude({'.a': {'b': 'x'}}, {'\\.a.[b]': 'x'}); + * assert.nestedInclude({'a': {'[b]': 'x'}}, {'a.\\[b\\]': 'x'}); + * + * @name nestedInclude + * @param {object} exp + * @param {object} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.nestedInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.nestedInclude, true).nested.include(inc); +}; + +/** + * ### .notNestedInclude(haystack, needle, [message]) + * + * Asserts that 'haystack' does not include 'needle'. + * Can be used to assert the absence of a subset of properties in an + * object. + * Enables the use of dot- and bracket-notation for referencing nested + * properties. + * '[]' and '.' in property names can be escaped using double backslashes. + * + * assert.notNestedInclude({'.a': {'b': 'x'}}, {'\\.a.b': 'y'}); + * assert.notNestedInclude({'a': {'[b]': 'x'}}, {'a.\\[b\\]': 'y'}); + * + * @name notNestedInclude + * @param {object} exp + * @param {object} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notNestedInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.notNestedInclude, true).not.nested.include( + inc + ); +}; + +/** + * ### .deepNestedInclude(haystack, needle, [message]) + * + * Asserts that 'haystack' includes 'needle'. + * Can be used to assert the inclusion of a subset of properties in an + * object while checking for deep equality. + * Enables the use of dot- and bracket-notation for referencing nested + * properties. + * '[]' and '.' in property names can be escaped using double backslashes. + * + * assert.deepNestedInclude({a: {b: [{x: 1}]}}, {'a.b[0]': {x: 1}}); + * assert.deepNestedInclude({'.a': {'[b]': {x: 1}}}, {'\\.a.\\[b\\]': {x: 1}}); + * + * @name deepNestedInclude + * @param {object} exp + * @param {object} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.deepNestedInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.deepNestedInclude, true).deep.nested.include( + inc + ); +}; + +/** + * ### .notDeepNestedInclude(haystack, needle, [message]) + * + * Asserts that 'haystack' does not include 'needle'. + * Can be used to assert the absence of a subset of properties in an + * object while checking for deep equality. + * Enables the use of dot- and bracket-notation for referencing nested + * properties. + * '[]' and '.' in property names can be escaped using double backslashes. + * + * assert.notDeepNestedInclude({a: {b: [{x: 1}]}}, {'a.b[0]': {y: 1}}) + * assert.notDeepNestedInclude({'.a': {'[b]': {x: 1}}}, {'\\.a.\\[b\\]': {y: 2}}); + * + * @name notDeepNestedInclude + * @param {object} exp + * @param {object} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notDeepNestedInclude = function (exp, inc, msg) { + new Assertion( + exp, + msg, + assert.notDeepNestedInclude, + true + ).not.deep.nested.include(inc); +}; + +/** + * ### .ownInclude(haystack, needle, [message]) + * + * Asserts that 'haystack' includes 'needle'. + * Can be used to assert the inclusion of a subset of properties in an + * object while ignoring inherited properties. + * + * assert.ownInclude({ a: 1 }, { a: 1 }); + * + * @name ownInclude + * @param {object} exp + * @param {object} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.ownInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.ownInclude, true).own.include(inc); +}; + +/** + * ### .notOwnInclude(haystack, needle, [message]) + * + * Asserts that 'haystack' does not include 'needle'. + * Can be used to assert the absence of a subset of properties in an + * object while ignoring inherited properties. + * + * Object.prototype.b = 2; + * assert.notOwnInclude({ a: 1 }, { b: 2 }); + * + * @name notOwnInclude + * @param {object} exp + * @param {object} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notOwnInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.notOwnInclude, true).not.own.include(inc); +}; + +/** + * ### .deepOwnInclude(haystack, needle, [message]) + * + * Asserts that 'haystack' includes 'needle'. + * Can be used to assert the inclusion of a subset of properties in an + * object while ignoring inherited properties and checking for deep equality. + * + * assert.deepOwnInclude({a: {b: 2}}, {a: {b: 2}}); + * + * @name deepOwnInclude + * @param {object} exp + * @param {object} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.deepOwnInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.deepOwnInclude, true).deep.own.include(inc); +}; + +/** + * ### .notDeepOwnInclude(haystack, needle, [message]) + * + * Asserts that 'haystack' includes 'needle'. + * Can be used to assert the absence of a subset of properties in an + * object while ignoring inherited properties and checking for deep equality. + * + * assert.notDeepOwnInclude({a: {b: 2}}, {a: {c: 3}}); + * + * @name notDeepOwnInclude + * @param {object} exp + * @param {object} inc + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notDeepOwnInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.notDeepOwnInclude, true).not.deep.own.include( + inc + ); +}; + +/** + * ### .match(value, regexp, [message]) + * + * Asserts that `value` matches the regular expression `regexp`. + * + * assert.match('foobar', /^foo/, 'regexp matches'); + * + * @name match + * @param {unknown} exp + * @param {RegExp} re + * @param {string} msg + * @namespace Assert + * @public + */ +assert.match = function (exp, re, msg) { + new Assertion(exp, msg, assert.match, true).to.match(re); +}; + +/** + * ### .notMatch(value, regexp, [message]) + * + * Asserts that `value` does not match the regular expression `regexp`. + * + * assert.notMatch('foobar', /^foo/, 'regexp does not match'); + * + * @name notMatch + * @param {unknown} exp + * @param {RegExp} re + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notMatch = function (exp, re, msg) { + new Assertion(exp, msg, assert.notMatch, true).to.not.match(re); +}; + +/** + * ### .property(object, property, [message]) + * + * Asserts that `object` has a direct or inherited property named by + * `property`. + * + * assert.property({ tea: { green: 'matcha' }}, 'tea'); + * assert.property({ tea: { green: 'matcha' }}, 'toString'); + * + * @name property + * @param {object} obj + * @param {string} prop + * @param {string} msg + * @namespace Assert + * @public + */ +assert.property = function (obj, prop, msg) { + new Assertion(obj, msg, assert.property, true).to.have.property(prop); +}; + +/** + * ### .notProperty(object, property, [message]) + * + * Asserts that `object` does _not_ have a direct or inherited property named + * by `property`. + * + * assert.notProperty({ tea: { green: 'matcha' }}, 'coffee'); + * + * @name notProperty + * @param {object} obj + * @param {string} prop + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notProperty = function (obj, prop, msg) { + new Assertion(obj, msg, assert.notProperty, true).to.not.have.property(prop); +}; + +/** + * ### .propertyVal(object, property, value, [message]) + * + * Asserts that `object` has a direct or inherited property named by + * `property` with a value given by `value`. Uses a strict equality check + * (===). + * + * assert.propertyVal({ tea: 'is good' }, 'tea', 'is good'); + * + * @name propertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.propertyVal = function (obj, prop, val, msg) { + new Assertion(obj, msg, assert.propertyVal, true).to.have.property(prop, val); +}; + +/** + * ### .notPropertyVal(object, property, value, [message]) + * + * Asserts that `object` does _not_ have a direct or inherited property named + * by `property` with value given by `value`. Uses a strict equality check + * (===). + * + * assert.notPropertyVal({ tea: 'is good' }, 'tea', 'is bad'); + * assert.notPropertyVal({ tea: 'is good' }, 'coffee', 'is good'); + * + * @name notPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notPropertyVal = function (obj, prop, val, msg) { + new Assertion(obj, msg, assert.notPropertyVal, true).to.not.have.property( + prop, + val + ); +}; + +/** + * ### .deepPropertyVal(object, property, value, [message]) + * + * Asserts that `object` has a direct or inherited property named by + * `property` with a value given by `value`. Uses a deep equality check. + * + * assert.deepPropertyVal({ tea: { green: 'matcha' } }, 'tea', { green: 'matcha' }); + * + * @name deepPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.deepPropertyVal = function (obj, prop, val, msg) { + new Assertion(obj, msg, assert.deepPropertyVal, true).to.have.deep.property( + prop, + val + ); +}; + +/** + * ### .notDeepPropertyVal(object, property, value, [message]) + * + * Asserts that `object` does _not_ have a direct or inherited property named + * by `property` with value given by `value`. Uses a deep equality check. + * + * assert.notDeepPropertyVal({ tea: { green: 'matcha' } }, 'tea', { black: 'matcha' }); + * assert.notDeepPropertyVal({ tea: { green: 'matcha' } }, 'tea', { green: 'oolong' }); + * assert.notDeepPropertyVal({ tea: { green: 'matcha' } }, 'coffee', { green: 'matcha' }); + * + * @name notDeepPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notDeepPropertyVal = function (obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.notDeepPropertyVal, + true + ).to.not.have.deep.property(prop, val); +}; + +/** + * ### .ownProperty(object, property, [message]) + * + * Asserts that `object` has a direct property named by `property`. Inherited + * properties aren't checked. + * + * assert.ownProperty({ tea: { green: 'matcha' }}, 'tea'); + * + * @name ownProperty + * @param {object} obj + * @param {string} prop + * @param {string} msg + * @public + */ +assert.ownProperty = function (obj, prop, msg) { + new Assertion(obj, msg, assert.ownProperty, true).to.have.own.property(prop); +}; + +/** + * ### .notOwnProperty(object, property, [message]) + * + * Asserts that `object` does _not_ have a direct property named by + * `property`. Inherited properties aren't checked. + * + * assert.notOwnProperty({ tea: { green: 'matcha' }}, 'coffee'); + * assert.notOwnProperty({}, 'toString'); + * + * @name notOwnProperty + * @param {object} obj + * @param {string} prop + * @param {string} msg + * @public + */ +assert.notOwnProperty = function (obj, prop, msg) { + new Assertion(obj, msg, assert.notOwnProperty, true).to.not.have.own.property( + prop + ); +}; + +/** + * ### .ownPropertyVal(object, property, value, [message]) + * + * Asserts that `object` has a direct property named by `property` and a value + * equal to the provided `value`. Uses a strict equality check (===). + * Inherited properties aren't checked. + * + * assert.ownPropertyVal({ coffee: 'is good'}, 'coffee', 'is good'); + * + * @name ownPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} value + * @param {string} msg + * @public + */ +assert.ownPropertyVal = function (obj, prop, value, msg) { + new Assertion(obj, msg, assert.ownPropertyVal, true).to.have.own.property( + prop, + value + ); +}; + +/** + * ### .notOwnPropertyVal(object, property, value, [message]) + * + * Asserts that `object` does _not_ have a direct property named by `property` + * with a value equal to the provided `value`. Uses a strict equality check + * (===). Inherited properties aren't checked. + * + * assert.notOwnPropertyVal({ tea: 'is better'}, 'tea', 'is worse'); + * assert.notOwnPropertyVal({}, 'toString', Object.prototype.toString); + * + * @name notOwnPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} value + * @param {string} msg + * @public + */ +assert.notOwnPropertyVal = function (obj, prop, value, msg) { + new Assertion( + obj, + msg, + assert.notOwnPropertyVal, + true + ).to.not.have.own.property(prop, value); +}; + +/** + * ### .deepOwnPropertyVal(object, property, value, [message]) + * + * Asserts that `object` has a direct property named by `property` and a value + * equal to the provided `value`. Uses a deep equality check. Inherited + * properties aren't checked. + * + * assert.deepOwnPropertyVal({ tea: { green: 'matcha' } }, 'tea', { green: 'matcha' }); + * + * @name deepOwnPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} value + * @param {string} msg + * @public + */ +assert.deepOwnPropertyVal = function (obj, prop, value, msg) { + new Assertion( + obj, + msg, + assert.deepOwnPropertyVal, + true + ).to.have.deep.own.property(prop, value); +}; + +/** + * ### .notDeepOwnPropertyVal(object, property, value, [message]) + * + * Asserts that `object` does _not_ have a direct property named by `property` + * with a value equal to the provided `value`. Uses a deep equality check. + * Inherited properties aren't checked. + * + * assert.notDeepOwnPropertyVal({ tea: { green: 'matcha' } }, 'tea', { black: 'matcha' }); + * assert.notDeepOwnPropertyVal({ tea: { green: 'matcha' } }, 'tea', { green: 'oolong' }); + * assert.notDeepOwnPropertyVal({ tea: { green: 'matcha' } }, 'coffee', { green: 'matcha' }); + * assert.notDeepOwnPropertyVal({}, 'toString', Object.prototype.toString); + * + * @name notDeepOwnPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} value + * @param {string} msg + * @public + */ +assert.notDeepOwnPropertyVal = function (obj, prop, value, msg) { + new Assertion( + obj, + msg, + assert.notDeepOwnPropertyVal, + true + ).to.not.have.deep.own.property(prop, value); +}; + +/** + * ### .nestedProperty(object, property, [message]) + * + * Asserts that `object` has a direct or inherited property named by + * `property`, which can be a string using dot- and bracket-notation for + * nested reference. + * + * assert.nestedProperty({ tea: { green: 'matcha' }}, 'tea.green'); + * + * @name nestedProperty + * @param {object} obj + * @param {string} prop + * @param {string} msg + * @namespace Assert + * @public + */ +assert.nestedProperty = function (obj, prop, msg) { + new Assertion(obj, msg, assert.nestedProperty, true).to.have.nested.property( + prop + ); +}; + +/** + * ### .notNestedProperty(object, property, [message]) + * + * Asserts that `object` does _not_ have a property named by `property`, which + * can be a string using dot- and bracket-notation for nested reference. The + * property cannot exist on the object nor anywhere in its prototype chain. + * + * assert.notNestedProperty({ tea: { green: 'matcha' }}, 'tea.oolong'); + * + * @name notNestedProperty + * @param {object} obj + * @param {string} prop + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notNestedProperty = function (obj, prop, msg) { + new Assertion( + obj, + msg, + assert.notNestedProperty, + true + ).to.not.have.nested.property(prop); +}; + +/** + * ### .nestedPropertyVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property` with value given + * by `value`. `property` can use dot- and bracket-notation for nested + * reference. Uses a strict equality check (===). + * + * assert.nestedPropertyVal({ tea: { green: 'matcha' }}, 'tea.green', 'matcha'); + * + * @name nestedPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.nestedPropertyVal = function (obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.nestedPropertyVal, + true + ).to.have.nested.property(prop, val); +}; + +/** + * ### .notNestedPropertyVal(object, property, value, [message]) + * + * Asserts that `object` does _not_ have a property named by `property` with + * value given by `value`. `property` can use dot- and bracket-notation for + * nested reference. Uses a strict equality check (===). + * + * assert.notNestedPropertyVal({ tea: { green: 'matcha' }}, 'tea.green', 'konacha'); + * assert.notNestedPropertyVal({ tea: { green: 'matcha' }}, 'coffee.green', 'matcha'); + * + * @name notNestedPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notNestedPropertyVal = function (obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.notNestedPropertyVal, + true + ).to.not.have.nested.property(prop, val); +}; + +/** + * ### .deepNestedPropertyVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property` with a value given + * by `value`. `property` can use dot- and bracket-notation for nested + * reference. Uses a deep equality check. + * + * assert.deepNestedPropertyVal({ tea: { green: { matcha: 'yum' } } }, 'tea.green', { matcha: 'yum' }); + * + * @name deepNestedPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.deepNestedPropertyVal = function (obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.deepNestedPropertyVal, + true + ).to.have.deep.nested.property(prop, val); +}; + +/** + * ### .notDeepNestedPropertyVal(object, property, value, [message]) + * + * Asserts that `object` does _not_ have a property named by `property` with + * value given by `value`. `property` can use dot- and bracket-notation for + * nested reference. Uses a deep equality check. + * + * assert.notDeepNestedPropertyVal({ tea: { green: { matcha: 'yum' } } }, 'tea.green', { oolong: 'yum' }); + * assert.notDeepNestedPropertyVal({ tea: { green: { matcha: 'yum' } } }, 'tea.green', { matcha: 'yuck' }); + * assert.notDeepNestedPropertyVal({ tea: { green: { matcha: 'yum' } } }, 'tea.black', { matcha: 'yum' }); + * + * @name notDeepNestedPropertyVal + * @param {object} obj + * @param {string} prop + * @param {unknown} val + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notDeepNestedPropertyVal = function (obj, prop, val, msg) { + new Assertion( + obj, + msg, + assert.notDeepNestedPropertyVal, + true + ).to.not.have.deep.nested.property(prop, val); +}; + +/** + * ### .lengthOf(object, length, [message]) + * + * Asserts that `object` has a `length` or `size` with the expected value. + * + * assert.lengthOf([1,2,3], 3, 'array has length of 3'); + * assert.lengthOf('foobar', 6, 'string has length of 6'); + * assert.lengthOf(new Set([1,2,3]), 3, 'set has size of 3'); + * assert.lengthOf(new Map([['a',1],['b',2],['c',3]]), 3, 'map has size of 3'); + * + * @name lengthOf + * @param {unknown} exp + * @param {number} len + * @param {string} msg + * @namespace Assert + * @public + */ +assert.lengthOf = function (exp, len, msg) { + new Assertion(exp, msg, assert.lengthOf, true).to.have.lengthOf(len); +}; + +/** + * ### .hasAnyKeys(object, [keys], [message]) + * + * Asserts that `object` has at least one of the `keys` provided. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.hasAnyKeys({foo: 1, bar: 2, baz: 3}, ['foo', 'iDontExist', 'baz']); + * assert.hasAnyKeys({foo: 1, bar: 2, baz: 3}, {foo: 30, iDontExist: 99, baz: 1337}); + * assert.hasAnyKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{foo: 1}, 'key']); + * assert.hasAnyKeys(new Set([{foo: 'bar'}, 'anotherKey']), [{foo: 'bar'}, 'anotherKey']); + * + * @name hasAnyKeys + * @param {unknown} obj + * @param {Array | object} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.hasAnyKeys = function (obj, keys, msg) { + new Assertion(obj, msg, assert.hasAnyKeys, true).to.have.any.keys(keys); +}; + +/** + * ### .hasAllKeys(object, [keys], [message]) + * + * Asserts that `object` has all and only all of the `keys` provided. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.hasAllKeys({foo: 1, bar: 2, baz: 3}, ['foo', 'bar', 'baz']); + * assert.hasAllKeys({foo: 1, bar: 2, baz: 3}, {foo: 30, bar: 99, baz: 1337]); + * assert.hasAllKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{foo: 1}, 'key']); + * assert.hasAllKeys(new Set([{foo: 'bar'}, 'anotherKey']), [{foo: 'bar'}, 'anotherKey']); + * + * @name hasAllKeys + * @param {unknown} obj + * @param {string[]} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.hasAllKeys = function (obj, keys, msg) { + new Assertion(obj, msg, assert.hasAllKeys, true).to.have.all.keys(keys); +}; + +/** + * ### .containsAllKeys(object, [keys], [message]) + * + * Asserts that `object` has all of the `keys` provided but may have more keys not listed. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.containsAllKeys({foo: 1, bar: 2, baz: 3}, ['foo', 'baz']); + * assert.containsAllKeys({foo: 1, bar: 2, baz: 3}, ['foo', 'bar', 'baz']); + * assert.containsAllKeys({foo: 1, bar: 2, baz: 3}, {foo: 30, baz: 1337}); + * assert.containsAllKeys({foo: 1, bar: 2, baz: 3}, {foo: 30, bar: 99, baz: 1337}); + * assert.containsAllKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{foo: 1}]); + * assert.containsAllKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{foo: 1}, 'key']); + * assert.containsAllKeys(new Set([{foo: 'bar'}, 'anotherKey']), [{foo: 'bar'}]); + * assert.containsAllKeys(new Set([{foo: 'bar'}, 'anotherKey']), [{foo: 'bar'}, 'anotherKey']); + * + * @name containsAllKeys + * @param {unknown} obj + * @param {string[]} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.containsAllKeys = function (obj, keys, msg) { + new Assertion(obj, msg, assert.containsAllKeys, true).to.contain.all.keys( + keys + ); +}; + +/** + * ### .doesNotHaveAnyKeys(object, [keys], [message]) + * + * Asserts that `object` has none of the `keys` provided. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.doesNotHaveAnyKeys({foo: 1, bar: 2, baz: 3}, ['one', 'two', 'example']); + * assert.doesNotHaveAnyKeys({foo: 1, bar: 2, baz: 3}, {one: 1, two: 2, example: 'foo'}); + * assert.doesNotHaveAnyKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{one: 'two'}, 'example']); + * assert.doesNotHaveAnyKeys(new Set([{foo: 'bar'}, 'anotherKey']), [{one: 'two'}, 'example']); + * + * @name doesNotHaveAnyKeys + * @param {unknown} obj + * @param {string[]} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.doesNotHaveAnyKeys = function (obj, keys, msg) { + new Assertion(obj, msg, assert.doesNotHaveAnyKeys, true).to.not.have.any.keys( + keys + ); +}; + +/** + * ### .doesNotHaveAllKeys(object, [keys], [message]) + * + * Asserts that `object` does not have at least one of the `keys` provided. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.doesNotHaveAllKeys({foo: 1, bar: 2, baz: 3}, ['one', 'two', 'example']); + * assert.doesNotHaveAllKeys({foo: 1, bar: 2, baz: 3}, {one: 1, two: 2, example: 'foo'}); + * assert.doesNotHaveAllKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{one: 'two'}, 'example']); + * assert.doesNotHaveAllKeys(new Set([{foo: 'bar'}, 'anotherKey']), [{one: 'two'}, 'example']); + * + * @name doesNotHaveAllKeys + * @param {unknown} obj + * @param {string[]} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.doesNotHaveAllKeys = function (obj, keys, msg) { + new Assertion(obj, msg, assert.doesNotHaveAllKeys, true).to.not.have.all.keys( + keys + ); +}; + +/** + * ### .hasAnyDeepKeys(object, [keys], [message]) + * + * Asserts that `object` has at least one of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.hasAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), {one: 'one'}); + * assert.hasAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), [{one: 'one'}, {two: 'two'}]); + * assert.hasAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{one: 'one'}, {two: 'two'}]); + * assert.hasAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), {one: 'one'}); + * assert.hasAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {three: 'three'}]); + * assert.hasAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {two: 'two'}]); + * + * @name hasAnyDeepKeys + * @param {unknown} obj + * @param {Array | object} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.hasAnyDeepKeys = function (obj, keys, msg) { + new Assertion(obj, msg, assert.hasAnyDeepKeys, true).to.have.any.deep.keys( + keys + ); +}; + +/** + * ### .hasAllDeepKeys(object, [keys], [message]) + * + * Asserts that `object` has all and only all of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.hasAllDeepKeys(new Map([[{one: 'one'}, 'valueOne']]), {one: 'one'}); + * assert.hasAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{one: 'one'}, {two: 'two'}]); + * assert.hasAllDeepKeys(new Set([{one: 'one'}]), {one: 'one'}); + * assert.hasAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {two: 'two'}]); + * + * @name hasAllDeepKeys + * @param {unknown} obj + * @param {Array | object} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.hasAllDeepKeys = function (obj, keys, msg) { + new Assertion(obj, msg, assert.hasAllDeepKeys, true).to.have.all.deep.keys( + keys + ); +}; + +/** + * ### .containsAllDeepKeys(object, [keys], [message]) + * + * Asserts that `object` contains all of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.containsAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), {one: 'one'}); + * assert.containsAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{one: 'one'}, {two: 'two'}]); + * assert.containsAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), {one: 'one'}); + * assert.containsAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {two: 'two'}]); + * + * @name containsAllDeepKeys + * @param {unknown} obj + * @param {Array | object} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.containsAllDeepKeys = function (obj, keys, msg) { + new Assertion( + obj, + msg, + assert.containsAllDeepKeys, + true + ).to.contain.all.deep.keys(keys); +}; + +/** + * ### .doesNotHaveAnyDeepKeys(object, [keys], [message]) + * + * Asserts that `object` has none of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.doesNotHaveAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), {thisDoesNot: 'exist'}); + * assert.doesNotHaveAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{twenty: 'twenty'}, {fifty: 'fifty'}]); + * assert.doesNotHaveAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), {twenty: 'twenty'}); + * assert.doesNotHaveAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{twenty: 'twenty'}, {fifty: 'fifty'}]); + * + * @name doesNotHaveAnyDeepKeys + * @param {unknown} obj + * @param {Array | object} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.doesNotHaveAnyDeepKeys = function (obj, keys, msg) { + new Assertion( + obj, + msg, + assert.doesNotHaveAnyDeepKeys, + true + ).to.not.have.any.deep.keys(keys); +}; + +/** + * ### .doesNotHaveAllDeepKeys(object, [keys], [message]) + * + * Asserts that `object` does not have at least one of the `keys` provided. + * Since Sets and Maps can have objects as keys you can use this assertion to perform + * a deep comparison. + * You can also provide a single object instead of a `keys` array and its keys + * will be used as the expected set of keys. + * + * assert.doesNotHaveAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), {thisDoesNot: 'exist'}); + * assert.doesNotHaveAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{twenty: 'twenty'}, {one: 'one'}]); + * assert.doesNotHaveAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), {twenty: 'twenty'}); + * assert.doesNotHaveAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {fifty: 'fifty'}]); + * + * @name doesNotHaveAllDeepKeys + * @param {unknown} obj + * @param {Array | object} keys + * @param {string} msg + * @namespace Assert + * @public + */ +assert.doesNotHaveAllDeepKeys = function (obj, keys, msg) { + new Assertion( + obj, + msg, + assert.doesNotHaveAllDeepKeys, + true + ).to.not.have.all.deep.keys(keys); +}; + +/** + * ### .throws(fn, [errorLike/string/regexp], [string/regexp], [message]) + * + * If `errorLike` is an `Error` constructor, asserts that `fn` will throw an error that is an + * instance of `errorLike`. + * If `errorLike` is an `Error` instance, asserts that the error thrown is the same + * instance as `errorLike`. + * If `errMsgMatcher` is provided, it also asserts that the error thrown will have a + * message matching `errMsgMatcher`. + * + * assert.throws(fn, 'Error thrown must have this msg'); + * assert.throws(fn, /Error thrown must have a msg that matches this/); + * assert.throws(fn, ReferenceError); + * assert.throws(fn, errorInstance); + * assert.throws(fn, ReferenceError, 'Error thrown must be a ReferenceError and have this msg'); + * assert.throws(fn, errorInstance, 'Error thrown must be the same errorInstance and have this msg'); + * assert.throws(fn, ReferenceError, /Error thrown must be a ReferenceError and match this/); + * assert.throws(fn, errorInstance, /Error thrown must be the same errorInstance and match this/); + * + * @name throws + * @alias throw + * @alias Throw + * @param {Function} fn + * @param {Error} errorLike + * @param {RegExp | string} errMsgMatcher + * @param {string} msg + * @returns {unknown} + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @namespace Assert + * @public + */ +assert.throws = function (fn, errorLike, errMsgMatcher, msg) { + if ('string' === typeof errorLike || errorLike instanceof RegExp) { + errMsgMatcher = errorLike; + errorLike = null; + } + + var assertErr = new Assertion(fn, msg, assert.throws, true).to.throw( + errorLike, + errMsgMatcher + ); + return flag(assertErr, 'object'); +}; + +/** + * ### .doesNotThrow(fn, [errorLike/string/regexp], [string/regexp], [message]) + * + * If `errorLike` is an `Error` constructor, asserts that `fn` will _not_ throw an error that is an + * instance of `errorLike`. + * If `errorLike` is an `Error` instance, asserts that the error thrown is _not_ the same + * instance as `errorLike`. + * If `errMsgMatcher` is provided, it also asserts that the error thrown will _not_ have a + * message matching `errMsgMatcher`. + * + * assert.doesNotThrow(fn, 'Any Error thrown must not have this message'); + * assert.doesNotThrow(fn, /Any Error thrown must not match this/); + * assert.doesNotThrow(fn, Error); + * assert.doesNotThrow(fn, errorInstance); + * assert.doesNotThrow(fn, Error, 'Error must not have this message'); + * assert.doesNotThrow(fn, errorInstance, 'Error must not have this message'); + * assert.doesNotThrow(fn, Error, /Error must not match this/); + * assert.doesNotThrow(fn, errorInstance, /Error must not match this/); + * + * @name doesNotThrow + * @param {Function} fn + * @param {Error} errorLike + * @param {RegExp | string} errMsgMatcher + * @param {string} message + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @namespace Assert + * @public + */ +assert.doesNotThrow = function (fn, errorLike, errMsgMatcher, message) { + if ('string' === typeof errorLike || errorLike instanceof RegExp) { + errMsgMatcher = errorLike; + errorLike = null; + } + + new Assertion(fn, message, assert.doesNotThrow, true).to.not.throw( + errorLike, + errMsgMatcher + ); +}; + +/** + * ### .operator(val1, operator, val2, [message]) + * + * Compares two values using `operator`. + * + * assert.operator(1, '<', 2, 'everything is ok'); + * assert.operator(1, '>', 2, 'this will fail'); + * + * @name operator + * @param {unknown} val + * @param {string} operator + * @param {unknown} val2 + * @param {string} msg + * @namespace Assert + * @public + */ +assert.operator = function (val, operator, val2, msg) { + var ok; + switch (operator) { + case '==': + ok = val == val2; + break; + case '===': + ok = val === val2; + break; + case '>': + ok = val > val2; + break; + case '>=': + ok = val >= val2; + break; + case '<': + ok = val < val2; + break; + case '<=': + ok = val <= val2; + break; + case '!=': + ok = val != val2; + break; + case '!==': + ok = val !== val2; + break; + default: + msg = msg ? msg + ': ' : msg; + throw new AssertionError( + msg + 'Invalid operator "' + operator + '"', + undefined, + assert.operator + ); + } + var test = new Assertion(ok, msg, assert.operator, true); + test.assert( + true === flag(test, 'object'), + 'expected ' + inspect(val) + ' to be ' + operator + ' ' + inspect(val2), + 'expected ' + inspect(val) + ' to not be ' + operator + ' ' + inspect(val2) + ); +}; + +/** + * ### .closeTo(actual, expected, delta, [message]) + * + * Asserts that the target is equal `expected`, to within a +/- `delta` range. + * + * assert.closeTo(1.5, 1, 0.5, 'numbers are close'); + * + * @name closeTo + * @param {number} act + * @param {number} exp + * @param {number} delta + * @param {string} msg + * @namespace Assert + * @public + */ +assert.closeTo = function (act, exp, delta, msg) { + new Assertion(act, msg, assert.closeTo, true).to.be.closeTo(exp, delta); +}; + +/** + * ### .approximately(actual, expected, delta, [message]) + * + * Asserts that the target is equal `expected`, to within a +/- `delta` range. + * + * assert.approximately(1.5, 1, 0.5, 'numbers are close'); + * + * @name approximately + * @param {number} act + * @param {number} exp + * @param {number} delta + * @param {string} msg + * @namespace Assert + * @public + */ +assert.approximately = function (act, exp, delta, msg) { + new Assertion(act, msg, assert.approximately, true).to.be.approximately( + exp, + delta + ); +}; + +/** + * ### .sameMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` have the same members in any order. Uses a + * strict equality check (===). + * + * assert.sameMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'same members'); + * + * @name sameMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {string} msg + * @namespace Assert + * @public + */ +assert.sameMembers = function (set1, set2, msg) { + new Assertion(set1, msg, assert.sameMembers, true).to.have.same.members(set2); +}; + +/** + * ### .notSameMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` don't have the same members in any order. + * Uses a strict equality check (===). + * + * assert.notSameMembers([ 1, 2, 3 ], [ 5, 1, 3 ], 'not same members'); + * + * @name notSameMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notSameMembers = function (set1, set2, msg) { + new Assertion( + set1, + msg, + assert.notSameMembers, + true + ).to.not.have.same.members(set2); +}; + +/** + * ### .sameDeepMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` have the same members in any order. Uses a + * deep equality check. + * + * assert.sameDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [{ b: 2 }, { a: 1 }, { c: 3 }], 'same deep members'); + * + * @name sameDeepMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {string} msg + * @namespace Assert + * @public + */ +assert.sameDeepMembers = function (set1, set2, msg) { + new Assertion( + set1, + msg, + assert.sameDeepMembers, + true + ).to.have.same.deep.members(set2); +}; + +/** + * ### .notSameDeepMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` don't have the same members in any order. + * Uses a deep equality check. + * + * assert.notSameDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [{ b: 2 }, { a: 1 }, { f: 5 }], 'not same deep members'); + * + * @name notSameDeepMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notSameDeepMembers = function (set1, set2, msg) { + new Assertion( + set1, + msg, + assert.notSameDeepMembers, + true + ).to.not.have.same.deep.members(set2); +}; + +/** + * ### .sameOrderedMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` have the same members in the same order. + * Uses a strict equality check (===). + * + * assert.sameOrderedMembers([ 1, 2, 3 ], [ 1, 2, 3 ], 'same ordered members'); + * + * @name sameOrderedMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {string} msg + * @namespace Assert + * @public + */ +assert.sameOrderedMembers = function (set1, set2, msg) { + new Assertion( + set1, + msg, + assert.sameOrderedMembers, + true + ).to.have.same.ordered.members(set2); +}; + +/** + * ### .notSameOrderedMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` don't have the same members in the same + * order. Uses a strict equality check (===). + * + * assert.notSameOrderedMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'not same ordered members'); + * + * @name notSameOrderedMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notSameOrderedMembers = function (set1, set2, msg) { + new Assertion( + set1, + msg, + assert.notSameOrderedMembers, + true + ).to.not.have.same.ordered.members(set2); +}; + +/** + * ### .sameDeepOrderedMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` have the same members in the same order. + * Uses a deep equality check. + * + * assert.sameDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { a: 1 }, { b: 2 }, { c: 3 } ], 'same deep ordered members'); + * + * @name sameDeepOrderedMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {string} msg + * @namespace Assert + * @public + */ +assert.sameDeepOrderedMembers = function (set1, set2, msg) { + new Assertion( + set1, + msg, + assert.sameDeepOrderedMembers, + true + ).to.have.same.deep.ordered.members(set2); +}; + +/** + * ### .notSameDeepOrderedMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` don't have the same members in the same + * order. Uses a deep equality check. + * + * assert.notSameDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { a: 1 }, { b: 2 }, { z: 5 } ], 'not same deep ordered members'); + * assert.notSameDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { a: 1 }, { c: 3 } ], 'not same deep ordered members'); + * + * @name notSameDeepOrderedMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notSameDeepOrderedMembers = function (set1, set2, msg) { + new Assertion( + set1, + msg, + assert.notSameDeepOrderedMembers, + true + ).to.not.have.same.deep.ordered.members(set2); +}; + +/** + * ### .includeMembers(superset, subset, [message]) + * + * Asserts that `subset` is included in `superset` in any order. Uses a + * strict equality check (===). Duplicates are ignored. + * + * assert.includeMembers([ 1, 2, 3 ], [ 2, 1, 2 ], 'include members'); + * + * @name includeMembers + * @param {Array} superset + * @param {Array} subset + * @param {string} msg + * @namespace Assert + * @public + */ +assert.includeMembers = function (superset, subset, msg) { + new Assertion(superset, msg, assert.includeMembers, true).to.include.members( + subset + ); +}; + +/** + * ### .notIncludeMembers(superset, subset, [message]) + * + * Asserts that `subset` isn't included in `superset` in any order. Uses a + * strict equality check (===). Duplicates are ignored. + * + * assert.notIncludeMembers([ 1, 2, 3 ], [ 5, 1 ], 'not include members'); + * + * @name notIncludeMembers + * @param {Array} superset + * @param {Array} subset + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notIncludeMembers = function (superset, subset, msg) { + new Assertion( + superset, + msg, + assert.notIncludeMembers, + true + ).to.not.include.members(subset); +}; + +/** + * ### .includeDeepMembers(superset, subset, [message]) + * + * Asserts that `subset` is included in `superset` in any order. Uses a deep + * equality check. Duplicates are ignored. + * + * assert.includeDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { a: 1 }, { b: 2 } ], 'include deep members'); + * + * @name includeDeepMembers + * @param {Array} superset + * @param {Array} subset + * @param {string} msg + * @namespace Assert + * @public + */ +assert.includeDeepMembers = function (superset, subset, msg) { + new Assertion( + superset, + msg, + assert.includeDeepMembers, + true + ).to.include.deep.members(subset); +}; + +/** + * ### .notIncludeDeepMembers(superset, subset, [message]) + * + * Asserts that `subset` isn't included in `superset` in any order. Uses a + * deep equality check. Duplicates are ignored. + * + * assert.notIncludeDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { f: 5 } ], 'not include deep members'); + * + * @name notIncludeDeepMembers + * @param {Array} superset + * @param {Array} subset + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notIncludeDeepMembers = function (superset, subset, msg) { + new Assertion( + superset, + msg, + assert.notIncludeDeepMembers, + true + ).to.not.include.deep.members(subset); +}; + +/** + * ### .includeOrderedMembers(superset, subset, [message]) + * + * Asserts that `subset` is included in `superset` in the same order + * beginning with the first element in `superset`. Uses a strict equality + * check (===). + * + * assert.includeOrderedMembers([ 1, 2, 3 ], [ 1, 2 ], 'include ordered members'); + * + * @name includeOrderedMembers + * @param {Array} superset + * @param {Array} subset + * @param {string} msg + * @namespace Assert + * @public + */ +assert.includeOrderedMembers = function (superset, subset, msg) { + new Assertion( + superset, + msg, + assert.includeOrderedMembers, + true + ).to.include.ordered.members(subset); +}; + +/** + * ### .notIncludeOrderedMembers(superset, subset, [message]) + * + * Asserts that `subset` isn't included in `superset` in the same order + * beginning with the first element in `superset`. Uses a strict equality + * check (===). + * + * assert.notIncludeOrderedMembers([ 1, 2, 3 ], [ 2, 1 ], 'not include ordered members'); + * assert.notIncludeOrderedMembers([ 1, 2, 3 ], [ 2, 3 ], 'not include ordered members'); + * + * @name notIncludeOrderedMembers + * @param {Array} superset + * @param {Array} subset + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notIncludeOrderedMembers = function (superset, subset, msg) { + new Assertion( + superset, + msg, + assert.notIncludeOrderedMembers, + true + ).to.not.include.ordered.members(subset); +}; + +/** + * ### .includeDeepOrderedMembers(superset, subset, [message]) + * + * Asserts that `subset` is included in `superset` in the same order + * beginning with the first element in `superset`. Uses a deep equality + * check. + * + * assert.includeDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { a: 1 }, { b: 2 } ], 'include deep ordered members'); + * + * @name includeDeepOrderedMembers + * @param {Array} superset + * @param {Array} subset + * @param {string} msg + * @namespace Assert + * @public + */ +assert.includeDeepOrderedMembers = function (superset, subset, msg) { + new Assertion( + superset, + msg, + assert.includeDeepOrderedMembers, + true + ).to.include.deep.ordered.members(subset); +}; + +/** + * ### .notIncludeDeepOrderedMembers(superset, subset, [message]) + * + * Asserts that `subset` isn't included in `superset` in the same order + * beginning with the first element in `superset`. Uses a deep equality + * check. + * + * assert.notIncludeDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { a: 1 }, { f: 5 } ], 'not include deep ordered members'); + * assert.notIncludeDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { a: 1 } ], 'not include deep ordered members'); + * assert.notIncludeDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { c: 3 } ], 'not include deep ordered members'); + * + * @name notIncludeDeepOrderedMembers + * @param {Array} superset + * @param {Array} subset + * @param {string} msg + * @namespace Assert + * @public + */ +assert.notIncludeDeepOrderedMembers = function (superset, subset, msg) { + new Assertion( + superset, + msg, + assert.notIncludeDeepOrderedMembers, + true + ).to.not.include.deep.ordered.members(subset); +}; + +/** + * ### .oneOf(inList, list, [message]) + * + * Asserts that non-object, non-array value `inList` appears in the flat array `list`. + * + * assert.oneOf(1, [ 2, 1 ], 'Not found in list'); + * + * @name oneOf + * @param {*} inList + * @param {Array<*>} list + * @param {string} msg + * @namespace Assert + * @public + */ +assert.oneOf = function (inList, list, msg) { + new Assertion(inList, msg, assert.oneOf, true).to.be.oneOf(list); +}; + +/** + * ### isIterable(obj, [message]) + * + * Asserts that the target is an iterable, which means that it has a iterator + * with the exception of `String.` + * + * assert.isIterable([1, 2]); + * + * @param {unknown} obj + * @param {string} [msg] + * @namespace Assert + * @public + */ +assert.isIterable = function (obj, msg) { + if (obj == undefined || !obj[Symbol.iterator]) { + msg = msg + ? `${msg} expected ${inspect(obj)} to be an iterable` + : `expected ${inspect(obj)} to be an iterable`; + + throw new AssertionError(msg, undefined, assert.isIterable); + } +}; + +/** + * ### .changes(function, object, property, [message]) + * + * Asserts that a function changes the value of a property. + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 22 }; + * assert.changes(fn, obj, 'val'); + * + * @name changes + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.changes = function (fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === 'function') { + msg = prop; + prop = null; + } + + new Assertion(fn, msg, assert.changes, true).to.change(obj, prop); +}; + +/** + * ### .changesBy(function, object, property, delta, [message]) + * + * Asserts that a function changes the value of a property by an amount (delta). + * + * var obj = { val: 10 }; + * var fn = function() { obj.val += 2 }; + * assert.changesBy(fn, obj, 'val', 2); + * + * @name changesBy + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @param {number} delta msg change amount (delta) + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.changesBy = function (fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === 'function') { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + + new Assertion(fn, msg, assert.changesBy, true).to.change(obj, prop).by(delta); +}; + +/** + * ### .doesNotChange(function, object, property, [message]) + * + * Asserts that a function does not change the value of a property. + * + * var obj = { val: 10 }; + * var fn = function() { console.log('foo'); }; + * assert.doesNotChange(fn, obj, 'val'); + * + * @name doesNotChange + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @param {string} msg _optional_ + * @returns {unknown} + * @namespace Assert + * @public + */ +assert.doesNotChange = function (fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === 'function') { + msg = prop; + prop = null; + } + + return new Assertion(fn, msg, assert.doesNotChange, true).to.not.change( + obj, + prop + ); +}; + +/** + * ### .changesButNotBy(function, object, property, delta, [message]) + * + * Asserts that a function does not change the value of a property or of a function's return value by an amount (delta) + * + * var obj = { val: 10 }; + * var fn = function() { obj.val += 10 }; + * assert.changesButNotBy(fn, obj, 'val', 5); + * + * @name changesButNotBy + * @param {Function} fn - modifier function + * @param {object} obj - object or getter function + * @param {string} prop - property name _optional_ + * @param {number} delta - change amount (delta) + * @param {string} msg - message _optional_ + * @namespace Assert + * @public + */ +assert.changesButNotBy = function (fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === 'function') { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + + new Assertion(fn, msg, assert.changesButNotBy, true).to + .change(obj, prop) + .but.not.by(delta); +}; + +/** + * ### .increases(function, object, property, [message]) + * + * Asserts that a function increases a numeric object property. + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 13 }; + * assert.increases(fn, obj, 'val'); + * + * @public + * @namespace Assert + * @name increases + * @param {Function} fn - modifier function + * @param {object} obj - object or getter function + * @param {string} prop - property name _optional_ + * @param {string} msg - message _optional_ + * @returns {unknown} + */ +assert.increases = function (fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === 'function') { + msg = prop; + prop = null; + } + + return new Assertion(fn, msg, assert.increases, true).to.increase(obj, prop); +}; + +/** + * ### .increasesBy(function, object, property, delta, [message]) + * + * Asserts that a function increases a numeric object property or a function's return value by an amount (delta). + * + * var obj = { val: 10 }; + * var fn = function() { obj.val += 10 }; + * assert.increasesBy(fn, obj, 'val', 10); + * + * @public + * @name increasesBy + * @namespace Assert + * @param {Function} fn - modifier function + * @param {object} obj - object or getter function + * @param {string} prop - property name _optional_ + * @param {number} delta - change amount (delta) + * @param {string} msg - message _optional_ + */ +assert.increasesBy = function (fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === 'function') { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + + new Assertion(fn, msg, assert.increasesBy, true).to + .increase(obj, prop) + .by(delta); +}; + +/** + * ### .doesNotIncrease(function, object, property, [message]) + * + * Asserts that a function does not increase a numeric object property. + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 8 }; + * assert.doesNotIncrease(fn, obj, 'val'); + * + * @name doesNotIncrease + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @returns {Assertion} + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.doesNotIncrease = function (fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === 'function') { + msg = prop; + prop = null; + } + + return new Assertion(fn, msg, assert.doesNotIncrease, true).to.not.increase( + obj, + prop + ); +}; + +/** + * ### .increasesButNotBy(function, object, property, delta, [message]) + * + * Asserts that a function does not increase a numeric object property or function's return value by an amount (delta). + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 15 }; + * assert.increasesButNotBy(fn, obj, 'val', 10); + * + * @name increasesButNotBy + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @param {number} delta change amount (delta) + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.increasesButNotBy = function (fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === 'function') { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + + new Assertion(fn, msg, assert.increasesButNotBy, true).to + .increase(obj, prop) + .but.not.by(delta); +}; + +/** + * ### .decreases(function, object, property, [message]) + * + * Asserts that a function decreases a numeric object property. + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 5 }; + * assert.decreases(fn, obj, 'val'); + * + * @name decreases + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @returns {Assertion} + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.decreases = function (fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === 'function') { + msg = prop; + prop = null; + } + + return new Assertion(fn, msg, assert.decreases, true).to.decrease(obj, prop); +}; + +/** + * ### .decreasesBy(function, object, property, delta, [message]) + * + * Asserts that a function decreases a numeric object property or a function's return value by an amount (delta) + * + * var obj = { val: 10 }; + * var fn = function() { obj.val -= 5 }; + * assert.decreasesBy(fn, obj, 'val', 5); + * + * @name decreasesBy + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @param {number} delta change amount (delta) + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.decreasesBy = function (fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === 'function') { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + + new Assertion(fn, msg, assert.decreasesBy, true).to + .decrease(obj, prop) + .by(delta); +}; + +/** + * ### .doesNotDecrease(function, object, property, [message]) + * + * Asserts that a function does not decreases a numeric object property. + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 15 }; + * assert.doesNotDecrease(fn, obj, 'val'); + * + * @name doesNotDecrease + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @returns {Assertion} + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.doesNotDecrease = function (fn, obj, prop, msg) { + if (arguments.length === 3 && typeof obj === 'function') { + msg = prop; + prop = null; + } + + return new Assertion(fn, msg, assert.doesNotDecrease, true).to.not.decrease( + obj, + prop + ); +}; + +/** + * ### .doesNotDecreaseBy(function, object, property, delta, [message]) + * + * Asserts that a function does not decreases a numeric object property or a function's return value by an amount (delta) + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 5 }; + * assert.doesNotDecreaseBy(fn, obj, 'val', 1); + * + * @name doesNotDecreaseBy + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @param {number} delta change amount (delta) + * @returns {Assertion} + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.doesNotDecreaseBy = function (fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === 'function') { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + + return new Assertion(fn, msg, assert.doesNotDecreaseBy, true).to.not + .decrease(obj, prop) + .by(delta); +}; + +/** + * ### .decreasesButNotBy(function, object, property, delta, [message]) + * + * Asserts that a function does not decreases a numeric object property or a function's return value by an amount (delta) + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 5 }; + * assert.decreasesButNotBy(fn, obj, 'val', 1); + * + * @name decreasesButNotBy + * @param {Function} fn modifier function + * @param {object} obj object or getter function + * @param {string} prop property name _optional_ + * @param {number} delta change amount (delta) + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.decreasesButNotBy = function (fn, obj, prop, delta, msg) { + if (arguments.length === 4 && typeof obj === 'function') { + var tmpMsg = delta; + delta = prop; + msg = tmpMsg; + } else if (arguments.length === 3) { + delta = prop; + prop = null; + } + + new Assertion(fn, msg, assert.decreasesButNotBy, true).to + .decrease(obj, prop) + .but.not.by(delta); +}; + +/** + * ### .ifError(object) + * + * Asserts if value is not a false value, and throws if it is a true value. + * This is added to allow for chai to be a drop-in replacement for Node's + * assert class. + * + * var err = new Error('I am a custom error'); + * assert.ifError(err); // Rethrows err! + * + * @name ifError + * @param {object} val + * @namespace Assert + * @public + */ +assert.ifError = function (val) { + if (val) { + throw val; + } +}; + +/** + * ### .isExtensible(object) + * + * Asserts that `object` is extensible (can have new properties added to it). + * + * assert.isExtensible({}); + * + * @name isExtensible + * @alias extensible + * @param {object} obj + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.isExtensible = function (obj, msg) { + new Assertion(obj, msg, assert.isExtensible, true).to.be.extensible; +}; + +/** + * ### .isNotExtensible(object) + * + * Asserts that `object` is _not_ extensible. + * + * var nonExtensibleObject = Object.preventExtensions({}); + * var sealedObject = Object.seal({}); + * var frozenObject = Object.freeze({}); + * + * assert.isNotExtensible(nonExtensibleObject); + * assert.isNotExtensible(sealedObject); + * assert.isNotExtensible(frozenObject); + * + * @name isNotExtensible + * @alias notExtensible + * @param {object} obj + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.isNotExtensible = function (obj, msg) { + new Assertion(obj, msg, assert.isNotExtensible, true).to.not.be.extensible; +}; + +/** + * ### .isSealed(object) + * + * Asserts that `object` is sealed (cannot have new properties added to it + * and its existing properties cannot be removed). + * + * var sealedObject = Object.seal({}); + * var frozenObject = Object.seal({}); + * + * assert.isSealed(sealedObject); + * assert.isSealed(frozenObject); + * + * @name isSealed + * @alias sealed + * @param {object} obj + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.isSealed = function (obj, msg) { + new Assertion(obj, msg, assert.isSealed, true).to.be.sealed; +}; + +/** + * ### .isNotSealed(object) + * + * Asserts that `object` is _not_ sealed. + * + * assert.isNotSealed({}); + * + * @name isNotSealed + * @alias notSealed + * @param {object} obj + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.isNotSealed = function (obj, msg) { + new Assertion(obj, msg, assert.isNotSealed, true).to.not.be.sealed; +}; + +/** + * ### .isFrozen(object) + * + * Asserts that `object` is frozen (cannot have new properties added to it + * and its existing properties cannot be modified). + * + * var frozenObject = Object.freeze({}); + * assert.frozen(frozenObject); + * + * @name isFrozen + * @alias frozen + * @param {object} obj + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.isFrozen = function (obj, msg) { + new Assertion(obj, msg, assert.isFrozen, true).to.be.frozen; +}; + +/** + * ### .isNotFrozen(object) + * + * Asserts that `object` is _not_ frozen. + * + * assert.isNotFrozen({}); + * + * @name isNotFrozen + * @alias notFrozen + * @param {object} obj + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.isNotFrozen = function (obj, msg) { + new Assertion(obj, msg, assert.isNotFrozen, true).to.not.be.frozen; +}; + +/** + * ### .isEmpty(target) + * + * Asserts that the target does not contain any values. + * For arrays and strings, it checks the `length` property. + * For `Map` and `Set` instances, it checks the `size` property. + * For non-function objects, it gets the count of own + * enumerable string keys. + * + * assert.isEmpty([]); + * assert.isEmpty(''); + * assert.isEmpty(new Map); + * assert.isEmpty({}); + * + * @name isEmpty + * @alias empty + * @param {object | Array | string | Map | Set} val + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.isEmpty = function (val, msg) { + new Assertion(val, msg, assert.isEmpty, true).to.be.empty; +}; + +/** + * ### .isNotEmpty(target) + * + * Asserts that the target contains values. + * For arrays and strings, it checks the `length` property. + * For `Map` and `Set` instances, it checks the `size` property. + * For non-function objects, it gets the count of own + * enumerable string keys. + * + * assert.isNotEmpty([1, 2]); + * assert.isNotEmpty('34'); + * assert.isNotEmpty(new Set([5, 6])); + * assert.isNotEmpty({ key: 7 }); + * + * @name isNotEmpty + * @alias notEmpty + * @param {object | Array | string | Map | Set} val + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.isNotEmpty = function (val, msg) { + new Assertion(val, msg, assert.isNotEmpty, true).to.not.be.empty; +}; + +/** + * ### .containsSubset(target, subset) + * + * Asserts that the target primitive/object/array structure deeply contains all provided fields + * at the same key/depth as the provided structure. + * + * When comparing arrays, the target must contain the subset of at least one of each object/value in the subset array. + * Order does not matter. + * + * assert.containsSubset( + * [{name: {first: "John", last: "Smith"}}, {name: {first: "Jane", last: "Doe"}}], + * [{name: {first: "Jane"}}] + * ); + * + * @name containsSubset + * @alias containSubset + * @param {unknown} val + * @param {unknown} exp + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.containsSubset = function (val, exp, msg) { + new Assertion(val, msg).to.containSubset(exp); +}; + +/** + * ### .doesNotContainSubset(target, subset) + * + * The negation of assert.containsSubset. + * + * @name doesNotContainSubset + * @param {unknown} val + * @param {unknown} exp + * @param {string} msg _optional_ + * @namespace Assert + * @public + */ +assert.doesNotContainSubset = function (val, exp, msg) { + new Assertion(val, msg).to.not.containSubset(exp); +}; + +/** + * Aliases. + * + * @param {unknown} name + * @param {unknown} as + * @returns {unknown} + */ +const aliases = [ + ['isOk', 'ok'], + ['isNotOk', 'notOk'], + ['throws', 'throw'], + ['throws', 'Throw'], + ['isExtensible', 'extensible'], + ['isNotExtensible', 'notExtensible'], + ['isSealed', 'sealed'], + ['isNotSealed', 'notSealed'], + ['isFrozen', 'frozen'], + ['isNotFrozen', 'notFrozen'], + ['isEmpty', 'empty'], + ['isNotEmpty', 'notEmpty'], + ['isCallable', 'isFunction'], + ['isNotCallable', 'isNotFunction'], + ['containsSubset', 'containSubset'] +]; +for (const [name, as] of aliases) { + assert[as] = assert[name]; +} diff --git a/node_modules/chai/lib/chai/interface/expect.js b/node_modules/chai/lib/chai/interface/expect.js new file mode 100644 index 0000000..b7c7693 --- /dev/null +++ b/node_modules/chai/lib/chai/interface/expect.js @@ -0,0 +1,59 @@ +/*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +import * as chai from '../../../index.js'; +import {Assertion} from '../assertion.js'; +import {AssertionError} from 'assertion-error'; + +/** + * @param {unknown} val + * @param {string} message + * @returns {Assertion} + */ +function expect(val, message) { + return new Assertion(val, message); +} + +export {expect}; + +/** + * ### .fail([message]) + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. + * + * expect.fail(); + * expect.fail("custom error message"); + * expect.fail(1, 2); + * expect.fail(1, 2, "custom error message"); + * expect.fail(1, 2, "custom error message", ">"); + * expect.fail(1, 2, undefined, ">"); + * + * @name fail + * @param {unknown} actual + * @param {unknown} expected + * @param {string} message + * @param {string} operator + * @namespace expect + * @public + */ +expect.fail = function (actual, expected, message, operator) { + if (arguments.length < 2) { + message = actual; + actual = undefined; + } + + message = message || 'expect.fail()'; + throw new AssertionError( + message, + { + actual: actual, + expected: expected, + operator: operator + }, + chai.expect.fail + ); +}; diff --git a/node_modules/chai/lib/chai/interface/should.js b/node_modules/chai/lib/chai/interface/should.js new file mode 100644 index 0000000..2500fda --- /dev/null +++ b/node_modules/chai/lib/chai/interface/should.js @@ -0,0 +1,227 @@ +/*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +import {Assertion} from '../assertion.js'; +import {AssertionError} from 'assertion-error'; + +/** + * @returns {void} + */ +function loadShould() { + // explicitly define this method as function as to have it's name to include as `ssfi` + /** + * @returns {Assertion} + */ + function shouldGetter() { + if ( + this instanceof String || + this instanceof Number || + this instanceof Boolean || + (typeof Symbol === 'function' && this instanceof Symbol) || + (typeof BigInt === 'function' && this instanceof BigInt) + ) { + return new Assertion(this.valueOf(), null, shouldGetter); + } + return new Assertion(this, null, shouldGetter); + } + /** + * @param {unknown} value + */ + function shouldSetter(value) { + // See https://github.com/chaijs/chai/issues/86: this makes + // `whatever.should = someValue` actually set `someValue`, which is + // especially useful for `global.should = require('chai').should()`. + // + // Note that we have to use [[DefineProperty]] instead of [[Put]] + // since otherwise we would trigger this very setter! + Object.defineProperty(this, 'should', { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } + // modify Object.prototype to have `should` + Object.defineProperty(Object.prototype, 'should', { + set: shouldSetter, + get: shouldGetter, + configurable: true + }); + + var should = {}; + + /** + * ### .fail([message]) + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. + * + * should.fail(); + * should.fail("custom error message"); + * should.fail(1, 2); + * should.fail(1, 2, "custom error message"); + * should.fail(1, 2, "custom error message", ">"); + * should.fail(1, 2, undefined, ">"); + * + * @name fail + * @param {unknown} actual + * @param {unknown} expected + * @param {string} message + * @param {string} operator + * @namespace BDD + * @public + */ + should.fail = function (actual, expected, message, operator) { + if (arguments.length < 2) { + message = actual; + actual = undefined; + } + + message = message || 'should.fail()'; + throw new AssertionError( + message, + { + actual: actual, + expected: expected, + operator: operator + }, + should.fail + ); + }; + + /** + * ### .equal(actual, expected, [message]) + * + * Asserts non-strict equality (`==`) of `actual` and `expected`. + * + * should.equal(3, '3', '== coerces values to strings'); + * + * @name equal + * @param {unknown} actual + * @param {unknown} expected + * @param {string} message + * @namespace Should + * @public + */ + should.equal = function (actual, expected, message) { + new Assertion(actual, message).to.equal(expected); + }; + + /** + * ### .throw(function, [constructor/string/regexp], [string/regexp], [message]) + * + * Asserts that `function` will throw an error that is an instance of + * `constructor`, or alternately that it will throw an error with message + * matching `regexp`. + * + * should.throw(fn, 'function throws a reference error'); + * should.throw(fn, /function throws a reference error/); + * should.throw(fn, ReferenceError); + * should.throw(fn, ReferenceError, 'function throws a reference error'); + * should.throw(fn, ReferenceError, /function throws a reference error/); + * + * @name throw + * @alias Throw + * @param {Function} fn + * @param {Error} errt + * @param {RegExp} errs + * @param {string} msg + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @namespace Should + * @public + */ + should.Throw = function (fn, errt, errs, msg) { + new Assertion(fn, msg).to.Throw(errt, errs); + }; + + /** + * ### .exist + * + * Asserts that the target is neither `null` nor `undefined`. + * + * var foo = 'hi'; + * should.exist(foo, 'foo exists'); + * + * @param {unknown} val + * @param {string} msg + * @name exist + * @namespace Should + * @public + */ + should.exist = function (val, msg) { + new Assertion(val, msg).to.exist; + }; + + // negation + should.not = {}; + + /** + * ### .not.equal(actual, expected, [message]) + * + * Asserts non-strict inequality (`!=`) of `actual` and `expected`. + * + * should.not.equal(3, 4, 'these numbers are not equal'); + * + * @name not.equal + * @param {unknown} actual + * @param {unknown} expected + * @param {string} msg + * @namespace Should + * @public + */ + should.not.equal = function (actual, expected, msg) { + new Assertion(actual, msg).to.not.equal(expected); + }; + + /** + * ### .throw(function, [constructor/regexp], [message]) + * + * Asserts that `function` will _not_ throw an error that is an instance of + * `constructor`, or alternately that it will not throw an error with message + * matching `regexp`. + * + * should.not.throw(fn, Error, 'function does not throw'); + * + * @name not.throw + * @alias not.Throw + * @param {Function} fn + * @param {Error} errt + * @param {RegExp} errs + * @param {string} msg + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @namespace Should + * @public + */ + should.not.Throw = function (fn, errt, errs, msg) { + new Assertion(fn, msg).to.not.Throw(errt, errs); + }; + + /** + * ### .not.exist + * + * Asserts that the target is neither `null` nor `undefined`. + * + * var bar = null; + * should.not.exist(bar, 'bar does not exist'); + * + * @namespace Should + * @name not.exist + * @param {unknown} val + * @param {string} msg + * @public + */ + should.not.exist = function (val, msg) { + new Assertion(val, msg).to.not.exist; + }; + + should['throw'] = should['Throw']; + should.not['throw'] = should.not['Throw']; + + return should; +} + +export const should = loadShould; +export const Should = loadShould; diff --git a/node_modules/chai/lib/chai/utils/addChainableMethod.js b/node_modules/chai/lib/chai/utils/addChainableMethod.js new file mode 100644 index 0000000..1a000c6 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/addChainableMethod.js @@ -0,0 +1,146 @@ +/*! + * Chai - addChainingMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {Assertion} from '../assertion.js'; +import {addLengthGuard} from './addLengthGuard.js'; +import {flag} from './flag.js'; +import {proxify} from './proxify.js'; +import {transferFlags} from './transferFlags.js'; + +/** + * Module variables + */ + +// Check whether `Object.setPrototypeOf` is supported +var canSetPrototype = typeof Object.setPrototypeOf === 'function'; + +// Without `Object.setPrototypeOf` support, this module will need to add properties to a function. +// However, some of functions' own props are not configurable and should be skipped. +var testFn = function () {}; +var excludeNames = Object.getOwnPropertyNames(testFn).filter(function (name) { + var propDesc = Object.getOwnPropertyDescriptor(testFn, name); + + // Note: PhantomJS 1.x includes `callee` as one of `testFn`'s own properties, + // but then returns `undefined` as the property descriptor for `callee`. As a + // workaround, we perform an otherwise unnecessary type-check for `propDesc`, + // and then filter it out if it's not an object as it should be. + if (typeof propDesc !== 'object') return true; + + return !propDesc.configurable; +}); + +// Cache `Function` properties +var call = Function.prototype.call, + apply = Function.prototype.apply; + +/** + * ### .addChainableMethod(ctx, name, method, chainingBehavior) + * + * Adds a method to an object, such that the method can also be chained. + * + * utils.addChainableMethod(chai.Assertion.prototype, 'foo', function (str) { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.equal(str); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addChainableMethod('foo', fn, chainingBehavior); + * + * The result can then be used as both a method assertion, executing both `method` and + * `chainingBehavior`, or as a language chain, which only executes `chainingBehavior`. + * + * expect(fooStr).to.be.foo('bar'); + * expect(fooStr).to.be.foo.equal('foo'); + * + * @param {object} ctx object to which the method is added + * @param {string} name of method to add + * @param {Function} method function to be used for `name`, when called + * @param {Function} chainingBehavior function to be called every time the property is accessed + * @namespace Utils + * @name addChainableMethod + * @public + */ +export function addChainableMethod(ctx, name, method, chainingBehavior) { + if (typeof chainingBehavior !== 'function') { + chainingBehavior = function () {}; + } + + var chainableBehavior = { + method: method, + chainingBehavior: chainingBehavior + }; + + // save the methods so we can overwrite them later, if we need to. + if (!ctx.__methods) { + ctx.__methods = {}; + } + ctx.__methods[name] = chainableBehavior; + + Object.defineProperty(ctx, name, { + get: function chainableMethodGetter() { + chainableBehavior.chainingBehavior.call(this); + + var chainableMethodWrapper = function () { + // Setting the `ssfi` flag to `chainableMethodWrapper` causes this + // function to be the starting point for removing implementation + // frames from the stack trace of a failed assertion. + // + // However, we only want to use this function as the starting point if + // the `lockSsfi` flag isn't set. + // + // If the `lockSsfi` flag is set, then this assertion is being + // invoked from inside of another assertion. In this case, the `ssfi` + // flag has already been set by the outer assertion. + // + // Note that overwriting a chainable method merely replaces the saved + // methods in `ctx.__methods` instead of completely replacing the + // overwritten assertion. Therefore, an overwriting assertion won't + // set the `ssfi` or `lockSsfi` flags. + if (!flag(this, 'lockSsfi')) { + flag(this, 'ssfi', chainableMethodWrapper); + } + + var result = chainableBehavior.method.apply(this, arguments); + if (result !== undefined) { + return result; + } + + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }; + + addLengthGuard(chainableMethodWrapper, name, true); + + // Use `Object.setPrototypeOf` if available + if (canSetPrototype) { + // Inherit all properties from the object by replacing the `Function` prototype + var prototype = Object.create(this); + // Restore the `call` and `apply` methods from `Function` + prototype.call = call; + prototype.apply = apply; + Object.setPrototypeOf(chainableMethodWrapper, prototype); + } + // Otherwise, redefine all properties (slow!) + else { + var asserterNames = Object.getOwnPropertyNames(ctx); + asserterNames.forEach(function (asserterName) { + if (excludeNames.indexOf(asserterName) !== -1) { + return; + } + + var pd = Object.getOwnPropertyDescriptor(ctx, asserterName); + Object.defineProperty(chainableMethodWrapper, asserterName, pd); + }); + } + + transferFlags(this, chainableMethodWrapper); + return proxify(chainableMethodWrapper); + }, + configurable: true + }); +} diff --git a/node_modules/chai/lib/chai/utils/addLengthGuard.js b/node_modules/chai/lib/chai/utils/addLengthGuard.js new file mode 100644 index 0000000..d08aad6 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/addLengthGuard.js @@ -0,0 +1,73 @@ +const fnLengthDesc = Object.getOwnPropertyDescriptor(function () {}, 'length'); + +/*! + * Chai - addLengthGuard utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### .addLengthGuard(fn, assertionName, isChainable) + * + * Define `length` as a getter on the given uninvoked method assertion. The + * getter acts as a guard against chaining `length` directly off of an uninvoked + * method assertion, which is a problem because it references `function`'s + * built-in `length` property instead of Chai's `length` assertion. When the + * getter catches the user making this mistake, it throws an error with a + * helpful message. + * + * There are two ways in which this mistake can be made. The first way is by + * chaining the `length` assertion directly off of an uninvoked chainable + * method. In this case, Chai suggests that the user use `lengthOf` instead. The + * second way is by chaining the `length` assertion directly off of an uninvoked + * non-chainable method. Non-chainable methods must be invoked prior to + * chaining. In this case, Chai suggests that the user consult the docs for the + * given assertion. + * + * If the `length` property of functions is unconfigurable, then return `fn` + * without modification. + * + * Note that in ES6, the function's `length` property is configurable, so once + * support for legacy environments is dropped, Chai's `length` property can + * replace the built-in function's `length` property, and this length guard will + * no longer be necessary. In the mean time, maintaining consistency across all + * environments is the priority. + * + * @param {Function} fn + * @param {string} assertionName + * @param {boolean} isChainable + * @returns {unknown} + * @namespace Utils + * @name addLengthGuard + */ +export function addLengthGuard(fn, assertionName, isChainable) { + if (!fnLengthDesc.configurable) return fn; + + Object.defineProperty(fn, 'length', { + get: function () { + if (isChainable) { + throw Error( + 'Invalid Chai property: ' + + assertionName + + '.length. Due' + + ' to a compatibility issue, "length" cannot directly follow "' + + assertionName + + '". Use "' + + assertionName + + '.lengthOf" instead.' + ); + } + + throw Error( + 'Invalid Chai property: ' + + assertionName + + '.length. See' + + ' docs for proper usage of "' + + assertionName + + '".' + ); + } + }); + + return fn; +} diff --git a/node_modules/chai/lib/chai/utils/addMethod.js b/node_modules/chai/lib/chai/utils/addMethod.js new file mode 100644 index 0000000..de5b04f --- /dev/null +++ b/node_modules/chai/lib/chai/utils/addMethod.js @@ -0,0 +1,66 @@ +/*! + * Chai - addMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {addLengthGuard} from './addLengthGuard.js'; +import {flag} from './flag.js'; +import {proxify} from './proxify.js'; +import {transferFlags} from './transferFlags.js'; +import {Assertion} from '../assertion.js'; + +/** + * ### .addMethod(ctx, name, method) + * + * Adds a method to the prototype of an object. + * + * utils.addMethod(chai.Assertion.prototype, 'foo', function (str) { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.equal(str); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addMethod('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(fooStr).to.be.foo('bar'); + * + * @param {object} ctx object to which the method is added + * @param {string} name of method to add + * @param {Function} method function to be used for name + * @namespace Utils + * @name addMethod + * @public + */ +export function addMethod(ctx, name, method) { + var methodWrapper = function () { + // Setting the `ssfi` flag to `methodWrapper` causes this function to be the + // starting point for removing implementation frames from the stack trace of + // a failed assertion. + // + // However, we only want to use this function as the starting point if the + // `lockSsfi` flag isn't set. + // + // If the `lockSsfi` flag is set, then either this assertion has been + // overwritten by another assertion, or this assertion is being invoked from + // inside of another assertion. In the first case, the `ssfi` flag has + // already been set by the overwriting assertion. In the second case, the + // `ssfi` flag has already been set by the outer assertion. + if (!flag(this, 'lockSsfi')) { + flag(this, 'ssfi', methodWrapper); + } + + var result = method.apply(this, arguments); + if (result !== undefined) return result; + + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }; + + addLengthGuard(methodWrapper, name, false); + ctx[name] = proxify(methodWrapper, name); +} diff --git a/node_modules/chai/lib/chai/utils/addProperty.js b/node_modules/chai/lib/chai/utils/addProperty.js new file mode 100644 index 0000000..4375d61 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/addProperty.js @@ -0,0 +1,70 @@ +/*! + * Chai - addProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {Assertion} from '../assertion.js'; +import {flag} from './flag.js'; +import {isProxyEnabled} from './isProxyEnabled.js'; +import {transferFlags} from './transferFlags.js'; + +/** + * ### .addProperty(ctx, name, getter) + * + * Adds a property to the prototype of an object. + * + * utils.addProperty(chai.Assertion.prototype, 'foo', function () { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.instanceof(Foo); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addProperty('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.be.foo; + * + * @param {object} ctx object to which the property is added + * @param {string} name of property to add + * @param {Function} getter function to be used for name + * @namespace Utils + * @name addProperty + * @public + */ +export function addProperty(ctx, name, getter) { + getter = getter === undefined ? function () {} : getter; + + Object.defineProperty(ctx, name, { + get: function propertyGetter() { + // Setting the `ssfi` flag to `propertyGetter` causes this function to + // be the starting point for removing implementation frames from the + // stack trace of a failed assertion. + // + // However, we only want to use this function as the starting point if + // the `lockSsfi` flag isn't set and proxy protection is disabled. + // + // If the `lockSsfi` flag is set, then either this assertion has been + // overwritten by another assertion, or this assertion is being invoked + // from inside of another assertion. In the first case, the `ssfi` flag + // has already been set by the overwriting assertion. In the second + // case, the `ssfi` flag has already been set by the outer assertion. + // + // If proxy protection is enabled, then the `ssfi` flag has already been + // set by the proxy getter. + if (!isProxyEnabled() && !flag(this, 'lockSsfi')) { + flag(this, 'ssfi', propertyGetter); + } + + var result = getter.call(this); + if (result !== undefined) return result; + + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }, + configurable: true + }); +} diff --git a/node_modules/chai/lib/chai/utils/compareByInspect.js b/node_modules/chai/lib/chai/utils/compareByInspect.js new file mode 100644 index 0000000..5ab27a2 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/compareByInspect.js @@ -0,0 +1,26 @@ +/*! + * Chai - compareByInspect utility + * Copyright(c) 2011-2016 Jake Luer + * MIT Licensed + */ + +import {inspect} from './inspect.js'; + +/** + * ### .compareByInspect(mixed, mixed) + * + * To be used as a compareFunction with Array.prototype.sort. Compares elements + * using inspect instead of default behavior of using toString so that Symbols + * and objects with irregular/missing toString can still be sorted without a + * TypeError. + * + * @param {unknown} a first element to compare + * @param {unknown} b second element to compare + * @returns {number} -1 if 'a' should come before 'b'; otherwise 1 + * @name compareByInspect + * @namespace Utils + * @public + */ +export function compareByInspect(a, b) { + return inspect(a) < inspect(b) ? -1 : 1; +} diff --git a/node_modules/chai/lib/chai/utils/expectTypes.js b/node_modules/chai/lib/chai/utils/expectTypes.js new file mode 100644 index 0000000..ca2e160 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/expectTypes.js @@ -0,0 +1,58 @@ +/*! + * Chai - expectTypes utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {AssertionError} from 'assertion-error'; +import {flag} from './flag.js'; +import {type} from './type-detect.js'; + +/** + * ### .expectTypes(obj, types) + * + * Ensures that the object being tested against is of a valid type. + * + * utils.expectTypes(this, ['array', 'object', 'string']); + * + * @param {unknown} obj constructed Assertion + * @param {Array} types A list of allowed types for this assertion + * @namespace Utils + * @name expectTypes + * @public + */ +export function expectTypes(obj, types) { + var flagMsg = flag(obj, 'message'); + var ssfi = flag(obj, 'ssfi'); + + flagMsg = flagMsg ? flagMsg + ': ' : ''; + + obj = flag(obj, 'object'); + types = types.map(function (t) { + return t.toLowerCase(); + }); + types.sort(); + + // Transforms ['lorem', 'ipsum'] into 'a lorem, or an ipsum' + var str = types + .map(function (t, index) { + var art = ~['a', 'e', 'i', 'o', 'u'].indexOf(t.charAt(0)) ? 'an' : 'a'; + var or = types.length > 1 && index === types.length - 1 ? 'or ' : ''; + return or + art + ' ' + t; + }) + .join(', '); + + var objType = type(obj).toLowerCase(); + + if ( + !types.some(function (expected) { + return objType === expected; + }) + ) { + throw new AssertionError( + flagMsg + 'object tested must be ' + str + ', but ' + objType + ' given', + undefined, + ssfi + ); + } +} diff --git a/node_modules/chai/lib/chai/utils/flag.js b/node_modules/chai/lib/chai/utils/flag.js new file mode 100644 index 0000000..89434b7 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/flag.js @@ -0,0 +1,33 @@ +/*! + * Chai - flag utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### .flag(object, key, [value]) + * + * Get or set a flag value on an object. If a + * value is provided it will be set, else it will + * return the currently set value or `undefined` if + * the value is not set. + * + * utils.flag(this, 'foo', 'bar'); // setter + * utils.flag(this, 'foo'); // getter, returns `bar` + * + * @param {object} obj object constructed Assertion + * @param {string} key + * @param {unknown} value (optional) + * @namespace Utils + * @name flag + * @returns {unknown | undefined} + * @private + */ +export function flag(obj, key, value) { + var flags = obj.__flags || (obj.__flags = Object.create(null)); + if (arguments.length === 3) { + flags[key] = value; + } else { + return flags[key]; + } +} diff --git a/node_modules/chai/lib/chai/utils/getActual.js b/node_modules/chai/lib/chai/utils/getActual.js new file mode 100644 index 0000000..1b4b3aa --- /dev/null +++ b/node_modules/chai/lib/chai/utils/getActual.js @@ -0,0 +1,20 @@ +/*! + * Chai - getActual utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### .getActual(object, [actual]) + * + * Returns the `actual` value for an Assertion. + * + * @param {object} obj object (constructed Assertion) + * @param {unknown} args chai.Assertion.prototype.assert arguments + * @returns {unknown} + * @namespace Utils + * @name getActual + */ +export function getActual(obj, args) { + return args.length > 4 ? args[4] : obj._obj; +} diff --git a/node_modules/chai/lib/chai/utils/getMessage.js b/node_modules/chai/lib/chai/utils/getMessage.js new file mode 100644 index 0000000..faa841f --- /dev/null +++ b/node_modules/chai/lib/chai/utils/getMessage.js @@ -0,0 +1,52 @@ +/*! + * Chai - message composition utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {flag} from './flag.js'; +import {getActual} from './getActual.js'; +import {objDisplay} from './objDisplay.js'; + +/** + * ### .getMessage(object, message, negateMessage) + * + * Construct the error message based on flags + * and template tags. Template tags will return + * a stringified inspection of the object referenced. + * + * Message template tags: + * - `#{this}` current asserted object + * - `#{act}` actual value + * - `#{exp}` expected value + * + * @param {object} obj object (constructed Assertion) + * @param {unknown} args chai.Assertion.prototype.assert arguments + * @returns {unknown} + * @namespace Utils + * @name getMessage + * @public + */ +export function getMessage(obj, args) { + var negate = flag(obj, 'negate'), + val = flag(obj, 'object'), + expected = args[3], + actual = getActual(obj, args), + msg = negate ? args[2] : args[1], + flagMsg = flag(obj, 'message'); + + if (typeof msg === 'function') msg = msg(); + msg = msg || ''; + msg = msg + .replace(/#\{this\}/g, function () { + return objDisplay(val); + }) + .replace(/#\{act\}/g, function () { + return objDisplay(actual); + }) + .replace(/#\{exp\}/g, function () { + return objDisplay(expected); + }); + + return flagMsg ? flagMsg + ': ' + msg : msg; +} diff --git a/node_modules/chai/lib/chai/utils/getOperator.js b/node_modules/chai/lib/chai/utils/getOperator.js new file mode 100644 index 0000000..7a57d78 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/getOperator.js @@ -0,0 +1,58 @@ +import {flag} from './flag.js'; +import {type} from './type-detect.js'; + +/** + * @param {unknown} obj + * @returns {boolean} + */ +function isObjectType(obj) { + var objectType = type(obj); + var objectTypes = ['Array', 'Object', 'Function']; + + return objectTypes.indexOf(objectType) !== -1; +} + +/** + * ### .getOperator(message) + * + * Extract the operator from error message. + * Operator defined is based on below link + * https://nodejs.org/api/assert.html#assert_assert. + * + * Returns the `operator` or `undefined` value for an Assertion. + * + * @param {object} obj object (constructed Assertion) + * @param {unknown} args chai.Assertion.prototype.assert arguments + * @returns {unknown} + * @namespace Utils + * @name getOperator + * @public + */ +export function getOperator(obj, args) { + var operator = flag(obj, 'operator'); + var negate = flag(obj, 'negate'); + var expected = args[3]; + var msg = negate ? args[2] : args[1]; + + if (operator) { + return operator; + } + + if (typeof msg === 'function') msg = msg(); + + msg = msg || ''; + if (!msg) { + return undefined; + } + + if (/\shave\s/.test(msg)) { + return undefined; + } + + var isObject = isObjectType(expected); + if (/\snot\s/.test(msg)) { + return isObject ? 'notDeepStrictEqual' : 'notStrictEqual'; + } + + return isObject ? 'deepStrictEqual' : 'strictEqual'; +} diff --git a/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js b/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js new file mode 100644 index 0000000..9e8e830 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js @@ -0,0 +1,24 @@ +/*! + * Chai - getOwnEnumerableProperties utility + * Copyright(c) 2011-2016 Jake Luer + * MIT Licensed + */ + +import {getOwnEnumerablePropertySymbols} from './getOwnEnumerablePropertySymbols.js'; + +/** + * ### .getOwnEnumerableProperties(object) + * + * This allows the retrieval of directly-owned enumerable property names and + * symbols of an object. This function is necessary because Object.keys only + * returns enumerable property names, not enumerable property symbols. + * + * @param {object} obj + * @returns {Array} + * @namespace Utils + * @name getOwnEnumerableProperties + * @public + */ +export function getOwnEnumerableProperties(obj) { + return Object.keys(obj).concat(getOwnEnumerablePropertySymbols(obj)); +} diff --git a/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js b/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js new file mode 100644 index 0000000..d8d6d09 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js @@ -0,0 +1,26 @@ +/*! + * Chai - getOwnEnumerablePropertySymbols utility + * Copyright(c) 2011-2016 Jake Luer + * MIT Licensed + */ + +/** + * ### .getOwnEnumerablePropertySymbols(object) + * + * This allows the retrieval of directly-owned enumerable property symbols of an + * object. This function is necessary because Object.getOwnPropertySymbols + * returns both enumerable and non-enumerable property symbols. + * + * @param {object} obj + * @returns {Array} + * @namespace Utils + * @name getOwnEnumerablePropertySymbols + * @public + */ +export function getOwnEnumerablePropertySymbols(obj) { + if (typeof Object.getOwnPropertySymbols !== 'function') return []; + + return Object.getOwnPropertySymbols(obj).filter(function (sym) { + return Object.getOwnPropertyDescriptor(obj, sym).enumerable; + }); +} diff --git a/node_modules/chai/lib/chai/utils/getProperties.js b/node_modules/chai/lib/chai/utils/getProperties.js new file mode 100644 index 0000000..b43c710 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/getProperties.js @@ -0,0 +1,38 @@ +/*! + * Chai - getProperties utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### .getProperties(object) + * + * This allows the retrieval of property names of an object, enumerable or not, + * inherited or not. + * + * @param {object} object + * @returns {Array} + * @namespace Utils + * @name getProperties + * @public + */ +export function getProperties(object) { + var result = Object.getOwnPropertyNames(object); + + /** + * @param {unknown} property + */ + function addProperty(property) { + if (result.indexOf(property) === -1) { + result.push(property); + } + } + + var proto = Object.getPrototypeOf(object); + while (proto !== null) { + Object.getOwnPropertyNames(proto).forEach(addProperty); + proto = Object.getPrototypeOf(proto); + } + + return result; +} diff --git a/node_modules/chai/lib/chai/utils/index.js b/node_modules/chai/lib/chai/utils/index.js new file mode 100644 index 0000000..70d9f4c --- /dev/null +++ b/node_modules/chai/lib/chai/utils/index.js @@ -0,0 +1,118 @@ +/*! + * chai + * Copyright(c) 2011 Jake Luer + * MIT Licensed + */ + +// Dependencies that are used for multiple exports are required here only once +import * as checkError from 'check-error'; + +// test utility +export {test} from './test.js'; + +// type utility +import {type} from './type-detect.js'; +export {type}; + +// expectTypes utility +export {expectTypes} from './expectTypes.js'; + +// message utility +export {getMessage} from './getMessage.js'; + +// actual utility +export {getActual} from './getActual.js'; + +// Inspect util +export {inspect} from './inspect.js'; + +// Object Display util +export {objDisplay} from './objDisplay.js'; + +// Flag utility +export {flag} from './flag.js'; + +// Flag transferring utility +export {transferFlags} from './transferFlags.js'; + +// Deep equal utility +export {default as eql} from 'deep-eql'; + +// Deep path info +export {getPathInfo, hasProperty} from 'pathval'; + +/** + * Function name + * + * @param {Function} fn + * @returns {string} + */ +export function getName(fn) { + return fn.name; +} + +// add Property +export {addProperty} from './addProperty.js'; + +// add Method +export {addMethod} from './addMethod.js'; + +// overwrite Property +export {overwriteProperty} from './overwriteProperty.js'; + +// overwrite Method +export {overwriteMethod} from './overwriteMethod.js'; + +// Add a chainable method +export {addChainableMethod} from './addChainableMethod.js'; + +// Overwrite chainable method +export {overwriteChainableMethod} from './overwriteChainableMethod.js'; + +// Compare by inspect method +export {compareByInspect} from './compareByInspect.js'; + +// Get own enumerable property symbols method +export {getOwnEnumerablePropertySymbols} from './getOwnEnumerablePropertySymbols.js'; + +// Get own enumerable properties method +export {getOwnEnumerableProperties} from './getOwnEnumerableProperties.js'; + +// Checks error against a given set of criteria +export {checkError}; + +// Proxify util +export {proxify} from './proxify.js'; + +// addLengthGuard util +export {addLengthGuard} from './addLengthGuard.js'; + +// isProxyEnabled helper +export {isProxyEnabled} from './isProxyEnabled.js'; + +// isNaN method +export {isNaN} from './isNaN.js'; + +// getOperator method +export {getOperator} from './getOperator.js'; + +/** + * Determines if an object is a `RegExp` + * This is used since `instanceof` will not work in virtual contexts + * + * @param {*} obj Object to test + * @returns {boolean} + */ +export function isRegExp(obj) { + return Object.prototype.toString.call(obj) === '[object RegExp]'; +} + +/** + * Determines if an object is numeric or not + * + * @param {unknown} obj Object to test + * @returns {boolean} + */ +export function isNumeric(obj) { + return ['Number', 'BigInt'].includes(type(obj)); +} diff --git a/node_modules/chai/lib/chai/utils/inspect.js b/node_modules/chai/lib/chai/utils/inspect.js new file mode 100644 index 0000000..f27bf34 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/inspect.js @@ -0,0 +1,31 @@ +// This is (almost) directly from Node.js utils +// https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js + +import {inspect as _inspect} from 'loupe'; +import {config} from '../config.js'; + +/** + * ### .inspect(obj, [showHidden], [depth], [colors]) + * + * Echoes the value of a value. Tries to print the value out + * in the best way possible given the different types. + * + * @param {object} obj The object to print out. + * @param {boolean} showHidden Flag that shows hidden (not enumerable) + * properties of objects. Default is false. + * @param {number} depth Depth in which to descend in object. Default is 2. + * @param {boolean} colors Flag to turn on ANSI escape codes to color the + * output. Default is false (no coloring). + * @returns {string} + * @namespace Utils + * @name inspect + */ +export function inspect(obj, showHidden, depth, colors) { + var options = { + colors: colors, + depth: typeof depth === 'undefined' ? 2 : depth, + showHidden: showHidden, + truncate: config.truncateThreshold ? config.truncateThreshold : Infinity + }; + return _inspect(obj, options); +} diff --git a/node_modules/chai/lib/chai/utils/isNaN.js b/node_modules/chai/lib/chai/utils/isNaN.js new file mode 100644 index 0000000..413c0a4 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/isNaN.js @@ -0,0 +1,7 @@ +/*! + * Chai - isNaN utility + * Copyright(c) 2012-2015 Sakthipriyan Vairamani + * MIT Licensed + */ + +export const isNaN = Number.isNaN; diff --git a/node_modules/chai/lib/chai/utils/isProxyEnabled.js b/node_modules/chai/lib/chai/utils/isProxyEnabled.js new file mode 100644 index 0000000..dd68d4d --- /dev/null +++ b/node_modules/chai/lib/chai/utils/isProxyEnabled.js @@ -0,0 +1,26 @@ +import {config} from '../config.js'; + +/*! + * Chai - isProxyEnabled helper + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### .isProxyEnabled() + * + * Helper function to check if Chai's proxy protection feature is enabled. If + * proxies are unsupported or disabled via the user's Chai config, then return + * false. Otherwise, return true. + * + * @namespace Utils + * @name isProxyEnabled + * @returns {boolean} + */ +export function isProxyEnabled() { + return ( + config.useProxy && + typeof Proxy !== 'undefined' && + typeof Reflect !== 'undefined' + ); +} diff --git a/node_modules/chai/lib/chai/utils/objDisplay.js b/node_modules/chai/lib/chai/utils/objDisplay.js new file mode 100644 index 0000000..cf58d5d --- /dev/null +++ b/node_modules/chai/lib/chai/utils/objDisplay.js @@ -0,0 +1,47 @@ +/*! + * Chai - flag utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {inspect} from './inspect.js'; +import {config} from '../config.js'; + +/** + * ### .objDisplay(object) + * + * Determines if an object or an array matches + * criteria to be inspected in-line for error + * messages or should be truncated. + * + * @param {unknown} obj javascript object to inspect + * @returns {string} stringified object + * @name objDisplay + * @namespace Utils + * @public + */ +export function objDisplay(obj) { + var str = inspect(obj), + type = Object.prototype.toString.call(obj); + + if (config.truncateThreshold && str.length >= config.truncateThreshold) { + if (type === '[object Function]') { + return !obj.name || obj.name === '' + ? '[Function]' + : '[Function: ' + obj.name + ']'; + } else if (type === '[object Array]') { + return '[ Array(' + obj.length + ') ]'; + } else if (type === '[object Object]') { + var keys = Object.keys(obj), + kstr = + keys.length > 2 + ? keys.splice(0, 2).join(', ') + ', ...' + : keys.join(', '); + return '{ Object (' + kstr + ') }'; + } else { + return str; + } + } else { + return str; + } +} diff --git a/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js b/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js new file mode 100644 index 0000000..27fce9f --- /dev/null +++ b/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js @@ -0,0 +1,69 @@ +/*! + * Chai - overwriteChainableMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {Assertion} from '../assertion.js'; +import {transferFlags} from './transferFlags.js'; + +/** + * ### .overwriteChainableMethod(ctx, name, method, chainingBehavior) + * + * Overwrites an already existing chainable method + * and provides access to the previous function or + * property. Must return functions to be used for + * name. + * + * utils.overwriteChainableMethod(chai.Assertion.prototype, 'lengthOf', + * function (_super) { + * } + * , function (_super) { + * } + * ); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteChainableMethod('foo', fn, fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.have.lengthOf(3); + * expect(myFoo).to.have.lengthOf.above(3); + * + * @param {object} ctx object whose method / property is to be overwritten + * @param {string} name of method / property to overwrite + * @param {Function} method function that returns a function to be used for name + * @param {Function} chainingBehavior function that returns a function to be used for property + * @namespace Utils + * @name overwriteChainableMethod + * @public + */ +export function overwriteChainableMethod(ctx, name, method, chainingBehavior) { + var chainableBehavior = ctx.__methods[name]; + + var _chainingBehavior = chainableBehavior.chainingBehavior; + chainableBehavior.chainingBehavior = + function overwritingChainableMethodGetter() { + var result = chainingBehavior(_chainingBehavior).call(this); + if (result !== undefined) { + return result; + } + + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }; + + var _method = chainableBehavior.method; + chainableBehavior.method = function overwritingChainableMethodWrapper() { + var result = method(_method).apply(this, arguments); + if (result !== undefined) { + return result; + } + + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }; +} diff --git a/node_modules/chai/lib/chai/utils/overwriteMethod.js b/node_modules/chai/lib/chai/utils/overwriteMethod.js new file mode 100644 index 0000000..0fbeb3b --- /dev/null +++ b/node_modules/chai/lib/chai/utils/overwriteMethod.js @@ -0,0 +1,90 @@ +/*! + * Chai - overwriteMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {Assertion} from '../assertion.js'; +import {addLengthGuard} from './addLengthGuard.js'; +import {flag} from './flag.js'; +import {proxify} from './proxify.js'; +import {transferFlags} from './transferFlags.js'; + +/** + * ### .overwriteMethod(ctx, name, fn) + * + * Overwrites an already existing method and provides + * access to previous function. Must return function + * to be used for name. + * + * utils.overwriteMethod(chai.Assertion.prototype, 'equal', function (_super) { + * return function (str) { + * var obj = utils.flag(this, 'object'); + * if (obj instanceof Foo) { + * new chai.Assertion(obj.value).to.equal(str); + * } else { + * _super.apply(this, arguments); + * } + * } + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteMethod('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.equal('bar'); + * + * @param {object} ctx object whose method is to be overwritten + * @param {string} name of method to overwrite + * @param {Function} method function that returns a function to be used for name + * @namespace Utils + * @name overwriteMethod + * @public + */ +export function overwriteMethod(ctx, name, method) { + var _method = ctx[name], + _super = function () { + throw new Error(name + ' is not a function'); + }; + + if (_method && 'function' === typeof _method) _super = _method; + + var overwritingMethodWrapper = function () { + // Setting the `ssfi` flag to `overwritingMethodWrapper` causes this + // function to be the starting point for removing implementation frames from + // the stack trace of a failed assertion. + // + // However, we only want to use this function as the starting point if the + // `lockSsfi` flag isn't set. + // + // If the `lockSsfi` flag is set, then either this assertion has been + // overwritten by another assertion, or this assertion is being invoked from + // inside of another assertion. In the first case, the `ssfi` flag has + // already been set by the overwriting assertion. In the second case, the + // `ssfi` flag has already been set by the outer assertion. + if (!flag(this, 'lockSsfi')) { + flag(this, 'ssfi', overwritingMethodWrapper); + } + + // Setting the `lockSsfi` flag to `true` prevents the overwritten assertion + // from changing the `ssfi` flag. By this point, the `ssfi` flag is already + // set to the correct starting point for this assertion. + var origLockSsfi = flag(this, 'lockSsfi'); + flag(this, 'lockSsfi', true); + var result = method(_super).apply(this, arguments); + flag(this, 'lockSsfi', origLockSsfi); + + if (result !== undefined) { + return result; + } + + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }; + + addLengthGuard(overwritingMethodWrapper, name, false); + ctx[name] = proxify(overwritingMethodWrapper, name); +} diff --git a/node_modules/chai/lib/chai/utils/overwriteProperty.js b/node_modules/chai/lib/chai/utils/overwriteProperty.js new file mode 100644 index 0000000..d125309 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/overwriteProperty.js @@ -0,0 +1,89 @@ +/*! + * Chai - overwriteProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {Assertion} from '../assertion.js'; +import {flag} from './flag.js'; +import {isProxyEnabled} from './isProxyEnabled.js'; +import {transferFlags} from './transferFlags.js'; + +/** + * ### .overwriteProperty(ctx, name, fn) + * + * Overwrites an already existing property getter and provides + * access to previous value. Must return function to use as getter. + * + * utils.overwriteProperty(chai.Assertion.prototype, 'ok', function (_super) { + * return function () { + * var obj = utils.flag(this, 'object'); + * if (obj instanceof Foo) { + * new chai.Assertion(obj.name).to.equal('bar'); + * } else { + * _super.call(this); + * } + * } + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteProperty('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.be.ok; + * + * @param {object} ctx object whose property is to be overwritten + * @param {string} name of property to overwrite + * @param {Function} getter function that returns a getter function to be used for name + * @namespace Utils + * @name overwriteProperty + * @public + */ +export function overwriteProperty(ctx, name, getter) { + var _get = Object.getOwnPropertyDescriptor(ctx, name), + _super = function () {}; + + if (_get && 'function' === typeof _get.get) _super = _get.get; + + Object.defineProperty(ctx, name, { + get: function overwritingPropertyGetter() { + // Setting the `ssfi` flag to `overwritingPropertyGetter` causes this + // function to be the starting point for removing implementation frames + // from the stack trace of a failed assertion. + // + // However, we only want to use this function as the starting point if + // the `lockSsfi` flag isn't set and proxy protection is disabled. + // + // If the `lockSsfi` flag is set, then either this assertion has been + // overwritten by another assertion, or this assertion is being invoked + // from inside of another assertion. In the first case, the `ssfi` flag + // has already been set by the overwriting assertion. In the second + // case, the `ssfi` flag has already been set by the outer assertion. + // + // If proxy protection is enabled, then the `ssfi` flag has already been + // set by the proxy getter. + if (!isProxyEnabled() && !flag(this, 'lockSsfi')) { + flag(this, 'ssfi', overwritingPropertyGetter); + } + + // Setting the `lockSsfi` flag to `true` prevents the overwritten + // assertion from changing the `ssfi` flag. By this point, the `ssfi` + // flag is already set to the correct starting point for this assertion. + var origLockSsfi = flag(this, 'lockSsfi'); + flag(this, 'lockSsfi', true); + var result = getter(_super).call(this); + flag(this, 'lockSsfi', origLockSsfi); + + if (result !== undefined) { + return result; + } + + var newAssertion = new Assertion(); + transferFlags(this, newAssertion); + return newAssertion; + }, + configurable: true + }); +} diff --git a/node_modules/chai/lib/chai/utils/proxify.js b/node_modules/chai/lib/chai/utils/proxify.js new file mode 100644 index 0000000..4c1cf69 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/proxify.js @@ -0,0 +1,157 @@ +import {config} from '../config.js'; +import {flag} from './flag.js'; +import {getProperties} from './getProperties.js'; +import {isProxyEnabled} from './isProxyEnabled.js'; + +/*! + * Chai - proxify utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +const builtins = ['__flags', '__methods', '_obj', 'assert']; + +/** + * ### .proxify(object) + * + * Return a proxy of given object that throws an error when a non-existent + * property is read. By default, the root cause is assumed to be a misspelled + * property, and thus an attempt is made to offer a reasonable suggestion from + * the list of existing properties. However, if a nonChainableMethodName is + * provided, then the root cause is instead a failure to invoke a non-chainable + * method prior to reading the non-existent property. + * + * If proxies are unsupported or disabled via the user's Chai config, then + * return object without modification. + * + * @param {object} obj + * @param {string} nonChainableMethodName + * @returns {unknown} + * @namespace Utils + * @name proxify + */ +export function proxify(obj, nonChainableMethodName) { + if (!isProxyEnabled()) return obj; + + return new Proxy(obj, { + get: function proxyGetter(target, property) { + // This check is here because we should not throw errors on Symbol properties + // such as `Symbol.toStringTag`. + // The values for which an error should be thrown can be configured using + // the `config.proxyExcludedKeys` setting. + if ( + typeof property === 'string' && + config.proxyExcludedKeys.indexOf(property) === -1 && + !Reflect.has(target, property) + ) { + // Special message for invalid property access of non-chainable methods. + if (nonChainableMethodName) { + throw Error( + 'Invalid Chai property: ' + + nonChainableMethodName + + '.' + + property + + '. See docs for proper usage of "' + + nonChainableMethodName + + '".' + ); + } + + // If the property is reasonably close to an existing Chai property, + // suggest that property to the user. Only suggest properties with a + // distance less than 4. + var suggestion = null; + var suggestionDistance = 4; + getProperties(target).forEach(function (prop) { + if ( + // we actually mean to check `Object.prototype` here + // eslint-disable-next-line no-prototype-builtins + !Object.prototype.hasOwnProperty(prop) && + builtins.indexOf(prop) === -1 + ) { + var dist = stringDistanceCapped(property, prop, suggestionDistance); + if (dist < suggestionDistance) { + suggestion = prop; + suggestionDistance = dist; + } + } + }); + + if (suggestion !== null) { + throw Error( + 'Invalid Chai property: ' + + property + + '. Did you mean "' + + suggestion + + '"?' + ); + } else { + throw Error('Invalid Chai property: ' + property); + } + } + + // Use this proxy getter as the starting point for removing implementation + // frames from the stack trace of a failed assertion. For property + // assertions, this prevents the proxy getter from showing up in the stack + // trace since it's invoked before the property getter. For method and + // chainable method assertions, this flag will end up getting changed to + // the method wrapper, which is good since this frame will no longer be in + // the stack once the method is invoked. Note that Chai builtin assertion + // properties such as `__flags` are skipped since this is only meant to + // capture the starting point of an assertion. This step is also skipped + // if the `lockSsfi` flag is set, thus indicating that this assertion is + // being called from within another assertion. In that case, the `ssfi` + // flag is already set to the outer assertion's starting point. + if (builtins.indexOf(property) === -1 && !flag(target, 'lockSsfi')) { + flag(target, 'ssfi', proxyGetter); + } + + return Reflect.get(target, property); + } + }); +} + +/** + * # stringDistanceCapped(strA, strB, cap) + * Return the Levenshtein distance between two strings, but no more than cap. + * + * @param {string} strA + * @param {string} strB + * @param {number} cap + * @returns {number} min(string distance between strA and strB, cap) + * @private + */ +function stringDistanceCapped(strA, strB, cap) { + if (Math.abs(strA.length - strB.length) >= cap) { + return cap; + } + + var memo = []; + // `memo` is a two-dimensional array containing distances. + // memo[i][j] is the distance between strA.slice(0, i) and + // strB.slice(0, j). + for (let i = 0; i <= strA.length; i++) { + memo[i] = Array(strB.length + 1).fill(0); + memo[i][0] = i; + } + for (let j = 0; j < strB.length; j++) { + memo[0][j] = j; + } + + for (let i = 1; i <= strA.length; i++) { + var ch = strA.charCodeAt(i - 1); + for (let j = 1; j <= strB.length; j++) { + if (Math.abs(i - j) >= cap) { + memo[i][j] = cap; + continue; + } + memo[i][j] = Math.min( + memo[i - 1][j] + 1, + memo[i][j - 1] + 1, + memo[i - 1][j - 1] + (ch === strB.charCodeAt(j - 1) ? 0 : 1) + ); + } + } + + return memo[strA.length][strB.length]; +} diff --git a/node_modules/chai/lib/chai/utils/test.js b/node_modules/chai/lib/chai/utils/test.js new file mode 100644 index 0000000..6d64aeb --- /dev/null +++ b/node_modules/chai/lib/chai/utils/test.js @@ -0,0 +1,24 @@ +/*! + * Chai - test utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +import {flag} from './flag.js'; + +/** + * ### .test(object, expression) + * + * Test an object for expression. + * + * @param {object} obj (constructed Assertion) + * @param {unknown} args + * @returns {unknown} + * @namespace Utils + * @name test + */ +export function test(obj, args) { + var negate = flag(obj, 'negate'), + expr = args[0]; + return negate ? !expr : expr; +} diff --git a/node_modules/chai/lib/chai/utils/transferFlags.js b/node_modules/chai/lib/chai/utils/transferFlags.js new file mode 100644 index 0000000..4e5b785 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/transferFlags.js @@ -0,0 +1,48 @@ +/*! + * Chai - transferFlags utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### .transferFlags(assertion, object, includeAll = true) + * + * Transfer all the flags for `assertion` to `object`. If + * `includeAll` is set to `false`, then the base Chai + * assertion flags (namely `object`, `ssfi`, `lockSsfi`, + * and `message`) will not be transferred. + * + * var newAssertion = new Assertion(); + * utils.transferFlags(assertion, newAssertion); + * + * var anotherAssertion = new Assertion(myObj); + * utils.transferFlags(assertion, anotherAssertion, false); + * + * @param {import('../assertion.js').Assertion} assertion the assertion to transfer the flags from + * @param {object} object the object to transfer the flags to; usually a new assertion + * @param {boolean} includeAll + * @namespace Utils + * @name transferFlags + * @private + */ +export function transferFlags(assertion, object, includeAll) { + var flags = assertion.__flags || (assertion.__flags = Object.create(null)); + + if (!object.__flags) { + object.__flags = Object.create(null); + } + + includeAll = arguments.length === 3 ? includeAll : true; + + for (var flag in flags) { + if ( + includeAll || + (flag !== 'object' && + flag !== 'ssfi' && + flag !== 'lockSsfi' && + flag != 'message') + ) { + object.__flags[flag] = flags[flag]; + } + } +} diff --git a/node_modules/chai/lib/chai/utils/type-detect.js b/node_modules/chai/lib/chai/utils/type-detect.js new file mode 100644 index 0000000..573edf8 --- /dev/null +++ b/node_modules/chai/lib/chai/utils/type-detect.js @@ -0,0 +1,20 @@ +/** + * @param {unknown} obj + * @returns {string} + */ +export function type(obj) { + if (typeof obj === 'undefined') { + return 'undefined'; + } + + if (obj === null) { + return 'null'; + } + + const stringTag = obj[Symbol.toStringTag]; + if (typeof stringTag === 'string') { + return stringTag; + } + const type = Object.prototype.toString.call(obj).slice(8, -1); + return type; +} diff --git a/node_modules/chai/package.json b/node_modules/chai/package.json new file mode 100644 index 0000000..52a1a4a --- /dev/null +++ b/node_modules/chai/package.json @@ -0,0 +1,67 @@ +{ + "author": "Jake Luer ", + "name": "chai", + "type": "module", + "description": "BDD/TDD assertion library for node.js and the browser. Test framework agnostic.", + "keywords": [ + "test", + "assertion", + "assert", + "testing", + "chai" + ], + "homepage": "http://chaijs.com", + "license": "MIT", + "contributors": [ + "Jake Luer ", + "Domenic Denicola (http://domenicdenicola.com)", + "Veselin Todorov ", + "John Firebaugh " + ], + "version": "5.2.0", + "repository": { + "type": "git", + "url": "https://github.com/chaijs/chai" + }, + "bugs": { + "url": "https://github.com/chaijs/chai/issues" + }, + "main": "./chai.js", + "scripts": { + "prebuild": "npm run clean", + "build": "npm run build:esm", + "build:esm": "esbuild --bundle --format=esm --keep-names --outfile=chai.js index.js", + "format": "prettier --write lib", + "pretest": "npm run lint && npm run build", + "test": "npm run test-node && npm run test-chrome", + "test-node": "c8 --99 --check-coverage mocha --require ./test/bootstrap/index.js test/*.js", + "test-chrome": "web-test-runner --playwright", + "lint": "npm run lint:js && npm run lint:format", + "lint:js": "eslint lib/", + "lint:format": "prettier --check lib", + "clean": "rm -rf chai.js coverage/" + }, + "engines": { + "node": ">=12" + }, + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@rollup/plugin-commonjs": "^25.0.7", + "@web/dev-server-rollup": "^0.6.1", + "@web/test-runner": "^0.18.0", + "@web/test-runner-playwright": "^0.11.0", + "c8": "^10.1.3", + "esbuild": "^0.19.10", + "eslint": "^8.56.0", + "eslint-plugin-jsdoc": "^48.0.4", + "mocha": "^10.2.0", + "prettier": "^3.4.2" + } +} diff --git a/node_modules/chai/register-assert.js b/node_modules/chai/register-assert.js new file mode 100644 index 0000000..f593717 --- /dev/null +++ b/node_modules/chai/register-assert.js @@ -0,0 +1,3 @@ +import {assert} from './index.js'; + +globalThis.assert = assert; diff --git a/node_modules/chai/register-expect.js b/node_modules/chai/register-expect.js new file mode 100644 index 0000000..2807b89 --- /dev/null +++ b/node_modules/chai/register-expect.js @@ -0,0 +1,3 @@ +import {expect} from './index.js'; + +globalThis.expect = expect; diff --git a/node_modules/chai/register-should.js b/node_modules/chai/register-should.js new file mode 100644 index 0000000..1339ee4 --- /dev/null +++ b/node_modules/chai/register-should.js @@ -0,0 +1,3 @@ +import {should} from './index.js'; + +globalThis.should = should(); diff --git a/node_modules/chai/web-test-runner.config.js b/node_modules/chai/web-test-runner.config.js new file mode 100644 index 0000000..b9b6cb2 --- /dev/null +++ b/node_modules/chai/web-test-runner.config.js @@ -0,0 +1,20 @@ +import { fromRollup } from "@web/dev-server-rollup"; +import rollupCommonjs from "@rollup/plugin-commonjs"; + +const commonjs = fromRollup(rollupCommonjs); + +export default { + nodeResolve: true, + files: [ + "test/*.js", + "!test/virtual-machines.js" + ], + plugins: [ + commonjs({ + include: [ + // the commonjs plugin is slow, list the required packages explicitly: + "**/node_modules/type-detect/**/*", + ], + }), + ], +}; diff --git a/node_modules/check-error/LICENSE b/node_modules/check-error/LICENSE new file mode 100644 index 0000000..7ea799f --- /dev/null +++ b/node_modules/check-error/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/check-error/README.md b/node_modules/check-error/README.md new file mode 100644 index 0000000..95c3200 --- /dev/null +++ b/node_modules/check-error/README.md @@ -0,0 +1,144 @@ +

    + + ChaiJS + +
    + check-error +

    + +

    + Error comparison and information related utility for node and the browser. +

    + +## What is Check-Error? + +Check-Error is a module which you can use to retrieve an Error's information such as its `message` or `constructor` name and also to check whether two Errors are compatible based on their messages, constructors or even instances. + +## Installation + +### Node.js + +`check-error` is available on [npm](http://npmjs.org). To install it, type: + + $ npm install check-error + +### Browsers + +You can also use it within the browser; install via npm and use the `check-error.js` file found within the download. For example: + +```html + +``` + +## Usage + +The primary export of `check-error` is an object which has the following methods: + +* `compatibleInstance(err, errorLike)` - Checks if an error is compatible with another `errorLike` object. If `errorLike` is an error instance we do a strict comparison, otherwise we return `false` by default, because instances of objects can only be compatible if they're both error instances. +* `compatibleConstructor(err, errorLike)` - Checks if an error's constructor is compatible with another `errorLike` object. If `err` has the same constructor as `errorLike` or if `err` is an instance of `errorLike`. +* `compatibleMessage(err, errMatcher)` - Checks if an error message is compatible with an `errMatcher` RegExp or String (we check if the message contains the String). +* `getConstructorName(errorLike)` - Retrieves the name of a constructor, an error's constructor or `errorLike` itself if it's not an error instance or constructor. +* `getMessage(err)` - Retrieves the message of an error or `err` itself if it's a String. If `err` or `err.message` is undefined we return an empty String. + +```js +var checkError = require('check-error'); +``` + +#### .compatibleInstance(err, errorLike) + +```js +var checkError = require('check-error'); + +var funcThatThrows = function() { throw new TypeError('I am a TypeError') }; +var caughtErr; + +try { + funcThatThrows(); +} catch(e) { + caughtErr = e; +} + +var sameInstance = caughtErr; + +checkError.compatibleInstance(caughtErr, sameInstance); // true +checkError.compatibleInstance(caughtErr, new TypeError('Another error')); // false +``` + +#### .compatibleConstructor(err, errorLike) + +```js +var checkError = require('check-error'); + +var funcThatThrows = function() { throw new TypeError('I am a TypeError') }; +var caughtErr; + +try { + funcThatThrows(); +} catch(e) { + caughtErr = e; +} + +checkError.compatibleConstructor(caughtErr, Error); // true +checkError.compatibleConstructor(caughtErr, TypeError); // true +checkError.compatibleConstructor(caughtErr, RangeError); // false +``` + +#### .compatibleMessage(err, errMatcher) + +```js +var checkError = require('check-error'); + +var funcThatThrows = function() { throw new TypeError('I am a TypeError') }; +var caughtErr; + +try { + funcThatThrows(); +} catch(e) { + caughtErr = e; +} + +var sameInstance = caughtErr; + +checkError.compatibleMessage(caughtErr, /TypeError$/); // true +checkError.compatibleMessage(caughtErr, 'I am a'); // true +checkError.compatibleMessage(caughtErr, /unicorn/); // false +checkError.compatibleMessage(caughtErr, 'I do not exist'); // false +``` + +#### .getConstructorName(errorLike) + +```js +var checkError = require('check-error'); + +var funcThatThrows = function() { throw new TypeError('I am a TypeError') }; +var caughtErr; + +try { + funcThatThrows(); +} catch(e) { + caughtErr = e; +} + +var sameInstance = caughtErr; + +checkError.getConstructorName(caughtErr) // 'TypeError' +``` + +#### .getMessage(err) + +```js +var checkError = require('check-error'); + +var funcThatThrows = function() { throw new TypeError('I am a TypeError') }; +var caughtErr; + +try { + funcThatThrows(); +} catch(e) { + caughtErr = e; +} + +var sameInstance = caughtErr; + +checkError.getMessage(caughtErr) // 'I am a TypeError' +``` diff --git a/node_modules/check-error/index.js b/node_modules/check-error/index.js new file mode 100644 index 0000000..872a7b6 --- /dev/null +++ b/node_modules/check-error/index.js @@ -0,0 +1,135 @@ +function isErrorInstance(obj) { + // eslint-disable-next-line prefer-reflect + return obj instanceof Error || Object.prototype.toString.call(obj) === '[object Error]'; +} + +function isRegExp(obj) { + // eslint-disable-next-line prefer-reflect + return Object.prototype.toString.call(obj) === '[object RegExp]'; +} + +/** + * ### .compatibleInstance(thrown, errorLike) + * + * Checks if two instances are compatible (strict equal). + * Returns false if errorLike is not an instance of Error, because instances + * can only be compatible if they're both error instances. + * + * @name compatibleInstance + * @param {Error} thrown error + * @param {Error|ErrorConstructor} errorLike object to compare against + * @namespace Utils + * @api public + */ + +function compatibleInstance(thrown, errorLike) { + return isErrorInstance(errorLike) && thrown === errorLike; +} + +/** + * ### .compatibleConstructor(thrown, errorLike) + * + * Checks if two constructors are compatible. + * This function can receive either an error constructor or + * an error instance as the `errorLike` argument. + * Constructors are compatible if they're the same or if one is + * an instance of another. + * + * @name compatibleConstructor + * @param {Error} thrown error + * @param {Error|ErrorConstructor} errorLike object to compare against + * @namespace Utils + * @api public + */ + +function compatibleConstructor(thrown, errorLike) { + if (isErrorInstance(errorLike)) { + // If `errorLike` is an instance of any error we compare their constructors + return thrown.constructor === errorLike.constructor || thrown instanceof errorLike.constructor; + } else if ((typeof errorLike === 'object' || typeof errorLike === 'function') && errorLike.prototype) { + // If `errorLike` is a constructor that inherits from Error, we compare `thrown` to `errorLike` directly + return thrown.constructor === errorLike || thrown instanceof errorLike; + } + + return false; +} + +/** + * ### .compatibleMessage(thrown, errMatcher) + * + * Checks if an error's message is compatible with a matcher (String or RegExp). + * If the message contains the String or passes the RegExp test, + * it is considered compatible. + * + * @name compatibleMessage + * @param {Error} thrown error + * @param {String|RegExp} errMatcher to look for into the message + * @namespace Utils + * @api public + */ + +function compatibleMessage(thrown, errMatcher) { + const comparisonString = typeof thrown === 'string' ? thrown : thrown.message; + if (isRegExp(errMatcher)) { + return errMatcher.test(comparisonString); + } else if (typeof errMatcher === 'string') { + return comparisonString.indexOf(errMatcher) !== -1; // eslint-disable-line no-magic-numbers + } + + return false; +} + +/** + * ### .getConstructorName(errorLike) + * + * Gets the constructor name for an Error instance or constructor itself. + * + * @name getConstructorName + * @param {Error|ErrorConstructor} errorLike + * @namespace Utils + * @api public + */ + +function getConstructorName(errorLike) { + let constructorName = errorLike; + if (isErrorInstance(errorLike)) { + constructorName = errorLike.constructor.name; + } else if (typeof errorLike === 'function') { + // If `err` is not an instance of Error it is an error constructor itself or another function. + // If we've got a common function we get its name, otherwise we may need to create a new instance + // of the error just in case it's a poorly-constructed error. Please see chaijs/chai/issues/45 to know more. + constructorName = errorLike.name; + if (constructorName === '') { + const newConstructorName = (new errorLike().name); // eslint-disable-line new-cap + constructorName = newConstructorName || constructorName; + } + } + + return constructorName; +} + +/** + * ### .getMessage(errorLike) + * + * Gets the error message from an error. + * If `err` is a String itself, we return it. + * If the error has no message, we return an empty string. + * + * @name getMessage + * @param {Error|String} errorLike + * @namespace Utils + * @api public + */ + +function getMessage(errorLike) { + let msg = ''; + if (errorLike && errorLike.message) { + msg = errorLike.message; + } else if (typeof errorLike === 'string') { + msg = errorLike; + } + + return msg; +} + +export { compatibleInstance, compatibleConstructor, compatibleMessage, getMessage, getConstructorName }; diff --git a/node_modules/check-error/package.json b/node_modules/check-error/package.json new file mode 100644 index 0000000..d2dcbaf --- /dev/null +++ b/node_modules/check-error/package.json @@ -0,0 +1,66 @@ +{ + "version": "2.1.1", + "name": "check-error", + "description": "Error comparison and information related utility for node and the browser", + "keywords": ["check-error", "error", "chai util"], + "license": "MIT", + "author": "Jake Luer (http://alogicalparadox.com)", + "contributors": [ + "David Losert (https://github.com/davelosert)", + "Keith Cirkel (https://github.com/keithamus)", + "Miroslav Bajtoš (https://github.com/bajtos)", + "Lucas Fernandes da Costa (https://github.com/lucasfcosta)" + ], + "files": ["index.js", "check-error.js"], + "type": "module", + "main": "./index.js", + "module": "./index.js", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/chaijs/check-error.git" + }, + "scripts": { + "lint": "eslint --ignore-path .gitignore index.js test/", + "semantic-release": "semantic-release pre && npm publish && semantic-release post", + "pretest": "npm run lint", + "test": "npm run test:node && npm run test:browser", + "test:browser": "web-test-runner", + "test:node": "mocha" + }, + "config": { + "ghooks": { + "commit-msg": "validate-commit-msg" + } + }, + "eslintConfig": { + "extends": ["strict/es6"], + "env": { + "es6": true + }, + "globals": { + "HTMLElement": false + }, + "rules": { + "complexity": "off", + "max-statements": "off", + "prefer-arrow-callback": "off", + "prefer-reflect": "off" + } + }, + "devDependencies": { + "@web/test-runner": "^0.17.0", + "browserify": "^13.0.0", + "browserify-istanbul": "^1.0.0", + "eslint": "^2.4.0", + "eslint-config-strict": "^8.5.0", + "eslint-plugin-filenames": "^0.2.0", + "ghooks": "^1.0.1", + "mocha": "^9.1.2", + "semantic-release": "^4.3.5", + "simple-assert": "^2.0.0", + "validate-commit-msg": "^2.3.1" + }, + "engines": { + "node": ">= 16" + } +} diff --git a/node_modules/combined-stream/License b/node_modules/combined-stream/License new file mode 100644 index 0000000..4804b7a --- /dev/null +++ b/node_modules/combined-stream/License @@ -0,0 +1,19 @@ +Copyright (c) 2011 Debuggable Limited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/combined-stream/Readme.md b/node_modules/combined-stream/Readme.md new file mode 100644 index 0000000..9e367b5 --- /dev/null +++ b/node_modules/combined-stream/Readme.md @@ -0,0 +1,138 @@ +# combined-stream + +A stream that emits multiple other streams one after another. + +**NB** Currently `combined-stream` works with streams version 1 only. There is ongoing effort to switch this library to streams version 2. Any help is welcome. :) Meanwhile you can explore other libraries that provide streams2 support with more or less compatibility with `combined-stream`. + +- [combined-stream2](https://www.npmjs.com/package/combined-stream2): A drop-in streams2-compatible replacement for the combined-stream module. + +- [multistream](https://www.npmjs.com/package/multistream): A stream that emits multiple other streams one after another. + +## Installation + +``` bash +npm install combined-stream +``` + +## Usage + +Here is a simple example that shows how you can use combined-stream to combine +two files into one: + +``` javascript +var CombinedStream = require('combined-stream'); +var fs = require('fs'); + +var combinedStream = CombinedStream.create(); +combinedStream.append(fs.createReadStream('file1.txt')); +combinedStream.append(fs.createReadStream('file2.txt')); + +combinedStream.pipe(fs.createWriteStream('combined.txt')); +``` + +While the example above works great, it will pause all source streams until +they are needed. If you don't want that to happen, you can set `pauseStreams` +to `false`: + +``` javascript +var CombinedStream = require('combined-stream'); +var fs = require('fs'); + +var combinedStream = CombinedStream.create({pauseStreams: false}); +combinedStream.append(fs.createReadStream('file1.txt')); +combinedStream.append(fs.createReadStream('file2.txt')); + +combinedStream.pipe(fs.createWriteStream('combined.txt')); +``` + +However, what if you don't have all the source streams yet, or you don't want +to allocate the resources (file descriptors, memory, etc.) for them right away? +Well, in that case you can simply provide a callback that supplies the stream +by calling a `next()` function: + +``` javascript +var CombinedStream = require('combined-stream'); +var fs = require('fs'); + +var combinedStream = CombinedStream.create(); +combinedStream.append(function(next) { + next(fs.createReadStream('file1.txt')); +}); +combinedStream.append(function(next) { + next(fs.createReadStream('file2.txt')); +}); + +combinedStream.pipe(fs.createWriteStream('combined.txt')); +``` + +## API + +### CombinedStream.create([options]) + +Returns a new combined stream object. Available options are: + +* `maxDataSize` +* `pauseStreams` + +The effect of those options is described below. + +### combinedStream.pauseStreams = `true` + +Whether to apply back pressure to the underlaying streams. If set to `false`, +the underlaying streams will never be paused. If set to `true`, the +underlaying streams will be paused right after being appended, as well as when +`delayedStream.pipe()` wants to throttle. + +### combinedStream.maxDataSize = `2 * 1024 * 1024` + +The maximum amount of bytes (or characters) to buffer for all source streams. +If this value is exceeded, `combinedStream` emits an `'error'` event. + +### combinedStream.dataSize = `0` + +The amount of bytes (or characters) currently buffered by `combinedStream`. + +### combinedStream.append(stream) + +Appends the given `stream` to the combinedStream object. If `pauseStreams` is +set to `true, this stream will also be paused right away. + +`streams` can also be a function that takes one parameter called `next`. `next` +is a function that must be invoked in order to provide the `next` stream, see +example above. + +Regardless of how the `stream` is appended, combined-stream always attaches an +`'error'` listener to it, so you don't have to do that manually. + +Special case: `stream` can also be a String or Buffer. + +### combinedStream.write(data) + +You should not call this, `combinedStream` takes care of piping the appended +streams into itself for you. + +### combinedStream.resume() + +Causes `combinedStream` to start drain the streams it manages. The function is +idempotent, and also emits a `'resume'` event each time which usually goes to +the stream that is currently being drained. + +### combinedStream.pause(); + +If `combinedStream.pauseStreams` is set to `false`, this does nothing. +Otherwise a `'pause'` event is emitted, this goes to the stream that is +currently being drained, so you can use it to apply back pressure. + +### combinedStream.end(); + +Sets `combinedStream.writable` to false, emits an `'end'` event, and removes +all streams from the queue. + +### combinedStream.destroy(); + +Same as `combinedStream.end()`, except it emits a `'close'` event instead of +`'end'`. + +## License + +combined-stream is licensed under the MIT license. diff --git a/node_modules/combined-stream/lib/combined_stream.js b/node_modules/combined-stream/lib/combined_stream.js new file mode 100644 index 0000000..125f097 --- /dev/null +++ b/node_modules/combined-stream/lib/combined_stream.js @@ -0,0 +1,208 @@ +var util = require('util'); +var Stream = require('stream').Stream; +var DelayedStream = require('delayed-stream'); + +module.exports = CombinedStream; +function CombinedStream() { + this.writable = false; + this.readable = true; + this.dataSize = 0; + this.maxDataSize = 2 * 1024 * 1024; + this.pauseStreams = true; + + this._released = false; + this._streams = []; + this._currentStream = null; + this._insideLoop = false; + this._pendingNext = false; +} +util.inherits(CombinedStream, Stream); + +CombinedStream.create = function(options) { + var combinedStream = new this(); + + options = options || {}; + for (var option in options) { + combinedStream[option] = options[option]; + } + + return combinedStream; +}; + +CombinedStream.isStreamLike = function(stream) { + return (typeof stream !== 'function') + && (typeof stream !== 'string') + && (typeof stream !== 'boolean') + && (typeof stream !== 'number') + && (!Buffer.isBuffer(stream)); +}; + +CombinedStream.prototype.append = function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + + if (isStreamLike) { + if (!(stream instanceof DelayedStream)) { + var newStream = DelayedStream.create(stream, { + maxDataSize: Infinity, + pauseStream: this.pauseStreams, + }); + stream.on('data', this._checkDataSize.bind(this)); + stream = newStream; + } + + this._handleErrors(stream); + + if (this.pauseStreams) { + stream.pause(); + } + } + + this._streams.push(stream); + return this; +}; + +CombinedStream.prototype.pipe = function(dest, options) { + Stream.prototype.pipe.call(this, dest, options); + this.resume(); + return dest; +}; + +CombinedStream.prototype._getNext = function() { + this._currentStream = null; + + if (this._insideLoop) { + this._pendingNext = true; + return; // defer call + } + + this._insideLoop = true; + try { + do { + this._pendingNext = false; + this._realGetNext(); + } while (this._pendingNext); + } finally { + this._insideLoop = false; + } +}; + +CombinedStream.prototype._realGetNext = function() { + var stream = this._streams.shift(); + + + if (typeof stream == 'undefined') { + this.end(); + return; + } + + if (typeof stream !== 'function') { + this._pipeNext(stream); + return; + } + + var getStream = stream; + getStream(function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('data', this._checkDataSize.bind(this)); + this._handleErrors(stream); + } + + this._pipeNext(stream); + }.bind(this)); +}; + +CombinedStream.prototype._pipeNext = function(stream) { + this._currentStream = stream; + + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('end', this._getNext.bind(this)); + stream.pipe(this, {end: false}); + return; + } + + var value = stream; + this.write(value); + this._getNext(); +}; + +CombinedStream.prototype._handleErrors = function(stream) { + var self = this; + stream.on('error', function(err) { + self._emitError(err); + }); +}; + +CombinedStream.prototype.write = function(data) { + this.emit('data', data); +}; + +CombinedStream.prototype.pause = function() { + if (!this.pauseStreams) { + return; + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause(); + this.emit('pause'); +}; + +CombinedStream.prototype.resume = function() { + if (!this._released) { + this._released = true; + this.writable = true; + this._getNext(); + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume(); + this.emit('resume'); +}; + +CombinedStream.prototype.end = function() { + this._reset(); + this.emit('end'); +}; + +CombinedStream.prototype.destroy = function() { + this._reset(); + this.emit('close'); +}; + +CombinedStream.prototype._reset = function() { + this.writable = false; + this._streams = []; + this._currentStream = null; +}; + +CombinedStream.prototype._checkDataSize = function() { + this._updateDataSize(); + if (this.dataSize <= this.maxDataSize) { + return; + } + + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'; + this._emitError(new Error(message)); +}; + +CombinedStream.prototype._updateDataSize = function() { + this.dataSize = 0; + + var self = this; + this._streams.forEach(function(stream) { + if (!stream.dataSize) { + return; + } + + self.dataSize += stream.dataSize; + }); + + if (this._currentStream && this._currentStream.dataSize) { + this.dataSize += this._currentStream.dataSize; + } +}; + +CombinedStream.prototype._emitError = function(err) { + this._reset(); + this.emit('error', err); +}; diff --git a/node_modules/combined-stream/package.json b/node_modules/combined-stream/package.json new file mode 100644 index 0000000..6982b6d --- /dev/null +++ b/node_modules/combined-stream/package.json @@ -0,0 +1,25 @@ +{ + "author": "Felix Geisendörfer (http://debuggable.com/)", + "name": "combined-stream", + "description": "A stream that emits multiple other streams one after another.", + "version": "1.0.8", + "homepage": "https://github.com/felixge/node-combined-stream", + "repository": { + "type": "git", + "url": "git://github.com/felixge/node-combined-stream.git" + }, + "main": "./lib/combined_stream", + "scripts": { + "test": "node test/run.js" + }, + "engines": { + "node": ">= 0.8" + }, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "devDependencies": { + "far": "~0.0.7" + }, + "license": "MIT" +} diff --git a/node_modules/combined-stream/yarn.lock b/node_modules/combined-stream/yarn.lock new file mode 100644 index 0000000..7edf418 --- /dev/null +++ b/node_modules/combined-stream/yarn.lock @@ -0,0 +1,17 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +far@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/far/-/far-0.0.7.tgz#01c1fd362bcd26ce9cf161af3938aa34619f79a7" + dependencies: + oop "0.0.3" + +oop@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/oop/-/oop-0.0.3.tgz#70fa405a5650891a194fdc82ca68dad6dabf4401" diff --git a/node_modules/component-emitter/LICENSE b/node_modules/component-emitter/LICENSE new file mode 100644 index 0000000..de51692 --- /dev/null +++ b/node_modules/component-emitter/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2014 Component contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/component-emitter/Readme.md b/node_modules/component-emitter/Readme.md new file mode 100644 index 0000000..0f3f9b9 --- /dev/null +++ b/node_modules/component-emitter/Readme.md @@ -0,0 +1,74 @@ +# Emitter [![Build Status](https://travis-ci.org/component/emitter.png)](https://travis-ci.org/component/emitter) + + Event emitter component. + +## Installation + +``` +$ component install component/emitter +``` + +## API + +### Emitter(obj) + + The `Emitter` may also be used as a mixin. For example + a "plain" object may become an emitter, or you may + extend an existing prototype. + + As an `Emitter` instance: + +```js +var Emitter = require('emitter'); +var emitter = new Emitter; +emitter.emit('something'); +``` + + As a mixin: + +```js +var Emitter = require('emitter'); +var user = { name: 'tobi' }; +Emitter(user); + +user.emit('im a user'); +``` + + As a prototype mixin: + +```js +var Emitter = require('emitter'); +Emitter(User.prototype); +``` + +### Emitter#on(event, fn) + + Register an `event` handler `fn`. + +### Emitter#once(event, fn) + + Register a single-shot `event` handler `fn`, + removed immediately after it is invoked the + first time. + +### Emitter#off(event, fn) + + * Pass `event` and `fn` to remove a listener. + * Pass `event` to remove all listeners on that event. + * Pass nothing to remove all listeners on all events. + +### Emitter#emit(event, ...) + + Emit an `event` with variable option args. + +### Emitter#listeners(event) + + Return an array of callbacks, or an empty array. + +### Emitter#hasListeners(event) + + Check if this emitter has `event` handlers. + +## License + +MIT diff --git a/node_modules/component-emitter/index.js b/node_modules/component-emitter/index.js new file mode 100644 index 0000000..6d7ed0a --- /dev/null +++ b/node_modules/component-emitter/index.js @@ -0,0 +1,175 @@ + +/** + * Expose `Emitter`. + */ + +if (typeof module !== 'undefined') { + module.exports = Emitter; +} + +/** + * Initialize a new `Emitter`. + * + * @api public + */ + +function Emitter(obj) { + if (obj) return mixin(obj); +}; + +/** + * Mixin the emitter properties. + * + * @param {Object} obj + * @return {Object} + * @api private + */ + +function mixin(obj) { + for (var key in Emitter.prototype) { + obj[key] = Emitter.prototype[key]; + } + return obj; +} + +/** + * Listen on the given `event` with `fn`. + * + * @param {String} event + * @param {Function} fn + * @return {Emitter} + * @api public + */ + +Emitter.prototype.on = +Emitter.prototype.addEventListener = function(event, fn){ + this._callbacks = this._callbacks || {}; + (this._callbacks['$' + event] = this._callbacks['$' + event] || []) + .push(fn); + return this; +}; + +/** + * Adds an `event` listener that will be invoked a single + * time then automatically removed. + * + * @param {String} event + * @param {Function} fn + * @return {Emitter} + * @api public + */ + +Emitter.prototype.once = function(event, fn){ + function on() { + this.off(event, on); + fn.apply(this, arguments); + } + + on.fn = fn; + this.on(event, on); + return this; +}; + +/** + * Remove the given callback for `event` or all + * registered callbacks. + * + * @param {String} event + * @param {Function} fn + * @return {Emitter} + * @api public + */ + +Emitter.prototype.off = +Emitter.prototype.removeListener = +Emitter.prototype.removeAllListeners = +Emitter.prototype.removeEventListener = function(event, fn){ + this._callbacks = this._callbacks || {}; + + // all + if (0 == arguments.length) { + this._callbacks = {}; + return this; + } + + // specific event + var callbacks = this._callbacks['$' + event]; + if (!callbacks) return this; + + // remove all handlers + if (1 == arguments.length) { + delete this._callbacks['$' + event]; + return this; + } + + // remove specific handler + var cb; + for (var i = 0; i < callbacks.length; i++) { + cb = callbacks[i]; + if (cb === fn || cb.fn === fn) { + callbacks.splice(i, 1); + break; + } + } + + // Remove event specific arrays for event types that no + // one is subscribed for to avoid memory leak. + if (callbacks.length === 0) { + delete this._callbacks['$' + event]; + } + + return this; +}; + +/** + * Emit `event` with the given args. + * + * @param {String} event + * @param {Mixed} ... + * @return {Emitter} + */ + +Emitter.prototype.emit = function(event){ + this._callbacks = this._callbacks || {}; + + var args = new Array(arguments.length - 1) + , callbacks = this._callbacks['$' + event]; + + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + + if (callbacks) { + callbacks = callbacks.slice(0); + for (var i = 0, len = callbacks.length; i < len; ++i) { + callbacks[i].apply(this, args); + } + } + + return this; +}; + +/** + * Return array of callbacks for `event`. + * + * @param {String} event + * @return {Array} + * @api public + */ + +Emitter.prototype.listeners = function(event){ + this._callbacks = this._callbacks || {}; + return this._callbacks['$' + event] || []; +}; + +/** + * Check if this emitter has `event` handlers. + * + * @param {String} event + * @return {Boolean} + * @api public + */ + +Emitter.prototype.hasListeners = function(event){ + return !! this.listeners(event).length; +}; diff --git a/node_modules/component-emitter/package.json b/node_modules/component-emitter/package.json new file mode 100644 index 0000000..0b8eca9 --- /dev/null +++ b/node_modules/component-emitter/package.json @@ -0,0 +1,28 @@ +{ + "name": "component-emitter", + "description": "Event emitter", + "version": "1.3.1", + "license": "MIT", + "funding": "https://github.com/sponsors/sindresorhus", + "devDependencies": { + "mocha": "*", + "should": "*" + }, + "component": { + "scripts": { + "emitter/index.js": "index.js" + } + }, + "main": "index.js", + "repository": { + "type": "git", + "url": "https://github.com/sindresorhus/component-emitter.git" + }, + "scripts": { + "test": "make test" + }, + "files": [ + "index.js", + "LICENSE" + ] +} diff --git a/node_modules/content-disposition/HISTORY.md b/node_modules/content-disposition/HISTORY.md new file mode 100644 index 0000000..ff0b68b --- /dev/null +++ b/node_modules/content-disposition/HISTORY.md @@ -0,0 +1,66 @@ +1.0.0 / 2024-08-31 +================== + + * drop node <18 + * allow utf8 as alias for utf-8 + +0.5.4 / 2021-12-10 +================== + + * deps: safe-buffer@5.2.1 + +0.5.3 / 2018-12-17 +================== + + * Use `safe-buffer` for improved Buffer API + +0.5.2 / 2016-12-08 +================== + + * Fix `parse` to accept any linear whitespace character + +0.5.1 / 2016-01-17 +================== + + * perf: enable strict mode + +0.5.0 / 2014-10-11 +================== + + * Add `parse` function + +0.4.0 / 2014-09-21 +================== + + * Expand non-Unicode `filename` to the full ISO-8859-1 charset + +0.3.0 / 2014-09-20 +================== + + * Add `fallback` option + * Add `type` option + +0.2.0 / 2014-09-19 +================== + + * Reduce ambiguity of file names with hex escape in buggy browsers + +0.1.2 / 2014-09-19 +================== + + * Fix periodic invalid Unicode filename header + +0.1.1 / 2014-09-19 +================== + + * Fix invalid characters appearing in `filename*` parameter + +0.1.0 / 2014-09-18 +================== + + * Make the `filename` argument optional + +0.0.0 / 2014-09-18 +================== + + * Initial release diff --git a/node_modules/content-disposition/LICENSE b/node_modules/content-disposition/LICENSE new file mode 100644 index 0000000..84441fb --- /dev/null +++ b/node_modules/content-disposition/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/content-disposition/README.md b/node_modules/content-disposition/README.md new file mode 100644 index 0000000..3a0bb05 --- /dev/null +++ b/node_modules/content-disposition/README.md @@ -0,0 +1,142 @@ +# content-disposition + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][github-actions-ci-image]][github-actions-ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Create and parse HTTP `Content-Disposition` header + +## Installation + +```sh +$ npm install content-disposition +``` + +## API + +```js +var contentDisposition = require('content-disposition') +``` + +### contentDisposition(filename, options) + +Create an attachment `Content-Disposition` header value using the given file name, +if supplied. The `filename` is optional and if no file name is desired, but you +want to specify `options`, set `filename` to `undefined`. + +```js +res.setHeader('Content-Disposition', contentDisposition('∫ maths.pdf')) +``` + +**note** HTTP headers are of the ISO-8859-1 character set. If you are writing this +header through a means different from `setHeader` in Node.js, you'll want to specify +the `'binary'` encoding in Node.js. + +#### Options + +`contentDisposition` accepts these properties in the options object. + +##### fallback + +If the `filename` option is outside ISO-8859-1, then the file name is actually +stored in a supplemental field for clients that support Unicode file names and +a ISO-8859-1 version of the file name is automatically generated. + +This specifies the ISO-8859-1 file name to override the automatic generation or +disables the generation all together, defaults to `true`. + + - A string will specify the ISO-8859-1 file name to use in place of automatic + generation. + - `false` will disable including a ISO-8859-1 file name and only include the + Unicode version (unless the file name is already ISO-8859-1). + - `true` will enable automatic generation if the file name is outside ISO-8859-1. + +If the `filename` option is ISO-8859-1 and this option is specified and has a +different value, then the `filename` option is encoded in the extended field +and this set as the fallback field, even though they are both ISO-8859-1. + +##### type + +Specifies the disposition type, defaults to `"attachment"`. This can also be +`"inline"`, or any other value (all values except inline are treated like +`attachment`, but can convey additional information if both parties agree to +it). The type is normalized to lower-case. + +### contentDisposition.parse(string) + +```js +var disposition = contentDisposition.parse('attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt') +``` + +Parse a `Content-Disposition` header string. This automatically handles extended +("Unicode") parameters by decoding them and providing them under the standard +parameter name. This will return an object with the following properties (examples +are shown for the string `'attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt'`): + + - `type`: The disposition type (always lower case). Example: `'attachment'` + + - `parameters`: An object of the parameters in the disposition (name of parameter + always lower case and extended versions replace non-extended versions). Example: + `{filename: "€ rates.txt"}` + +## Examples + +### Send a file for download + +```js +var contentDisposition = require('content-disposition') +var destroy = require('destroy') +var fs = require('fs') +var http = require('http') +var onFinished = require('on-finished') + +var filePath = '/path/to/public/plans.pdf' + +http.createServer(function onRequest (req, res) { + // set headers + res.setHeader('Content-Type', 'application/pdf') + res.setHeader('Content-Disposition', contentDisposition(filePath)) + + // send file + var stream = fs.createReadStream(filePath) + stream.pipe(res) + onFinished(res, function () { + destroy(stream) + }) +}) +``` + +## Testing + +```sh +$ npm test +``` + +## References + +- [RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1][rfc-2616] +- [RFC 5987: Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters][rfc-5987] +- [RFC 6266: Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)][rfc-6266] +- [Test Cases for HTTP Content-Disposition header field (RFC 6266) and the Encodings defined in RFCs 2047, 2231 and 5987][tc-2231] + +[rfc-2616]: https://tools.ietf.org/html/rfc2616 +[rfc-5987]: https://tools.ietf.org/html/rfc5987 +[rfc-6266]: https://tools.ietf.org/html/rfc6266 +[tc-2231]: http://greenbytes.de/tech/tc2231/ + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/content-disposition.svg +[npm-url]: https://npmjs.org/package/content-disposition +[node-version-image]: https://img.shields.io/node/v/content-disposition.svg +[node-version-url]: https://nodejs.org/en/download +[coveralls-image]: https://img.shields.io/coveralls/jshttp/content-disposition.svg +[coveralls-url]: https://coveralls.io/r/jshttp/content-disposition?branch=master +[downloads-image]: https://img.shields.io/npm/dm/content-disposition.svg +[downloads-url]: https://npmjs.org/package/content-disposition +[github-actions-ci-image]: https://img.shields.io/github/workflow/status/jshttp/content-disposition/ci/master?label=ci +[github-actions-ci-url]: https://github.com/jshttp/content-disposition?query=workflow%3Aci diff --git a/node_modules/content-disposition/index.js b/node_modules/content-disposition/index.js new file mode 100644 index 0000000..44f1d51 --- /dev/null +++ b/node_modules/content-disposition/index.js @@ -0,0 +1,459 @@ +/*! + * content-disposition + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = contentDisposition +module.exports.parse = parse + +/** + * Module dependencies. + * @private + */ + +var basename = require('path').basename +var Buffer = require('safe-buffer').Buffer + +/** + * RegExp to match non attr-char, *after* encodeURIComponent (i.e. not including "%") + * @private + */ + +var ENCODE_URL_ATTR_CHAR_REGEXP = /[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g // eslint-disable-line no-control-regex + +/** + * RegExp to match percent encoding escape. + * @private + */ + +var HEX_ESCAPE_REGEXP = /%[0-9A-Fa-f]{2}/ +var HEX_ESCAPE_REPLACE_REGEXP = /%([0-9A-Fa-f]{2})/g + +/** + * RegExp to match non-latin1 characters. + * @private + */ + +var NON_LATIN1_REGEXP = /[^\x20-\x7e\xa0-\xff]/g + +/** + * RegExp to match quoted-pair in RFC 2616 + * + * quoted-pair = "\" CHAR + * CHAR = + * @private + */ + +var QESC_REGEXP = /\\([\u0000-\u007f])/g // eslint-disable-line no-control-regex + +/** + * RegExp to match chars that must be quoted-pair in RFC 2616 + * @private + */ + +var QUOTE_REGEXP = /([\\"])/g + +/** + * RegExp for various RFC 2616 grammar + * + * parameter = token "=" ( token | quoted-string ) + * token = 1* + * separators = "(" | ")" | "<" | ">" | "@" + * | "," | ";" | ":" | "\" | <"> + * | "/" | "[" | "]" | "?" | "=" + * | "{" | "}" | SP | HT + * quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) + * qdtext = > + * quoted-pair = "\" CHAR + * CHAR = + * TEXT = + * LWS = [CRLF] 1*( SP | HT ) + * CRLF = CR LF + * CR = + * LF = + * SP = + * HT = + * CTL = + * OCTET = + * @private + */ + +var PARAM_REGEXP = /;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g // eslint-disable-line no-control-regex +var TEXT_REGEXP = /^[\x20-\x7e\x80-\xff]+$/ +var TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/ + +/** + * RegExp for various RFC 5987 grammar + * + * ext-value = charset "'" [ language ] "'" value-chars + * charset = "UTF-8" / "ISO-8859-1" / mime-charset + * mime-charset = 1*mime-charsetc + * mime-charsetc = ALPHA / DIGIT + * / "!" / "#" / "$" / "%" / "&" + * / "+" / "-" / "^" / "_" / "`" + * / "{" / "}" / "~" + * language = ( 2*3ALPHA [ extlang ] ) + * / 4ALPHA + * / 5*8ALPHA + * extlang = *3( "-" 3ALPHA ) + * value-chars = *( pct-encoded / attr-char ) + * pct-encoded = "%" HEXDIG HEXDIG + * attr-char = ALPHA / DIGIT + * / "!" / "#" / "$" / "&" / "+" / "-" / "." + * / "^" / "_" / "`" / "|" / "~" + * @private + */ + +var EXT_VALUE_REGEXP = /^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/ + +/** + * RegExp for various RFC 6266 grammar + * + * disposition-type = "inline" | "attachment" | disp-ext-type + * disp-ext-type = token + * disposition-parm = filename-parm | disp-ext-parm + * filename-parm = "filename" "=" value + * | "filename*" "=" ext-value + * disp-ext-parm = token "=" value + * | ext-token "=" ext-value + * ext-token = + * @private + */ + +var DISPOSITION_TYPE_REGEXP = /^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/ // eslint-disable-line no-control-regex + +/** + * Create an attachment Content-Disposition header. + * + * @param {string} [filename] + * @param {object} [options] + * @param {string} [options.type=attachment] + * @param {string|boolean} [options.fallback=true] + * @return {string} + * @public + */ + +function contentDisposition (filename, options) { + var opts = options || {} + + // get type + var type = opts.type || 'attachment' + + // get parameters + var params = createparams(filename, opts.fallback) + + // format into string + return format(new ContentDisposition(type, params)) +} + +/** + * Create parameters object from filename and fallback. + * + * @param {string} [filename] + * @param {string|boolean} [fallback=true] + * @return {object} + * @private + */ + +function createparams (filename, fallback) { + if (filename === undefined) { + return + } + + var params = {} + + if (typeof filename !== 'string') { + throw new TypeError('filename must be a string') + } + + // fallback defaults to true + if (fallback === undefined) { + fallback = true + } + + if (typeof fallback !== 'string' && typeof fallback !== 'boolean') { + throw new TypeError('fallback must be a string or boolean') + } + + if (typeof fallback === 'string' && NON_LATIN1_REGEXP.test(fallback)) { + throw new TypeError('fallback must be ISO-8859-1 string') + } + + // restrict to file base name + var name = basename(filename) + + // determine if name is suitable for quoted string + var isQuotedString = TEXT_REGEXP.test(name) + + // generate fallback name + var fallbackName = typeof fallback !== 'string' + ? fallback && getlatin1(name) + : basename(fallback) + var hasFallback = typeof fallbackName === 'string' && fallbackName !== name + + // set extended filename parameter + if (hasFallback || !isQuotedString || HEX_ESCAPE_REGEXP.test(name)) { + params['filename*'] = name + } + + // set filename parameter + if (isQuotedString || hasFallback) { + params.filename = hasFallback + ? fallbackName + : name + } + + return params +} + +/** + * Format object to Content-Disposition header. + * + * @param {object} obj + * @param {string} obj.type + * @param {object} [obj.parameters] + * @return {string} + * @private + */ + +function format (obj) { + var parameters = obj.parameters + var type = obj.type + + if (!type || typeof type !== 'string' || !TOKEN_REGEXP.test(type)) { + throw new TypeError('invalid type') + } + + // start with normalized type + var string = String(type).toLowerCase() + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + var val = param.slice(-1) === '*' + ? ustring(parameters[param]) + : qstring(parameters[param]) + + string += '; ' + param + '=' + val + } + } + + return string +} + +/** + * Decode a RFC 5987 field value (gracefully). + * + * @param {string} str + * @return {string} + * @private + */ + +function decodefield (str) { + var match = EXT_VALUE_REGEXP.exec(str) + + if (!match) { + throw new TypeError('invalid extended field value') + } + + var charset = match[1].toLowerCase() + var encoded = match[2] + var value + + // to binary string + var binary = encoded.replace(HEX_ESCAPE_REPLACE_REGEXP, pdecode) + + switch (charset) { + case 'iso-8859-1': + value = getlatin1(binary) + break + case 'utf-8': + case 'utf8': + value = Buffer.from(binary, 'binary').toString('utf8') + break + default: + throw new TypeError('unsupported charset in extended field') + } + + return value +} + +/** + * Get ISO-8859-1 version of string. + * + * @param {string} val + * @return {string} + * @private + */ + +function getlatin1 (val) { + // simple Unicode -> ISO-8859-1 transformation + return String(val).replace(NON_LATIN1_REGEXP, '?') +} + +/** + * Parse Content-Disposition header string. + * + * @param {string} string + * @return {object} + * @public + */ + +function parse (string) { + if (!string || typeof string !== 'string') { + throw new TypeError('argument string is required') + } + + var match = DISPOSITION_TYPE_REGEXP.exec(string) + + if (!match) { + throw new TypeError('invalid type format') + } + + // normalize type + var index = match[0].length + var type = match[1].toLowerCase() + + var key + var names = [] + var params = {} + var value + + // calculate index to start at + index = PARAM_REGEXP.lastIndex = match[0].slice(-1) === ';' + ? index - 1 + : index + + // match parameters + while ((match = PARAM_REGEXP.exec(string))) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (names.indexOf(key) !== -1) { + throw new TypeError('invalid duplicate parameter') + } + + names.push(key) + + if (key.indexOf('*') + 1 === key.length) { + // decode extended value + key = key.slice(0, -1) + value = decodefield(value) + + // overwrite existing value + params[key] = value + continue + } + + if (typeof params[key] === 'string') { + continue + } + + if (value[0] === '"') { + // remove quotes and escapes + value = value + .slice(1, -1) + .replace(QESC_REGEXP, '$1') + } + + params[key] = value + } + + if (index !== -1 && index !== string.length) { + throw new TypeError('invalid parameter format') + } + + return new ContentDisposition(type, params) +} + +/** + * Percent decode a single character. + * + * @param {string} str + * @param {string} hex + * @return {string} + * @private + */ + +function pdecode (str, hex) { + return String.fromCharCode(parseInt(hex, 16)) +} + +/** + * Percent encode a single character. + * + * @param {string} char + * @return {string} + * @private + */ + +function pencode (char) { + return '%' + String(char) + .charCodeAt(0) + .toString(16) + .toUpperCase() +} + +/** + * Quote a string for HTTP. + * + * @param {string} val + * @return {string} + * @private + */ + +function qstring (val) { + var str = String(val) + + return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"' +} + +/** + * Encode a Unicode string for HTTP (RFC 5987). + * + * @param {string} val + * @return {string} + * @private + */ + +function ustring (val) { + var str = String(val) + + // percent encode as UTF-8 + var encoded = encodeURIComponent(str) + .replace(ENCODE_URL_ATTR_CHAR_REGEXP, pencode) + + return 'UTF-8\'\'' + encoded +} + +/** + * Class for parsed Content-Disposition header for v8 optimization + * + * @public + * @param {string} type + * @param {object} parameters + * @constructor + */ + +function ContentDisposition (type, parameters) { + this.type = type + this.parameters = parameters +} diff --git a/node_modules/content-disposition/package.json b/node_modules/content-disposition/package.json new file mode 100644 index 0000000..5cea50b --- /dev/null +++ b/node_modules/content-disposition/package.json @@ -0,0 +1,44 @@ +{ + "name": "content-disposition", + "description": "Create and parse Content-Disposition header", + "version": "1.0.0", + "author": "Douglas Christopher Wilson ", + "license": "MIT", + "keywords": [ + "content-disposition", + "http", + "rfc6266", + "res" + ], + "repository": "jshttp/content-disposition", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "devDependencies": { + "deep-equal": "1.0.1", + "eslint": "7.32.0", + "eslint-config-standard": "13.0.1", + "eslint-plugin-import": "2.25.3", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "5.2.0", + "eslint-plugin-standard": "4.1.0", + "mocha": "^9.2.2", + "nyc": "15.1.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + } +} diff --git a/node_modules/content-type/HISTORY.md b/node_modules/content-type/HISTORY.md new file mode 100644 index 0000000..4583671 --- /dev/null +++ b/node_modules/content-type/HISTORY.md @@ -0,0 +1,29 @@ +1.0.5 / 2023-01-29 +================== + + * perf: skip value escaping when unnecessary + +1.0.4 / 2017-09-11 +================== + + * perf: skip parameter parsing when no parameters + +1.0.3 / 2017-09-10 +================== + + * perf: remove argument reassignment + +1.0.2 / 2016-05-09 +================== + + * perf: enable strict mode + +1.0.1 / 2015-02-13 +================== + + * Improve missing `Content-Type` header error message + +1.0.0 / 2015-02-01 +================== + + * Initial implementation, derived from `media-typer@0.3.0` diff --git a/node_modules/content-type/LICENSE b/node_modules/content-type/LICENSE new file mode 100644 index 0000000..34b1a2d --- /dev/null +++ b/node_modules/content-type/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/content-type/README.md b/node_modules/content-type/README.md new file mode 100644 index 0000000..c1a922a --- /dev/null +++ b/node_modules/content-type/README.md @@ -0,0 +1,94 @@ +# content-type + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][ci-image]][ci-url] +[![Coverage Status][coveralls-image]][coveralls-url] + +Create and parse HTTP Content-Type header according to RFC 7231 + +## Installation + +```sh +$ npm install content-type +``` + +## API + +```js +var contentType = require('content-type') +``` + +### contentType.parse(string) + +```js +var obj = contentType.parse('image/svg+xml; charset=utf-8') +``` + +Parse a `Content-Type` header. This will return an object with the following +properties (examples are shown for the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The media type (the type and subtype, always lower case). + Example: `'image/svg+xml'` + + - `parameters`: An object of the parameters in the media type (name of parameter + always lower case). Example: `{charset: 'utf-8'}` + +Throws a `TypeError` if the string is missing or invalid. + +### contentType.parse(req) + +```js +var obj = contentType.parse(req) +``` + +Parse the `Content-Type` header from the given `req`. Short-cut for +`contentType.parse(req.headers['content-type'])`. + +Throws a `TypeError` if the `Content-Type` header is missing or invalid. + +### contentType.parse(res) + +```js +var obj = contentType.parse(res) +``` + +Parse the `Content-Type` header set on the given `res`. Short-cut for +`contentType.parse(res.getHeader('content-type'))`. + +Throws a `TypeError` if the `Content-Type` header is missing or invalid. + +### contentType.format(obj) + +```js +var str = contentType.format({ + type: 'image/svg+xml', + parameters: { charset: 'utf-8' } +}) +``` + +Format an object into a `Content-Type` header. This will return a string of the +content type for the given object with the following properties (examples are +shown that produce the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The media type (will be lower-cased). Example: `'image/svg+xml'` + + - `parameters`: An object of the parameters in the media type (name of the + parameter will be lower-cased). Example: `{charset: 'utf-8'}` + +Throws a `TypeError` if the object contains an invalid type or parameter names. + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/jshttp/content-type/master?label=ci +[ci-url]: https://github.com/jshttp/content-type/actions/workflows/ci.yml +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/content-type/master +[coveralls-url]: https://coveralls.io/r/jshttp/content-type?branch=master +[node-image]: https://badgen.net/npm/node/content-type +[node-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/content-type +[npm-url]: https://npmjs.org/package/content-type +[npm-version-image]: https://badgen.net/npm/v/content-type diff --git a/node_modules/content-type/index.js b/node_modules/content-type/index.js new file mode 100644 index 0000000..41840e7 --- /dev/null +++ b/node_modules/content-type/index.js @@ -0,0 +1,225 @@ +/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * RegExp to match *( ";" parameter ) in RFC 7231 sec 3.1.1.1 + * + * parameter = token "=" ( token / quoted-string ) + * token = 1*tchar + * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" + * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" + * / DIGIT / ALPHA + * ; any VCHAR, except delimiters + * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE + * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text + * obs-text = %x80-FF + * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text ) + */ +var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g // eslint-disable-line no-control-regex +var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/ // eslint-disable-line no-control-regex +var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/ + +/** + * RegExp to match quoted-pair in RFC 7230 sec 3.2.6 + * + * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text ) + * obs-text = %x80-FF + */ +var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g // eslint-disable-line no-control-regex + +/** + * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6 + */ +var QUOTE_REGEXP = /([\\"])/g + +/** + * RegExp to match type in RFC 7231 sec 3.1.1.1 + * + * media-type = type "/" subtype + * type = token + * subtype = token + */ +var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/ + +/** + * Module exports. + * @public + */ + +exports.format = format +exports.parse = parse + +/** + * Format object to media type. + * + * @param {object} obj + * @return {string} + * @public + */ + +function format (obj) { + if (!obj || typeof obj !== 'object') { + throw new TypeError('argument obj is required') + } + + var parameters = obj.parameters + var type = obj.type + + if (!type || !TYPE_REGEXP.test(type)) { + throw new TypeError('invalid type') + } + + var string = type + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError('invalid parameter name') + } + + string += '; ' + param + '=' + qstring(parameters[param]) + } + } + + return string +} + +/** + * Parse media type to object. + * + * @param {string|object} string + * @return {Object} + * @public + */ + +function parse (string) { + if (!string) { + throw new TypeError('argument string is required') + } + + // support req/res-like objects as argument + var header = typeof string === 'object' + ? getcontenttype(string) + : string + + if (typeof header !== 'string') { + throw new TypeError('argument string is required to be a string') + } + + var index = header.indexOf(';') + var type = index !== -1 + ? header.slice(0, index).trim() + : header.trim() + + if (!TYPE_REGEXP.test(type)) { + throw new TypeError('invalid media type') + } + + var obj = new ContentType(type.toLowerCase()) + + // parse parameters + if (index !== -1) { + var key + var match + var value + + PARAM_REGEXP.lastIndex = index + + while ((match = PARAM_REGEXP.exec(header))) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (value.charCodeAt(0) === 0x22 /* " */) { + // remove quotes + value = value.slice(1, -1) + + // remove escapes + if (value.indexOf('\\') !== -1) { + value = value.replace(QESC_REGEXP, '$1') + } + } + + obj.parameters[key] = value + } + + if (index !== header.length) { + throw new TypeError('invalid parameter format') + } + } + + return obj +} + +/** + * Get content-type from req/res objects. + * + * @param {object} + * @return {Object} + * @private + */ + +function getcontenttype (obj) { + var header + + if (typeof obj.getHeader === 'function') { + // res-like + header = obj.getHeader('content-type') + } else if (typeof obj.headers === 'object') { + // req-like + header = obj.headers && obj.headers['content-type'] + } + + if (typeof header !== 'string') { + throw new TypeError('content-type header is missing from object') + } + + return header +} + +/** + * Quote a string if necessary. + * + * @param {string} val + * @return {string} + * @private + */ + +function qstring (val) { + var str = String(val) + + // no need to quote tokens + if (TOKEN_REGEXP.test(str)) { + return str + } + + if (str.length > 0 && !TEXT_REGEXP.test(str)) { + throw new TypeError('invalid parameter value') + } + + return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"' +} + +/** + * Class to represent a content type. + * @private + */ +function ContentType (type) { + this.parameters = Object.create(null) + this.type = type +} diff --git a/node_modules/content-type/package.json b/node_modules/content-type/package.json new file mode 100644 index 0000000..9db19f6 --- /dev/null +++ b/node_modules/content-type/package.json @@ -0,0 +1,42 @@ +{ + "name": "content-type", + "description": "Create and parse HTTP Content-Type header", + "version": "1.0.5", + "author": "Douglas Christopher Wilson ", + "license": "MIT", + "keywords": [ + "content-type", + "http", + "req", + "res", + "rfc7231" + ], + "repository": "jshttp/content-type", + "devDependencies": { + "deep-equal": "1.0.1", + "eslint": "8.32.0", + "eslint-config-standard": "15.0.1", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-standard": "4.1.0", + "mocha": "10.2.0", + "nyc": "15.1.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "version": "node scripts/version-history.js && git add HISTORY.md" + } +} diff --git a/node_modules/cookie-signature/History.md b/node_modules/cookie-signature/History.md new file mode 100644 index 0000000..479211a --- /dev/null +++ b/node_modules/cookie-signature/History.md @@ -0,0 +1,70 @@ +1.2.2 / 2024-10-29 +================== + +* various metadata/documentation tweaks (incl. #51) + + +1.2.1 / 2023-02-27 +================== + +* update annotations for allowed secret key types (#44, thanks @jyasskin!) + + +1.2.0 / 2022-02-17 +================== + +* allow buffer and other node-supported types as key (#33) +* be pickier about extra content after signed portion (#40) +* some internal code clarity/cleanup improvements (#26) + + +1.1.0 / 2018-01-18 +================== + +* switch to built-in `crypto.timingSafeEqual` for validation instead of previous double-hash method (thank you @jodevsa!) + + +1.0.7 / 2023-04-12 +================== + +Later release for older node.js versions. See the [v1.0.x branch notes](https://github.com/tj/node-cookie-signature/blob/v1.0.x/History.md#107--2023-04-12). + + +1.0.6 / 2015-02-03 +================== + +* use `npm test` instead of `make test` to run tests +* clearer assertion messages when checking input + + +1.0.5 / 2014-09-05 +================== + +* add license to package.json + +1.0.4 / 2014-06-25 +================== + + * corrected avoidance of timing attacks (thanks @tenbits!) + +1.0.3 / 2014-01-28 +================== + + * [incorrect] fix for timing attacks + +1.0.2 / 2014-01-28 +================== + + * fix missing repository warning + * fix typo in test + +1.0.1 / 2013-04-15 +================== + + * Revert "Changed underlying HMAC algo. to sha512." + * Revert "Fix for timing attacks on MAC verification." + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/node_modules/cookie-signature/LICENSE b/node_modules/cookie-signature/LICENSE new file mode 100644 index 0000000..a2671bf --- /dev/null +++ b/node_modules/cookie-signature/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2012–2024 LearnBoost and other contributors; + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/cookie-signature/Readme.md b/node_modules/cookie-signature/Readme.md new file mode 100644 index 0000000..369af15 --- /dev/null +++ b/node_modules/cookie-signature/Readme.md @@ -0,0 +1,23 @@ + +# cookie-signature + + Sign and unsign cookies. + +## Example + +```js +var cookie = require('cookie-signature'); + +var val = cookie.sign('hello', 'tobiiscool'); +val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI'); + +var val = cookie.sign('hello', 'tobiiscool'); +cookie.unsign(val, 'tobiiscool').should.equal('hello'); +cookie.unsign(val, 'luna').should.be.false; +``` + +## License + +MIT. + +See LICENSE file for details. diff --git a/node_modules/cookie-signature/index.js b/node_modules/cookie-signature/index.js new file mode 100644 index 0000000..3fbbddb --- /dev/null +++ b/node_modules/cookie-signature/index.js @@ -0,0 +1,47 @@ +/** + * Module dependencies. + */ + +var crypto = require('crypto'); + +/** + * Sign the given `val` with `secret`. + * + * @param {String} val + * @param {String|NodeJS.ArrayBufferView|crypto.KeyObject} secret + * @return {String} + * @api private + */ + +exports.sign = function(val, secret){ + if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string."); + if (null == secret) throw new TypeError("Secret key must be provided."); + return val + '.' + crypto + .createHmac('sha256', secret) + .update(val) + .digest('base64') + .replace(/\=+$/, ''); +}; + +/** + * Unsign and decode the given `input` with `secret`, + * returning `false` if the signature is invalid. + * + * @param {String} input + * @param {String|NodeJS.ArrayBufferView|crypto.KeyObject} secret + * @return {String|Boolean} + * @api private + */ + +exports.unsign = function(input, secret){ + if ('string' != typeof input) throw new TypeError("Signed cookie string must be provided."); + if (null == secret) throw new TypeError("Secret key must be provided."); + var tentativeValue = input.slice(0, input.lastIndexOf('.')), + expectedInput = exports.sign(tentativeValue, secret), + expectedBuffer = Buffer.from(expectedInput), + inputBuffer = Buffer.from(input); + return ( + expectedBuffer.length === inputBuffer.length && + crypto.timingSafeEqual(expectedBuffer, inputBuffer) + ) ? tentativeValue : false; +}; diff --git a/node_modules/cookie-signature/package.json b/node_modules/cookie-signature/package.json new file mode 100644 index 0000000..a160040 --- /dev/null +++ b/node_modules/cookie-signature/package.json @@ -0,0 +1,24 @@ +{ + "name": "cookie-signature", + "version": "1.2.2", + "main": "index.js", + "description": "Sign and unsign cookies", + "keywords": ["cookie", "sign", "unsign"], + "author": "TJ Holowaychuk ", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/visionmedia/node-cookie-signature.git" + }, + "dependencies": {}, + "engines": { + "node": ">=6.6.0" + }, + "devDependencies": { + "mocha": "*", + "should": "*" + }, + "scripts": { + "test": "mocha --require should --reporter spec" + } +} diff --git a/node_modules/cookie/LICENSE b/node_modules/cookie/LICENSE new file mode 100644 index 0000000..058b6b4 --- /dev/null +++ b/node_modules/cookie/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/node_modules/cookie/README.md b/node_modules/cookie/README.md new file mode 100644 index 0000000..71fdac1 --- /dev/null +++ b/node_modules/cookie/README.md @@ -0,0 +1,317 @@ +# cookie + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][ci-image]][ci-url] +[![Coverage Status][coveralls-image]][coveralls-url] + +Basic HTTP cookie parser and serializer for HTTP servers. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install cookie +``` + +## API + +```js +var cookie = require('cookie'); +``` + +### cookie.parse(str, options) + +Parse an HTTP `Cookie` header string and returning an object of all cookie name-value pairs. +The `str` argument is the string representing a `Cookie` header value and `options` is an +optional object containing additional parsing options. + +```js +var cookies = cookie.parse('foo=bar; equation=E%3Dmc%5E2'); +// { foo: 'bar', equation: 'E=mc^2' } +``` + +#### Options + +`cookie.parse` accepts these properties in the options object. + +##### decode + +Specifies a function that will be used to decode a cookie's value. Since the value of a cookie +has a limited character set (and must be a simple string), this function can be used to decode +a previously-encoded cookie value into a JavaScript string or other object. + +The default function is the global `decodeURIComponent`, which will decode any URL-encoded +sequences into their byte representations. + +**note** if an error is thrown from this function, the original, non-decoded cookie value will +be returned as the cookie's value. + +### cookie.serialize(name, value, options) + +Serialize a cookie name-value pair into a `Set-Cookie` header string. The `name` argument is the +name for the cookie, the `value` argument is the value to set the cookie to, and the `options` +argument is an optional object containing additional serialization options. + +```js +var setCookie = cookie.serialize('foo', 'bar'); +// foo=bar +``` + +#### Options + +`cookie.serialize` accepts these properties in the options object. + +##### domain + +Specifies the value for the [`Domain` `Set-Cookie` attribute][rfc-6265-5.2.3]. By default, no +domain is set, and most clients will consider the cookie to apply to only the current domain. + +##### encode + +Specifies a function that will be used to encode a cookie's value. Since value of a cookie +has a limited character set (and must be a simple string), this function can be used to encode +a value into a string suited for a cookie's value. + +The default function is the global `encodeURIComponent`, which will encode a JavaScript string +into UTF-8 byte sequences and then URL-encode any that fall outside of the cookie range. + +##### expires + +Specifies the `Date` object to be the value for the [`Expires` `Set-Cookie` attribute][rfc-6265-5.2.1]. +By default, no expiration is set, and most clients will consider this a "non-persistent cookie" and +will delete it on a condition like exiting a web browser application. + +**note** the [cookie storage model specification][rfc-6265-5.3] states that if both `expires` and +`maxAge` are set, then `maxAge` takes precedence, but it is possible not all clients by obey this, +so if both are set, they should point to the same date and time. + +##### httpOnly + +Specifies the `boolean` value for the [`HttpOnly` `Set-Cookie` attribute][rfc-6265-5.2.6]. When truthy, +the `HttpOnly` attribute is set, otherwise it is not. By default, the `HttpOnly` attribute is not set. + +**note** be careful when setting this to `true`, as compliant clients will not allow client-side +JavaScript to see the cookie in `document.cookie`. + +##### maxAge + +Specifies the `number` (in seconds) to be the value for the [`Max-Age` `Set-Cookie` attribute][rfc-6265-5.2.2]. +The given number will be converted to an integer by rounding down. By default, no maximum age is set. + +**note** the [cookie storage model specification][rfc-6265-5.3] states that if both `expires` and +`maxAge` are set, then `maxAge` takes precedence, but it is possible not all clients by obey this, +so if both are set, they should point to the same date and time. + +##### partitioned + +Specifies the `boolean` value for the [`Partitioned` `Set-Cookie`](rfc-cutler-httpbis-partitioned-cookies) +attribute. When truthy, the `Partitioned` attribute is set, otherwise it is not. By default, the +`Partitioned` attribute is not set. + +**note** This is an attribute that has not yet been fully standardized, and may change in the future. +This also means many clients may ignore this attribute until they understand it. + +More information about can be found in [the proposal](https://github.com/privacycg/CHIPS). + +##### path + +Specifies the value for the [`Path` `Set-Cookie` attribute][rfc-6265-5.2.4]. By default, the path +is considered the ["default path"][rfc-6265-5.1.4]. + +##### priority + +Specifies the `string` to be the value for the [`Priority` `Set-Cookie` attribute][rfc-west-cookie-priority-00-4.1]. + + - `'low'` will set the `Priority` attribute to `Low`. + - `'medium'` will set the `Priority` attribute to `Medium`, the default priority when not set. + - `'high'` will set the `Priority` attribute to `High`. + +More information about the different priority levels can be found in +[the specification][rfc-west-cookie-priority-00-4.1]. + +**note** This is an attribute that has not yet been fully standardized, and may change in the future. +This also means many clients may ignore this attribute until they understand it. + +##### sameSite + +Specifies the `boolean` or `string` to be the value for the [`SameSite` `Set-Cookie` attribute][rfc-6265bis-09-5.4.7]. + + - `true` will set the `SameSite` attribute to `Strict` for strict same site enforcement. + - `false` will not set the `SameSite` attribute. + - `'lax'` will set the `SameSite` attribute to `Lax` for lax same site enforcement. + - `'none'` will set the `SameSite` attribute to `None` for an explicit cross-site cookie. + - `'strict'` will set the `SameSite` attribute to `Strict` for strict same site enforcement. + +More information about the different enforcement levels can be found in +[the specification][rfc-6265bis-09-5.4.7]. + +**note** This is an attribute that has not yet been fully standardized, and may change in the future. +This also means many clients may ignore this attribute until they understand it. + +##### secure + +Specifies the `boolean` value for the [`Secure` `Set-Cookie` attribute][rfc-6265-5.2.5]. When truthy, +the `Secure` attribute is set, otherwise it is not. By default, the `Secure` attribute is not set. + +**note** be careful when setting this to `true`, as compliant clients will not send the cookie back to +the server in the future if the browser does not have an HTTPS connection. + +## Example + +The following example uses this module in conjunction with the Node.js core HTTP server +to prompt a user for their name and display it back on future visits. + +```js +var cookie = require('cookie'); +var escapeHtml = require('escape-html'); +var http = require('http'); +var url = require('url'); + +function onRequest(req, res) { + // Parse the query string + var query = url.parse(req.url, true, true).query; + + if (query && query.name) { + // Set a new cookie with the name + res.setHeader('Set-Cookie', cookie.serialize('name', String(query.name), { + httpOnly: true, + maxAge: 60 * 60 * 24 * 7 // 1 week + })); + + // Redirect back after setting cookie + res.statusCode = 302; + res.setHeader('Location', req.headers.referer || '/'); + res.end(); + return; + } + + // Parse the cookies on the request + var cookies = cookie.parse(req.headers.cookie || ''); + + // Get the visitor name set in the cookie + var name = cookies.name; + + res.setHeader('Content-Type', 'text/html; charset=UTF-8'); + + if (name) { + res.write('

    Welcome back, ' + escapeHtml(name) + '!

    '); + } else { + res.write('

    Hello, new visitor!

    '); + } + + res.write('
    '); + res.write(' '); + res.end('
    '); +} + +http.createServer(onRequest).listen(3000); +``` + +## Testing + +```sh +$ npm test +``` + +## Benchmark + +``` +$ npm run bench + +> cookie@0.5.0 bench +> node benchmark/index.js + + node@18.18.2 + acorn@8.10.0 + ada@2.6.0 + ares@1.19.1 + brotli@1.0.9 + cldr@43.1 + icu@73.2 + llhttp@6.0.11 + modules@108 + napi@9 + nghttp2@1.57.0 + nghttp3@0.7.0 + ngtcp2@0.8.1 + openssl@3.0.10+quic + simdutf@3.2.14 + tz@2023c + undici@5.26.3 + unicode@15.0 + uv@1.44.2 + uvwasi@0.0.18 + v8@10.2.154.26-node.26 + zlib@1.2.13.1-motley + +> node benchmark/parse-top.js + + cookie.parse - top sites + + 14 tests completed. + + parse accounts.google.com x 2,588,913 ops/sec ±0.74% (186 runs sampled) + parse apple.com x 2,370,002 ops/sec ±0.69% (186 runs sampled) + parse cloudflare.com x 2,213,102 ops/sec ±0.88% (188 runs sampled) + parse docs.google.com x 2,194,157 ops/sec ±1.03% (184 runs sampled) + parse drive.google.com x 2,265,084 ops/sec ±0.79% (187 runs sampled) + parse en.wikipedia.org x 457,099 ops/sec ±0.81% (186 runs sampled) + parse linkedin.com x 504,407 ops/sec ±0.89% (186 runs sampled) + parse maps.google.com x 1,230,959 ops/sec ±0.98% (186 runs sampled) + parse microsoft.com x 926,294 ops/sec ±0.88% (184 runs sampled) + parse play.google.com x 2,311,338 ops/sec ±0.83% (185 runs sampled) + parse support.google.com x 1,508,850 ops/sec ±0.86% (186 runs sampled) + parse www.google.com x 1,022,582 ops/sec ±1.32% (182 runs sampled) + parse youtu.be x 332,136 ops/sec ±1.02% (185 runs sampled) + parse youtube.com x 323,833 ops/sec ±0.77% (183 runs sampled) + +> node benchmark/parse.js + + cookie.parse - generic + + 6 tests completed. + + simple x 3,214,032 ops/sec ±1.61% (183 runs sampled) + decode x 587,237 ops/sec ±1.16% (187 runs sampled) + unquote x 2,954,618 ops/sec ±1.35% (183 runs sampled) + duplicates x 857,008 ops/sec ±0.89% (187 runs sampled) + 10 cookies x 292,133 ops/sec ±0.89% (187 runs sampled) + 100 cookies x 22,610 ops/sec ±0.68% (187 runs sampled) +``` + +## References + +- [RFC 6265: HTTP State Management Mechanism][rfc-6265] +- [Same-site Cookies][rfc-6265bis-09-5.4.7] + +[rfc-cutler-httpbis-partitioned-cookies]: https://tools.ietf.org/html/draft-cutler-httpbis-partitioned-cookies/ +[rfc-west-cookie-priority-00-4.1]: https://tools.ietf.org/html/draft-west-cookie-priority-00#section-4.1 +[rfc-6265bis-09-5.4.7]: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-09#section-5.4.7 +[rfc-6265]: https://tools.ietf.org/html/rfc6265 +[rfc-6265-5.1.4]: https://tools.ietf.org/html/rfc6265#section-5.1.4 +[rfc-6265-5.2.1]: https://tools.ietf.org/html/rfc6265#section-5.2.1 +[rfc-6265-5.2.2]: https://tools.ietf.org/html/rfc6265#section-5.2.2 +[rfc-6265-5.2.3]: https://tools.ietf.org/html/rfc6265#section-5.2.3 +[rfc-6265-5.2.4]: https://tools.ietf.org/html/rfc6265#section-5.2.4 +[rfc-6265-5.2.5]: https://tools.ietf.org/html/rfc6265#section-5.2.5 +[rfc-6265-5.2.6]: https://tools.ietf.org/html/rfc6265#section-5.2.6 +[rfc-6265-5.3]: https://tools.ietf.org/html/rfc6265#section-5.3 + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/jshttp/cookie/master?label=ci +[ci-url]: https://github.com/jshttp/cookie/actions/workflows/ci.yml +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/cookie/master +[coveralls-url]: https://coveralls.io/r/jshttp/cookie?branch=master +[node-image]: https://badgen.net/npm/node/cookie +[node-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/cookie +[npm-url]: https://npmjs.org/package/cookie +[npm-version-image]: https://badgen.net/npm/v/cookie diff --git a/node_modules/cookie/SECURITY.md b/node_modules/cookie/SECURITY.md new file mode 100644 index 0000000..fd4a6c5 --- /dev/null +++ b/node_modules/cookie/SECURITY.md @@ -0,0 +1,25 @@ +# Security Policies and Procedures + +## Reporting a Bug + +The `cookie` team and community take all security bugs seriously. Thank +you for improving the security of the project. We appreciate your efforts and +responsible disclosure and will make every effort to acknowledge your +contributions. + +Report security bugs by emailing the current owner(s) of `cookie`. This +information can be found in the npm registry using the command +`npm owner ls cookie`. +If unsure or unable to get the information from the above, open an issue +in the [project issue tracker](https://github.com/jshttp/cookie/issues) +asking for the current contact information. + +To ensure the timely response to your report, please ensure that the entirety +of the report is contained within the email body and not solely behind a web +link or an attachment. + +At least one owner will acknowledge your email within 48 hours, and will send a +more detailed response within 48 hours indicating the next steps in handling +your report. After the initial reply to your report, the owners will +endeavor to keep you informed of the progress towards a fix and full +announcement, and may ask for additional information or guidance. diff --git a/node_modules/cookie/index.js b/node_modules/cookie/index.js new file mode 100644 index 0000000..acd5acd --- /dev/null +++ b/node_modules/cookie/index.js @@ -0,0 +1,335 @@ +/*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +exports.parse = parse; +exports.serialize = serialize; + +/** + * Module variables. + * @private + */ + +var __toString = Object.prototype.toString +var __hasOwnProperty = Object.prototype.hasOwnProperty + +/** + * RegExp to match cookie-name in RFC 6265 sec 4.1.1 + * This refers out to the obsoleted definition of token in RFC 2616 sec 2.2 + * which has been replaced by the token definition in RFC 7230 appendix B. + * + * cookie-name = token + * token = 1*tchar + * tchar = "!" / "#" / "$" / "%" / "&" / "'" / + * "*" / "+" / "-" / "." / "^" / "_" / + * "`" / "|" / "~" / DIGIT / ALPHA + */ + +var cookieNameRegExp = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/; + +/** + * RegExp to match cookie-value in RFC 6265 sec 4.1.1 + * + * cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE ) + * cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E + * ; US-ASCII characters excluding CTLs, + * ; whitespace DQUOTE, comma, semicolon, + * ; and backslash + */ + +var cookieValueRegExp = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/; + +/** + * RegExp to match domain-value in RFC 6265 sec 4.1.1 + * + * domain-value = + * ; defined in [RFC1034], Section 3.5, as + * ; enhanced by [RFC1123], Section 2.1 + * =

    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