From e0125a2d2675be493b2d078265fdbb21dc812eda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 18:19:31 +0000 Subject: [PATCH 1/2] build(deps-dev): bump eslint-import-resolver-typescript in the npm group Bumps the npm group with 1 update: [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript). Updates `eslint-import-resolver-typescript` from 3.8.3 to 4.1.1 - [Release notes](https://github.com/import-js/eslint-import-resolver-typescript/releases) - [Changelog](https://github.com/import-js/eslint-import-resolver-typescript/blob/master/CHANGELOG.md) - [Commits](https://github.com/import-js/eslint-import-resolver-typescript/compare/v3.8.3...v4.1.1) --- updated-dependencies: - dependency-name: eslint-import-resolver-typescript dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm ... Signed-off-by: dependabot[bot] --- package-lock.json | 322 ++++++++++++++++++++++++++++++++++++++-------- package.json | 2 +- 2 files changed, 269 insertions(+), 55 deletions(-) diff --git a/package-lock.json b/package-lock.json index ce9f90131f..71adc441d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,7 +61,7 @@ "@typescript-eslint/parser": "^8.26.1", "ava": "^5.3.1", "eslint": "^8.57.1", - "eslint-import-resolver-typescript": "^3.8.3", + "eslint-import-resolver-typescript": "^4.1.1", "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", @@ -770,6 +770,58 @@ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "license": "0BSD" }, + "node_modules/@emnapi/core": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz", + "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==", + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/core/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "optional": true + }, + "node_modules/@emnapi/runtime": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "optional": true + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", + "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "optional": true + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -1039,6 +1091,18 @@ "node": ">=18" } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.7.tgz", + "integrity": "sha512-5yximcFK5FNompXfJFoWanu5l8v1hNGqNHh9du1xETp9HWk/B/PzvchX55WYOPaIeNglG8++68AAiauBAtbnzw==", + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/core": "^1.3.1", + "@emnapi/runtime": "^1.3.1", + "@tybys/wasm-util": "^0.9.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "license": "MIT", @@ -1068,15 +1132,6 @@ "node": ">= 8" } }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "dev": true, - "engines": { - "node": ">=12.4.0" - } - }, "node_modules/@octokit/app": { "version": "15.1.4", "resolved": "https://registry.npmjs.org/@octokit/app/-/app-15.1.4.tgz", @@ -1828,6 +1883,23 @@ "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", "dev": true }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tybys/wasm-util/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "optional": true + }, "node_modules/@types/adm-zip": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@types/adm-zip/-/adm-zip-0.5.7.tgz", @@ -2554,6 +2626,152 @@ "dev": true, "license": "ISC" }, + "node_modules/@unrs/rspack-resolver-binding-darwin-arm64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-darwin-arm64/-/rspack-resolver-binding-darwin-arm64-1.1.2.tgz", + "integrity": "sha512-bQx2L40UF5XxsXwkD26PzuspqUbUswWVbmclmUC+c83Cv/EFrFJ1JaZj5Q5jyYglKGOtyIWY/hXTCdWRN9vT0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/rspack-resolver-binding-darwin-x64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-darwin-x64/-/rspack-resolver-binding-darwin-x64-1.1.2.tgz", + "integrity": "sha512-dMi9a7//BsuPTnhWEDxmdKZ6wxQlPnAob8VSjefGbKX/a+pHfTaX1pm/jv2VPdarP96IIjCKPatJS/TtLQeGQA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/rspack-resolver-binding-freebsd-x64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-freebsd-x64/-/rspack-resolver-binding-freebsd-x64-1.1.2.tgz", + "integrity": "sha512-RiBZQ+LSORQObfhV1yH7jGz+4sN3SDYtV53jgc8tUVvqdqVDaUm1KA3zHLffmoiYNGrYkE3sSreGC+FVpsB4Vg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/rspack-resolver-binding-linux-arm-gnueabihf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-arm-gnueabihf/-/rspack-resolver-binding-linux-arm-gnueabihf-1.1.2.tgz", + "integrity": "sha512-IyKIFBtOvuPCJt1WPx9e9ovTGhZzrIbW11vWzw4aPmx3VShE+YcMpAldqQubdCep0UVKZyFt+2hQDQZwFiJ4jg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/rspack-resolver-binding-linux-arm64-gnu": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-arm64-gnu/-/rspack-resolver-binding-linux-arm64-gnu-1.1.2.tgz", + "integrity": "sha512-RfYtlCtJrv5i6TO4dSlpbyOJX9Zbhmkqrr9hjDfr6YyE5KD0ywLRzw8UjXsohxG1XWgRpb2tvPuRYtURJwbqWg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/rspack-resolver-binding-linux-arm64-musl": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-arm64-musl/-/rspack-resolver-binding-linux-arm64-musl-1.1.2.tgz", + "integrity": "sha512-MaITzkoqsn1Rm3+YnplubgAQEfOt+2jHfFvuFhXseUfcfbxe8Zyc3TM7LKwgv7mRVjIl+/yYN5JqL0cjbnhAnQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/rspack-resolver-binding-linux-x64-gnu": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-x64-gnu/-/rspack-resolver-binding-linux-x64-gnu-1.1.2.tgz", + "integrity": "sha512-Nu981XmzQqis/uB3j4Gi3p5BYCd/zReU5zbJmjMrEH7IIRH0dxZpdOmS/+KwEk6ao7Xd8P2D2gDHpHD/QTp0aQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/rspack-resolver-binding-linux-x64-musl": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-x64-musl/-/rspack-resolver-binding-linux-x64-musl-1.1.2.tgz", + "integrity": "sha512-xJupeDvaRpV0ADMuG1dY9jkOjhUzTqtykvchiU2NldSD+nafSUcMWnoqzNUx7HGiqbTMOw9d9xT8ZiFs+6ZFyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/rspack-resolver-binding-wasm32-wasi": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-wasm32-wasi/-/rspack-resolver-binding-wasm32-wasi-1.1.2.tgz", + "integrity": "sha512-un6X/xInks+KEgGpIHFV8BdoODHRohaDRvOwtjq+FXuoI4Ga0P6sLRvf4rPSZDvoMnqUhZtVNG0jG9oxOnrrLQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.7" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/rspack-resolver-binding-win32-arm64-msvc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-win32-arm64-msvc/-/rspack-resolver-binding-win32-arm64-msvc-1.1.2.tgz", + "integrity": "sha512-2lCFkeT1HYUb/OOStBS1m67aZOf9BQxRA+Wf/xs94CGgzmoQt7H4V/BrkB/GSGKsudXjkiwt2oHNkHiowAS90A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/rspack-resolver-binding-win32-x64-msvc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-win32-x64-msvc/-/rspack-resolver-binding-win32-x64-msvc-1.1.2.tgz", + "integrity": "sha512-EYfya5HCQ/8Yfy7rvAAX2rGytu81+d/CIhNCbZfNKLQ690/qFsdEeTXRsMQW1afHoluMM50PsjPYu8ndy8fSQg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/abort-controller": { "version": "3.0.0", "license": "MIT", @@ -3696,10 +3914,9 @@ } }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dependencies": { "ms": "^2.1.3" }, @@ -3876,19 +4093,6 @@ "version": "8.0.0", "license": "MIT" }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/es-abstract": { "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", @@ -4124,22 +4328,20 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.8.3.tgz", - "integrity": "sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.1.1.tgz", + "integrity": "sha512-91As8PwH6xjPwndAbvhTuZ3DUfdl4HttocWRyaLOd5T4uUo6km8EDO7Sve4jzH50V1wbgql2nOFbE3GGfARJag==", "dev": true, - "license": "ISC", "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.3.7", - "enhanced-resolve": "^5.15.0", + "debug": "^4.4.0", "get-tsconfig": "^4.10.0", - "is-bun-module": "^1.0.2", - "stable-hash": "^0.0.4", + "is-bun-module": "^1.3.0", + "rspack-resolver": "^1.1.2", + "stable-hash": "^0.0.5", "tinyglobby": "^0.2.12" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^16.17.0 || >=18.6.0" }, "funding": { "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" @@ -5566,9 +5768,9 @@ } }, "node_modules/is-bun-module": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", - "integrity": "sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz", + "integrity": "sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==", "dev": true, "dependencies": { "semver": "^7.6.3" @@ -7148,6 +7350,28 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rspack-resolver": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rspack-resolver/-/rspack-resolver-1.1.2.tgz", + "integrity": "sha512-eHhz+9JWHFdbl/CVVqEP6kviLFZqw1s0MWxLdsGMtUKUspSO3SERptPohmrUIC9jT1bGV9Bd3+r8AmWbdfNAzQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/JounQin" + }, + "optionalDependencies": { + "@unrs/rspack-resolver-binding-darwin-arm64": "1.1.2", + "@unrs/rspack-resolver-binding-darwin-x64": "1.1.2", + "@unrs/rspack-resolver-binding-freebsd-x64": "1.1.2", + "@unrs/rspack-resolver-binding-linux-arm-gnueabihf": "1.1.2", + "@unrs/rspack-resolver-binding-linux-arm64-gnu": "1.1.2", + "@unrs/rspack-resolver-binding-linux-arm64-musl": "1.1.2", + "@unrs/rspack-resolver-binding-linux-x64-gnu": "1.1.2", + "@unrs/rspack-resolver-binding-linux-x64-musl": "1.1.2", + "@unrs/rspack-resolver-binding-wasm32-wasi": "1.1.2", + "@unrs/rspack-resolver-binding-win32-arm64-msvc": "1.1.2", + "@unrs/rspack-resolver-binding-win32-x64-msvc": "1.1.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "funding": [ @@ -7408,11 +7632,10 @@ "license": "BSD-3-Clause" }, "node_modules/stable-hash": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", - "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==", - "dev": true, - "license": "MIT" + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true }, "node_modules/stack-utils": { "version": "2.0.6", @@ -7716,15 +7939,6 @@ "dev": true, "license": "0BSD" }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/tar-stream": { "version": "3.1.7", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", diff --git a/package.json b/package.json index 10d8e01771..8520f2fd31 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "@typescript-eslint/parser": "^8.26.1", "ava": "^5.3.1", "eslint": "^8.57.1", - "eslint-import-resolver-typescript": "^3.8.3", + "eslint-import-resolver-typescript": "^4.1.1", "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", From 1a4594f95f02d1940a46d031f95299015d7a4260 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 18:20:09 +0000 Subject: [PATCH 2/2] Update checked-in dependencies --- node_modules/.package-lock.json | 106 +- node_modules/@nolyfill/is-core-module/LICENSE | 21 - .../@nolyfill/is-core-module/index.d.ts | 3 - .../@nolyfill/is-core-module/index.js | 1 - .../@nolyfill/is-core-module/package.json | 35 - .../README.md | 3 + .../package.json | 25 + .../resolver.darwin-arm64.node | Bin 0 -> 2110112 bytes node_modules/debug/package.json | 7 +- node_modules/debug/src/browser.js | 1 + node_modules/debug/src/common.js | 96 +- node_modules/enhanced-resolve/LICENSE | 20 - node_modules/enhanced-resolve/README.md | 183 --- .../enhanced-resolve/lib/AliasFieldPlugin.js | 108 -- .../enhanced-resolve/lib/AliasPlugin.js | 154 --- .../enhanced-resolve/lib/AppendPlugin.js | 49 - .../lib/CachedInputFileSystem.js | 664 ---------- .../lib/CloneBasenamePlugin.js | 53 - .../enhanced-resolve/lib/ConditionalPlugin.js | 59 - .../lib/DescriptionFilePlugin.js | 98 -- .../lib/DescriptionFileUtils.js | 201 --- .../lib/DirectoryExistsPlugin.js | 63 - .../lib/ExportsFieldPlugin.js | 200 --- .../lib/ExtensionAliasPlugin.js | 101 -- .../enhanced-resolve/lib/FileExistsPlugin.js | 58 - .../lib/ImportsFieldPlugin.js | 223 ---- .../lib/JoinRequestPartPlugin.js | 75 -- .../enhanced-resolve/lib/JoinRequestPlugin.js | 45 - .../enhanced-resolve/lib/LogInfoPlugin.js | 54 - .../enhanced-resolve/lib/MainFieldPlugin.js | 90 -- .../ModulesInHierachicDirectoriesPlugin.js | 9 - .../ModulesInHierarchicalDirectoriesPlugin.js | 87 -- .../lib/ModulesInRootPlugin.js | 49 - .../enhanced-resolve/lib/NextPlugin.js | 33 - .../enhanced-resolve/lib/ParsePlugin.js | 76 -- .../enhanced-resolve/lib/PnpPlugin.js | 133 -- node_modules/enhanced-resolve/lib/Resolver.js | 800 ------------ .../enhanced-resolve/lib/ResolverFactory.js | 728 ----------- .../lib/RestrictionsPlugin.js | 70 - .../enhanced-resolve/lib/ResultPlugin.js | 42 - .../enhanced-resolve/lib/RootsPlugin.js | 69 - .../lib/SelfReferencePlugin.js | 82 -- .../enhanced-resolve/lib/SymlinkPlugin.js | 100 -- .../lib/SyncAsyncFileSystemDecorator.js | 220 ---- .../enhanced-resolve/lib/TryNextPlugin.js | 41 - .../enhanced-resolve/lib/UnsafeCachePlugin.js | 112 -- .../enhanced-resolve/lib/UseFilePlugin.js | 55 - .../lib/createInnerContext.js | 46 - .../enhanced-resolve/lib/forEachBail.js | 50 - .../enhanced-resolve/lib/getInnerRequest.js | 36 - node_modules/enhanced-resolve/lib/getPaths.js | 45 - node_modules/enhanced-resolve/lib/index.js | 203 --- .../enhanced-resolve/lib/util/entrypoints.js | 573 --------- .../enhanced-resolve/lib/util/identifier.js | 27 - .../lib/util/module-browser.js | 8 - .../enhanced-resolve/lib/util/path.js | 203 --- .../lib/util/process-browser.js | 22 - node_modules/enhanced-resolve/package.json | 72 -- node_modules/enhanced-resolve/types.d.ts | 1135 ----------------- .../README.md | 126 +- .../lib/constants.d.ts | 18 + .../lib/constants.js | 53 + .../lib/constants.js.map | 1 + .../lib/helpers.d.ts | 6 + .../lib/helpers.js | 56 + .../lib/helpers.js.map | 1 + .../lib/index.cjs | 589 +++++---- .../lib/index.d.ts | 35 +- .../lib/index.es2020.mjs | 336 ----- .../lib/index.js | 431 ++----- .../lib/index.js.map | 2 +- .../lib/logger.d.ts | 2 + .../lib/logger.js | 4 + .../lib/logger.js.map | 1 + .../lib/normalize-options.d.ts | 3 + .../lib/normalize-options.js | 75 ++ .../lib/normalize-options.js.map | 1 + .../lib/types.d.ts | 7 + .../lib/types.js | 2 + .../lib/types.js.map | 1 + .../package.json | 89 +- node_modules/is-bun-module/README.md | 1 + .../is-bun-module/dist/cjs/index.d.ts | 4 +- node_modules/is-bun-module/dist/cjs/index.js | 27 +- .../is-bun-module/dist/esm/index.d.mts | 4 +- node_modules/is-bun-module/dist/esm/index.mjs | 27 +- node_modules/is-bun-module/package.json | 39 +- node_modules/rspack-resolver/README.md | 39 + node_modules/rspack-resolver/browser.js | 1 + node_modules/rspack-resolver/index.d.ts | 226 ++++ node_modules/rspack-resolver/index.js | 375 ++++++ node_modules/rspack-resolver/package.json | 60 + node_modules/stable-hash/dist/index.d.ts | 3 +- node_modules/stable-hash/dist/index.js | 2 +- node_modules/stable-hash/dist/index.mjs | 2 +- node_modules/stable-hash/package.json | 19 +- node_modules/tapable/LICENSE | 21 - node_modules/tapable/README.md | 296 ----- .../tapable/lib/AsyncParallelBailHook.js | 85 -- node_modules/tapable/lib/AsyncParallelHook.js | 37 - .../tapable/lib/AsyncSeriesBailHook.js | 42 - node_modules/tapable/lib/AsyncSeriesHook.js | 37 - .../tapable/lib/AsyncSeriesLoopHook.js | 37 - .../tapable/lib/AsyncSeriesWaterfallHook.js | 47 - node_modules/tapable/lib/Hook.js | 175 --- node_modules/tapable/lib/HookCodeFactory.js | 468 ------- node_modules/tapable/lib/HookMap.js | 61 - node_modules/tapable/lib/MultiHook.js | 54 - node_modules/tapable/lib/SyncBailHook.js | 51 - node_modules/tapable/lib/SyncHook.js | 46 - node_modules/tapable/lib/SyncLoopHook.js | 46 - node_modules/tapable/lib/SyncWaterfallHook.js | 57 - node_modules/tapable/lib/index.js | 19 - node_modules/tapable/lib/util-browser.js | 16 - node_modules/tapable/package.json | 44 - node_modules/tapable/tapable.d.ts | 116 -- 116 files changed, 1704 insertions(+), 10641 deletions(-) delete mode 100644 node_modules/@nolyfill/is-core-module/LICENSE delete mode 100644 node_modules/@nolyfill/is-core-module/index.d.ts delete mode 100644 node_modules/@nolyfill/is-core-module/index.js delete mode 100644 node_modules/@nolyfill/is-core-module/package.json create mode 100644 node_modules/@unrs/rspack-resolver-binding-darwin-arm64/README.md create mode 100644 node_modules/@unrs/rspack-resolver-binding-darwin-arm64/package.json create mode 100644 node_modules/@unrs/rspack-resolver-binding-darwin-arm64/resolver.darwin-arm64.node delete mode 100644 node_modules/enhanced-resolve/LICENSE delete mode 100644 node_modules/enhanced-resolve/README.md delete mode 100644 node_modules/enhanced-resolve/lib/AliasFieldPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/AliasPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/AppendPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/CachedInputFileSystem.js delete mode 100644 node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/ConditionalPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/DescriptionFileUtils.js delete mode 100644 node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/ExtensionAliasPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/FileExistsPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/JoinRequestPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/LogInfoPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/MainFieldPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/NextPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/ParsePlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/PnpPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/Resolver.js delete mode 100644 node_modules/enhanced-resolve/lib/ResolverFactory.js delete mode 100644 node_modules/enhanced-resolve/lib/RestrictionsPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/ResultPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/RootsPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/SelfReferencePlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/SymlinkPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js delete mode 100644 node_modules/enhanced-resolve/lib/TryNextPlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/UseFilePlugin.js delete mode 100644 node_modules/enhanced-resolve/lib/createInnerContext.js delete mode 100644 node_modules/enhanced-resolve/lib/forEachBail.js delete mode 100644 node_modules/enhanced-resolve/lib/getInnerRequest.js delete mode 100644 node_modules/enhanced-resolve/lib/getPaths.js delete mode 100644 node_modules/enhanced-resolve/lib/index.js delete mode 100644 node_modules/enhanced-resolve/lib/util/entrypoints.js delete mode 100644 node_modules/enhanced-resolve/lib/util/identifier.js delete mode 100644 node_modules/enhanced-resolve/lib/util/module-browser.js delete mode 100644 node_modules/enhanced-resolve/lib/util/path.js delete mode 100644 node_modules/enhanced-resolve/lib/util/process-browser.js delete mode 100644 node_modules/enhanced-resolve/package.json delete mode 100644 node_modules/enhanced-resolve/types.d.ts create mode 100644 node_modules/eslint-import-resolver-typescript/lib/constants.d.ts create mode 100644 node_modules/eslint-import-resolver-typescript/lib/constants.js create mode 100644 node_modules/eslint-import-resolver-typescript/lib/constants.js.map create mode 100644 node_modules/eslint-import-resolver-typescript/lib/helpers.d.ts create mode 100644 node_modules/eslint-import-resolver-typescript/lib/helpers.js create mode 100644 node_modules/eslint-import-resolver-typescript/lib/helpers.js.map delete mode 100644 node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs create mode 100644 node_modules/eslint-import-resolver-typescript/lib/logger.d.ts create mode 100644 node_modules/eslint-import-resolver-typescript/lib/logger.js create mode 100644 node_modules/eslint-import-resolver-typescript/lib/logger.js.map create mode 100644 node_modules/eslint-import-resolver-typescript/lib/normalize-options.d.ts create mode 100644 node_modules/eslint-import-resolver-typescript/lib/normalize-options.js create mode 100644 node_modules/eslint-import-resolver-typescript/lib/normalize-options.js.map create mode 100644 node_modules/eslint-import-resolver-typescript/lib/types.d.ts create mode 100644 node_modules/eslint-import-resolver-typescript/lib/types.js create mode 100644 node_modules/eslint-import-resolver-typescript/lib/types.js.map create mode 100644 node_modules/rspack-resolver/README.md create mode 100644 node_modules/rspack-resolver/browser.js create mode 100644 node_modules/rspack-resolver/index.d.ts create mode 100644 node_modules/rspack-resolver/index.js create mode 100644 node_modules/rspack-resolver/package.json delete mode 100644 node_modules/tapable/LICENSE delete mode 100644 node_modules/tapable/README.md delete mode 100644 node_modules/tapable/lib/AsyncParallelBailHook.js delete mode 100644 node_modules/tapable/lib/AsyncParallelHook.js delete mode 100644 node_modules/tapable/lib/AsyncSeriesBailHook.js delete mode 100644 node_modules/tapable/lib/AsyncSeriesHook.js delete mode 100644 node_modules/tapable/lib/AsyncSeriesLoopHook.js delete mode 100644 node_modules/tapable/lib/AsyncSeriesWaterfallHook.js delete mode 100644 node_modules/tapable/lib/Hook.js delete mode 100644 node_modules/tapable/lib/HookCodeFactory.js delete mode 100644 node_modules/tapable/lib/HookMap.js delete mode 100644 node_modules/tapable/lib/MultiHook.js delete mode 100644 node_modules/tapable/lib/SyncBailHook.js delete mode 100644 node_modules/tapable/lib/SyncHook.js delete mode 100644 node_modules/tapable/lib/SyncLoopHook.js delete mode 100644 node_modules/tapable/lib/SyncWaterfallHook.js delete mode 100644 node_modules/tapable/lib/index.js delete mode 100644 node_modules/tapable/lib/util-browser.js delete mode 100644 node_modules/tapable/package.json delete mode 100644 node_modules/tapable/tapable.d.ts diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index d85f225c44..83c71696ac 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -1000,15 +1000,6 @@ "node": ">= 8" } }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "dev": true, - "engines": { - "node": ">=12.4.0" - } - }, "node_modules/@octokit/app": { "version": "15.1.4", "resolved": "https://registry.npmjs.org/@octokit/app/-/app-15.1.4.tgz", @@ -2486,6 +2477,19 @@ "dev": true, "license": "ISC" }, + "node_modules/@unrs/rspack-resolver-binding-darwin-arm64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-darwin-arm64/-/rspack-resolver-binding-darwin-arm64-1.1.2.tgz", + "integrity": "sha512-bQx2L40UF5XxsXwkD26PzuspqUbUswWVbmclmUC+c83Cv/EFrFJ1JaZj5Q5jyYglKGOtyIWY/hXTCdWRN9vT0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, "node_modules/abort-controller": { "version": "3.0.0", "license": "MIT", @@ -3628,10 +3632,9 @@ } }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dependencies": { "ms": "^2.1.3" }, @@ -3808,19 +3811,6 @@ "version": "8.0.0", "license": "MIT" }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/es-abstract": { "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", @@ -4056,22 +4046,20 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.8.3.tgz", - "integrity": "sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.1.1.tgz", + "integrity": "sha512-91As8PwH6xjPwndAbvhTuZ3DUfdl4HttocWRyaLOd5T4uUo6km8EDO7Sve4jzH50V1wbgql2nOFbE3GGfARJag==", "dev": true, - "license": "ISC", "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.3.7", - "enhanced-resolve": "^5.15.0", + "debug": "^4.4.0", "get-tsconfig": "^4.10.0", - "is-bun-module": "^1.0.2", - "stable-hash": "^0.0.4", + "is-bun-module": "^1.3.0", + "rspack-resolver": "^1.1.2", + "stable-hash": "^0.0.5", "tinyglobby": "^0.2.12" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^16.17.0 || >=18.6.0" }, "funding": { "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" @@ -5498,9 +5486,9 @@ } }, "node_modules/is-bun-module": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", - "integrity": "sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz", + "integrity": "sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==", "dev": true, "dependencies": { "semver": "^7.6.3" @@ -7080,6 +7068,28 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rspack-resolver": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rspack-resolver/-/rspack-resolver-1.1.2.tgz", + "integrity": "sha512-eHhz+9JWHFdbl/CVVqEP6kviLFZqw1s0MWxLdsGMtUKUspSO3SERptPohmrUIC9jT1bGV9Bd3+r8AmWbdfNAzQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/JounQin" + }, + "optionalDependencies": { + "@unrs/rspack-resolver-binding-darwin-arm64": "1.1.2", + "@unrs/rspack-resolver-binding-darwin-x64": "1.1.2", + "@unrs/rspack-resolver-binding-freebsd-x64": "1.1.2", + "@unrs/rspack-resolver-binding-linux-arm-gnueabihf": "1.1.2", + "@unrs/rspack-resolver-binding-linux-arm64-gnu": "1.1.2", + "@unrs/rspack-resolver-binding-linux-arm64-musl": "1.1.2", + "@unrs/rspack-resolver-binding-linux-x64-gnu": "1.1.2", + "@unrs/rspack-resolver-binding-linux-x64-musl": "1.1.2", + "@unrs/rspack-resolver-binding-wasm32-wasi": "1.1.2", + "@unrs/rspack-resolver-binding-win32-arm64-msvc": "1.1.2", + "@unrs/rspack-resolver-binding-win32-x64-msvc": "1.1.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "funding": [ @@ -7340,11 +7350,10 @@ "license": "BSD-3-Clause" }, "node_modules/stable-hash": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", - "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==", - "dev": true, - "license": "MIT" + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true }, "node_modules/stack-utils": { "version": "2.0.6", @@ -7648,15 +7657,6 @@ "dev": true, "license": "0BSD" }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/tar-stream": { "version": "3.1.7", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", diff --git a/node_modules/@nolyfill/is-core-module/LICENSE b/node_modules/@nolyfill/is-core-module/LICENSE deleted file mode 100644 index f7be747d78..0000000000 --- a/node_modules/@nolyfill/is-core-module/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 Sukka - -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/@nolyfill/is-core-module/index.d.ts b/node_modules/@nolyfill/is-core-module/index.d.ts deleted file mode 100644 index 8c0bd0dd49..0000000000 --- a/node_modules/@nolyfill/is-core-module/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare const isCore: (x: string, _nodeVersion?: any) => boolean; - -export = isCore; diff --git a/node_modules/@nolyfill/is-core-module/index.js b/node_modules/@nolyfill/is-core-module/index.js deleted file mode 100644 index 24cbbc5375..0000000000 --- a/node_modules/@nolyfill/is-core-module/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("module"),s=new Set(["assert/strict","node:assert/strict","diagnostics_channel","node:diagnostics_channel","dns/promises","node:dns/promises","fs/promises","node:fs/promises","inspector/promises","node:inspector/promises","path/posix","node:path/posix","path/win32","node:path/win32","readline/promises","node:readline/promises","node:sea","stream/consumers","node:stream/consumers","stream/promises","node:stream/promises","stream/web","node:stream/web","node:test/reporters","test/mock_loader","node:test/mock_loader","node:test","timers/promises","node:timers/promises","util/types","node:util/types","wasi","node:wasi"].concat(e.builtinModules,e.builtinModules.map(e=>"node:"+e)));module.exports=(e,o)=>s.has(e); \ No newline at end of file diff --git a/node_modules/@nolyfill/is-core-module/package.json b/node_modules/@nolyfill/is-core-module/package.json deleted file mode 100644 index 20f492c6ab..0000000000 --- a/node_modules/@nolyfill/is-core-module/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "@nolyfill/is-core-module", - "version": "1.0.39", - "repository": { - "type": "git", - "url": "https://github.com/SukkaW/nolyfill", - "directory": "packages/manual/is-core-module" - }, - "main": "./index.js", - "types": "./index.d.ts", - "files": [ - "**/*.js", - "*.d.ts", - "*.js" - ], - "exports": { - ".": "./index.js", - "./index.js": "./index.js", - "./package.json": "./package.json" - }, - "license": "MIT", - "devDependencies": { - "@rollup/plugin-commonjs": "^26.0.1", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-replace": "^5.0.7", - "ljharb-is-core-module": "npm:is-core-module@^2.15.0", - "resolve-pkg": "^2.0.0" - }, - "engines": { - "node": ">=12.4.0" - }, - "scripts": { - "build": "rollup -c rollup.config.ts --configPlugin swc3" - } -} \ No newline at end of file diff --git a/node_modules/@unrs/rspack-resolver-binding-darwin-arm64/README.md b/node_modules/@unrs/rspack-resolver-binding-darwin-arm64/README.md new file mode 100644 index 0000000000..897d586fcf --- /dev/null +++ b/node_modules/@unrs/rspack-resolver-binding-darwin-arm64/README.md @@ -0,0 +1,3 @@ +# `@unrs/rspack-resolver-binding-darwin-arm64` + +This is the **aarch64-apple-darwin** binary for `@unrs/rspack-resolver-binding` diff --git a/node_modules/@unrs/rspack-resolver-binding-darwin-arm64/package.json b/node_modules/@unrs/rspack-resolver-binding-darwin-arm64/package.json new file mode 100644 index 0000000000..a714734edd --- /dev/null +++ b/node_modules/@unrs/rspack-resolver-binding-darwin-arm64/package.json @@ -0,0 +1,25 @@ +{ + "name": "@unrs/rspack-resolver-binding-darwin-arm64", + "version": "1.1.2", + "cpu": [ + "arm64" + ], + "main": "resolver.darwin-arm64.node", + "files": [ + "resolver.darwin-arm64.node" + ], + "description": "Oxc Resolver Node API with PNP support", + "homepage": "https://github.com/unrs/rspack-resolver", + "license": "MIT", + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/unrs/rspack-resolver.git" + }, + "os": [ + "darwin" + ] +} \ No newline at end of file diff --git a/node_modules/@unrs/rspack-resolver-binding-darwin-arm64/resolver.darwin-arm64.node b/node_modules/@unrs/rspack-resolver-binding-darwin-arm64/resolver.darwin-arm64.node new file mode 100644 index 0000000000000000000000000000000000000000..99313a3f941ca81e34d8418d6c960891741c0999 GIT binary patch literal 2110112 zcmeFadwf*Yx$wXCOoq%P+;dORB&13LDk|5h;V?@3q%nmuEfq=UHpsKK}XFLzU7Le?$0;!*(L$aLZg1^5R(lmW){Am~_V#YADE-mm@;h&}>JM%& z@VzjeJYYSSd%JaM{*P6vV!*A5chkYj($dTGO7cnzuDN=yg?$lxYYmTP(7m)7`3Nop zw}t(yaOU=;uK7oM1IHyau^{|NzDi5)Tqr&6o<8+0Fmnao%IN=xr3FJ1D$ zowqE!qx9~ji_h3zVPr707rB)8h3+fmBK%ic`or?2<&nE@j<2xB8lNw`ta3lFz5X|? zEBHyp;#Y%Lu0RY_FSzK35AcL>$lq9{sxFob z#_t2EeSb(-=Dn2hH}a3^DgZG$_oOSKRRNpK;b~vGx`Xegu5?uf62q6&_xTL`i@;zY zeh+*u*Ef8cuHGG7$bA|g>1S#5*jV42leeyHFL`A6%CVi7QkKETf-Su|hMU*s8V)@t zYCO;Scof$nx2E%vwyY%=ii=hg?^&`~03@FUu$Fr-y7Uyd41Ujce;yJ|JLSE(4=h=F z>zxpWb1`}ZvbzJSXGjts){>!ztvv){_4v5 zy+y-b>nVD!y{9O6!hH8myDBkGQ{Eb-N?e&P{r3M{zjyraU+7u$v-Y0x|LEYInC=XR zDv8dK_IgJ)^xXc`hdsBC{hV>cbeGZAca@4S zdiv*kcYpn#J)ITr_w4@TL9>4!{pWO4?Ona~)t&`czuVK2$o^v-_SdbDmPyndj06&h>WtroH2@e4*#|i{I>d z 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

^tdSk(e*OeF<_b`Qkam>>``l`Qoxs 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

ZEGeISe`ev(LI8@uX-K4}uHx={Lu~#RJ8j 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 z z&#$={r#t!1I>!4Z-{b55W>8>y{P-U3*5CVsJLcoG=kM0u=UH9bGfoYdvHl%+B@gLn zf1}nQToh<#4KyB$c$z~8%9qFr`q5iD&uLws73WUhrPow$_ha+OV_f46NS|kzGk(II z=EVioeF8T5N01Nqya6s^7daNrb97Um7ZeXfFGYOJJZKHR-UWNk=b703*h`G&%@afY zt0qd!$Fud0^@A!$4IsG(bvc=Y>KHSI7j+l#Y zKh4OQe%gi5=lrDb4yO#y&v75QOFiCw#69*dZJ1V58sl34KW+Mf*GF07+?WCa9&!BzhG z1;D-G1@haJa&P^GPS}n=4z`Xh55MEyjxEn8J7M*x9&LHuZFsJn!}uNl4DqyL*(s;w zIWY~z)8g-5@NG@5VFf-y&-&Q*s12`%bGYn%r{OQ}*mo}MAN@Yy49CV-^9Fa1m`gg} zowgU}Mek;mkMFPnmQcSR-&?xb0CSO}tvDNCeEiGl@J-ilA0PkHdH*H0zV^}t@{}c# zrz{D-#AN&v`(g*_haH3*drh8A?%pS+puef@J1j}CjaHx=!ah3 zvZP|ygFCmPXRuD+x_m40)A^?=ParyfVrk*~GQ~Gg@{ASS`snU0$~9HYyA0%s3S!Rx zd6(ZNpF!IoZ^|Nz`15}SRzv*Q$!9&(k;jQR5PSWc9oKR`Y>1uzcgN2E$i>%G#NsBD zIeDEj7oDGBZQJs{9<>kbH0>j+jKbZQnuSMK84uddSu=W;jISRiKf#ezCgnVZNAt`F z9Y1;Ix?nFhCg5Lzz9q#>*==%u?4FCz;*Q{Un#ryp*gqTJnE78p%i zhZ;?-FZ%6Ea}9eEI^tvVt^(#)0{bgigUeZq%h01-YPaM~ChuK>bFUyoURCb#5s!hG zenv%v`(t~Gku$%nZm*9LoLDl8(3d_>|Kz}B&HJ+EC(hB`TxZ(SQAo!)2A}(O=-#e8 z4{I*_NM`UiE$z#6rfa!`I885aT~f)q2U+)m(;JruS?}wJ1H_(w(tb3&g)#4GJ_TJQ zcCdW%bLi}%yk1)Kuym=cb#S-eevkE&E;*ewZ$&qmVh&n#1Q~r&<$WFNPh6?JA=bav z&EM6ptS*ak4ai$QVnXFV|EP@|gdU-DZNo1l*oS7Yrb(VcVoX0cm+!T4x+4qTA>8R+ zEqznz9;^W;^2iMWEROBrJ_BoBi;k06bi1eH*Lb3wmKBWCVw|m` zO6_UfN&OUE?dn)wOJ5Ipz;>f|v$&V4oN}LL7;UpS4_0`R>f|>`KKX4n^F1@oste-- zoI;Eq?Zq&<-1WpMZXh2)1+a$#Z{Z&A%hEmG2fl0VZXT@I6B*bWd(MyCl6U!CZjR)# z%1_6KjmS8EEboAFby~6bN`1*Y5E?;jxy!k`QqT%&2SnY5@C-S4Q%Gsllaj${uM2Dv+o3>pZM+oK?@@3#EQq4&&ZOm2~_ zxxD^GbS^pUA)PV%ih1K5i4|6BB$1@h83KMq+RH2N+`v*8c(au2Hplf|+1l zAz9M%>E?;KLx$e%Nyv1by?ZuKEE$q_cXJ(jL1ex5_5`~fnkKuR)~`9%<|X9Y4QE3G z=9`7i`}t--=bB>Pr_oOsT;Gk&>yvR8+AlRH2f^pYGS0<`Z#6n`w$B8Q3pQ)gmRPiBRWlaG_$SfDV-N0Z{0Dm#I?GwQ?I!l%kiNuiGP4$ivAy^z zALyX3gP^an&3ET*4fs#3V_!9RGV1oSkIJBVgUms@WydLVV>CK6E^ARme`{MhG-)+r4VC3jr?0!|!D64xV!q*Ju`1Ww(Q&^Gp($^fx>a}zj?Y&MLl4Y9B$a>XZ!2D(J;!NPg^iV#8 z5Pv51L)gN^kKHysywjOSd%(>TesF3DvIBQzOQW&Pufx`(_SC1^dWkw}ql&$jFMj7S z3irQj*asOKHiMs^sGS_jDhI=fzH1DMk8`5$&iV6+aRDdZjDJkP#Eb-$s*n%I+86DW=C5}Eic=Nw0S99_^q!V)dc4(DpKZ9-4U`^zEiJroVZG8UC z#rF7|5?g-PV<$yz;y?BnZI5Nlr;gSrmLnFKX7>-;mmT?IiGBEEVh~cFyiR*%FD+(` z=6ljwcY_nPGmL=psy;)Uo1@^xN^Cr%ScfC<;hE5@3igxaT3|e-0@|XuIAz3zN~tvL zEabd0cw7Zz5pUCYtKpZ5ha@}wZfIdM@{XfVf&U~>x6&ey9_=X3(0_Z#)B`;Ocduj*|EqbTu0l3fo~X~1CyIPc@%gGWmQBDJzn2V?*qjD&61`6r zvF|(Y_q*|BoP1CTk@N3{MmEyU6UZ;h0fnC2$^YadKUM*`p(LyL@=cBrz=K>+rtbpV zYi36VP%i=e>ZxtnFZai6n##*3o2DOIkM?KOrk92fS2{W3Q-hMzjg#biQtYz$_%mu- zx)|bY+P$E)Iw$1x^4sKvSyS@Z#6S)B^tYFYa|u7F0Ec|gu!Yb8-}n5HN&F)JcEo-Z zzkQvUrLuua=krmR`&f)g^>h~ZnT9Qz5Fa<@WOnfO&52DK->-lb_W!*aXU23t`yo2c z=0v|;!#HQ8BCjAq~r{n7H(S@X==ymi}_;Y}?IaDBswI-q;qA zsaJw;uYNHtvYt7H8Eb_j^QH$S$AvZT*z<}^!8|SaBYuBagx}13e4Z|$&bd(;c?s{I zFv-R0y*`qkadBY+UIiZMz(ai#<8j?R^m*`WT7tDqOv$@V3GlI8K=ZE7X>#vX6o}IC&t-E7wu{YOg4MqR{*IyErj^qDm zTqXH)qz7kG?x61L-(<9w3nRGRJ5R^+8;r*V!2fV zt+v{h3Fvi_K?Mnr;ozp~sBm`)C>+g^GoH^(0v-jF-uf1M-?X{oUHCk!?CWbYw z$|_~y7}m7VvzGnfdB-uwMf$pq+jm?Eua0BvH#=osOB0$&@(kktC&2F8hm9OHy;=DQ z`sOUw_afzEuy z7-5HOl(SX5w6%oqDw-ndGN2imR~<2uf8Fk1E4mc9eao`DUmpSg7Wr2OE#P0aA9CqQ`X+EmJ>p{$+VP@GwiELsw#VP8>rLjW z4x6_Zw#$LdtSf^!7J<>G7VOgaK0T26>aR(3)sZf#j`irbS^rE)$VAvC~9*y+)cu}+B zT#=_bm*=guKFWVr-taqAZFnhpxJDIf_6+1GKFtpB9(`Vf7M;O4w&=yS>y?1&T$VTD z$MD#z907A2b=iwd)OjvA-3$z$a;}2N=2!VI?^}rIuOj!VgZN&FA--^>5rd{e(_i2t zl6W*(EBnm+4?f!Ye>ywS)V0*}4S(#&IP4Fr;{F}F3HEgEktoL^=x(9VLe~H^wz`jg zV$hf`jK&_M??Ph>xlU(1B(}{L#o39O!$+4>E(hK1_fOhx9Bn7psj4h8bTK2}XMY>; zjCz@Mu&$SNXBq2w33nR(X}{T_ZT&X#V3UJ9C)JVUM~h@mC3=1cJbUI(nyL{Kwe?bX zH+&7fao3Ld^QUGHQYOxn@lm7wRpcbU8kl#StLMPs{F&jpJtSrQ)OBz9{HZTR8096# zMap}=Ps|+u%bBa^@U7fS+5Ov#CV2)m3?o&oFnYm*iQitBK2diZaf;!xbV66@5?KbcxNX%5zH&G?|0)E*rhGDa4=J zu|Y+*mDtT}=9e*N4Ba*x8Z+-dOEh%byW1}ayI&kC7TD~>a@BALL^ag&PLB#G--V#@!HQpCd*LtxL<12BmUAHS5 z=PPNM@JU~oe_r&Bt7%8_1&ytWsB`ciyw5)RajX&RInRo3KEjCgv|1Jk4DHbLko$?x zt-d06O(@ngacuYNlZ;r;(Efx(j|cpSzs4CB>$&%1c*3gp^3+woN9JQguiBaCjfcN0fFUO3V`3#ngZwlmd)Bh8}$hs5>>uQlQnhkNd$oE|&6s+PVl zqtEECt6X^s`TdlogPIkIE44n8cjRMoGqEOq6g+nmORDGY+ljs^bA$Lja;~w8|4iQP z@YNI5k)c>p)jj8NV?1g?v80X6S7HSgRzcfkl=V^8H|wh2cv9+X->bO)6FPa*dc#!4 zQI99BIYT^Ys~JzqnYD+pg`&yx3|~4mp7hg&+7akAJf2kiyb`N;95~*z4x1|db`Vdh z#I#Ox5Kk&Gv(t$u9jJYYCv8tsiiO@}k4`7+p~!pUNfX23NheJuzrOo0xRduY)I{P* zhlk=x<($;vo><19$uis}F$YqYoFy)2(Vt*`7&)kid(1e|k;ppHzkT%8h$rnWCq5*z zTyj`Bi6=ew=@r`HDUQG*-Bx7JSORtcwADrXCD<8quK2^~9=k;k3e%4sg8w{n7TNVS zb%{UYEv^bM{L#YN6*%phGh92iAPKrohOSezBhYDJOsaManiW09yTCck%bab8rtTW0 z)&*j&!S-kT(d8r;)o0k<_uC`t4Es6B?6Gyyr+ZAk znBw_A-2YhbZ=$Dx|H8k-rfP(TKdwLLj9H#vDz@mSj)3exH|mzXGijb7)PEDaL*ndZ z4|ASAcSbNK#(Sw>=R3MRlm^Txz&zYj&;#=b&l8k6;<`Bm^Kj3xO7w+an=lUdJjDBl zbXZb7KjJ@Y8?=|~S-^h-_7u;({P*2ns2xViAHNLZHp2DKnb0*$Bj1Q@ zK96(WoXk7XId7$|GR8RdR>Pl@XqVXH!DrMNWsHPp-5U=aA78E6c1BHEfNsUQlbdzy z0}^xW+YqhCYWOz9Xvnn>&6s1~s3`WA+3-(V+`b}oLiVLe%&~X7>OT1qe4VnQpS`_; zI7VU`LVn?m^D?aN2;!5UY8}UU&5^oacrpCzjJnPCs5bGL=yGZ?dgoGptN5+q_agn= zjhxu0xc_In)%~}J(5bnmk(XBXxrF;ytI*-P$FMJ_p!@ZX>nh-Z?ia&U?T0wUQM}*f5Oxm zWbRc{?)Z-s?f7hBG;YIwvJ|{}c%-7+iMq`JUJrjzpc%fv6i*4|WuKX@Bcdzb&b@pi zS;Sg!ql(bsaDPI4=@?3*L4;WxGQ4ZDDWFS0azV|4g1YQHOlvMA!DBlU~8I zg!9A?;(WHo60-TT3}3R?GcT@+s7t0^lRlfE%MNHX2O5?A2|BM>JJx*%{XKJ;3-vfq zA9Km3KJjW(HS=S`EKTZY+GlC2Rf)@+n@Ox#*c^b)we^#YHrhw)dm#3OwKL#cY0q|F zDP?FUns#hetba;dqps0B>!)fO=c+XAQ+wKzIVJ7;Mh)$qd$ik;HOy#t?ifAqtiZLk zI;q7H z=CD2vh;L$VrCiT<)cHWzHv{5jZFUb2(c9viRUw%FSv*M}Od9ZwGVzq-t_7xWJe6~Q zPpA!j%mp8O8$Q-L{mdOj?o4CM{w3PTyhz7~PJy|w!|1#ZWUZ~f7MR*-j zH}qd--`<0Xa5<9z6VrK<6#(Xj0?HNDDJqKKklW#>1$eaknanpv0 z+H@Ijk%{n489$LDdd%xHN+{+vBG(|!aCLCIKix%Q7|(N&7#+K%DB zI*yJnzNIY2V;;F%yw!u;5y*R&spNi`_I`#`1=Ix1wS*vfibvZOu~}oq1ECjhiW7%unX; z;eEGjKjiu-&vlr)(%grE*@Q)K{|nw-{0X|)`hpf8eu%~;t$Ayg;EP`x)!ej%eT&en z@J{yaZOoZF*6qtu10ADO&bK6%x@v?z$C^e>VPCpk=TlAAAr)$dP^if{_4E0?VK50@`$#1-=o@VB~!FbbEaxrgs%?NmTKVD zH|q3lMfGc|AgnDPZOJ%@FIm?02Eu8uDDI4N*SpkMClEi3$jd%(hSLD&t4c>fs z5<0u@MkSz+eG_BfGY?ZeZ!`Aw3Udr!&WW&jsG|GI-g(&*KhxGbAIFpb)Hmujtz!&h zNqM1#MEsnxc6tK4S^S(+p^;AB>vUp8mly-Qhv3K1xKec*dZ`M>%fR&Vvk+cPoP5an zQYO8ekTD$d2sKO*0Lv~!yIYzEJCdyRUsgr7M^_Q7KW{Cau_kAjzuQA!U_<1qJt;B#42 zFCO=fas>V^HXV4E@|~k1SeuA+XH>nLmjb-zIIabs7YjbKz<20<6FBY2x?Iy`+?jBy zo*PDM1LL%yA5IsC;j~k5I_^}Q$`}ib{xK1n9oQ;H_r=vQ#@lZV;S0D=U|Z=pbDoN` z<3ae{gMDQ{canjx$78|Qc7sp-*SXN>8@>E#+YtO&iwjy#6j@r<3{e&?NgyT;UN2+x zTVUG12f4VtpvC`gK}&6L`tD`H(%m_CKDs-nD%w+LM;2r9$K%52&XA)X!Qs5yv?I`wNjKY|w_9Su z=nXrs_)h38R4!bWij9@PdWCHWXQRqoW?j;Ty?YovqC1T_j_&X{{Wp2P&hzI@(O!dR z_QhR@_ZQ@xmG0K}!``XsGDt?4Co$tul={gkS_7rWOa9xM5OZ1Tuo{h|b9+}I%oP!oFmtK=|(RMom zCtfUQ>3q4MMf4Suu4Ip+H>q`+#GlJr^)2A(;7Rd0+1<6G0}M-KFIkcSmpZB!FVIjp zO*I0)(A1s4_NMER9@uKb=BL>GtNOtrv@P(6F2gogbf{Q=RlHKH^LlSzIsXfIy+!!< z8=OO}mreG!GnYj^D^&(P>T>=?B`{R_1+KkOan1VL!an$U2*%M?p?l%w#y353i0{(X zWdB^&U_?d-%jFOsuwr6SI0EZMgJ=8r+=N8 zN1P@+@OYLZP;DWugBT5!dM(tucOG-uYHMysR_kN*;rIIBTBOz=#7o#4E)T5_fLm1p7b2!E`^w_J6tQcO(mKmEPLRGB=+Ia4XVlR6~!QVY$^ zf#@arY-7Y8_nt8#=1Jn6kQeL`h;sKIs|fIOJ@KUd$Ez{w(qhf%RUS{YUsjG^4zt;L#bGvm&v);D1Z`f$7iB>$(Pef+d8ayr^5Pmn=wcG;4$VO z!(+r5U_0~=z}C*Vb<$Qi{{9|@y8_`C$QO~P;qyQr;{oVxpt1hT8EEh;9mdno5%&A` z&XES@$YrYV-vjgN()*0L_&%~j`h(yxTwaI6eJ0)E>$AX;iSE)fU)KZ6EFBi+MpPeI zBA~y=!p3y2@G<6w*m$SoU0t-Tp^rDgJ70u`6DCH zorpP5<=qW>EVQ?wbz0|Tyst<1m`U5S`2Sy&-Amc^M%l)wN1N9TS=4;@V9szEq%>FD z7NI>dJCc2CMOww^LE3^#Ik)~*n#_&U)rT(yTURlrDZgD@%bF;hx|G;Ou$%juNo|t0E zkM`i*iktj~dVFaadrE48!A+&Cr&q@kg9t6^u?m#0%zlvP?3DIz2(^FnJc-Fn@?67x5;P!dm<9NAfBrr(lGeWG zG0NU6@nK^#u9W<Gx1Pkfi~s3XscpY(q4-1=R@Q+0ND zj{l_Ze4q4P!lN2_4<+YNQ?=4I5dZnOA3VdpOL(fz4$rUq!SiMGcR1hG^Ug{?&-8=m zz3&p9sbr!e>g@1j^@Hcm?-CyMg0tc$_*CEdp8H+G zQ+0NDKJ5oj;=ck+IWDXK!`p)ljC)qG)C4N|oeUd1$24GEn{m zGjGD-DD=?v5<8pVv7pcSlUVzChCMvG&zk*%9(oUUd9!&Qk7jT^Y(@kl?w6_K%qD%Q;D=JwQDrAvh#% zWG=Dx>?P7|2=Qe-f}N5`-O$^{aC-Xz-!$$wa)DPtTmQK;g7{|g5aajmz@{lDPfyuk zMY~6A?kIF|eDsTmi{sq`%9VB* z?H523Ptg9!#aqeKp|~@^k;4AVy{tlA$CCl_zibB~|xTmZ>6BRMg| zRtd&1KZ}fWPOqn3p=+P`Cye>IGH24bQ|4!PjFF4s`Tr`=Ug#{;R)1BbNvvi%@%|au ziXF`PT5=%yHdwVz)~WUV+6UMdOFN(MlX)k3Cz3r+K?iZ-@1Z{Vwu&`Z>~78kNc4-% z8Q^=V>jZTaVMoo|5_d`+;xjrS>)g~~&R>-neu-Hvu_pLiu{V$Hv1-SuL-)5_OkexK zaXG#of2a=GZ&<+hKfYVhu4kNV_((70x`Q&Kxt4Lw=2}C$5+`57z3f}f<~ow=be?B$ z^>KeLSMd*wkbADOCn=k2vRtWmI9GCQ%ocxi6VJuB)Wp5`x0?8VFxMSCmva@S^IYg= zI?rufZCqt<&<>u99b3j#_R7gz5&fFp*c($L@mRzjNX+HlkBeASB{v%7YXY)f zPK^BRS81|0Oyav`51aX3;+QL?%suSW0Wb1i_5peKMY+FUC%lGw_=*ASBKC@Ne7ZQxMb2Ci`qH1>qX3`r%xohjRIk)InDq?dJ7?QBAvse|EU+{F(d6i1 z@A8~jau3CkgT%r&C7PBbYZ2>pH}>z7*qJ_i^j3@t#ld;Yq7mYHM-(ZJJ zq0F{KWoM=WuT_%#t{Ijx@z8+?Onyd`?s zR^m4*RCoQCs<0W#?+-p?=_hz!UjeHm3IcmzG=^XarmLoUF z@w_vd{4{gabGvPcc2{EC_caYX*~t-DuP9T@F==i9YA@*|Xk+hlJ8^$5Qa zJ>g0C#s+dW^&i{m2csq@3H=8xdR%dkxg$9uY#GGzJg6)Z`bc}FAfVI9wh?aj2O9s| zQ{6KDxmg#vPZV)34$ougC-Jiz6=$4#+i`dRZI(rmZ;2Sn9Zz=b$XC<+$BBQ-NK=Y~ z=PC!+;jd2%MonHk+%{R4pU__>YgBq2ts~qH&RbR(-*lUDkT~&T=)Fy+oweiK>FguV zB>$qqxQnc?t2y05ubQ>{wV|v+z<#<=kee2YIkr@5ejPaisD}YYOpD;92sS z=2Uw0e5OA3vt_cMIs9AZCwX-29=oapZkxxLBB!M-$th+7cXFREbBFqT?0*gJ!>9iB zIO^Yut9R&wYU2D1xXQqu_-Ao7N znJjp-fj2p;B9lGd;rOc}ud?V3mxk~r`JomoL#K%Dp8XeVov*qmC5<|fc@u@kOU08d3X>y zb}+bE%Gj#5PL=buWc>EzTmNJ~|Kn6!q%uqk1}B>B9%b)nA!VKqM9ALmUjF$}aN>~( z-x@VY6J0MDjM99UDS=GhWhx1* zk*V&lcSO{Q?)k5L>*ZUCH;{b_Vh4y${2+ai{i`1l({DbzKlH4PXR28?3+8_}IOLoE z2)%!g_amX33?<`_Z_+38`@2H#w}sVtYv|dVJPWgH4k)*fLmK&4SW13-#-o_HL(wmK z?HZ-+B^<1d zKp%-kp2s2A2P5ByAm_>Vym**)l6=FGpN##?0qMgW@O|{H5$^T0X!3#wDO}RNj>^TS&A|R*|IV_q;G7Sp%jk* z7Ici2W$WkU`erDT^m-zT0=B`*CY1b@b#EoPor4NBvB?U);mjN0ibc1m9ZimARaxdF zcjkqeYMba6M;pDc*GPR~Pk;AC9G%JK)g z)2%~wyYK_{qJKpiPSG(;z2RE)hNq*E#jGnzjta?N)xYin_B3`0-?0wa8BN;>=SMgE z+@iJ#j%^c~x_wtFQ_TLVKQQ#Gnk9Ek&HjNhsbxh>aOl#g$^y>5{qqn&9Mx03==^cm#7n=){uYU`I!Zod**ht^P7i)=HFTZyprPwz zVspO`_P*d!>h}yE&76>r2A`nt+;hn5)qkG&{wHd(uxJ;2MYuG{8%^6jqbEE2fa<^(PH#A&PjAjE*i0y=FZT7%CSxzm}~7XsIb15uNS8BUV?4W&~!s+D^zH9u-uphQT6B~aQQ77Z8(=p@Ng}j%XrNnRrO1{UrTj-Cn$2frQ z;NzX4D~|9xi4T%;BhFDK`?An!&`m|h>(BdVgmmh3CBa{1si}AL)1^Dmr5lL#EHL!L zl?wWy(vp^h;|D+V18aQR_dUR^;MW?PR6g`og z&*(-qx=tObiJn-a>xn74o;ac#JrNxA)e}dA^z0G-wdje(;AvyGpX z5Q^>eQ*ib;`*>c6#U2UaP3(xX;f?&qeQb~!CxfqDBX~1xkUsq$2yg6H@6oOQ8N5vi z!<+O&1^@kVRioP-#i}Dv#~My3>a|uwrcDU5( zn94k+9y2$Z%-x#7YPS!4+qNyoZHvW+Ol(gz=Yh;~M7lrU&iNSdf63`0KAR-wrpSOM zd>?&efEMB(Vfh=RT`##6s%f`1C&WM2O1?eAM`QATcyqVyfTcT}kL=~Uuh6wk-XMHv zA@z7aHTZ(q0G@a7r5}x`Gv<)$3D>`-qMK!J3U2-{_E%IMiKxSG+oLy?y@s7}6~5>q zi`W@q`8jkuW20_oz|W+ORq&n#eBb(xVONx`Ps$x5c137>#jfzaie14NhuakeJQH2d z%k!81WUYG|IJ)pBkh7uXOtQ*mbp&+zhMW=~swu1PfXBbkPgV)f!#4tLrg`j@hAl1h z;Y~JdWRpLxhri9Ftnd!Q9*+#!yE;+#K?vWxhWS&#GhL>hg>N! z_3%IDllT(`;(d-V-gmd9FYhz`2?OyyX3*f zOr0cqtwM0gysct<#l8|f@Wc>DOPBbwLbjIUg<$bQz8C+5ZhyQGoY)P|IM$zMG!7Qu zL?52%y7tqa|hb%~HpJ=}Bg`}qFhw{HTQ$?Jq?P6h|g zj|^Vd&i#V7;dA|XOeSZDm^^0HAFXwAhKT6#D!+M@&tOc}qJNgke{5UvQ7i(sGJ$6) zIgEg#1No3m|9gBC8*GM;qLSQ4*XcfrmAa1te)v1;x%FTC_I17$9%RBX2RQVcB>w^& zzo0JhyZkGCc#dzg`BujhGBJgF@teqcpYG=XC+C4n@trJHL%tK9rH7s^;hC)InPpQ# z&mZS`G|&IYefaxfq4z)LeK~#Z@w;qS-FeJo&P8zBLS-r_^EUr8@VneaS+fl#^nM=i z&1c7V8!+A#_UuUL*{xyE4u+m_SOsUypVsHHQMq1qV^ePwn_7G>?a+|e*0WBUew$vO z%Nf_*whwI!T9I?Cy?LLJbDCq_-t~jri&sFu>#t^?liE_l9IP94h1Sua1Xi)Wk3aEX zEOz&E&^I>0X2~-x`H|^z7QNntw#jhl*_<5_7D_5hr+Vr%#8;_a^I% zvSuwl{toheh@M|1YnSAvY9-e85YK8}bOcUp#TL1dTv7NCmc2}Vtk)fZtKl6A`RQGe zv95|QAK!hA%6YcubN;IuvvV*wD8b(ot*)q#QC;<4TA!}}a=jYp+@J=Onv9F0@t62t zR0F=3)xgYc>a#KUJz~k*-}!4b;D22W?0%)}4VIb`O}82G^S%rOl~>Yd$6)!*`3hdZZXe(wr$ zj_fvKLA=&DchheqcL=t7C3XPt``%Cjk;o+92K26jALO-OL`((yojH$={ZmQZTGqo_ z2W6$)^Z5?e3ys*6(hSBUYr6LOaGUEmwrMxN>GWd)xo72n7e86cPJ2MnE`!gAFE*82 z-*T3F+JlOgimsD9PjS~RQQT`RNqz@sG)v}wO`^HWmv{93_&eu6};)xv%zAuust?bA4SO zL_r2+R~zx~8OW9G)FHZp)Z272xakpc35qQ2Tz`u;gL7Ux7At`rw3i)ecO`KSu@8Dm zSCjlIa2?1@{}_NytLJtplohnAARfa)@c$u zpsavCMmwivv%X^+zvh!##zp2-d{u3|4LT}&az{gu7$o&ga-s~1cO^pmJMc^Rf?t2L zmH3*%H^_wmu8<7}B%VgvLvgS3{zlo<0dExh6n%G>@KM$|1FfU+rWlctv`)y-nOKG-=OB#t8eX|Lp;*v^^a&dl;PaTKrC>{8hadg z+Cr`h!7chxTb^oL#+pGJdkr>A&LL%~F^^;)^=8YUHXHK@ouf}#Tj+c*-;n7$Z8u%m zkj9*;gccgn&El)>#6R=*yp$U%wTa|8tND+(h8)I39}n>7U_5dd3mFqR14UsxI$8Ic z#duV*zAxjEA>+aPlksS>&hGBmjtxy&_Hug~Dc^zqEPJQ3Gh-Xlu2D2K(m5^V28+hr zc1vG1a3VJ4QO@%cdEpzRykcRT8mq|_NnKX(8Ua4q?{Q8`{W_wq{hroof)~M&5QLfX5cBgjaRXxkC$3Z!YsA9(qckj{@_9tPxdOQv9XN z-N$ZDXqfZ0Lt6|zo(Rp^7v?GM#i2bbHK94{WX^sRjL_%obpHF8vtqBb@l4hdjkt$I z&mXuK+ziwYFXx^6=tJ%L8Cu8sSWWhqYzeig^Rv+Y5?iQEg?3s(Z9b^;9`fjMUo!_B z%_$)_UxCgOL>?W!F-AKy&&Vwz``l}@DpjcYz*ydC^-_Q$e!k&_?%|B;j0cO)m(s=w#i6V1My%2q@k!$|0qeN*mkay?0I zXjun1hJRLaAWXSeHp$SBQo)c=kCoEHXyw z^wLHe&-5G&z$r3W_QebA)yUE3)?eL6cGvtbWViDSvO5+SM0V@?G;{ZgZ4q_ z+lc?Q4Btf^XO!VL4lKh9M22Jku=g#YzYI+X$8ASuv27g3o`aE=(?TA>(`O9QciS8$^G%0e)1JMZhHjzIu@85Ve<9p0Pyeb1jh?axZ-f=i8;kGCY@cZJ#;bUq2UpW*}YMdxrU(Ok0iZ!A%3{^>TLGziV#q zKl#6(+n-X$8Rs_s8qp#9>*sSt78fZ2nSVavrO=tIZ~lzF69*A+D#~WQGw6c*0qFu6 zDRglh+0l*sJdFGdAUpqEbn%N&-@@r)4bQ^qqJeu|k3m-Nc#HU(0cgE`F?z@t;2Vbw zn_$qs?BCV(k=>ExEsys|+-U9k>(F;1{~=xEi4bh2zO#t?nok{pWBUeaHJrV&Y!5oa z7yo~BhJUwhod_Qbx2?BgTdze26+NL1eiB3n2%-yczILxYonN5a(mEemWzfYW%5D<+ z8larUbJH&T4fe-BY8NWZ+cVjPXS4n6A-UB7{Mp#jy8U-GdM0{kp zDV}1;FMSV>=+Z+OYjjgx-pibsv6a2k)F<*^Vg~x#fl_x9w&0oUz>n>Q9hixH>Td(K zgKwFmVh84i>_DOU=a5z6KRlBy7+$`QygH3Nn6R)?%M*L>#<+%BbhQ7CJ=l)kEN8We z+{;#aZNP+u7A=!ARoCkFUy3Iw5Zo+rvElZgDf8ON#o6G;_M6jd`$@fx*nT4SywI9% z*MTF66%kwsZp0pJ3AYD@UPE-5Au@3QniQGX!B~k6t9Ay9b-z&PJIRydqwbn&?2QfB z8+K*kMC^?kY#;HpwTrD%guc9ncCO;O0Y4jg9WDl@)%zUU^Q=jg5yvu68EIE&t&ugN zoACX~{tA2!I=zW+=*K7UT{j0eC6#jSDE_7XbxeU~a`|JUMbd2K*9JAo$!y-R-x7#}a<)fn{DnK=L5}{EI@ZKHb1&|M!B& zbojd9QF0f|8331=w9~pSxGDJu_~*c7cpZ`xPJDL(@F?v`9jgVG>-*voKg>a~O~dm< z1c-waT>e;ODdi7ye-xW20PJ$+WzACP=0$^UMhe}yxPRHW&yxFRxc{|rf1cd0GUBx* z$M0uD2Ib6!{|4?U2z*{q5IDY|An%A=<#`7DPCtzP)1iA@F$&e0G6P@p0TzWcWgp>5rL1BizT~42`i_@8jIJGq3k%Ia)p&a%Ilv zNsd0_QhF#@eEbVl`t4B z2%i0x95|J{$8R_Pd_|L-rXA={^Ur7B%$RGn`R7}-&ILTXN1m}Cu7dybOWF6hZkVB!XAYvz)43A!yWuLXHmznA^!~a*@8Y+qU42z<=Nnh&=EGNK zsI{r{=SI36Z=?L7LW7j$_qm4|t@uUu^S$tlVx5-bJ;CimPn$Ej{a8f8 znclZrOFlZxx=a`AGO~8$lQkLiHI3XYl2^NF)Fs*u$=xzHRo~m)#Ck##epc~2>uVsv zDH`i12QrCI5S@NG^G7eAnPS9kQ+Ee-%RCCQE+h2^S+CK*DNSLIYn;2%{ASxf@Qos8 zyT`eI#5b&mu2eGO+_^tC&hitRx9d$=-~Y{h$L>*y0kjYcXeB0)v)va*64R`@gGI^u z8k@PljXH=wPj=ggMU$8`uDR$Fla8(*LTtIQ@6G>aaP<-7iAw;@5>g`Pf5BtS5QO$Da}>Xv%ASodCOhDP!y8{2}pQ z*jS*l-H?6Sn4cq*Zyn6p!Xs?gHd#iUD{B|NEXPSN`)Q9HWlXJ>fG^5&(o0`tpV|-J z4ee7aN*<72IXvkktz75F(ERp9QSR{{_1CW~pvDS@miwuZzZ>{ z{*Lu@o7Bs@o;t~)FS?m+h}x~ssZflWH>!2oaPX#*OPE-*l@e?AOREL?8?MU=!Mntp zEv7y_-mE_z{`OQll>EXo*mICW8%?7wHRk-<2qT{ZwA68&c^hR3G*zqm-1h}}27L)m zrQfy8!LFDqv_|HE#IkOFh<%--Li!>1TZy}U4LPo#i5NEKjs9S<(7Mnsn>$z!x~02| z_I$M0O&fcuTlyt+Zjzi|Omya(~GD4^9v8|HOjd!UI%z zfU#$S9P|2_m$I+*7e7G<*hhY1{%?OMxEk8g_rS|I{{oo3_*Rfw z!6O9cFCD@@i0ak9gzn^=93!WFAutpWkGx&qn{IwrN!~7n{tr~f?AuoQ&|UH-yiBDI z`morlodn+C_M|?%%*dY*@7ekWaG+C|`-In$qn;dg+Tko<8Dk0TEgI%N2<$=|+3azb z{)Kqd%AAx-PT^4oA0plb-1`^yzKo&9*%HP+ z`9#l^Jo6QqG&S5an)|~g?9HtNFX(?hYgnI|<6g!B9Kq{~z*`~sD?lc^ZQvhX-Y&WP z*}p7wD*KliYn@M~nqzXBZ^dpBd)|aA!-NYztn95mN*}w%6b6oP)%y$YmA%f&7tk;J zrrTxT^ioUnVfx~m!|yWq0Q^w+lAPO2fD>rpKQ>gndY_bNA zelpt5zR|hF&CX>{Df`ld?nSOlmvP;il>4(?4r5)~lHFZn?S5U}@8Ey7{12Nuef9{hM&BVFPpTB++T>T9F^h#W*W4OEMN9Oq{iJotN13eJiW6p_V z+z0V>^#fP?cVteGXZ5X=2Pz8K~E32ZP5hweygf`87 zR>Q+&zMovo*<;sT3(VI5`_=Se7QA7mMxXS(3himoF8cr8_3R;mej*uXf!8;(AG~d+ z!W%wcn>KLv5B=_$uN$I-xA)G~4H24epUh`q9;XC4DhF|Hh#_YaWRAi!5;K{j=soxt z`pnTg1P>X;92I*{=(InsZlp}>5kp5{9e?(6#;yPSxt=n5?gP<};q?=_*XMPN64(em z2rsj#!0`wCVWXM<#6E1gz!CV_xi;4$=+?4VDVeJcysp;c%#r!zT6vz_47cJ_t!EAK zI5uBt*xJkp;vQrTvWE4T5$cF#vM$4+_M1-Np9?Q{n^kR-vX2uZQDbfW#6~=kJ?@ET zYsl;2u-bRpRb^++$)Z(b*n>Tv_@ihw+T|c7N?|{E4028>FFzswWBFgfx66sGST0xA z^<8nZT$Sv>C`V4j3^mq7U94MH5a-|`e~&+%HK+2Nsk1VbT*-N8!;e=(ehAz0686qL zs_(&6Lvf5J(Cq{d|1I-}xpWb_nA{5vQizi%13zoNZQ4N`%PVVXug+q@_89J;%f1}( z)yX%r(5dAc^Ig^9U~$uA{NsY}OM3C$AJ-yZq#Ya!|1hqfXKn3NTt}ROYun)`ciZC@ z>-fG&$9E$5zTy;o3*6r&&YLWE8RzG)k8U|}sZCG!jzIx&4|*&qJbvsW5p}-{jlmy~ z+k%%xM^BIcZQxj9@C5&U#>~XM%5&jcqJPT#|CBa$eub^rhhL4IaEiPRpM#C)KoYx6 z9G8(dDsxaTziKP!wtc8}H&Nz~#O2HUJ;>FIJp6O$zJFaM)Fo@y8Ssm>eE0Jf2i?OtV4q$|Zjlrt_ejtCL{F)_|AKRHS6|t)ziKWv zoee!g>QM`fGpu{^jqDAsenjU{37#16VCERH@n87+UbF5mfh$}Wku?x>kt7*s;wrt^ zj2-#-KalT|Z$$RM%DoR=rcdq>c_z6>l8oFVX50JOQ(?-JugRBd$dglZbbxgs-4((V;p*9;h5ASwpd&L$;MpRPnNJ)_<=O^sJ&(Q}_nEvGAE})4-CHif^X(Uun}?3J;Bw8h1-DW52>OeuU-;6x zUk^@UKCCz9LlQWb`LM&t(d6mC#*W73npr!+y^}m@SC^Mht+2^Kj1>=z{XS)PsGrX$819bHFU) zKRLEqL^ifFXRh?$JoCjwvn7SD}K-&;0!r&a0hV@!skVv9s=L@(hnIIVx~P`P)_zXZDp-v zExN(p?FLStqdviD4Y~Z~+}s|U;PX>?4DoQBO^EHw`INHuBzq*MqOTnVuR;2C486<5 zeK>9%@U>sjzT{^z-`8`06gaW5H|n;q#KHheDK@r@f4W1-eUo?$u`TQwif&8mXQ?JQ zXJ1A+C-UiY;8i|T7AQ`&S#c^Hc}dJ*aio@7I!H^nH%d#o#imIcBc`*yLfNfP+q?HJ zy;5V}1vwJVcmIIvQy*sQy!L+>>!J`Yh^gqyZwn@#!fyo^;dnT*5L*~L2<(CjAGq*^ z#>L0D%>ByP3lzneJV4)*z{N{k*NVQ*7(Enf+orEagpI?0p4zt1kBR?3)2`@IlB2EB zTHkXvR{?a`MBN?O1|IO};|#3M>ms#aiB%I@TKN74TpO*Q7-!t4D}fI~&wX5b^lrvw z#Fmhq4enF;A1oS#4jzyGnt&dgh(0?Uy*3FQJefRggWRV4P)0jvf5@JY#snjNr)!_Z zt>WLxygJhD<^MWxwbDxd!Cx2YYh!4~Ko@WFL|F&0)Sdp?_mB+Q~55xtn&% z!@fb@^?c*w8{Ztx;nlyh%6BU>4~*B_+Do5q5Bn~Id1bbBgzpaP-$XPQuzxU9IbZ)~ z3Ex~B_6>GM@%&2Ljrw;>FKg~te+_4^rF3`jZN=RY?$StdD2DQTv95WbqF}7M;%17;by;WP$;VoQ zoDb*-?NQtgj^|~NFP`gDj?wOQMV7X?*dy~zdWJrK_b7Z$ZgR* z@3tzN;3v81zf~4C>iCg1;zd5{c`7H^bYH+qv6l^7FWw_OiZzARrRe?AAMw=-{B6Kf z18)M)n;5&mX6{$rrf93kVR{~NbM+?q zmD?C2S!+mNs4kofoEhLJn*K`OEid=Bh}PV6RUJ=~vf}($gC6BM<2>8U17nLd%2eR9 zwheVWI%BD8w(RrqCap<53JfO}yuln%nJX6N3_ioftb;&P!6=9BHJ~Z` zf7w28EA``BfOZp^0|U2_-4&7G1TPX(^J8#)<~>$1ZF`fVw9nF&7SW4D&#@`p&t@w& zSAK-!;0|zHKIq1s(d_-pSJi_#=u1;X6AeKp*s5AMX;Mb|>q29fe98F+&O{BJ>Tm|R)Kd4bqmi^kW~>ua=WSMj~|M7jjuxR6HlGw<8|er{qZin6Jq@vx$>tizbq(wE(idrK z8`l`%vt_U^1X#q^l*1med$H|Z_GFje663O|u{&+Ul(u_SM@t;P`>s&7#J-chB}a1q zK;Kh;FU7bQZ{p%DQ3w~uU%yx2j=y;)A34K|@ zp6$`VZj4v7$9BAOw>|QXowmqXu1;7!&v*H(+w zuRQNKra(s$<9R6B=E@~b=>_O?4QGtNABrXB{>@{RyQLi;xq8ZhYr56(s`$`si_&k5 zNKD5Dh-dDndiI8BS?G8x^Ic&5>&d7orO~ObvVPy_=P8Gk|8=Omv}?r|lh1WKc_~V) zY5rR#G}NbCt^VoUcTHfPWnHBuK+lV)SN1ezPFPhx0(=TTl5=>+3Z5(@^mi8Y?^@)8 ze-v~E9d%70U&$Xzwq!y>`HJG#*duabJU%&-_P8I*d>B0O<%ahu6F2GQhGwpNma{Bk(M^>pmFVgUjw~&(EfgD-&vDd zcBQf^ABpA>npx*{7GeVb!}yHp{?=SLWkx4d0gi?toN^5k>9NFUvVh+XL8MSsP|V@ z&sg)G z_fkg=_d%=pY6hX#Mj=CO$Wl8pH5%C+!ca$84u%9bc?z9>cV3b)C*sUw6RqL=z&l)%m7l!^PkE!wTdTU|9gzq{1d z5VWWVM>57jcM5a{KMvGDOXLUfzc)kpm7@h7;qT!84E;a6bUHeh&|SuxI^E68e6wLD z->jjW(0w-d!hhF5qe6$8YM&|m(8vEK)i#s57fv5qRS!KcRN`yu#V;@ZjL(q&v7Cb_ zu%NHqU{jKb!7ALX(5`o!((+JrlIs|H6g;J+95{`6Y4evCiSDlWa|+4p30$`GjrQ&5 zz1hS6@x2vG9-<(6qVM~1&N8`tXtNVNV?REXGR{u&O{l4li?O-Vt#SUhSVJ$Pjln;0 zXc_u^2OoLxzQv1?HS~-BL#Dpj@HPFkk30*~&j*&QtXCe(-I5V0GKx7%jvaYE zZuRr^L-}SXI_3?~b2_jrT;i_Jcx>F347*X5#9hVm{OjkQ=`B0HU)eaL?2M_WmYrE( zlr3AbtX^3(ZcBiAa`0>B!;`kdE8}8fUGiV_j8pnIDXf3|@87?fq5c_l=WfZRKRL)# zsc#?rWDR>8OOX#!F8d0{mg$Rfx9o>LeXMnwxRtU+_=Nt>{2i(D;beWj?mWm^1bZ00 z(4yF5!cT0Bk@!%v_dotDv07S=J;gQCp5*c~cM8ZE)}LP#*-zyw8Ik$TBjc95G*eaE zD!|Pw;USD)BXCB`T7xy(CH4C8eX^djQ|h;=Njq(7ifh(8C0oXzm*8J}Wj#8{U!c7p zFjlh

D%#eg13l7soR{9f8k~pZ_EDi_LQszMj97Ir>?!_?N(M(p~l#JxAZJ8tB`g zy);h+bmyOd9u^Y=-NpF#LU#%@77OiFL0dZgpm!~YuH!C#Q=6I^KY6;h z>?QrmhG_4-3r;P&8QoXDU-0a6z;Mx)PpHSBy%_&I)~#Y(bSN>%edsWC06I)Pg${$jmz8GF zQa8NIq_?*|3>J$`DZEs42$MF?L&kp&ZN7FQxEe<(c>|I?qB9kd|3+d4rlRYmf`|Nk zn zuA(X}%drdKS>zK)*2jGXe4)$|=PIqZZ;QM)^}qMfw`{tt0srT}q5HiU(*0iS(fw-S zgmz72$C|t|XtC=&Vm^4N01wOQmydp}ps&rUZKn?cZ8@k-zu=6JbbJaTJj!OOb* z%C`*lmjl}Y>tN48V71Z4D<^`R%sRy0vMn+CSj+z^>aaw-+)!vEA6(?i4VhfWpQE^k zGFM9!)o)||N*@jTAO+e@)BOQ0jPuFGv(SlVq8rUXN1BeVbQQjaD~X*j*1OQlHj0k+ zr&o=b5&d4*xon;fdFCTf-L@^khS4K6JWhZ0-W^A-cKH zRR=m=3_4G~5~JT=sPo)dUH3QjgdFUEYa-B380VRjex>VQ^1p)r70{3TU(SEA3rgU3 zVvBU5e+m7^Ongx^cmF9k1$jt=0P=W&gWsx&D2$b6KkN zJBNOY-CrqoP}R!%m?h8DM>CIesLvj$i0;^8w<|5Ra*dNSlZ^9YOgi#1XA1j_o89w$ z^IjkOXwRkQy*{onp2_CD{yx@oiFwcaapr&CU1#$q(S&S5zlb=;5UDmr;Sd-4u4 z_Mb8K`1n$%U#@IvqMjd8j|ZBQdS)=k-{YCoGXuU*G2=X!2il6Dj;APN*0ly2$gaZw ziao1LAMf&2ulc0ejxS=>nor*63Lib#j-1~CkJ0#L;vYyy*NVQ_Rlk4An$#~xtx26p zJ2MrfMVUU@Pe!cF({*&%@Y4 zVl#=~y%HaK5j6DhiK5+q{)*f!or`y;*oW^_m1LJiNpYF${p{IAcT+r7mSkjD3Tw#; zJ!g-QJ7l%^!sqhtZv7p4AM))pWZ)j&8M&sCJR1Di#@ro){x(9Wuqs^x!q zh?X_MHGDCav9*nTNw=Bg|4jbN*oob>pK%jEK+aghwohk_#Ez=Lj*{^b`>GcEN^Gg} zbL#NrVp9#RWj&&=Z}!+dhHti)#%-Qj6Q?0s{7IjCyQhl#0pn0Z{^Wnemn=DS#FxAT z8QtHPjQt(*BcB?tDYzDU_aS7IEiA9j8(*;=i4WOWQ%Ldz2bn(P1Z2i=#v~rzDgNW( zA^&mTx}X2b^c{1a%*M0$j;mwZ#BaP8ADj4&#c%!Z^c^2U7Kz_j)($-A&Kf$B_>MJX z;%oR|Bv+K~H|G4xefg|o<1;R|B>2Ve7|lEJ^9Jz|T96r^AnO~W6LddvK6BcFE+u~C z>G?nGzT{k~)21>*O;5PpIm zRrmXfPe$rm3%y7k-{W5P@yh?WN6WTsRbwlpZ`fq+{pcOi*8*%a(R=%s+b%X_zjD%_ z{d!+w{Z?`}>hM!8UHr4;>J}X2@Ea3p^VHzWv`5}<_-C>4`uk@E_tp3SYoJlh^v~kQ z?eWhNb0I!RiT9B;ro;I8EV_R-!7~Ip?i_NJ?w?JIjQ5DIQO0}?d3tIY&lC7)cg%lW z_s?c=e-vM(&uVceFM7N?1%3T7el}~G?w_52E?61z&z6Fl8cY1nP55Vjj(;q>pD$H- zn!c70q5<)dJ;QtvST2KKS7H~)cz%K|wwV44JWZTmgB_Z1Sukpf6Wd^VzdCh)ZdiTf z0nzJ|y2L-59`esh-j~S}>g)FatN3SsPF*F|6u&y5uKrVSc$hlGrV!olUGi5nS<>|P zGTt5dWTWxL#(Yq+MaFDql`GYcJQ2Av8v03|b)m~PV+=NQf3 zyMmhp|NHT!+OZMDriFychrI+0NV(87yb+ ziCi`PmfhH2$KcOt_$>qYEk#y$u|{6LL}?ShWe4Y59LGj{C{vlZ9e-u}IU#@L9kzx& z7W|dagAW;+!#Ki|Dr5|2>HlLYeEgq|Y|Mv7I{42z9sk)Yh`&)}qxYOz(#wgBoaDLB zqSUe94nJek&SdR|ojt{{xqW=w!F=q5zG6cD z8-H|+D`<)FvsPZb|FK86jD^Pyp61Be1HZcOk`?v8!e4RCsQUVg@cRXMcK;<$*MG2R z?3U*9SJYoLUTGUrP>|FAIldEogi^M){zJdD(k> zUjO^CEeZ2^8Dop@^^~za)%Usw__mKQ#_1^Y&K$?L{vN~zGUl@xmmxkS@p<8gS^YNe zgx{1PgR;o=eG_u?HF$3czOD}N_G9S8@Ru1e#JiAPigh?Xrs1w7@Syj(w__vEWX&_5 zvpTEoO7VYCX9+&49AZ{&l#M>$kt6cNlqIp}7jPe2aWyckIDdKl;6?Xs8FK6VEh`yo z`=ST747;^r%N}T;bo`3?e05kwPL(_LMb_fuE^*cmD-xbDq~iaP_U`dfS9kvZXJ!JK z$&Fh=AfUM*k_i_@E=d&2B=M32trfCWYug0a)`S5qwYDNEf!H=7h>X(OLcdFZ?V6d2 zvK88--QN8Qd=}+ZUla}iq5!62S27A=}zi~~@u)qVbvGO5oZnHWh zJ2~I1VcisBON$|M$=>!FvibAq;X3btjvHFVcuHOoE?^mV=cNUgcIf>MY;0RtWBb^{ z-@t~lY{@kpuVY8EcwXin*17}R*&EoM^o`cQGVE!>!q(G%=n#`1Hx;@}rQCJ2XPqnk z!}%A{!k6B`P76hfAI5P=fk(c z`{CinW_i72Htc!9>zey@>>%Z&daO?6_o8F#z2&Mtuh=|)>u%CK&Rk(H<2xhT%@9^BcwBt|Y9U`5b_WaBA^_#X> zLxR6#?FOfRZBqtoOzGEL*OUWYH>Hwq8Q-U2yV=11Gt_xah6}xAcyQVDb#~h_t|EgnU+M*;=MGVJ zum37!+T^@qzpt=3g)yyqENOvPu^5gG4bAOR1y! zv9xj3kBwNcl)C0kO&b@yk#c<2;nWquhfmSA)&~E>zTEd2Hw=mlxW*BEqj$@b|)f@;_99 zH+CDmvBupQmwN06I{T&md+C3?j}J#Fx0>&6rrac#ufMzk%G144-yT$EUz7Xrx!R%l zHh+X04JgX~`$-J1IR}s!m2a_kP`M+In{A$N3tDAdk^5Fl9RVlss!pbW0 zS5nTc_(|}OG}&#&$Jbf^bfC1|HN4nGKl8nrAv@3Lh}xubEMkn?wt-O*KQd1pSgc&e z8GQTB{Ah-$vpoK-@;1JoT)fa-wxgSP4RtAj9o?y}9q+8NN~5c6tjV!a#7<`%4&s~f z@0}9TIr3vo@(E@thTg`y^L?|rC)^zN(l6@RkpGj6kjhs~j>cYaUYZ$GKV{6JNB`O>WZigKH&Jh4vF}l{W)3-P<^&jgt(l_unwiX+iLqwVSToC*&-XKr z-(bzW$eKA#*&`nR-sZdymK_-pNE=u1F|C<&vu5tRDP!F9k6m0d<*bWzqhkq$h&+Ayt|0?lEQk)orA86tfKXznAsnhpSAK) z`3J9+;{;^C)LJ?5`46uZXFS?jD+l`5%96i(t-La*%(w6Och(279V#qy-dpPfO!~(9 zX=ULSck0XV=9uLACD`Fx+}@Xitijt{naJ*`vBuT&&M)F!4QWg8m6TzB3HUNw3y}Gy z^(1ZlQi?F&Wvron2FJXRZ}PmEt&4c?r04g5&%bM6dBgX?Qj2cG$}LjS^LW1_Ni@|zbOkV*3dVpJBj&lxmZJoqjs#JdVEav z^h4|Q7o^pXwx8>`_x=FS>WlQw!F@SK8`YP=?fmg2+S%8na}plL`(nHv@jUH?+;j1- zjmYtudnsU)YoTk^SDQDjg%8X{7nrqr?WS#SK6b=^;jtswch2;@_4xP8t*Y};#!|im z(V&I#RGfnzaBxx1);E*aiTiM3u@zd)^MYUEANH`Pb5Cy_{fUC@_y%`hUs%aG(mQT~ zmsY?>IhVn>TJUajh9Qzf3|Dg7H#XN!8T-~@~-Pc55(K=JO}>{TC~v@%@5J?qvn>MHiaKQNZe2E3`dXM zmXXz3PRxt`d6fNO zWAJmu4{+#msr7!>|Da!HUgb>={Wff`cjx&q&+k8QsrWo;hl#;u_JYE^vQn?xn%R6k zyzCpUGuz-T1y2M@3mXHa-4iVCT6Uo;d(km6Bg2!djq*>3_c$?p_A)+&nE|d{DJ$*X zPrRb|w^i(Q(O3D7v$JzKZ{>V1-QFr~od4ioX)AFpBqwQJ_Q$HC9>vjG&ii)716f!c zdWiM4s+@Zdxpye>tke4s{KV{k)^*(J!}ndpe^hz8Q`f{FQ%oe<@@Ix5 zXW*-~<0(wTlzTfb(gPc&#`Mwd%jG2wC7x^O=VuozKe=}ei<5A ztWg(je9-w#onJ7t`4JeQ%fy4*pLX~?d=1CIRKMLcB-8_M--nO19(lX&>(#{K@$IOq zCBE1K7#rH!!Ds^V$4D{Ulgp10%pu-o`cGX3aIzMbD6=Wi&_L-@Oc-=E;m z%kO0V?%Z+wnXVg~-h5@w1p0Zb)wiR2UgM4DS5=jM85{0_4<0`fz0cZxg#E0N^YywP zXBAlH^81imlC9os=Ef0WXo;&P`QX4`6w}R$1n$6Yk1tg=#Ru{KNS6_Ye*^F9-C3=Q zm+=keiN0}TV~g_sldO6CIh~Jk#<{ug@gvRuXzhLmn_FVN#}`{QEAVqI059Ow`8~=M zhF<>E#(9!&gq0NDY*Zwo`tXAvppCL)`dt2V{(n68!-mPakJrkSpZ;5udN8rNHQG_HAa&gwPm=d4-t z6!9T$=DCIEwfw$?->v*!$L|V$f0f@~R@Z&5 z-okm-?z7xm0+s+wGH0IQKfk!zyLl>QKDwCuH}2!!F>HSCd92fE7pBG z&&XV5@GbwHU=xR0oz?V7`CQQWOZW!${kGc-*5TJv`9^1uU;i7z8U;pSpRP97)RY!tYyAcGb3E)pA6Ps=jOGybWgH+eR<){!c=#=teH8C z1$t{l@qzuEbMUgyb8m2~_s)R95?A(dUoBXGT9-HW+Do4BapYauG)%sP^d|6FwSBHL zmHLklopY%*v2<%z*PYB;j}@!Bg|gEuQ#SUH((Dm|j`PH@h`z-5F`oDxW0Ix2nNwR8 zZ?kc9==1n9-k1#DlWz_ZE2tN(Lj0fKrt(e^L2xD*_ddSBzATQ@(?{e}^`eb;9 z{C?zF;6sPvd#%xhoK@?uE07(U7yn-6KY`xXgZv!BH=5YKy@~B>%MN{vJbM2wd3tD{ z>gai-sN+)!?HZ8B8WWnXJhh(;zXeuX{hkqTQ_s=r((B2`SzM#jRb8R;E~6sGCz&#? zb+69&H%n72UBLdHDW zP+w9HZi92Tv2xz!L1RC3=y{~Dqwxdi41T6C&6)+xFWLWuF+P+JPV@ut)ee2k7|@^d ztO@nw5_CC~-<1_Q6VIdXH3nKsIgEk6-{Z;dP+vyTmuHgIhfy&<{qr$Lb!KKkk~LFz zXDPjb^BVOToLi=Eqv(g1{vD%#iu35g?p8<}%sqkF1Agqet3z}eG*1rYx8;O>nb4m1 z;`n)|Eu%cvOfPjibvA=**4d*atjltA>M(WXp|gG#n!J=yM*__`n>{wPi#nYC3ZJj? z&A2&z^;)w;J2U?O-8a)&t0%#L+?5~R+`T@~QRlN}!ndB*TAj;$KR88po)qq9X03AW zM!ZC8^&~N>G^gs_3!iTHj6V0))#r-O!$X|@4`^HC*wB*>4WY*<*2x0er!{gO8=Cay zYWaucN}w6GfNr9j8Vs1SDq_=H$Fyv@P+|n)HNn_Q@nh> zzfSz2a7A%Plrecsv83YtI*yx#hBx$k?H??sO@XXgvdS+vfh zw6iK7e)%eKARejjXa?s?{Gr1-KjY!-R~^`NFWA}^?119++7JBrgP(t-u49VM_+V2I zj!f}rO}X%!M&^;etD-&ae5W#XHva@?FB;iHOd0s3%{%bKKPPW)QsB*=F%a1s1YsW6^WnTKh8a09CM)!|RV2{Xqw{ND8b~dBSh=-|;2HLN7rqNDp z_NJXLQdiyfGV@+#s}0eY-JNyM*=arTc13?h+V||VgHGBJ(q6RF!cN-n-G;Zn4IOe_ znXv};)oy6;8|18Kkmod4$Fi;)iI=Clhi?6oesf0FGddjIL+tpU+45~7h;lHf|T(rZSBPP}P`xIy3Ka76T zL!P<$E`JnxpwMR-IixV%GVz!ST|Bei>S@3FF^=-oPV-Frvi1Bc<_hzIHQH~B%ZH~K z`_XZ?QR#pjg4-z7k?=yAQV$8`$ji-NQm{@KTlCu5VrA`oHy} z^X$?0_P4C}apv0y-?CqvV_!U-pEoh|&*Xa|Z)|8A zFC%I1=*U-{_FIY{Jvy?Q=Y8sXW2Wh=Vm3TVS{w3+MH{D6p7UPs9&+-xjWgdbck*{T z`H4~Bq?s~x7JN+PJ}1q5r&#@CBa580z{n77|Fw(1&yZ%uzHxXcK!3{kyW2_Y9&XxP z<2-i_3+3_t6V7vYx_Q3Md2SmK@6+hWtxj4%ehy*FM@P#0(?*zlA9J4b?0T;6f6g=Y z&gPkMIb_w14~_T?_+xzN7O_Aw_-)$UHQszTr9a;l=DE;$ZnU4Ta-O^G=RBVC@X4F9 zDepHtn=xmsG)`l9{>bK_C$J`hK5e!4=VSd>z1SIeoeY=>W;e4q6;oY*ZrDw zU3A~CN!Lx`zjR%6->*s6Mfd%hbX|1cuSwS(YINNII?baWyQTCYY{fc9J9oVGMa6Lo zz#o|RhvK^LAzSw~I_)9L)_o7TjP7f6+C!GD`yO%`-Ph=}hb&w7J>)XFuhD4_S+?$b z$Ype2qthO;Y~A;e%jmu%rRN^9Y~A;e%jmwN>@-{VJ>)XFZzg^CJ9OP)^U-}%_!d1k zdBKk3+q-U@fG$^Ibl=n+-S;-$`2MQuf&FLS&wBja5BGr6@IMY;21A>IpY=V@_@eqz z#1bW*h~MRXd5gzd9`m$ps>y$O6S2-;mfTR7e_)e0Ys;o)_OcTzkZ0g)#-Bl%xnLOd z?8|e76>rXKS-s%WG8_J-tW)C-f30a*Y0WIb_tPvr9KQEcy(g^@`}r7rluGwLZ0-Jb zf_^U9Y0+1x3;jIyz2tB=b`fki8}7k|WMb4a$AsVf@8g`$WnI{D;)p+oO(;4KJjiBr z0`OH^(D8(~E(M2X$G;gHX(LaeCmZ?N>TITeeG_uReXm-*+gT@zyFBLpfMd+dFVsM8adg8sHs-udi6ZzZ+>jiYEITfpm2-5Nglg>yfw!XDse zj_dih{kN0`kr7{`A3t`v`R@+3F-Pj&T93{?k9m{5qkA!HY=0v*7p<)<{|A&d#F^?cOAg@W@@ZN#U7vuRY`#Jgvo{#eU zSNr(@y8AY_mH7nuox1k1S4Y7PXZ?e13woyfV*933uVMtAg)ikTWUhiURz45%iEU#V zLi@noD{jIueM|gMccz)ECz8v0|3sU&&p-FW6BSnPpTY1?z)oWK-D9u;r^pjnZ0-6B zbsT3N==(pL3#~xi|j4o`QFXd$Yzzu zV$obrc)^3^;k&Uz-gC4f9ECpKA?}do?L7SC(QA^z-z3i)=+)tFCaoW!RNAIMz) z@W(n{;O|oltk55si?6tnQ)}^Cw9UZw;>n8T-Nk=l@X-^FdQxIt#G#Q+b(FPV$L|At zuQJ;Ci{3$8wu$>TNyxw5wDA}?yc4N6 zg+C~^dS8Fa>U@fI98KkHiSzyr&YJMPh4j~-3UsRd9~1|A|1ymGa2U4(t442bME3w| zaOMdU9scU@UGtndZ(=@?1*}X zMT9NXdbP$A6Ak^Qhxh5|{11TrdkvlVb#$k0bSJP*G0lYsg3C(6$yV{lDA&oWce?xf zfncztfq1C7u3^DEbc4!afzAWy+mzQ8zVTxpHWb!7z4WP|f{jYxUJvWmS|GOyxuynH75p(#Hj@&e@_ zC9mwJs^@hu9!rBuOI{?8?BqH(uIC5LyiE%>a(1Vga#k^}TiNr}-hI)qm@L?{jE`RXmG={)H(O?X5tGGlKg;G*$=vfkI(l<6{3L4T9_tjliEOyC z^MO-j?xmTzCws1!b>z%FFXQUeVKM)-zl+YAYXQb3mow^a>^!GfQ_U;#SX1c{^{bsV zDZ8{V&U5K=7~4vex%oPJgvMkuW3eU9pQFqnhqrFS?ovoThqr2;Mo;$5TFkspBmK3e z%F@aF*BFk9w`DLd95Al$Bo{wV-c!t>m$55+&!zER2Hnzw4qYT82Fj+|eYr|=%I?Q6 z&LDzSxT_CP|@3eLAQt941FY4a2 z(Y=eq?fYHm-r3TU(LA-oa-VzhK{Q1KG}G9AD!Xpl$}Ls_;u{GVozrP8ANFZNo&@3 zH;{%*qO`E{-CR%ScG*&hM|I#R@)EL+_T_Jyv>}oGr0KaEd8~`yiLzbQzha-H-S~9+ zZ9-q`Cf+l#f#3GzgcIeyhMnv!(ECNoXk_d^^!`Q4dShT&4^oyjQe|BcPLvt30ht(o z-{~)F;QNET?>-Ueok_cNC;2Ea5t0dODUW#{zax-X{9BVYwo-=t&2Kl2!(KHs)IAD& z6+Z0$Lwa9R#${uS2{+`-qwPETet;go)9OwNdGE2L$L}mRb`YI$A0L^>oHJ9`Yg3xO%Z`k5(o9}`H$F0&G_xkUlS9Lu-dS zBW@>OTdHZx2aJI!zcIx;pXb?Wzv@5hyl?ZGGT(Hb8&`RfagkboSyAVAo?Y&r zoab))x!ZXT*zNc)=eY|S$dAw8?@2TE5!UWH+HJ--;10DoeW>%%22bRd_IEq2I!~zm zZeyd_DI3jq`K`Go+SfVXG`d17oU*!Ip)WgSb=hV8$obClgdX5s+(xt0YIBEzPQJ#Z z(0a-?a=XU4Wk}RDS`Df?3&VFv=IZtgv9x3JbVEm&OtXw^7unvsX z@jv3f<~|Yg%smu;)H8TJ^L%BX_YZo$I{sWlj5R%T&xd)BUj1u5e+<2s^?*FtZxfaM zUp7%}LEz$SeB_>Y`m&whn&a5nm-|=`Yx%1hK`hz&hK}5cSaEpg;P+$bN+>uly zdv^;yfRor3mX5bZE+Y=Y1LFfvf1%7Bx_@g$I5?y{oC5EZkJdLcY~<&IL-6@5d7z{k zxm5mFH)pX9aE>7b9$JfhVjfWa$MXo0*9$MHj=#@GhEJI}Vsil5!PKvPiRWr$ zhm*+WZk27Nn6e9a_jAgYY@YJyh|Q6PB^^b`6ebP|yuLa;rIquDt>wrRwU#YYR3lTQ zB*^C4=Omj;*YiHwP8szbCy_-}h9CK@k}~R%bL9WU?``Cglz17E!&WoyDagd?o9-N8 z-vN7Yv476`Q`%_ehIuw?+7}t=JexIb$DK(h&D&PS`2|<7o3kRKjrX6+I{iu3o%oxB z-JBgUY3=qm-sj6YlSY(1(v3`^bgS!@(nNZKN7nrUMNVuZAF^2?bX=?c=0!GJ=zxv% z7dh(J{vkJq<%?;7=N6?~tpUbdGFKhrC0^&yOy4Fxn?7Od{9~KLGx9>O^4pnH#Lp>m zF{gB9+Xr2I#4R!PPmCy@Mkjb*&E;RGB;6b?#BQYTsu+9eO_j)nk{g91)7)Uc*yWmH zm*uCOzC!kC_Jlm>=CrR%{M))d^hIZUX`9;ngM{|!`TIOuCHS5hH~Ax9BYS>Ne>0n1+ z^E|bw)kSRGi5cjhDfpLC@gb$Rst)hEThC#KJJaoH+@$BeisZvR6Gkt4|AB0LDq}b= zFcz$94w%<*tnu-jNl6YV#zskfMHt<%_n41!0L`+QkBO|I-YEDBgVpE!fzHRv=67M` zr^$aW<$Q|r?xEbf@zvZF?wRn(Wz=Wzn+LHK7hb46QXjB(_Yi;S;8gqWORbSt;bA=! zc)!fMIXcYrXV2?X97C?_&Io}E)lZL)M)LNd;oOzplbq0Ni z?#JG8tJT|XNp8H>*j_40e``W&xO*IRG_9M{_WA zcc}eWCB&7||Kjkr#qPs4RwyTu@>y$Rpu{RxJED{E17mwxjczv0#a%GiQ+8!rtb;KT zm+m|G)+BQlLRbKev4w2^wkNX)-ro84_LOjRyE_!7jefQ9Id9ms`#E1&ZH?Aiy_aii zbR{+;>_dSwPt8$(-)f~VPgxgwnvzNhy1k*=l@^LTH#^)zKf>Efpqu^=?8krN&#E!wh=oWS>te~pe-Q4A^WeT~WZ%d!*oZ86?WhrfjvV-GCccm!^o0^^IE5GLj>y(o z2JW){@wy|v30aYb$Ln6&#NFUM#9mRqW)HP?>nz3=%^Q5SN;9}0${0f#SvOW58AUl~ zldRoS`A+483+!^vvA6$$GoxO3gWA-9E?GsJ)_Q!cRkUdyZTb{#TID8w1H9)Q=Hws1 zl&KE=_U8K{QQ9$@_Kc?NBI?o}A-{{_*y)?M&?mxweE5ieHD`ES+=IjSGfn;!-gzUV z;cwlH)3H>})cj`5fH~HEEV-DNtD#)%g~#4R&v9r3P1>7ApJN~0;1iuDFy<4A!wzla zhcvXw&o(h%dbUHyRq5d{H0imI`|O}mB5f+6P2jEM*>9m2M z`@WiC%pWtpHKPWO-+v{~Ze{$;yA1<*QP-=kaz1fp|=^A zU959cZvKt^@*gnZ09Kl?=y{cmON%H}oYR(otudDd;Jc4fA{#=G|XRAd8TPmm9=`)RD~ z{R*DSI`Qh9T%3lQbE;SKZZHjzV>Z@xB^R5q-Rm|schOz=gg)p!V6H;*8GJ9_;aTh_ z@5=9D{%1zsg5f z`JH!FMR-Cwd=nm8XXXB`5*afW+o&}*a6a?XR%V~a&AFMO$W6(_>~@)Rn<_7NHF7(A zOlKKAbx%G1+Aix|@jD{nJEth)kz!efQL_&IzmqilQVUdk_H9s9>xBaz2vHgiu3dqoj>R+J~?`CLLC`8J}@ zm4(|UeGJ?QaYOp=fxa>9@EyPCK8bti`rO#Ztiw9rQa7|Be4IA?{$8E)yV!oolfHE9 z)fa9$@^ji>?LxK&dsqdY)qjO|L1CGpK5E_~uh(N|q}R@1l1tF1e0 z#}d14dP@#+P^tIA-A8=9^Ybo+cXN4H$+`IGFspP;LVudy|3GWS+;n+$&x|+H`6 z>doW)E&d#veshvT117q=qmWm6Fa%viE+|BQaa!9ENwOK z*Cp%h9q*@__xK)6Sx@o4=RWYLivy+LCyVBy@8zSTc!}Q>g;)DRfzlppc(Ijlx5Mlw z-x+Iowru_b(%;VNKPzil)=1}EhjZtT;x(PCO-4rdGXFSdypmY+O^P#bpS$xRi!`8j zOE**BpZP5JyI@numuX7mdjzOVswFa6wqa5Xovgu#{8D$$IsrtG&bKK3C>HfP3Uvq8Dgkpi{IH}mA=K@IMF@yi@Ds$U1Qx}ckO6QL9Wl{tTOaMmXDuR=1yGI zv!8RC)YE-VXO(X;bHLP*a8}tmm#j0@J9S1`V^a{XSLYgjgzm3%%I`nmK^ID5T!t_{ zLm4OdMEu-;EjW%@cL&0I+@nogdOMZ@c9J>B8`yPpUI<>ZJRfWzwwg}wP-}L>Y|e8R z@Rw=LZbqLHMx^0pY`5r7(tQi_ZQZ+VoHbK^s->LWJV|?63vLeQx>8~dWt@*iKdeUg z)j5JC=-^xMc@|)EZ{fL!J}kM~9d5v8bQ>~^?A_e~<71Ec1K2+JW*Its8~L|To^#+MH7Lf@k=LGU4* zD-Comq21`L%jb;%6BF;JA3Xoye&(gx{ai=?)KB%X3ZLBCL490BANOH1YDnngJo@KT z|4QTSC;q-{18d_pidBrQ>0e3wJ-$r!uQ9QI)YXjr%!@wXjt+6+I?7-S8#rI}PzroA z$C4c+Q}i>mMArODoQ9Qo4h^$oJ;WDt`W7v)Y1ox(aL&Jeh_SHghdm!XYbot(Wc)>o zI_S4YajLGwrjHD7*X<5}8Tv^t)1LSvVmwM8V{IX0YYk;Zeo9*2b=Gb@|B>Ha)2*4Z zQ>`2*2uojyDLef&fH z9TRCGt*yxJFX!<#28ssuw}(0s>A3x>fppAB90%^&OB{#A_;pUv?|Q}|3z}%W65kha z$Ig_zvhb5&@20V)g$-!KF7XuW^;*VNx*V~6Og@cc8|z*Em&S?2L2r1dWHs~uq{mle z?2q{2Lag;y;J;Njzi4cuKE^sywWy@EAkbTdeN^Y&*W|MXXit@oyQ;8(YF{a1?k%J) z=Xo!5sk(XC<|5fdu}e1O+Rwr(__5t>kC)kCFbmvIz#MC(%m&KTy=PUA4cj~!+(PU^ z-^>=~sOqhPk2GO_4yLEJ2CdZA#q24oh)E^fzMtWFNZjyt@Bil%PwbLyqszDWh**+73Da6%Hw(MHgIvo&8g?Ei7zl`eVNwG zweS~wb;14M7c`f3HnJ|I@kabAj4SgU{jFKD^G)r>b{QCJ&0Iar=3zbf(3*?bi&^{J z@!ikcdg!axTnp>p&-(YlFHVfa#!2~0uC~JU&ibdF&iZ+b-^jchxKHTsKDUS1_ilWHML~Q1 zV52krtRiM|ow0$etBPP z4fc-~=0PDibz!Q6z2hGd_vnSDpbQ{~OlQW6bq25@zBgnCIjdRITn-(4lnd5TF&0urp!31Q0@zaQvwUOh*gfc% z0pzr(hrSB0h@PKI%&{=Im)+Fmls}en(C>@$!RDFEq?0A^%y01A<{ij0s_El^?0N!yTDFZu$#k%G-eZ;7X+!oz)$D@bdX zp6wcM>synocx*1@8e~!QqSN_-@yH=o=xQfF{(xc5?|%QDFOuS<@m~Ieq0Y1UMt;WB zh|5Vcx{~cfcz;v8U8G4LI>$4*)@j+qckulh&?3}ymOxIGo521r|dNPl}Ej* z#~bAwzrwM&+>?rb4coggM7tWMioby=VU23vZSXVy<30p0_+0VN zykY}a5?EE(UF=Htot1l9!K9yb1`tngvzRJfx0pG3h$IEu*2mC5qK0vjZ zvdw>|orz_BgYy2?eNr{I1;V;3w1IKSMfQBs&D`(0r4)I8=EpgoUKy7+yWt0g$e`W= zYu5|It>O}VLjUxQ5}Z;0p2OuNw{a}92Ngy)hL#?>My0gud?r|U4?1Z z>}fnt#xK>1zpjvWeWc~x1s0RJzx#aPkmjhmX_k-~TCekox# zzMEu)_HYMlU=lnMnstB5s+qLpb0slPYS9$@EL+&adPut(J%8EQ?VESQ1HS={=2hNT zGBuBV&6Pz=w)B|$)7$|vKG6F;{47EE=qmQty{!GKXm9Yb?VEpDAMBWVl{IrRej9!7 z1BW?lc%XMjdV1>)@QAzNhkM+~h9B-=KYI;+m_^>z?C;-WemP}YJWs`MM;XCFFgmUI z*37B&eGh%#4xdze57OSHw3YiFI&b?V@9`4}V-_ZTYGI&v9e%9m8H8j>#1y0lgi%YDY^_AAFH^6%Q37k_DjE`iL?~7+bljafDu43lH zv(Uhv3)#U%?46&iDGMLNC*u!bhhqJ)Mh;iQpL1L(tv85AGaqyxe4s+|=fyie|AgLD z=b8Jv7}#s!QV&c*)+Qde3;Mi`-Bon$#=cd~^LXg`E$AtEshK_RZPv2xa$R(_RkOvN z6?20d{>73nmAIfIxODbA)>AbYP-vEJZG>z|&zWaD~w`v? zLe8wj7YnT=OKHFJJvIh^ZbQdO_B;9IkTnb@Gz0p|H~e$@{Bh{(;LYS4KAEuJNnX)@ zCx5K=yLRY!S027nGpDnIYtTb9UY8pyjT5@WnLK!f#!6#XhHNG~b*}s|jF%5Oc2I}X z^xjFYXaD$G@V!<0;NHHle>vV~t7{_sy}we`UPar(3h9Fjv;~uh+C-IqOw4b^lji&Bu|6 zuYsm&n~$}+fi`H3>drw!_dhVd6~7X_@^HhKN{VPRn6sipC`7a=(_Z=;hS%-U)u2+ zbe#fS^^G5WZbE$BF0;~Gw@VJSMhsZDjy(H(oUTRCRkF?j==zJ_^vx`SuC=bTUL zd!qOsHqT6pEcjp`&s@oKUWqMdw8#0S^lr`faDtraL0=gxXN-k^Xsv4O_G9B0&l?V( zAGQHmfmo9xcyH4keG^=-L-%Mwc=Hm*eHOGr&WZEZtl+kMt41;FRNfl&p=+U)_^ZQP z6@@0OdHQTpxadFmR$Y$l4-2R*BF0dS;opKV;Xe(r7zvk?a9a7n_sA3*6})Yn+o0Z zjSt;v5_EedomiDtM(fX@Tc0)5(Cro0m;ak!ks?*Sbt|2 zukNP(bLv(%&gsEt*^qAaA_w$_NngeP=lE~aiSc3#9Xd5T>vK}V`edvwxjxwoo%PwG z^_gSOmz1llaHiMl)qHr8dbFo2{s=>PFv!A$x6Zgf$ zcN(s+b(S&AyWC_jL&$4cD(BIh%`MQah51vTCBDdg$LRF;vu{a%(LONE@bin z=OIxpEa%x8Va=2+UN$Em{m{7dx=CZ*>>&+ZjI+6pE;jI9F?2D`=Aw&1>;2CfT?V~KSfO;}5=aaNV9dLwgG9L?8IY!SWkjAB zkY?*CtDH1bpEt77dG6O0QzBn>()#5+dJP>yu?tjH&v?-KN`c}^O-rF21!=`D6%Xe7N< z<#EU8htkp_bDX@UJbN6AoitOPop#-TyozU(8ky>R*WZ@ZNTHL~-I-!NFyp*Q0rxfthiLQHtmi_g-96S1%^ zY@sRNDeD9?I!joWDE?cW4-K$xr%_iUamdhjOY4SOy~b8d%=$$9YRb3DI)9GbLtEzi z{FXoQ-Qe(G6rsVzBf`!nuYAAaZ-Ka=h#JzeMjTyWltZB zr8MOQW`sVWyj^x)>nHYqFLaR3mRfjII1QOi_p4=GD_Ng2h@SPEgvs^$(>KeuX@QYY zz23B&&#`x$aqyGJjlDx{@kYiE!H2wmD0s?D@RV8D_C{ml%f{9>2Akhl=5Y=_)}bNE zS;cWYLpgU--d&XYNoR(0t)jESgn2xn=)G2NC2bNmq&pkG zYtxf+`o4l(u`-UQJmD#AVg4ID|UQ@Jv z4$KdAMWH9>>JAy)=1RWBw%U)|q;2h-x9WkeVQ_Au<1tTlxPtba$3D?}2mCOaTwKc? zURCf2?jAEZOSSXCTx(=6^nRqT^2nF_>W;jdZ0)|8b_G1#9|O)Q7rkoD46EiIwY?(H zI~v*Xea2b&>iPaCw#9|a#{*z88*&3rzsH_`Z|=h{y$Z%t^)*qS>M0&#?Y@R`7m!ci zR+(?T=G%L71LoU(=nP<4B0l1d&BeyB4SZ?jkw-d?qVKMz9L2QS0v^zXUtDGO+;>ZO z9N+8Qb}{%(or7ObdSq*d3O$+Lfp?5+8BjyA=yj)(fOmhpBq z=7M8kPBXvm>;ZF$ZWTPg0DB(3EafrlX9}20!w2K*@As?&$?TI3Y_iy+qWExf**6!V z(?{{+ID6D6_7sPAF`&lBqjy>CU+wa7q34P3*z17#2R_LMu2MXuXZwfy=wKB8iGFq+ z;antfJS^soXkglUiE(fIb#n366zxajV?Fp!O}#4~?f8GG7cbOC>ris>cbE^W+~Z>l z@sZm5fx(e}Xl&cSb?QE(w;n7DpJWZ!VheS~qnEKh#~4-|>8r_MuKjO$vE-fhNpYS+ z+@eH2JfC(4ex6+1%syv$gK(jf4E}NFMOMZk1^UC4nWh&!9a`87N zW501Qq5IvX2R`TnTY62%=KrQlaEcD5GR^S2OO-cOGz3$b+1IyoBUsSr1n`dw49@Y; zMLg)`^IxI-`;&{mMZR;+9CGsaV?i&UKVA9vGA5p(A=TR~OykzS-R|f+=*D0xn&Jp#zP>+@FYxc=1A}<6J_kd3`Fy`1UmaMp=9T!l3J&B%U*aq>{K3b#`A1|qbY#ru z#<8JkVbM-wo=CqRseaDy9tP9d>>L=)YY{sx!A~?{TSA? zIEFPNtTPCS{aeHLIurA4`X?Q6jnQpgp=0bnKX}II_&duj$*tof-*=vomyf}_Uf{WJ zzXvRs4>>Lcc`g;XE)DrE9r-W=`Op)}e7~Z!6s)1{SrT4!%Lkq_0b~?m$&eLx=HI0A z&SN8Mgeyd*tFyqwA%{rUxUll$lyy60-bUH;sG}NLu?ifXeMdSxc4vN}Flu8X1xX+M zy|8%WkO|Jd3)Yi9zPoQoXaRLx&)+%DqraVuyob#9-n&-mIPFK2$$qrc*^f>jhpBA= zaCi7zm^ay>vlEiS?}Cv%-Yj!WU0H;0kLGjlRd8iQKC?QmCV+k2_tSON!&YhlWmWA7Y=0p-yxj zWR#&{^~2Qr_44pU>dZrSZ17l|@y_Hv$MF&QNlqd2y}>^GIy8O{o5%~SjdzKm(RabK z{2tG@b6)4H!grFnpKZufIrBWNIm7t<8os8TOO}-!<^G(7$Ok<-TjEJ8nubgzzWFv~ z9>tfCM{EK4H{QhtB;S>f@90PAsXnVT7yrOQ?1hQ_(%4BpXWs%3&3S;}CB~4xy!i<; zezPA#u2g;az9O&i`^0_a;9TSM=^kUSp`y*(?4h#fCDOR-HST=D5Az;tFQ0g@W?d|t z7RMS4jbja<-yquk+uQID>Kc3}OQk!nxH5@5SuD;shFoX1gFW&xuZo6XXL~G#dxX*! z1i62uYGUd*Kj&v+oJ$FE*HOcYhKGAbSr03oC%ExU<^Nyb7xcHv_#fUEw2%3IsXI`% z-9GRRl)2o?BE7m2n)u^)x>RvTi)26StQ&MsjhFtSqdjb75|0(S3jK4)kif5HJIyDb zFr^;Gt#we@e-E~F#wP;dRh)ZkpbZvf`0@Xwp!2Rxz?SYszNx$xpC5CvdM0r+^01$K z!2n|;sGLYlGUPAm%d&~@!v|X>-5I}%?kZ24nkJt!w%fFr?6j5mWJWRP7mT-hYlriP zeOC3CgD1Li_wheKRw#?Ht8_xEOw+ zc_D04z}tAELz6AkC!19Yad2e^%H`V%_6pHXV}Y$=`D8Gb+!s_NEU|au!2x5ohH>#Z zG@NMDP=2=w&`^C)ot3mDk%kq-pU@m~-hGocjG+zZz-roU7!%YTWrN$GHV>xR8f@^F zs=ol8V98*5O?2qRU6*ls`N6gMpox6X#7K%Q2Ggdt$%bEze`^7DdhlDBiSuiU<`;1y z)PDAi($DkWp=&w3=`Q>+v%xTog}&PBv_|WtPca^{0g5-eq3bGe2FIDt2bMfoQW&f^ zbmd&1vFnAw#mTN$Lc5IZ4j)hy8h)y7sDI3#`ufMI9E{?7*tcX8^5R3h6rQb{*iRR6 z5~B=$#lf?+AM1`OZ@`dvPRf!pa|;64|M%Vfr$ni9F4XJobw!lyadv&sSAcq2Cr_(t(biEHV6 zgDmIx3$Az4urVraHqUwVql~{_ZHU*4JyY+lalS=1RDWHXr=&SH)WkX3^a_3t@n*`= z9Cff`PT3ultuq|&KQIItZz!_fhtF~dUrr72eN^{nSVfI}%XJS8W%58m3Bifxhn!eGI7XN#9k!oK`m8aN}q+v7?O z7BKILjrHrD)ae5YG@Uh64Ucqi9Tl8ETLb<7@eEnyEYTC&7o2~JumsjJ}6RX5^yXT9AAA1#89_E{-r zy(NR)RlAy4dqwb{lUMzGQ#JdTuvo%{xG8Tk^R{~Gkj?X$v-9RyyEqTgt5^|};W4Ic z@DY>YF+s|nhkdC6`_d|SK$LZM+xfnkqEY=cD-0&LcL^BJHpWO}$vKi;a~Q`*i5F&% zENSET`8?O*xjQ|Rw%Dxux~vp5&#<&MW!yig1r%c@Iv;K zx6zG+cPc>XdVC)f5>JNR-JV-MXAIdaq&p?g=+ zMINH~VOm>So0TW}YP9wqfM%a(-o6>17tP32it9a*ar!BKuqlkw7T1vABCzbjR{jg` zegiJ4QuKCP;XlXo4epow>JRs;A^*eus=|)v%qQVK7lYl9-l8)zzlfJz8Mpm8V1F!uj+K=EH)?AFDV`aPCAvbA$bXTp7ec(!Z z%{mz!+Xs*H1y_{xEV0)I7_DPmt9kdVTKk&uD>i`^*ksk)|AI8j?FHeg9 zAWsPA_5yRd2iZ+~%{B2gEF9sT@%`om`%Myk(Ea1On@f47!>6>zD88XZIZNVuOd~j( zB6pzlBx_uFwMcxA@xv>$$9yin$AB3&d(1@SUab*lkBP9y1X$xmhPS4~wjq-iX}%UF znLTE*&)#DKj9(Fa6`mRM=^NH|HDh->dckq_7UY`^7v-CQ_iuwM*W#g zZH2$YI@TGp!RIQ^<9B%fft&l!V)mfdpPUc~Hx$`<>dEs~oc=9?>Caevi2nG{KSY1% zEWR%vtoDXNFmE3EAUS*qYq^28=}rawu^Vi^ws0V+k(29_HZBtG-e5y)%*UTeGv6i1 zN!?DGk+bZ)uR3W)zOvJP=cFO)9pU%IvTeM`D+y`BO8h+Gds`MviTu<_qg;Kn*LkLH zJ^z0^J95}3`F*htVNFIyc01pj{3(%tb)HTBl*o>R=ZN#0Z=d6LB9=k&o7cLCy*TwU zSc!zVUQs-;m38nW@g=?39qZZiQaGnwi(RaXHCW3X9jnm?ypL5L+2Se;E@Wi1`d^Ls=vk3J25e9VGZh~tjT7TV$(9xP*zpFmws zd&}Vw^=dB|6lf+w4$s{GDP#Sn+Y408PyM!0b@plXhP7K2Fa9$`*Z`exlc4gSO+YnS55U(S2Sc zuX)a!#TrV9c&W=gcS)BbrcM9*lF*->-(AI_X)g23 z@2hI{4{6cfX~ujX--r*&{$hQ1OaDBu$I`}|wL5)_-)-@n^V~Hm^w0d(J**d2awo2A z*6;#@cVYjP-0ZbuJ9wP$*`Zy^u*8a&UsigVED%%$)=_~J8r zCUk=3aiL?o(Xl=FRg&{qVvWcW;XHF6@d zXd3JLeq@$rQ#H3x&!#Twe}XmpG+GTa$Xsk>Ky(G;hih)#U4TZ-@(843^?x^+Md{s*WUw^ z?bHKiNB3~5oSs_lFra^ZLj!L{KPW#khP^@M=6YPQ!h7f+IE;lZ@5^(o?AQdJGc_jE zqdHVqGxH{TD|a9!^m#pTA^t4+3EzcjGi$#Gf2H`Ea3R}yKF|3&FLrgc$;=OMLh@aG zn0KVc7JUX;iZwVF-rd9gsl>Nw?Y~6`3x6|9bg*Y~2QoUC^{B(3O z;|@0HwP%Uvj;~d=cI6RXM1L-RV>|h zk2~AMe`tgLxy+?Stc&KA#5<1R@1}3 z3cS!+usT~(;O*FNRbLl6l*(Phf2Z7Sw?aqC?V(&^1ct(t>!;k8z}okBB1{rGKhV?@!`4 zl%A?MVc=kvA47IhJB7hoK^x9ucW$Gd^*rmh=%W0}r+)Mz=T|X)ey~h8Fowc1%`kNF z@-8J3BCpEp0q=2x%S)YOBIoZ7bheUyhy2RSldY+oX?Ac<%1D2)JGF?d#u?Pp2J^%m6n-!&Jc;h&0$V6u%ZHCuc8#9x z`21H5w`13>!aoh|oVmKG%G#(pyJE?+p9J%Cw#ifaqj)`9TL-Db#=~WpyS$>$4Ks5- zs&CVanr)YF*I{89>>tB@9}tjfoSsV<aw$PoGwkVz^IaoH~=ixIN^EjW`X<}&J$NeR|yA*$^ zCq4QR{G}fK(7V-wZ@@!dit~_{2J(=Zj8h(a3pTfG?~1_Fs@w1y=nk(lZBR_TX7-(n zxUb98Igj$%_Ss{EEPn>Pc#Y=lOO*FN883ICJzfV2&w+s$6_=}R|7i{5Xy`L&ZVPwX z1%Bu4|79QEs00)HZ^?=a7!s{@rpkp*ez`f6_v7T^7;~W>9-qQq)&s_4uB&iKH+!&j zy0@@BA7dVzstt4=V||I&SMm2e*jmY!`S24nhmbFiUyVJ5{za0`&6ZzB@|PEkj`pEi zm-l-f_+}>dN@4g^Mq=5|U+9~a${sK{&tmFKCXeLW$_wR3G&gumO6log-;$>=-t( zD6BHoh7 zQ@#qF0xvSx7~fIYPw>;&aS*|59{8Ydr@_35XKkMyHs$tX-ZH|MEAtDK+4j6$rf)A} z6z4rAW~z8ke;mY&@a}lq-nm5EZaoF2BVw16nMEwbggNPysdZ)eSw9xeZr7#Cn?ZTq z&&Autebi1F{eA1l#a+IP0?O$6ZoG`umnfqjBX{{SMo>oEc6cV3tPi)r!OC4ezf1YI z(gtCi!L|u=?qBG-NTYs?+vUqR9qW6xaSLS-gAdzxtAC*k_=hU%#PW&!D;Wd+MnBj={Ep8*j`i`a@+8j1m-)VXQ*yENw%@(q zmu=>`rPv_&mYC<}Id7DC&UT&~^_(3UmJqr-CokxXuWrh3jMqD z8{PlM&TrCX%lx79%scTxrG1|?#o{qXb|q4N=EZ)Ga+A>AfEq~Z(Cs;dZR!()zV zpYFbavCJ~qzHVaO<)Jg$xL=(E8F=23a?RO~dgA334jEo-WF+F{+23bH3h0k1;{(Nw zw(RmVWqZhq9EbjT_tq%Jb~~{PpR-C${drSEH@Uep^b^QDP3Z6*J2qiG7`dM3h|9Mf zn~2WWqstX~!E-b36_+sVy%?9!v?CsuP zzO&fUd<;dgC)6n}U$SdQo#OJ1A}$~8;7rH{|K2I!;D&^EHH|xG+H3k_h18$#(MI_} z+CAgXwKa_|+4Ic!lEHmy^SBOgpWr%N!1puwKK#t5OWK=0U7|kav(I7AEN=IF`keaY z_gubDb#EmXkD*U$zn|aD=yuPt|AgO6F0RBT`V7CFc#LK|h{vdJMH7uls1`hy6K@dOaz4OqVqFSLgRNzk@L9+`Mvqdwx@P*+5RX+SOjt8G_gws* zoY~MBh*;p$#9JWV(^|0h>x%GWV1K+FnQ{+u!7*$Ljb_s5Fk4Er5+y^VL)Z?e$f#v2Nnd4D3sGe_ysvxLB^|DxDR%7_)0X^(Z#nvtKOh zyz3gLACx=oa{b7TRm`*N49rjLM|OWd@;TG*^rMO2h7ZACnP*<3ig9l#6VEItozZCv`;i#Z^v|uC0o6skK}#sjV#(iS?hea zwXPeoZj)2zHs;1{lyzI~x#BLD)heujo3=^^cvoYJ|KU<`?iM58y__&M+b3Byos7+; z+Utgv_b0R$3|wpt?ZuWIQk&G8bgq^y9x~I_oCa^5E;QbEpKMk4trgt7cGBL&1`V;&i|3W;VTI*`#5Bb@n-UYSR zq+o!){Or@i`JEh8zy9OVF$Asfa-+GNKGq#3W z$1A30A$6dmo_1maDu&dh*36<=A70~b^soPyHNNILdyS_Z>zf^%WbJOo)(>8-Xf^y? zz6Kv_NaLUwjPg$l4?6+gCp{{N4_Ut5Uiz2F3)Elr$%&;`2wk^>^{^(hUeHHd;n#j> zIt6|$-^3Q?!ISWw9Ydbnv_sFVn>yE%_$t6AfvuTLy{$Qp&A}TxPFf*p1O~YD_<)xg z%u}{O@Bb-J*#^%QPkDaCMV_Mj|LREtJAIL_42lD~55Hx9d`9?+&W#C2+D_l=ue=za zaSdx<_PuTS4o}IB9n7O|#A;j$rnD8FB0sC-Yt`x4fCJ3axr~u~rS0N%%+WQ(efkP` z(>`o;;tisK<11}s54McGhBXP+L_RywR=nZYe3#4k%U5c2YIs(KF)%2(<5O0^DUQ*`{Lj<1xo!#by9e28)Xq}JhSwUu`{seFY#HN#)};Nb^|?fED)c{at`Wy=%XA<3T9T!6glWA4$8{+N*! z#Mio9%t){j_25{AlgS0Mqn@DW;<_ndzti3=-$VVNb$$>!IBkO`#$=;0Yn-+%p>4v6Tv%C!99fAx zc`I_|Ey$NQu*ks4A99(AoALHYLkM04+$BdQn3Hu`T&NDt?J1$6CWX*sy#pFnd zJm#bYq`TM{k$XsMmW`!9?h5yzOQ$7HJ!dF-SM$!`W1#Kl2IRNnXjG9VzvXJ_T(<6c zXt3Y%cKEVsFMdwdJI5);j8g+X|&(CD`X%JbjCF%OPa z`7On&#Ft-)-SLhD470`j6^3f=2ENxUEw_Xkz!nl_U}=S zu*}legp2fp7eM!kfA5PGV8itC?FjyKmSf+?iT_sT3Y8a@fpg7_%>!TN#FG>*Qg#2F zn1#jE`)q$X*)i?aiiv12zu>(R`OiJ@JO}gpp8Uwn*Na$xJEoR!zcJkxg|6Lxn~nWF zhTdRfe@De6_nyMuGJdfuB$-t>(f)Xdd?$SHz7YEhd{2H&-_ts?@THRV>@QCa3H1Id zzQ44?7cRBGMC1EQL9&)HT7#c@@ZcM_nEx=V^Z_N7ft8J@ZG22QAt2a{J5Y zXv5(B<*sNsd+$L0ci+uE!7g!4@Zkd2mzRHM>doc1 zPL;T(zrMSozboC(`caLoBS(uuRu2v&|5S6kDxlgvK>0_&2x{D$4pyJn>&e1az1l$hsea(As&?fTd*12sY;(iHW`~u z3{tzp^E&?hvbF_nuD^a}pY7Qe`RICVx!&Lj>+Nf_N7qX%M#~EJA?yWaNAye)IbUGA zRuc0Qm=X6cwyOhq_)V)JA2uV~h-@kCdr0cN8QieXEG}oy&ivlSJZy&k_E3NGIJI^1 z@+B=nHCgwwdLLh~pqf(IhD`H5zFQt6~@{6@X+;Sbi#UL&ZIb^6> zT?et%r$J92-R*kVY}cMU*mL3!+PwUhmS5BE&G;njfCh>g|L41dlU{-^`J&_4kC2~z z68FLA?;?W>tSB578l%n7qfQecel4-Z9$Ae%!nmi?-=c*feaT{YB;zi)zLdGP82MXp zJs&yZa%?81{5>B!cmO#<>>ryLpIh)p`_-tPDKh5-mI+Oi1IuK8vNSna(xrn-k$=;{ugFoA(1`d-iM$=hxD=sB5#31>|3V`-LLcWw4+`y#m*{(A zk$=s-vBjh?zK>;YR?#mzH1f=A!L4H%j}73o2KqS0Sb0L}HyeAX?H))co7l6+8fy!!u?yjeS3)ln!sz7ye&gXZQ#M0ri zmsrzAbM{(dioOobd<@MzbN8(+OG5lj_DsUxWY5$^{7}JDA!R&s_sKM~UqLg--OuQF zkL?m2RWs>?&j`(k3=&Q=&w+yykw8_{FXKC{S`}F_QOYn zW_sW$`_)u^P3wWD>{qG!nkIe>N8u^kWKDz5$eQ-CPBU@P40NN@3_O4`KBWznn!pF^ zeG!`37X~wE1|9;rc)nrsXoF^Ip&e_1Ds3%B_lR5} ze52VO<9RN`H}*pZZ#halpG5p%{U?+w_+6v@03J<@7RKZ`c-(K4$)n*V=!u(v$vKGK z*y)Yfx}3ZH7GnudT!Va3q++|QoHH85T2{ll_e`k0n^`m9abYwY>%X>!eE{W%ul;=L ztV3TZzV>o%w;mdKb&@K5o>&y3_jI_7c&Bm(K-Nj&KQ%uw;zuU%&1T1cPd|6q{|=*p z{_|}$ob`}+t?7O7TE+HUrKy126KwLagY*HLcUK!UEpte4my7;M=8(+8GtHq*ml$*C zO>k$e>t$>w5_-Q z=>YIdi9<^%)?4U&p%N|Ey2{c($iI>*JDmwv7Lr!JJj4zGdJxfR0*Z zw~x>jJc=z?#wnXKG2(Zz30+EWEZc9GvUsW;C-O3XA%5abUjV{i>~MYq%6LQHVl--?+C#L%Hp?& z!}o@DxG8UMM$R2Yte0$j1+&mIl{t;GP7ma8#*;a7K68dMrQRLj)wIR@M&6k- zF6|**hndM7$feD1FrN)Q9Cj4=gAxy}UAKl+kYCmBsMR&B$sd zuZ*T`F|@6Ud`+f)EHo~4+2E6LF?HYvS#QPP?Uo#L;12X-X==Op=;>=zNXPYjwXQ26 z_O0kj41LxfVCb&4^y#kppY1|-Wt?4yhF>!C>*YyoUb}z23De6I*)7h$)r9HkB#v;b zzutuPrW@?{o3K#(B;CK6Fg=|S|F_YEg>+w%?w*ricK`SK!K5v*{_mayv-@xD2QzeV z<^5p9HKT8f2EgX`dr$FSXTGCH>wQN5_H7f+vl+MdDianuV}hmb(c5Rl?i~$W zEwTQc zy)YABcK<6TtT%70|78=_+vZsR3nr|$&9VMw6V{v8;cx1Nnf-|MZ#H3iTcpjg{vVkz zy$%ERLldUsz<{kaVfwfjIQT(7n1O=_`oRnuyw8N`?GxIv``soiq}RR2d?(Fv^I6BY z5l8zD6Bg3*-WK+5@Ii;a5?Jt64L_CBpRciVX1DmB-3>w3`2yBJ@lz?bSv<+yL9&}O zj~&5J{<{F5mHJeC?uD z_aV;JNUWRk;Jxo4CvN-R(R<%14wWl*q(bzXDU`PypZK3r<_Ub4=09_5p6KG&Q!X~` ztv!@&=xkH`4Zs@kV`^YMeqs^#vvDq=nmwHOpE!`KhGL@_Sbrw+g_Jvyn4=x|BNlW1 zPuhJOWr;ngYP9NJg{&g$r=%0VqYB!S+x`8A1wYq+%id6|xn6i?mF86+sHMo(_0`{M zogx3Lu4$d|5j<|8Hlw*LBENZoT#hO-bvAo~aC5b6iAKzB81q!g^Ex04rsedQ7YmpTf zqRadYn%Rxb%>k}bhzGiRv@4KCyyI`<)0cX1n%53KJFv43TRyF&9C^Ki{`}`?7063e zUVH(ziafIm8fl74@(i2n$`RV>us}aTlZ>syzag?#JM{e+ zu(QP%#CJO|(T-j7%lYpVU!b=A3H;+gXT#qXJh_+p4$E)dn2)Vzc-J2 zMFp?JT>+V^?kw~$*2FFsa{QZFudm-7t>3FQsme04%LipE`rt>6x^uH!|%Ke5O9^LZ}H7k}B2T@}cIyQ@YtlvI|B&r|ou+#&B@?eblaYQ%B3 zLwn-eBKLZ=AuEY4Np!{{^EDC&Du_>y1KDnHtnzp*gFWLo`#*k&tHn9bg}!HS*FtnH zkr8V0!pd8w&K;qKq;nSdAhG{)G;4IH;%v|e*TdzS+%2MYZOX)VWqEc>hc&@pM;-a( zuZA~CT^|uU@b=23Q!CI%NEvPD#M6my;~27GeXHHIqMEVY9p~EKWLFnDXm7cepqFW3 zzmb#i`uaJca`!=FX8WamF7#2i(>AkQC-YRw+09vyD)8-NAFv7?SPee?LhGDC((eF; z4odA6-0diL?U1g5y`O{k9L~DYuSvGbMN{jP+##B#-w7;wZP9NyzCWU2PGv<)&X>VS zLF9h9pHsivkvLVOklQze?)c2%ZXIHWUicw-cEaOCSI{o`!}^w)*1vC}qcGd25ofGl z``9Cdw=W)CI;c}`AKy;fKJ4IT`^MA0bjx7@ z_w=E=5qpexsB5Z>p&MMA<8%;S@F;0Fd|~Y_CkD+^HZ@tE>(G(j%J>Lvs)Wl|v@*_R z=zxVk?P8xcf4LKS8RVC=jl`MBm;CY{uy%jM8H_de)seq~`UX{o=RJTkN6vj~)-Rz=#72V_<0>WoMJqJZrqc}fC9>{42+a(l zKZ8lvq0={XfKIe2TF!E~wzG%6y;^9f+_*24a|>N^j#S?5&`>e=;>dlV#g*kP_^(4N z=&8`d+qo-I{M`pL7D4(XJk1WR5QF-{k7;u?^vrtWHS18k%O07&yj_OAQ}AY?eRk$V zv5vbqzw~SOAA_ZGPVyt{)q+DG^wZ9MO!$~{pX&?tq;p(*ti43dY+s_XH^w#YR$pW{ zb9R<;a(tX4=YK!llv`$wAJ^>QRnnm-L#E$6T8 z3pj`HWw1U+&a|C(k*|q-_MKBgYfFT$GZ@L4G;LqUL={*dd(5`M+&`~*&oRrS9nyw~ zusSU~BQtGLq z?+)$?o`@c_iWo3;_+5$qw~n=1{QAZ~V^vymWjXY{06H6$pjzZ!-OpGrYe~cY-;)IG zP2$|Bd@ubQ!Y9j-1td0x*%IVEjO1TMaw($7x49r&J7Z@S{lD)07RDR4X!To-}!LU3PzZ_Y29c?AX7hRmdEb_AKVk$7R5Opt9wRyt}9RWsEl1R z_xkX&^0V=a;1|g+il4n1ed^(igw`4IpEPCUxdO8qu$&O= ze1X{v*n|-5LV-mXu)Gj#hQJ~XSV0IjOJGq3Y)%MvxxnnrZp&bP4u0|+#V?Xy1V0-; zD?bZAt(oS(U1uQ{FfrjaY~uH@WqECGMBZZ;MC3W3iN{9|^|f1DXH;M7o>2$h>h4YP zEhbaJ4Zs$lggH>x%+S{l|v8BJ=cg3rM%vJtG=?yK{&8 zHXM*Ttke;eS6djB_t?czc^fQRpe|Aixc|*PThLl5G+mIBQLjbXS{r?!zO2byEehq zl1mvoEW;`laz-uZ$SR1hCc5E|;s4LWueaRlTAuLvz3#F(<*G|A+K>ST4PL^U%G8h@@2giexxNmox*t`E?jrTvx8sX;-)XOGgC?%`g; zq^@>w)OJvLb$vtI7_aZG;JV{S;EQh+`O2*$*n<*VZ{k|+T5!C%Vnud~+(~j`jPNn; zJYcVXfu`0FapfLRb>cO2bEmw_Kls&W`emrGMB`J10J(w}p1>>o{W5<11c> zFH%}eK_K5cv}+INx8*LQ7-%%qH)L)|Vo$DgY--#V;o4>q~tt2P_s1>cwP5_ro$L=CS6UmK=orMd=|G3;xN>u^tnaT_IaTCz@hez` zo@62R{rS*v8FN9-);aFk+)%fe`?Z-1d$^NT;+BXkuHUUKb4zfd4ewfoe&G`2_-N#? z4`^dLu}pHrW{Uj0o4uwX%Mb6`1g$$rCwd846Rp%?r>&NV4a4%)ur8s)I@%$9x6tRt z&DuWAYUdp6F#mLmTH91}O$)fVeIxR&(3{{yXijj~L9AOj+i2ob%E~&#-u0QHzH-o6 z<%X5B0QpSvj_3?-6PZNzs@ceAGPgLJw00SDwk?a8H!n+^=riv_8(;m;>4(VgDsWHt zy?SlSoS|xaaj2}HQPw+O1h>iE)`g-!Y#fW+X6P;JR_L-EIz`#Timf2kzZ#gH&LuLq zk*>;2$KLcF^SO6Fi!IR1Q+7UihEYzM|GOs4JqDN|!`^Db^s)_Dxe05NeWb|zY5qmP zkVQl761hFq|F34cR;gpC|623id4XQ%)#kfd4s&6y33ExGX&11|fSt|n+^!6MwiB5( ziM`Do%=4ilyHalt`^Q9NwdAF)<$LbE_Z@u7A3lU^TnBHy6y99L-HToD=1T8|Yb8b> zb^y+57`(Xxy-JQ%O%mP~K%U=CxsJhUo~g`r)|`DZ*N-6EiY)_~YKz44RZ;GF_d)|@ z#0KsF&c2WN#vb-d;(|dpj$768LUH zN2htDUd28_?j{#mzk+%t{<+k*J5nVqSdrIaU#gZ%%&Yb&Xcayk-p*3eOH8!<6xF>6 ze)3MH+KO%{UTvKo!59xi_h}(kV_By1!W%pz>2C`7SV#XFpotFf>4VP*J{QEKd7Saw2~C<# zaMuyVUU6k!OC9M`n5+L1PmEjoA#z6>yi@jWa#z>yx{2%0Uj77g|JbFj?UFWySUu_5 zh^_+Gpwvp&@)Jv3%QuWuw`aktp&M^{in=`$oE^>5e6_T>BT+xwPpk#yz2_!v?NQ2= zJOSE09D2-%N%cHt#Rn-$mF_~maK;Sx{N*Lv+KX0BZRt2b-v$l$?E35X-?0x$^{4{n z{g7`HWPIpb`f%bvQJ2U`QePAGjpUp89A5Vg)Gd8V0YAsVL2#JrE@JQ8L7kSlYM-j1 zu4T&m7Ud61N1s8RmW{w))x6qf&ASJ9;uIAa4$cHeLL;e+i`2DyKtBtmpU4!a>SqV~ zz>CmFNEx+JDxouOxaR@ly-hp^zb$C8inS#ZUm`nW*lC^aKeVE}C*~YA_g^$(7gea` zf@1=u}U-bwuSZ=2>fWlIMrk)HgG+doHEU->)#o zKFO1Lq;KrY`6hi6o+UW!KzCLL?h?V>XW(uF`l?LyuN`rz=!P|K9cAkMywBA`FxKU3 zX}91JSoZ>O_a1F(mHqXn=XrG=uX4N_*;7X>5Al3gHgWje^S->>wpLF!;#?!0d$d<0 z-ErWG?;3pZPV*VOeV6BfcNoLR1G}*cCc?uX;eY6r1-^IrSK$0}=CkaVCGK1@KhbZ{ z)_tXXN7ug9ev51Q4s;Hyz?JZ{MAC{5M)WNTeI)0@yLZwb$!n&4715Xr*U2~ObLJ}z zjtpXtknZ<fwxm{C zvhY`DtkMS)4}@pYy(O}Lz6<_c{^h;zpkM1Q4*5*%vJ@X%HCmP8D^Z^eT^ha;$^I*# zEs-mnNowmO>`9SdlGcKw7m37WN&;T~=X)N8R`xo-(>kMWmGV~G)D@Np zbwv$7Tco<;5VRh#dSglC>P;n4t2dW8hvqkrK4;alYW0&PmlPO0RrG{nE30L{>VV&J z=cQkC>ebAv?U4n69O%VO{amLv!~;F8;dz4=-SuGg1Ng2dc0E-6$oe0g8`H3#GXhTJ zKRH{qgXc2jj#$b&JgcB(e31Q!E4xel`DL$F$X-`$V0H9=(05`Q;%<^L`IA6!x1^3V$I(x9CWu5h*}{fss`VQj;qGsPz*&`OLKiG73~ za*M=1nh9;Jc7DTqpomzd#6FtBSRS&f++x|&Lto;vxm)~s2dQq>3fhD|!fCWIGaWxm z`WtgId-3l$8g8LoWwh&j{xkT8=gzp5b~*VU%YWU9yIVZ8(Zjk>M;p;Ebmw5RokPr2 zLNX1>*SJH4_n^g5Y1GAhL)OX%ADj3W+lt;;r>;WY{ZCo9`~24JP0v|%yEUj$uXGkY>D09|Le|5QvzO=&s zWsFsXb(EJgnDMX*?$jjVl{vs2 z_$r8P%*ozW(n8~Uy9)63h-g9At&!W{`>pEWWSy0Ulj(E_j`E{S|zrW1^c2E z{jCi>ZUp*V;$g3h!iJ`Kr?NKSTeVeW+B{dZcMSSd;j=$r9{dIVbc8kSHpV=DRhBmg z{p|+i?gwffSnnA(xS^7L#%J7NCiAayuJOEqJ<2X*hxzDgUC0Tqus-j=ch3r)${lRr zw-n#@?fBsbgh$Uo{+jG8z}JZLo#YcaBYS#DUJCS>lM3(GlHU}4(=m8}k9jj`L_xqE zJmoy{0s%vd3h&7aBGvA0}W=wmE(y?eS-<>+?g-zl!%C5|RK(^IZHZq}Ve z#=7%ElQ#5w)kJ5L=>ME{=rqY)7ltm$;qNwK+;L&R?Ea5TSevQuN%VgROzejPeFi>d zOhoq1L?*cqnWQa?y{oc&vzY6gHfbGDdjpX>6lrB@!F!&w>cl6~|r+WVjQEy}u|k8k0$n%ec#(F^?xyyU1Q*ZT;x=3x9gkXd`IX}M3F zr~8+B=dib%AGF>sv6f~1sIsQ%_ZaM6RnQ~lhz+E5q444q|4-ituG4)X(GO?HUNBh& zF2eWVLe`CZd<;b9&4=a|$r^+GLeA-=0Y3;$>7_e)Px4>V`!2o#N&bsZLxZx{5&Fx3x8*B~zF*n;T+w#f_te3Egg$-9m9mE^ zzQ^B?T~Xfhz`gzkXT{EdvE@y#5_=$;g*>hZa4zd1e{;z_79s4D6=3KGC6f(DpX`|rX z;q*0R%N{xcyF2S!IsaqX>lV=7OKI;%$hnsnM0@98f4KzvOFVN_w&h;@7yFJhk9K@?fjh^DH5c$cTr@lWsBc1j$ogQ9iYapIwW^ zzC?^5%F_F;pHUDQ#NoeF@3V0SjQ&kOt6=vp?ZwN5-dlJ+vGk{`LmKOmg>}iw`h<_z zO77Mu;$97F^uFv#1$p#&iujA*8^2Y2W0=!{Y3OmvBNIJIoB^l}-5V@p|I$y8yXw_e z*`I!%uL2`n%6p78N!H9fXqWpu_N`o`pc6UMVBG2UJb50wIp4Q-q1yM@{aVkp7PS?{ z{MNfz^B;Sl=jFTMUz5KKZtbfl+5ZH2AQrzHdy12CWgUKZnd}=5zs*`3_ygzMj}~#K zHoW|I$P~K=?2#?j;$xfc=R7Dr>36e7=_@pbu4~Kk~lAccd%Y_vs&Ed~I>~S=6kV-jP{=?+EduiAC742;b~w=s0V*`{8{R z*pKW~1a0rXT6G_w9S49LWhVQtx2d%<4K)%1fkZ%qH7X3uo1O>4HqvyLuh9m^(0f4pk8<3E;tx7zw>CVE-cN7bvsuXG+;;XhrHqwKN4l*F64OXaj%+g zM?b2lTd&uB-*nCz2Gj`NUGlwly8SZ#vw8ovynCkGZ{&Xx@3+bOL(}c|@bBWiRs|eo zHm{R?seLW5%lK~u=8Q04&jR~4uohr#A=oc~-3V+iu*OIu-5-J72CPHMi!xxJ0=oy8 z(kRbvz+$z4ss)w`tStl^1#B&_@xU4#M!M<18i5r9D~mQ@rNEvARwm`e7_eJ_wE(+Y z$_v3(1N#NAdMPi~NcRM=y}+8Jyg>$RE3iKTYnAfi4A`%LbpZRFlox`10PIs>ho!v1 zM!FNgRP_wI-9mZs1}w=EP_e+Az?=yNY%H);U{is$gW*(6<}q+c1wB52JBs6w*YIC z@=^@gN5Jj|)?*2zpRfd~nWqKtACb|9V`qwHeiXwO>u4<>*d_^E$o9NZ5jF>dEYpfGR^tBsOROQnTB6Gsx%XM-tKs=!9vYyOD4DGvDw}=vLRVPDZ%$ zEQ4GRFVrlaBGN7*Z4qgUNUJ}Swke_5W1+r6zFCm7Ed`I_m=9iMUFb1?XfcU!y( zZmZXF3cR}WRH;TBMDZOJyk@b^evoP4H9~B|GY!1%DN&`P1+QtF8Y02#O;;FrjiR4N zz-yvP^sKPB@~*Yoa#vVX-ipG|bD_$6Jz=)z2)J5ivE?2CS4Y5={tT}6gI6~+6a`+T zoMqbS%lYt3<)Alo60ar7VU+X88On(oa)$QAQqE-}54rLp8Rw_8NIf>yhsu`wI&FWQ zw(HNdJ$p#8CzAfZ#Qov^S;HH zwi55n!Mu>UA@d@Jag061*fruG|1oo-DKsaVnG1V6(?`)8w&Q~% zJjmn$yNmkM?&`39_R?-DdwBZUHmk3n!UKeMrN4vdZyaxf6tD*_#T@ zPGGNnAVjlP`kj5TL9;o~_9*Fh!WKDO7WhS;(eDWQ^Axlesm!spgpDoFjO~vTW_g}c zGM<*)rEd z@l2f^jDwAKuckdV#=*uo=+BJ9B4}*^cJ7xM2c?h&hr4GeJO5ek8Gn2ZUDne!uj+nl zddG)0uf~55vY(2wH4{_cfZrUU!&Ov7bH~$s)6-f*FbnBI`ENGzt0*h!ETME3JzZN= z6zM{FZ#MF_McJDt!kYky+6gFEEi<&L5w&rEX)Ha2`aLnxHgITRJtO{S^!NtuMWofqBtj*{i_oglyKy zD(!9+_>lEO0~b0T?zc3nc<{lU0xH$O%VYnO@G{ChZ#C_4UeF&e(&vMoLhzxQ+Y*gF z_u(k2*^1oShogvQo5Gj67eDw}>-e#PADe+6Yn=BY!4Ikib`?Y4}1V=I8 zD%-%-rT>#~mF=FFC%8KI^td{3e*t}lK4MyD2z~V7%-(D*4#!y}IK%h67iajT>o~KK zKf=J-<~Z-Qg0sg}VBQ&UrhzjZU-v`DS3#evbCIho2pP2k&<^ zTWsR5FSKV3!=t0wdSy5sqrjs*43GHs>v)U+kC6r*iw1jF2p*eMz#b-Zik?#LEtb9L zzF!2_O<^ByXC3U!N2a|-`LgF~z6)=+_$J+8^-aCp=DVmO0{wL~cWKT-cQ6wjLJ_)z zLUalR=(b|VUAr z^}tuf|D%rQ@bW|sH`~66^27%K-A8?4*+uNFhx#wO4Lpm#OIecWzv>Gc^Sm4JC!1r! zo01KTI`vCCoodW*H)1-e7xKlabRpQi4$+;i%8QQ$sd`6DBif08~OPVXqXZZQ$ z<}>{267!k4H=AcuS1IxxdJJz2V=sEkSi9!2GtTlX`tv5n=n{UNoD)vR#?^*y?_=I(5BmJ= zzrhdb3d(5@m6L-W(6MVi`zS}(9G>+(){JKw;*qn)@h|1cJ=mP3?&_c{2jz%w%x|Hi zFr8?9q0^wJ+vux4wt7qvhyNDd&#eEm?~|Br9b;6WxJ>junm^lVyf-btCmQ?Iks_P7 z7TO4ACHR7mr~v*E^@|#(dm9gG``Y}l+~chsbDH{snr2Y#}h zHJl5e&lY#d`R=KBl)VKm|_fy9GvHULPH;A9)kLD+J#PE}H9nGJ2p_5yu0-t(RU?+Nm z>UnCboI&}#%HmV}i=Lqt`%mYhnLfu2D)2e-Q(L+#pzslq^!hpIV)&Hk8PMGp-oUf2 zXDDOb@aZMiVn-K#ml=#XdriUB@o&_w4=l3zj#{n0m$4P>Mi1eD=CV1Pk@#De5BY4b z_#3xj-;{YdiGIqy@)&gZEqry#E$FHTsUgKy&ak1!dvaL8G4cB-j|{=1fTKHXL%%3C z+D87%qeI_f_!ftpE8qAR9bkD}=-XiS#`O0h>V)BKJ#wB48*GyQ^U;ONfBTnv-ocjq za0m9Q-?Ap872q$L;qu*$Ze`)b+V!IUxJbt19@it-LTuBmd0S|Zte00Q(@T5HG3UFuQzIJF?-qj7@cZBNB zCRV6j<|ni@e3ZRm8G4vgpt~BUE24^-V&5^;s5nZSZ;mygqVX;qp80y+`+3@4((JcuhV9UO%9H zXTq!awTqp4AYO@ozAXd12GGAF-)|K<9sypDns^0I*_{RsUZReR!L>CUH=YD;{AwkyZBnC z7U7e9oeI=~&!PCX4?WMae8)G?o#z|A?e^i=aUAFjSu0|q-Sd)1aMvaHo<_M+=OM;P za8rR_bTo6kj{MTE9>!@f?RPP^#1~$p-AwAfy6}ZJ>)OQrGYx+6GWfAmzJs+cnz~|Q zsqY+gcGUH|8K=&>i+%Cw@@=O)X{*?kem5;FKR)ti-Mffkm>2Sqw^Ns65Oq^;OdNHO zl>Djw+RE}CIfqqSS<%xGCI5?iI;<+N3H(=EV?1J)y&Sx5!bejv2G!PN&m7*@fs4DC z|91{a^Ssa4b;37#pyjEIU)hjU&wR|HN^7}daS}19G}I~G)^= zp7%1&=q<2<57K?=-%z3v*#TTS2oNFD3Bdrr;|xHnt9 z)#w@C2iAZcsvMa3_q&TCywzC|-hIFye_90|WxU5y@3N6oHo;93u?jlDfvlP6s2fe-F=l^4)oTZdw z(w5wD-OE?Tx#!&v4xCxg)VEb2eUxQ+(i#svK9@)-WpD8i%54@7@dXF*!6sq{ggQ#$&7``*TTo7i#ZC;`o;x)xQrk1 z2)&)OOUEH+2(DpVWUY}g5_`x3_Aal3&$jz7Z|+2|=ZrvK)y0~!0H5;vFKu>4Sex5x zE^E%v*ni$Xhj)$lOL({NU(CO1mbGIyXDq~5UgR!02O#4UT2uDPno`X7Pm%X(nV-5X zhdJ{(V<+)L#8+8-=^y9&+J{^L#zj91AZ3{8C3eW8*SZ3q4Z?4q`TbaCA!h)R`~jbB zZ4+gF%KEb(8S((>e#iGmum?BE8Hxoq;xw=}Fo(&fp9c{8Q`3-Sj{}*059_PQ+LGUd z6#~-v_?(rE#n$>0b-UINU zgUD%4=E-%phVoW_^Xz$Bzu7PEW#pCqJV<}aLT4jBqb+*dIHMwadwiznl>*b-%{dkQ zTj-q1T;Q3~4}D*q=D)yvXKyU~;#}UPjp9%EYGo*G*$jBKdtMgb^t~(c&?|f^TlK5y zZTapQvY#QoaX|JQZL_hp*B}Rh1N>{Yh@W^C`p-peV+~xW8T7}d`-wN3<-u>7C{LkV ze;51S*I56@}HpW3$-NA=lJv-W!|=8-}xPN1^A^~(<&vV z+k5Dwj`G`&Uu+iT{}+6x8oz(a!mj7ald`JOjeSH}=V9BJL>>1RM&;hYo>1yqR+yA4 zX%@iu|0@g+#NO_Qhf(0620Y;NyVVgl*RvWt+-J9XUIP!aLwIi*=Ze2f;xq@gjqk+a|T`M$p9}|_5{z9;AK__FOs)$uX`yqq`WxrRTJ ze?Pbq`uLFi?}X?>?6HEE{UQ1oO`AVduI2l=`%~znj&@GMw)z=(`P>?%W8Vz0q_cs+r<{q)@-(xfVPM zJ|zyQiOUT91t|-ABzG-Smf&&>Wt|HyWj_DO6_NWoxRknHb4BG!8o}jvz@^CeH|sc! z^2lC&cIa8o@tzlYmirvegzIIb6FF}p|FXtkrRPiZ9LBFXmiLSG_eforIXd(#<1j0f z{#+dvLHY#0!)Kgjk0*}$>Bja{YnABmBvyzSb7^A?cmKto>s>|Jr(CZ-4XsyB?!9BZ zs^N^;Cen`khFYtyXLhHto{b;XyPnDS^Z5R^#ANz9>zTwR=$RjdO~a0DgFCxda<% zg?rsJznm?dOnj*n=u)rakEz}ZX`k37GUZ?HjgM4QYPlD_LyMncoOwy|PsA7Ag+HYm zA3-~FMB-B^)+4=)w$$DjQQ|)-^iVD9@s-0)D%-`~dY|o3d2YF*9UGxLvY@#=3VC`5 zdYDAyk`!bT@Hz+mmvLWvq_6!|@w-g)51|cCOIiM4l1bA~pifrMq4jqgA~y zHp2D7`P#iNT!0Mt8_rI3PSbqP)828~VE_1tsuw0WTrV7&X7S}}-+#f0jLBH|3;6Gv zX7!EHG+ma>;6F3s-WNWaX7fGEx3OBRKg&_|Le3!93m;F5@O?5Z(sy`Tl&^c5-FIl3 z!`C(~+SfHL#@9YA)^}jqAm2yR;(Q0E4fb_Ti}#5SzSxs~KwRf9R?fpNHuaAl$ai33 zobN9a>C?o%K3#i?K7D${&lx8TA7+Uq2tAgehd_62*D7?sy6TXPvuvR&@c4hA7q+0Q zVgFc$JaWfV?3vKV>+k6IZ0 zid|X0HATcvDa$ls1L|eJo2v5@DOa7V$Y-3RnnFJJC^aPyK5V8B=f`GST8Zhqz=B;0 zK2R17KPFDzXI1zJRlx_*_q5~Zg03};7f1NoYh+F)`A1SmS%&c9S*PU1Zl{{^HnQiy z@rW|}%d)ub3{b6g7JC(K(BS0UwGqlZ>($_ZhGHY9tzkb_ZrW|+D z>D$(rNZW|_f3~)j4e4v!CdzC}`1)p99zP6Q8rjz%t+qOc=X+!=p=fXgGQ+!*y>FjN5MgB7R%lVWk z@|g2$&4nbtoTJ1ZaQe1!j-*c}D~4yzMmD|JXY##%^EOPDJQa@&TCK=4k@)FEp|i15 zj)U@$Z&$`}emKN~-*x%Ic<|l~WL%Ty$vGetid*l34@<03u}{f7*iAfC6EC;YA4%uv z&p-EyJS%z3vfK_ec?bLd0`|F5p6KF4r*iuKTuNInq0Mt>dog{OjZ6a`tX7@>%O0%> zU%ga(BkqKUZF?`(n@5?);K#?|!_(nIPrN$T`#sLDAAK!Ozpq)^Bl*xDbjzIpj|HQq zNPk3jH`^h0%0kk~I^q5@s<)pa(@Q_i{2AeELwy}P)ta#c9wq5cwPwg%H`fg8Jd^i_)(k1{>#iBQBa=OxKlR$N zucj_g`|e`hc<(E$8`37pm%0dFD){rGr(8FZd-?gmbwm1U=9hKj*Z-T=jqq}1-H@{g ze=m=eb;Eszbz`m014W*QVlB3_COcR^I176Pvc$?*_H~HU2 zJSTzIe)N$gu@e&g_7Y9^NjepMNFI|u%Ak+;L-Zl#ot-`|qrI2X?n`L@9Qsj=Ofegt zXvh>T*oFJa66o2E7xl>!cfot#3&|4F4)G7b&#K#r{=G-~bV|DDlPAh#%?tJMt;>x* znq_Fv#alubJ3{hAlzYZ8bbR_+=fS3quJ8D=NS~hnRrLJiZ(~nt>i5LA)|4j%&t|y= z&;U3e~5eKfF5}VPEP8>hL+nZQxI{9TL z)UI!09kS$$<}}mKNNtEeW@q`bMg)(cmryopKCu zSTCE2{l(p9I~BW@*iK_fV~M36%J_h~24O?J0JSIA95k^>?8$g_ zeY_>-kiwSeu(bX@3!7Pm-SzOO3C#`F*l9Gesm2wBY>ArZ&(OfBY>CdyK3ifncAiP8 z&40Hokv-PmWlPksUk|h;9;T0Hvn95ZW-q#a9WUn?vBvgf?Cgh^46!wb@M79nbK(km zZLFum%gHv@zaKAe($0UhjkOXvS>{0nal5|>zYrU1Wyr=_5oQ;hkn>za2DW3N7qJUY zKv$a;t)1D%YB6lA8Js^nFaG~M8*2#!)op59GEDpGmbBh=aTBDE*I5 zA-Sx6^_4Sv>F)saH|`%ue<#Uh_CC3+0$*&A%T^(GxR8a!XHDd?h}6R750RImMw}Ot z&7#6&v#639WV40%pKV4?YUTL@GIl@Jm1OlmXYI29^rW_&-1<;wPeDI_$A9mPAd8C$ZwR)9XX-o8&6GGGRI=b zbL08f%&XnhTUBOafGyhYb`x|`bdgZz7{ygBH z^4!TjbN}DVbJ(3lUR#viPoCSd`Y?V4=xfB6L%v_f_rFn|JLMgQ$OC7;!|c^ z=NhqD50vL_{yey@6`S;er@|3WlemQ`fSU+vZk_lAN>3)$(mcvAZyn5%9?H5!4R4o zB5STa?;kfePLefa`(#bdQt7g0;i!{k%_vtRBFkU$e{ChUdFS?osaOmo#%<^6HAWrJk^p~^4{Y3CELC`WXakUiA%PPoLutx z$f+goBByTU_vllTmiR(4YP~6=a!0{GWz;?ywceCbxj)gs%RhCFqW?B!)K2aNBtFYO zWz@e%MjhLqNBmPp{eNFZMK5;v3_3^TLtW>%rBCN*(Phw|o~z5K^}RYrxrZ`LMty$#XRMSlJpeLV;Cf2jZ4(*ORxp8eXU%g^ki z{ucSUh%*0o$j=if=l`_){8jFblk*W%(6t}u9DI2w?vUba^33&|xt4SHe3y6#uV63g z;6BE?xPv8mlx6vT;;ZZ;=EURpIh1qHV7ivvRn0lLjv*sF4&nlJ;A0jbKE_2W@9AkL zPKd;%5Wmn#lq>NlGPu{m&G+%VpCBH@k8%Fqf?tlr z0n&&`p!*z>PwX{K*sk7KQPERMOoBPYC&<@QyK>L1Tfd4k9-YM2n$J7;43~Z{Q~5f_ zxO|I8YrYlpEWYw#a=*x#?|*Z1MuJncMoc*N4jS<#etvx@hL(QrJXt@h^O6Z`%=T8} zoM+g%B@5eLQ6NzuD?7zrho6(@zdHC z>g(U@r}bmUCT;@&x^MJ>0z8GJrS)3^g-D9NLx{8QPK9u?S zDKuM5jPFk7zQj`hR>aWWSn88Go104vxDn zf3n)RzsTbeRmrr%P?`Rkr;lM`&fAjFR9}8|1TUlGpuIU}bR#DaN>7B%aaSS4E z3UkcCnd#^G9>j+W|E2njGP~C%F*BUgyayJcyQ3e9bPvHhEE2cEJq?~`(_=VJGGT23 zvjVgFS6pY@*%Tgo;fs~r<6+gj$&BazLYK~~kAN5BzEIA@ttse9;hV&-uLh?Y^<@v>1B`=@SBJuQVxtl04s^?|a2K^4~cS1bqmB-<0(5{O(3Y>pP3gY7?{%0C| z&%(IRgm1NB@BEw?PA@T*!n4JH{s1_Bk-VI_hpr^*4vQKzqeGWGL+R;}04Eyei>X~1F-=3zQ1#sb) zr&cH8>m+eZrg+=AxAt=IBNz4wr@I>yo zXtNTR)*8t#f*MB4?_^%*oem-DR9<7=tg=E$7UB zXKZ||=fMds-;y-f!=G5kBgql3nH9PO|NHsZ;ahCf~BrafHn=6n%Samy)36g+ikDZk_4LuNd6WqQqrs$Y2 zPU-jaZp~F&H_TSuSEF;X5Nm%v@p|?QB|ZpwYxu8&2i=CgwNKt70x6DBXk~p<;CtXG&@jIL756?UC`I0_LUtePkMCQnKUgwjsZG|UD+y%LV z$9b#VyQ{pHR@^ytOfYKljxV+D-AB0tkFl3>a;j_Be`IyMx&KRRw`-Cr?P5MWs3m)L zM5v#XRjSg+RNd!QV#x7r9sLmKN2jxg|?XayJ*XXFRb0p1*-H`?h%r9 zIB%vM1S%jLbv(Qa3`^FWgd+Ee$-Xxr>P;A%^mA`hDB z4(7m`gooD0e#so*PKHgiv7#b-s>F1Yd5})*sj>JI)_xq^8d#?J#0;JmtZ4wzZ85jeBgeX}==oxl-;K!(1vaWv0rTLSK&- z%6&X?N6}F30g^JM>=FLJvI1Yyq2RX7&{lSR(ej-7!sR)8R6=@2PG!ga8;0duhj(pa z-Ryt{lc3#n=oUOdx8*wBw(@PS0U*k8GP_rPB#axd=_5~l?6|GKfPOpzp_C=U$OF z`3>jZs1OgA*p8QhgI4b15FT#gpgsEH=7U3K<7+_tXkwWkh@08`LGmp89wM3};5+Sc zg}fK>Zf%aR+nNu=!Cxd6dNlF9iT^IKsncAxykRqK1`bzoPJXy+yS>zTzeN%CjMsmV#U zlW|^69pSuUDd|N9pT33Igsu3&L9aqD8LkNL^gnSI+cY^Ze)w&f*9*AQLFT@3rfsPI zHR8DmO$ESfI6iwGV;$iR4ilekkr#uX*~E%B;=;E_&jh!#z-=fld~_l25=-COY=Qo4 z@bPx=X@Ot23qIuzCt{@!1D`rQ9tHXsj4yiw#C9iN-|7hYPy ze>g53(Bn7hzofl;u$qjFCb204FGi?s7XlZW!^vl!(3{B2$($d5Z&jN2zwnt&zFzqR zCNw?KrncpfKAg_qc{eDr8y_w=@2`2+7^4j4Q%0MtkBR=#njPulF3=G%6~z15 z$oO1Cxhwc4b(nL;9BYwJ%(&jGn}h454Oh|U@Va(}(uCKwoV5Ebs=Fz9!?2FGqNYfC za~>{u%cLJ;{rF<#nb(M$nu94Pkc(xG9bZ=L`+WW-zK+UEeI1;^ga4&P#~oggk> z8Zy%Wgo!+EwsBdo{3?EX(VqnIu7T?O$fvfMKYfVW?& z0&;e=iM+>2)5H4QN&farCFZWfuR-S>v)OA9ipo^;p4Z!WH!%AMGindJQ`b*8f(uR5Q5 z8)?79d_1PNVT8X8oaAfMD;qg;5fh$|cga(O4t^PPEJ*u>mkUpNh;#eI4bbE7E;td~ zR-CSeq-)bEUD@nGC`0a2mvy7=0`w*NyS-}<&mP)VHApL|ApIr$=4+11In{N;a>Un~ zJh!Z>TVHG84$Gac%d1uqqd7=CZQ8G|H`>iVa-}Dfl%*$@v~fULL0)j$`7r4*b1z!5IqL}az|qV{}KG6_(k$d=@}*WJZ)e4?@z}s{rS_*rT_7?bKDb8$B+BhnO`n>C;i2e9|2qWw0+zS zGrw5!RQgjT-zS}Xdp-T>5=k%5`_g|>axLXNL0-wflKj`tJh9}y^dD2Ut-HbQkLFW(m*;RfBZOsEl=NG@-tx9Qn#dkEd8aD>qF_km;SPz zUeev2-XiJrJl{=!LEz)ArGEK#NBY*1>nKB>?@ZrTa;03&2s<8!Evj!qB zYP3I-zHT15x#Yu5_~Qn@Sdp z*vR|F63wNS@E~9|UP#Zj!@vV_{3Al{qP4~G@yfz{;?zJcF<6eInw9iib_nr8VOItF4OJAHL z8V9sHx+?>npTxg9j(l@8B*(#{>Ln(+$ZzL7iu{JGbSfT|jQnP2uV>$B@+pzwxF3Q2 z{U1&QQ>5-rWM!e>TzFG-#vALe*GBmB(JcsXGI(dApFQln3%_feMU=SrCOi}PIN&?* zhu^iTdi}OlZepJsaYhcpbK7rMYhO(4dAW@{bY%W0b@Puh_&IHEd#Cv!RH_6c6ccoiTv?{-I{mN)E4EidK9 zxSZt1DBsXu*?l_h+BL7rV$Tij`~;i@_&**dTL-|0#G(%$lNQ>9EO^>6NhuDE%K}Ge z{TN2y(!ylx;r;;a{Vw$d;k&}u?K^FTUIf3_%rf*M@I>Tv_U(56|6=dm!=k#*#s9r$ zK=yDEQ1F5#44?@YZ^RokS_Uu;Vqzk(O`DwW0j2#094{g1MUq%RFhNHX$Jq7>FMb?70@KWXcVG}q#AyockkIUAe!{F&pGFh-yierJ!`M~ zde^(&`?~d;$UMlW$JyjQ_J)_#quY0?N88C0_6<{R5)93ud4*p|zneSYc{k($p`^>* z>Y6u=bmnri#O$<&E4zz}CQHoDBQ@MVzvE}>(Iv=yo5-Wcof6Fbuc=#??LtHE<=w9L zXQcNPGadMRnfD>w3i{H|6BBq z$f}3*0o2pKz}LaNV?<<##gXF6X7Rnrb0hyZarP23ATvd=y0*>bjtKsD0iU-MQ*b}D zMJqgAK5GJBuE$&!8HC6X%{xAdIO`Lzu}RoyUzt!79+?XM&u>$EL{^%Q4^=+CWvRA& z*X`icRAjMfrytqkgcjI_jJFzGdz-2v7YO$y^Pa}NXHF%o*$IrSAa;R|yH1uw{O6n< zu@$?Xr;Q1;k;`ufzXSZf10MexxcxcKr01TUxbj8X{>ZAlvXine(#C0U?Q!aU3%u_< zpd7s|TVxR7KA|_31oU|_<#y5MZ2BO5lRTog5#O-2$XT)@j?b~vp2GOVPRU8$CeBMI z<8v~;eA@z7EaR)>d#Hc>2WX=x;J?g=)D6sHz}EEdLMJ)`zGE}B*jdF{?4Pq`%-MX^ z)|{eRU7zEx#MqhjWY5wtS_aX zf4c6!57vhohn&?~5b}V*`+D~^_I0b>*tZSb>78rDCX;>rJYyMZ-&b3LbbEuJn%^&i z7Y5CR;D#UnH_k=izR!ivm3`mHQ}+Ek`o5o+84)z^^4@Rs?|q1(%;W6+*P?HKr~$Y% z_kT8fVyOMUJwjcW$bPbJOkA1BFK7HS3v+NF4#Vz=Z28d|cYm)ufh`W`ve3 z%lIM~AAmogS#zoPwkl&!chL8x5sqC!v>&`NN$8gdmS7h zdrkIvDY8xzFVspMLyY5gDZ`%ME_*cFDEAiSbo>Aw$N@hnw41Fope^fWVF4I!`4 z8^&HAPI_OpO5D4F_pO^TcHpOvY3%PlWC(r897frVct|njGcTYccAqD0E6?|k6QX}v zydIh1`o6vyoyZFI!{3SQxD{Q@U0!5a&{U#}GHrwPeRJ+Qce{x{M0WTLXX(#4O9g+N ziZJ%vX6{U@Htfg+f4nswUi4?&<@yZ%{K%DM9UdgE!gRhxGlw0>JZx?UG-lLnCBcZT z_hrvZk%@dvA3ErNiRhQ;^N20bM;2v7VElXLOqbR7RZFZ14LQCId44Ez{V?SF#F=UfbyOnuI$0Cb(Y8>B=%GhdlKI*J%&|YP}FSEO~HHj4w$z< zygPW_0`acQn^kekygkgkbuw=q%-hYXmYOB9efC=;@zKmVdn@G1Im@RnX4^|-U5J?_ zeNE&iG?3WK47LmU>kx6Ep!v?4dSZP{vvr;0kp#wqzDhqw{#DkNJ~vw9E;LlfW$b@4 zE`vGSEoaHME$AgVOB#UJ6VIsnn7&4S&y)9LG*;h}A>&yB4CY}A-e|q&g1~@{*oy%$ zaM?dJk}<767cv_>F>41fIUtXpeu^N^Q0e-Z17eWqa2yaPP}Wq|F&nrfj@>MwGXrCY z>Ejt-XK*_(a~rU;02s;#mgb`qA_h{m5%1$^>@pg$QyG(>9Q`_WAg|1_yRkLc{a#O$ z`v=U)r^bq(u32)mz?n)SIL$35DF+fZhOVO@e6Y-5W2h5moBz#_x zKYnGKKW1fzGuWf|4Y(0_G5eK11k9K)641mhj5|3+l zLR5nL6!Exnc`t^Z`Jk`w>>JQCr>Cl(TS@y6-sO}(9+#~5N$UL%_!6;AqF*|`8$d&# zkI-odowk`K!E+0vo}acd0>6OC=qXG(qZ1y)q%&lGimx%g z6@Gd{WKkx)vEEN_Eai@)T%F!Xg5F44nZr+~IgrH#(j80acO&pssmtqrrhhYeldI7m zyUD){`lEsI1k^Qv2KgCz;46;g6bW5n@D(rKrPClsv?Y?(&sRj6=?4bVAg2q4<~Ldg z(&xJq{wcw|!=x1k^4;Kd`{nZ?(4O~SPq(7)%a>;O}#oF9U#vb%ty<8COW(m+t7sf9^e-~`iPbwY5nki z*Hz%!;6JaBEA39$d~NtfuC#fuTxl5at>bq1OOrkdg#XXS{?EXFafDy4#Iv8jbiiNs z%a$7b=fXdlzbvBOq4>+8*7tuS54jW>(--lO!W(`W9`b-6hhL3{l$dKeJXiL^^H)uH zt{Mo>+ZGLtr*(KHUd14J3ij;@{k+`}`1(oU`N712a?+E?lNSNACQJ(~SHoZK(CN#O z-hA_0Uc!*@p7TEi?}Oy11})SN@58xs<-d~_`g``k|7Ln82l>jErFX=x^>3kfBrfF_ z(K|1i`=zyizdXRc(D8rU!2Qy4=au&MB45zPV2_3Uho*j4x5HAvS0&u@VE&i2`|f)V z&%4;Oj)n#idy^vWeTaIF`ym4IwLt^w-$=9ZP0ENJ|Bt`Gj{h&43_Jc3pL*L5hmy=nwJ>~MJ5NNA&e+f}h? zlCjSy;+`7pK=l1RUikhP??Lvq#7}m>SIv@l_(`!3J$J{Q)N=>*ErcJw{j#lSqr}1{ zmJ+-xeq1qn{BEg7gBzBCuC62KX z!+5y6>&76D#4j#IN0V~N;!Y!v{;h4ayDQ1!Nf7?2Db$^$^G>1gNva1M%p-4bpT&KY z`S9N?Zr>e>=Q{_*wkTGQXBwvh@3V~CaUo>( zCw*$>x#D4-jz0K5bczjfr%p)Fu7*%_xM`JhfwSG(fl2O8_`}YmFz&cD#_6dZcOh_` zo+S0?wZ@r3->?~WOMjV*BTmLF2-XpQA z7wC6K=wl3!i8#86i!E{-Vpa#PmDs33*ATZ_?(Y%XX~R~$6JA2@HfrO$*vf0;flX|; zH=yr0fxSQ>cWUKgcbS&#=*8y6cL?4n)$ZtBU~}|3(GNP&D}`aJlpn3jGTcS*F;y0u zYc2i*4tVqqZ1kyb7IH-Hjf_FB5`&MA&6iBwUFf4be#TwQ*es;5F5IWno4m%cMP!YY z>`n0nllHCn28kS^9oRbo-FFfmw;5k5sax{4k+-$FX^wsmJTPA}oO-Aa9uj?-VIywZ zhWF7%M}^Tw5&K$0?mASyM6rE!jAIT(h8yI)3mlV7nwBkT{j}$vJN)U}2d2MhrmN%q zcV8<0doxv!+z+DLtU0)&g>luB_i8cNWonwcV8nhv&TQF_ zm6pJLJ#?(EO7@49{h^nC!Rk%~rY=2vW!@qs{=Hg%Ec}7{f8^!;-z4$t{q_o}#0$3b z|4IM;!@e+J|Bdtp?mq8~W$!97WeRtcYBH2zmSFpA^BE8#djc4T{@~?CW>*EgxLo1uo~Z zf}?_`eQ80SWx!qjw?f=5#^xk$y)Vt`NoB6`v%`obK}>pgoI6~`aihi4$()#Q=1aR0 zzXdbr?0EynaW9eB3kW<4o*M(d6(|q;Tm9Sg@dwENzl?v|P;tnCrOR<-5*d%c!k6%G z8xY&%zu@1td9Z)mc=m$$x82QL|0Dd{ru$>An|^2s;KKjuIOJFEcjNwwK>xPE`(5{M zv;J-Onhb^w!43bFdreH(5Sqe-jmj^$*FhM8;$tUj=_fF>%ijRdrgLd z3+a!P8z1PHFulPNF*?Uc{1{VzjbwdOEy!Crc4h?;mqp5S1SfgV& z3uiK4LJKGGv_KCi)~xsBUdu}Kbw9YlvG0%QEA(|6bZ?2|E5g@Z^sZu`RouxPNa*OK z%)s-{AB&y*(iV1@h8`~<{`&bL;;;9Qd)VbT@A_kOuMf%|KI@g-=X zB50<;w2;Azs0J@`Raz*<`wiN01l(gYc;1B{GUrq1M43|=ui!iV4jZf7!xs$yhaT)< z?&3rDBs@SZI;JFOZqYf_@|5%4@s#6I>qzBNjJ^gjz7xC9&USc*lIImqMVvwJm+JKSt+f9&_)mO^;ge*pD@Y$q z&tH1@%6!PvcIQ-DSW816vg~$UKCoM>lC*vrz45&BR`bPEg(K_Bi;7?Wt&RJ3O4^j-BqRnPm~7-egMl*O+O`f+#7{Ua{Z ze?n_6=lg#f{Z~D7Eat&`hW>6&aESdZcB%C7Z{0Hq;_rW1e$WqxfqO>yhavXN<^-L8 zAILxa4SVJae|g~_2JM*v{__4kv)SOE`}=x%&s=5BgijN>OUa{-y&dpjKkDbxHYc1) zVD4fs^J%Tn^1@rmos1%dKJb|M^=AvL z>1#fyesG!K$^T0I`kH?_fM*=I=AYU z6aF2V;#&9IES#ZkmAu$yU$z6vmc4@=kl3A=XCgGmHSf96+aEwaQ)MA9ua2(+}Y%(Hw>Cn?y?=4-Y{h^<~}v@8~8}C1A0UM z786a~hJ5pb5O5p&)jnV!8Msr*NFB0IC6?63g3L5=R{;! zlAbb>_6?e20REJ=g^qiTIU5`oM{wp2?z1TQ+O3%#z;($neR1*|%s%5;~uE4@y>FW-_|?oz|T zoLj8r&eU5oE07ne&>>+#>Y{LE+)WWR>Y|UrDhq}y!$bF%DrN7aSH@NFtW4h&C$Wg$ zx&b>k>Oo#VTWI1u+DWE=>uD#2c90AACiA_NcJQMJE1{i|DYxkMk|NVD-C>LY`Tyd= zi`H(B4IkYp!I`38Ku_u}MOK-If1&6IG&TF>7~Kas#wWHSMa086kNv3lA~io2v{h`Z z+QIkVg+40rQr_>cTt$46!8(G9uZ3g|P7}Dy^ZSEKy~w4#|Brg@#AOg%XZRh(dfz0? z?2p+-k-tA4zDXaxcaP%vUMPN)z+PZqfV@esP0kAFz<6b`;>=z zo{M_4?sej<&7=^05sytSoxQIe}T%Hf$9=h#v_;b`3l*7VfJX!isA8+C^itG9-<{j^yf zRb5w1EM*7vm~F<>=A@f8#zoO)p%UraF0pN{3%P66qGZ=ca~+;(tVwj@+jX0XO%iW; zsORiRcU}63ZFQ|`^oB!f)CShvTZwM$j2i7dtVVfDqBYm>xr!%6;C2TwS*~+z$tx|% zSh*#q{7oJ9E#XN9$ha#}PSWvVKK?`5oUtdVQ{kLb zT7%t5`MR&%<{V_#;tzMEU4Ps#Wou*{v;^=59#(s>fzm+@7Q? z4|a!4+EDkd<-)5%8#Q7pz8<{Ti9LMBXhYA_A-1x#*~Pn!n!enXko#~k#1q<0_h!UJA<7(Lk`sS{nY z=zi1@L+Wy*?NsK?wAs{Z9Qs|WrjL-BE`E7xZU48=f|VHaoA#{3lNg?>muo}kBxPS6 z74V&Ts%7ll3!?jg-TJ7+fHQoM%sP~?r;jzgy{E_FezT|H)zdu(O12zZa^0Su?3@4C zQ}u3J&*1##{|kk`f&W(F!!68_G3LcV%Fi8~RWQ)U2*?){cf-RD+fLUdfO-@Sw9mnc3VLNiNS zKHA!8G1`j9cT4ox;9qyfI7sZ#Qe(V=u#&zMpaj?x%Z($$px5ImQ)ov!hpw=k_V1Iv1vMinOckL+B+IOj!ntzz4ViU zv8qx&llbSN2R{D{x*>^oAbn$hS?SxS^zA3;oj;*(pGn`)<7#Rwy5dp3TwtTp5=)x` zW23wcwE2oMf&lqq=)2q#0~~u(6dTqjQh`@n=m!n`(wVV^hefN z#$O^nH2C9WGdIF(Sa}M}eR8*jeci9`H{}#5;1S|>?Wu*%%8FLHC3dEaP4D6u5RoBCMyxHDVE``Gx&i< zjll1peaU`xy{$&Le#BGunCw6N&6-1_LtXjMe+z=MFMLn!j}N$B=wgZU5{zFHctpu` zeAY2~Tih$^g;#4;W#%iNRkWNBy721P$TI<(&DGZ#{i>|9X*2K%@L}2wIPk|&eiP|FK^?`8DECR8HLbDk zcJ$W=LMsbqu*dC+{SW3^-OpO-YlDx6zBZge|6XIP&C@(hoGs^HAYMOO(~sA$!;o8CEF$^0&Pu^oy5R>(8ru9S%Jm-B>@FLhq{^e*!0`EOP-w~}8k zAEQhM#xlR>ABQoIF@!KfKJA~!Hu@>{ChPRMjByEE7<1W=|CuLUUTw(fWG-X8zx-Oz zR;gF!(OlzpnG-+k$(j3MQ2)6u{_bLr0WVEV)VaD1faEE{{^H8@SG+No*B(0>Xgh3? z7JrXEHxPTrSkD;mz4ZCb_tzCPT9k5Nz-_?vU>GoEe3b?3>9gRwKzjiFjH+~GW(DKB zMjN&o{QR<*OLY7x>DX#zDcEwUu(SN<9P2>eufsuGx=t60A6EZ2-R9-2w&W)N8E1uN zB!*Eg=RuO6W;~?0w+G1?*Y5)}c>L|qfD+GA_5iQ}-J$cd{&Q=jH->TB{dO_}&*JAf zlQkC^slfRNzCZa5#q%UmTSEy`fIpSpnZvh^%M{_55KN z?ZBUP+(G+DCy#(qr+_zTmPYVn32M4SLUL z>s@@4(x~IOWt=mC`Z_}9d$zNNHexTpS0A0vdy2pPR`6rzt(?!q^{6Bs#Q4&Lj0ECj zw6Q*to}#MF?9cAEpts(7eO-aAG+}kJ*oX7|;SeSI6XM@&XPlm$<-|@^x)-apbtUvi z%bw;=;N9%gHOJ3QqRc2HhE648A745%L-$jrZTU7I+AT|s@fCAk z80S)q_a@-1(Gug5{^7?Q{SbX?O|rPBbXm840`B}i|7VzUHm`rqX8yJBmB0A&wjo0| z@mvylC-9s5ea^2C;FGn~={)K*^Cj}#%r`wC-yi(-iQLlsp2l}s50UvxzXHon@PFIJ zw@)m}Ov!g3VBJas)=g*}bKRgd7I(5YSepTBCu<6>TKty(Te8GIVP0CR-!y1WVAsIg z_p%@F0q=YZ{PRul(B0VRegj=;h;jA|>gQ+QGsd9PwS&HW?Em&3i~)K^k3-YWGpAv! z9*3sp7VszW;3Y1u<6_@W`VJ}ZEbxTY@a51O^DoV7$wNP{wGDG;y>9C+W{-1byVK?) z4<%O4@)Xyxx1)a6^Y*X)t>=YJAM`|AUth5DiM0i*!YfCdjeoje_rEqg&<*{V`op*D z^DixEaoiFy&N9bxSI#5D$K^Z{eV0Rt9EU!COG>nI)bg#RtCzOLuU5*7Ru{b(3FLnRGrRWFxPU|a_V=k2_NTN6Mffm+F6zoJ}!SQb#QlOX!)|$r|92?(v;O* z#3U(9QM!eukbRaHJpQIGzDe9(&Z!vbztmd-pZE#$Bjq*9`}3?8x@7}-Zc%N`LC9g? zU37a9fe|aX6+V%(3wrU8qOXgbr59JJte1s#v$B3ctRpfNzt8E%#G^ikj#_l)pKzuf zKxe2;AU>1o*s=_mNV7B)WT{Ho57Z5D67M+A5;aR`^H|_a;>e!jOj{A#M7&ouJ^$Se zbrL5=cwJ&VxLB)wsmQC77*{EDm(=?zb!wlFo(+zN#&_)7U{z)j-=y~*;f;aO#$jV- zYYpJY2&GJm-4+K$Iu4g!33BYO zGY1lp^tgs*lw1wp$|zO)Nd(QiJj_5)}q2X(pL!{c#w56>o(`k zPJD-wVcfaH{0&t{5qe9ZN#XzY)g~$X>Yq_E#TTOkydSTQ^R?c%Ep8|O`*N*E&)lr7 zI6d9A!j~4h0(Y4D?pq(uj$#iAcz?>-(IkT%x1J7L4vrp!Wr8$x#p?^?t@ zu#JK4s#adMpH%J;J|UX)6%pYsO$~3J@>6BY)X(!;&isqAg&4%H!)rq8m8ONR$AcYP zhQ}(eG>(yd7QsAPyTjAh*TvH(E4XLVrJR-*!5@b^9b1lHXYkEZ??>R5$7tg)`{792 znk|uC54V)57I!#t^xCXZUJFkvzaV~z7R%8ji+Xf%xZ}1*__bT3z26K!e%qbAue-;- zvg%&@%J(0$>{5Adx7N>DH|(KRRUr?pdjBzX*K>T|u76i{?IL|U>221^xra%Ao&RTe zp5ysP@*LpXd7hu}9M5kq?_cFv$n$GF@8h|e=UB?bQRZfz$vo%t%;)Lkc|XsOZ_U}2 zKCFCIPh`{FbnbWSAT9|&lePQ~erxq6Q z%z3n(yWZ>zb00mi@TPeC!g-ILT-ft_$1bD%u7y&z7ykRf>-R0(rDYKgfG-&54CM{QrPF@_$~<$%XCIlQVwL!sn^~jq$%+_+e1_st?ESU06o?H14p= zq3mrn?-R#{an!UeY~z_kJt}ofpnN*9hZ5}IU1DWt*PL3oggjOJ683igb2_rh<7$+z z@>JjAmFNyu#74Ld1|N7K_nY>W6ZqB8Rx!VXpodoF@LP%>c@=U_>A$p_?XPDl^>nMz zuH$NiPjuyXvY%^Xf4HSILUSb}f9bL&d-E^d+LAXm&#N6!wj3AQn|+ds{KRKX^*Z^s zY;3+apKp1{F^@x|3SF6kyr#>VqL-aNcD^@-@90ciHui&dDX&G7Cwr)q{iCh1u{ZKu zmma>2_~{G4A^G5v`76%coJTBmBX-7MUhQMfwsV|qA`d8Z%qs)OFK#4Ot|2S7=x0NR zj(aEQXxTUW^%g2TsKwA*i2fi~_-BhZBNv{Jv)eqUzp%ao*RF2@^?i2Vub}}{Xn=vT zID?lp{5vELU#M#HZWskGK%D(B;`wbrh9fvQ4LQ2V;!Z;&?^ltb!CP?NyFUUy{T>?N zEV`ec6EA*y1oH5M*0LSZiaTN2+Pe6)*0O0gRn_&W>H~+>&2{gn5zQXf^t5%jS7I=2 zht@exeRBT%4&1#=xiBlAx(chTWp70*d$PE1VQI9oc*C+z;@zt0sk{pfQV1{cpk;mC zR?CLEHx*^J;JuIN+csqT66>=hiWt+-77}N+9a#GXYg&;=Om|>Fqr8micFG7Wh%8EM zXYWQ{WWs}dlY9$!mJVC9rPAWKbn?UCNM*)^;TB?%W)q9lPW(|h%dO}N6z;!FAQou? z&s&I1x`S^yygx_UGdx9y$Y)J;$?#`Zx0} z>Uw#%ud0!I-`Vd8HD|#C?-L8-gN0ey#<^7!>bUeieXE%<@gGvJ;1EYm>q0v}1w5j$ z|0RB}!rU#h*qYblTb0I|%Q>sPTU#gkJ)!#=k;Qr7!)(wv*h~t&+a!jiNw*EWx8t+>Uf1PaLJ##>M*8fG zRp_C?{V?evIpaH^A>+{-35^pdua$d1q(0H*n({a3Ur(aH4|}dv&l~ti>z7VEquaxl2>k`!)f!^;y=A?Ao7?fgrro!W4FR`xORjgCv2=Fy$0DSl!*;AcKipN&{&lj@5@hWpDbfd`8 zQ|M#hH+_w*g%_lrwt#v{{q;z^?f!DAM}xPPwv+^i2VJOJ?;m%py_bWJ!3o9vX*+VB z-ag%5PwZMsuxF8R|B^DLj1PM8sCL@1C5G|OX8i2|V{Qu=vx04ULt=j$;HBB0(#9+N z_FG2zM2}s9tW)I9hv@fk`YCcPGfj9qkxOgQF|O7db3t_uPqKeLi~MJdz>aZ-^xG3( zC`7MjHEfUjaxLI~4cgd(?wh)p-xT<#lo0!Dn=N^EC_FH0yEz3OxDX!r8RRlu%*g_H zVBrtH91pB{li`6icwpr!Ja9fdaH5|Fwh!QeDa$;>`+4B7A$Z`Dgz#}1Ja9fdY;t+Y z>QnTuwlsBh2Q(^jwC=U=?IP>a;DI~&mRy>efj>};FA{p0{}L-XEJ7I(4v!Nap-hip z%q#zo8eM@5&XxXn+yZ!Jf$4Z+4s~z_)zTkqEU#VuKb32iPX;!m?KI@}-%+*ZMC1%P z&yID^$0FOf^e}P1 za*Z`VcgMf7|IzK{D#&wHZx%G21wKW)6WfI6IKzl(l!shd_E@U;zmp50=ZHv2AX#_V4xj#&v}=jfQ^Udq}`L>3}v z`oHKhk!<812X%a`=TXvhTfy;s8~OQEqntfW_n#b1+LM=N8)nA|?`X3prm@WE@8v*r)l^6#h%vOQeau{L;gr$g(VMiG7ZL zz<~Rl;O%$mb46^-9L6i_evow&x=U!D`N-!Mocm$RX<+Lk);v;!mR2Ku*gq^j%Uw4| zZ*lAunyd_-UF1P0*+U)heeVNL0s|K0!q3lh?EP7J$=+fm#Pvq_&+89eENXea+<=Rk zC_`V`0SyXn+oM@5E-9Bo{m+o61Dg;{jdDr+=6vn~YGdru#~rMz=xC*nVYDC4+R{Jw zRL$bb!sd%{(Z2|9I&F)+lJw6)-V^k>lm4A#ELpU(L+B&&yis1dH%A%fdQSU!{SNx~ zdU?uTvG*$W_fO(!%XwwPenQG|el9*p9>EzYdjD+nZ@u2X{yVA6JFAR4srv7%a_Dze zg|a6^hi>Z3S-;(ZYkIG-rUTNxG9XRvcp!E=X@mKYEG4G9ojH_!J@eu%Eurk`Q1(F{ z_zM}eD@FDKxVDhFw6F)U5z)tG(f3lxURz0;?AxR4>7((;Jw&Jd{Sl5WLfbyW8MOVA zAGU}->XtR4+l}!G453eS{TR6j_Dn~!{)M|p^!-!1_mp+yg0zWm$H{#OJCU8o^R0w$ zVc>>P=6EMGkHpwcgdX1*jXf7Iwu^R$gU64{8bRMpNq8^r4C~qXPNCkfY1D^3TvyM6{bkroy)=Bp&d(z+&cJfSy|4IHQ z?zB<0ojd*s-y=25m&AQW=hzRTWBVjYb7zz^Wp-8vySq+U+%uTb37RG4ModF&$$ z9yZpSh3!!*b0m6_Ir7e&$$KX6v-^r#zNM~yHR0DqEv?L{oZB7N*ahlb$CL7Znm^Cj zzKUO-w~k&Qb#DKvW6Ny#GpSSFXUIEs%6mHRUH3xYKbE_zbwSnKwmYikwmvp*SL<7%tLAoCvxzOC`Ixi1u3uPs;~SK2Z9aNJH z(H47$xZ;ZUan9OR;Mx>b86o`5VKwqAowK*aJ#dl1~Nx4|4du5t$tboNU;&m1V+dzc@%-uV&w zz{Bos_XsZd=<~iA@zqnDAES>#UcC5I^jX}i)0@qF`e>6l&c2VV+wL**gwwB7#v`)H z+rT*jy9+tXUSd4H$uHLLr2kG}g?+D|z0Kg*LiW64rn2}Hd0pkHd!gCfUH2lZcnP|M zez#{~7f+o!?w9_vKDSe+%+c>scGYj7&V1@L>5<!EK&)2N5M%lv1Uj2|1v-lk!|!ee80H4Os}9vjOO7IjK9>IfNc)Dd!>QAfzQU7VM_f31!{haTb1 zrhH{!`FP+fscNp?j~jVUlXvZhyx$b`17V4_ZxOub9#L{vwKegJExh~k68aZSckKWqnr6@WBoMX zBKe`Dy~V)b3FauU9xYvLEU{N$?yId9Yx$X)4@X%uj5>PXK$xo44JQ6QvwI z0qiZshP^OIDN7a_lC?{upVHqGv?ceQeg_@TFwXN2tT&|Q5JOS&KBo-(N;`YyJM)yi zH9_!xoD(@yh|K~_S?I6yu|gT|I|1C9^`{`ufnF$priR}}_Jl32z@BB2ve*jDecLMj zp30ty++*+@eU(0M!*2d0{jH(D&<#hiJ)Tibe=Gd`Rp@V$)XAEiq`wk-^-=m8!oL2{ zdShxa{gu3LC?Q`tL4O~mzt8#mdnj3%)k=SJlu`fAK;6!W@SpVyoO zV_s|2zhhp3!@qT2t=IeKHOTC1_!WJXdENgtbT0HUuSton#a6ama1nmOS|##Ep-1DC z#lIBU4fFjBXK@~QbOL&%!La;oU_%3s3T#+)xQo!+`+Lrj6PzRQ_%3Ue)pdgBWsfFv zr(y|f7|a@ez+U{2z46)aWdXSd{%-P>zit@YaL^Kl;<1l0gW>wULEG_U>|6l8PBl~I`lJR zg7Y2d#!SW>uMYQh=x4+P=L^vB@zu%B8Q{&=3gzG;7{zLCCZ;B(;> zme9XOKR$1jyHi*D&o}l)yTANADGxrnR{26XC!seR%M78`8^zCmzHBJ*vd?GE5rbP%By?S_?j`tXm~}MCuV6;0L6xuL7&orAeM;vod~(-JZ}C=rM%H z9YA-FW^Tyoj(nHPkr~T>nac-gegUs}( zsYd?FaeDsG=jiosR{m+4zy9mo2k7SoGriKEU%5`dYq^JXy?+f7--@^z$OO8~wAOKM zJO3r^Ei(=NUB>ac`CpHVWt3|ot?!Wd-`beVP=~I>Nout35Zj4*;pQ~FQPmuK01Jk*y{PAc>e`H`fc;RuI zr2lYW`lX7NU8+*hbtClBGfMeJHDbYVHGILs>8ocSo~w++pKZ&TiHGaXs-YXsPF0|d zBYk<3p=JH~J5<|-4$`woujL$WO`@K#$`RDdoogu4C`3qc(U&nwX7XFZdJlNbr(iIVvm}io$k)V z=PN=bCStUse0;27)A>s2PXzlO?8`Y=~z;*aB2``GWh+8^lAJ)vf5Htk}sP4o;9BO8%g_^cF$Rdr=crsaNhjmUg7Q2ygPV+PDbDaGEg`S|gl?)7^31>9wF(Y$?`w>q}TS^s2pouD;im zjGv>Xj$fdGGsW(vgnOqnbqv3;u4fdjc@;SJq&j*-`t^=2+n;)>pz5i84}3H1a9o^k z__(o$l<04j*fYMF^hVwFR-5ahdc6;O|HWC{xhLoEzpdF`Kc=s^MR>U5$e}-?pNY_~ zt;ph))&%!N@I*M@K4Se}OL(L1MP*#`>#Xe?tm8Ioknf`#x5XV-uJ=_|&-?5I^4z=e zSvYfZjtBnHbq2kbJR^Zsc?#_P)tT#A#Qm)4_%k%%Ytp8SbR}?=;#B-KBP;K4O}0e1 zey(cG5|gb1IB(=#Q?GBHtOfz+5w1{6X!9~`O1f119Mrhxe03bZ;mv852=3V$)9gfF z8)c1f#ao8?hFe2jmV||$NxVgLaEp3-;xksMMxRrtPx2)4O;dxYBgnOjA9sLrwnci| zp?7Zr&O#acRA8m>7U(ndwDK+4#@%fA)7hBw)3!+0OT0g>1-V}1sZD&NZukKudSOYb zoN?~W@HHvSXCw30x<;$l7-zgC+}F*#RU@N{QX-ob^pKp9i?fwbSG5||`~>)P9qCim za91C;4rTZxTI`EHgCAIo9n7LBXX7)TSByI3`%=;sCA_(lzU?Rded{oN4P)s)J|+dS z?v1Pw{QKg==#}5H2DwtyU|%)m z&TyvNz>QMRQR+EG|7tk{as{4vT6i{so8!p?4Yjx^soJ9*blkz#==Oeo`>>&E4!=D$6&z0(KuU6f2ZpJ4J zTID+S*q1{5V#gOqa7F)A1R^D#P6{kUO{lzL{+Np&f3*t8=3HrF1Pc>Ze1lg5xxl2Ny zqpAr5=4bX8^W`P8$4 zdZ_bB>})rujJ3JfH?qg9TJtvQS|6qKZlG*sjn%VEQGFi9Tgd(|<(UhvMgJ2cav9P8 zR?)tc$(A}Pmjs_sMcF+1qtPEZ&ugExdbVv=%Bz#*UT1iD=3VstVk4mMkyHLX(lF7T z5L8)^!<^{pPiy`?as%?y%7Qth_f?Bcw4o~$JKFhcg6>KdyCU?#*hH7*!s~R7Lyw7` zdp_sxB;VSCQ?q{cz}0P`U%(c6#ouZR?KEwneb&%a?3T+sz`!!UE;t{1=zPCD^n%IQ zM*Hod!^)kjPti9Q_Ry5`qR;JKN;z=)(GszT=9}06wJ&zg-7xM34*!kGfSF7sbOJAwN4Wc2LG=-HD+&pyQ59zq`{I^O@a zb4%X>=e8YKxIDLflewM6m~D*B)U}IFKFzOdpMzCzYK)$e2A#K)i+AA@Fm40hsU5RQ+*3VZ-oV*7svAA^^m zq0fSIqkq_3Z~uHjOSB_=T;f;7#~?!YF<3Nj__%cR7N(Cu4n79a?^vkuaL2H zkS{b`84<>L5EiaX4`*3Ag8NX>?VeI=Nd?<7n*4O%4z7Pk9%^hf8VeWg=*AY7aVtm;K_&N@mCni+Ct4?r5 zQGm^senzR5GO=CKf*kwo*q9|oi_NH}<8`s`vL!n*wMmXli)w35PR{k@M&O6a*)B57 z!S!*@b$3p$ty>#u$lX%0iO<8T+G^GO-ick4>KgT)iI|R~xnj;gs1Xec^p_$tm3rB!bvG zcTzrrZ~OVS6uxP4$%>3^*mD+f_P%(XGIHB1Rz3dF@pWqYY4Fp$fc)+77<&E#S;|^D|7XbmY|El;&#+rPglw;La(c8 z`c9sylK#4Nk?2@u3>}o6%)5N|@*WO9B;z?q-bsvSTdS7(>)U57TS8v5KJ;vt>&u}}X1R!-K0VKEw5w4bTJe}#i_IMG5u}M6TI!Q}G-#X% zhobw7gvGrp84;N0p{>qj9y=tM;(^f+B%8hZrTaji6v|PH~cw? z;e!2O(XjsX1nNoHJzTfDk#CjQ?ioJIFfUp-v8DH_%(?oD*cnbHTZplI-rl01SNCyL~JefJv=au>}U6h->_lN zW!?#>GLD3Rm~Fa`bF~FoVi0^=F#Ovv__z@GIqdx&wqgHeabIApLjQ{`>R5jGOBHDU z;qb&lvvd%%A~^^-K04o=_mw+34q+Qlyb`fN?$DGYK`WZ(UL|07%a7pZSFw++YwJX^IT;a3qCT|s~3MMsq^F$=pn^aF_=+8eX8#@z$f1X9$k*AJNT!}66N@e^6{hqrB;;#(H78x7z4cn}fyS9Vd^1*XX zeo{v%vIC*f9qdyZ?Svus2)BkdZ&XJ%uP80e*iW0Rt%o@Xq1#^`yHff;j- zWqz~a1rnxBbgw0!z<(<+R$(3MQ^6w|X?5&lg{OsjWuFd?$@kfPx4`3LBU)|1*I*l? z*dq>4EqxmajA-=FgAJ_Cf20eaI+Fck#6*zxjXgBV+l2j((bhnFoUCMUBd}5noa`8Z zT?OR>eIOi4pzX5iJ;2^dXqtrH;XvcjbKs)@{sbB^Gs~@ZA7bqp=do1y|I{_1&@th6 z2^}+kV%WG8&YCpl#|i&ZT3))^b0U7V@Xd1GWw8cwhUL-k6!-&gBsNpfCgMX5ji&p7 zYLscDOfq>qe4ijP-(bfv(`GY~bSrKDrh6bSa1|d5J(fV@jr~3wZ!$hDdyZRp&ko`Z z4CS-YJPW=ox8H8}nsm|^&{;#!Nk@jFi);1q^wYB@{h|Q_3bpJ|8sy*&sF$ zCBzZepjk>H<&5a}of#!CHNlbjmYfmRsM!}dQ}TfCCjS|r3JxW{cQ1HLaHzm{J2Hd@ z@V~&moCywv7}xwa%b0lA%AK zX=$W6)$m`vJ@fH8aQ#lt%uRKrJU7hTSU11-tta!*b7d(x-J|iB?46E(@Szuvt={(M zo-sfBsHfF3rk?n>;+OAke}?#Qob?h{snasnyB=AcWs!2Up}^3IPI)kBYb`v8j3x7q zKR%gU@m~EX`rh=qGWb5PZL$G`B`i|O*+WLQ(Mjoo*L*I@Y#L2m;D3gvmdi=SGwmD*CO@8 zu4DOsInuK%sI|w$hw)0NubR6UyF#Bhwk+|NJzdYe-Q%6{A@lq@odzSBgtLL_oww~o{-mc$xskCL|Efrf{+qqo%&suzSHs|a-LQ2q=(l;jysH;NAytdyb?KX7jmADUadR!;%{H=IsB*N zJ%=CpYtPCxhtZ`iX*v7M=7Rg@dLKB7z9#+i@3c($RphvzAAjmt`o`To>FtMm+~wzc z%GMl(XTGN;{eyd2ru}eteH8hk)<%vitAF&^(NBKWv*^g5d&-JC^nB@`7qm3^+{YYy z|FuV1*WA;(sI@2QhfVcmuSM1u!=oR9M?VCQ{tP^N@tQ;R#TOT}6g|>ZuWaNyKD6K7 z`_p4V>vr~>T=Z`}&tCt2Pw^wKkte5R!XK-TJ$wIednSbbvFEjCT6?}tddkUe{1FHjha#({;m60Zw%)NZ@)20 zo<*xS#>jKk>WyQRa*>6(#w+FDV*iJtd-EbUkhMDq{Di`fi*JYUL-Cu{vZe4?p>wdI zlJgK5l*!vCm!xFOhc6I0qL;Z$WiC^h%MHw>vEKKzgtb-|EXdyffXED%AE_@`UflS= z@-;88#$_!V(<`=2Mm~5N`QVB*yI9*5*IrxJa3yOfde6ha!L)U*g0qVn9yr39Mxp17 zWKHkqTyLHnHEs&?l9IrAP5-9(=O~hMtJ;akqtVZ)VjkzM5D z=ON=RhVDwGUtRPo6y2`KC&Q4l=wkr(MBcJ-O~km3z#i)`!ZkUg&df1Kj^jCuVl^D1!| z8gFL4(wMg_p4d4w=JHJ9Ie5Njlg_-E^Zv^_ay|N7vtF+-*RS4{?b$~>J(=s;fVsXn z6}?=wn%Valb1nKg=1iZ{kq%F!%$=m62R33;h>mBh*Jh?e9~k-=ng3X?)l6qyWUf!* zFZuaj{dGK<%lyyte8&II$C&@>A?6?0`TOSo+VR}4C6gEo)1vblOAN9&Xuej)?11Nn zSDcmMr?sv{W0gRYHgYG54m;fMV3ZlF(}+@!+z%=7B*hm~B#& z?YvuPXOj*tA|{7HGmrFE(%;rkLuMnBh#A}`p)E!3@x}d$)$3_E-+%YO;C?lo3z=>9 zN2htYw^3*j9Y3%(5^v~>?mjz*J;!-))hFO8(Np%ar(|8@Sl4m-y2c@|Vg3iK>$UHl zGUsaG+Q#W?D|NN9mI5!bwyn&S#GN0ww#YLWhvb#DmALbR=kd#}E&5QY{~Bv6cXpWl zHRn?Acfi`pou6WhCjD)ozNWu>ZHYrlJ(bs3+XmM56>!8C^{wb*>6_sPFLkzZuhriN zcQJb38qQt=?(oev=V~ap`@xrjJ0m7=EO0g!I0LqKCnU=~ezC;ogHL4bMfNH3nSX;% z9mD-~mBaylYAG>;uCFX0P|NPE?~QT)6}cg2fIAkv@QVMQ2`Q7AtGMsU#eWi6)sOqG zTw~G2n|rqsTw}*STI6c7#P!jK2Z6tHh^yaKH9b&(-Gti|z~T$Dc;u zq#bG3asJ9ZCU>R`##0@P`EsB9V=jVMl{%iHU*^~c<0=`yo9`ygCGo69#?(pKY@J^f zd6(v0OFbh0$T`zDTA!EIWA*eM{`5Jd3qN~tl?57MXr5MVE+jsN*iHPEb|1pGUhXT% zhIex?-pUwd_Pf~8j)t!j`O-PgbFu3ceWmbvKjtZTdNj6YpCN~h&vlfQ@E<$4x_GO- zOyo()>GEzVOYy&3$-CYfmwR7hF;oRjg6dg|{qRkE|7$SYer}%QHoH zBlar?kbnLk+FTD$c}{GKM>S=96CF;M<-#mtv1Bg5#xTCxTK0_a7bBGslWdO6jikB8 zhNZ?IvX&K-K7+U&$X+s2NY5bso3`Q8#cyB+x{B2LYFnU*eKfWlP3UhwgHBDfj`khG4sJB| z5`C6f-L|B}`DsQxdY9!gKH50|uQQhKSyuCV@8$1z%Xj#qe@E82#5!8%qh(#1&_|ek zXrrDs?)ViRyMr~5Jt?%sOv-l9uTJ`x2p`_b7!r^hNA)-=l?|7lr=p>jNn+FBJ0NQjq^ZROf0KC z6-unHopwr{Co(<-hNWBt-y}Yp%(j&CF^+ynjMCBGx|@Qw>gm{X1*V_itbLMi5}P+LPP^`}K20eT zAGC@(?pBcJEady>{wg*ox?XIlt#VfFf|`OV`bR9585K7G2l73Y@8qv--c;}q-zt6z zY{T=#P2}l}99Z8OI4OxIKS;@@fe9|TnU0TMs;PHa5@U(<24xHOD2g>j}ZPGSNa?YmdW#P2V4IpaLdII-_`zknX& zRH2f&oN>xKb5VY(nE#AZ|8^hmj8ooA7-u7QX`FJ>-&IOx3FDOi9SL(jH(^_!Yjw9rDxR#Mpzd5?L{nblP8&7-9o}_3dfw``p}&@W zGMRlLJ{PjTT0>Ni;L}d*zYDS5DrFBnFW)X6(#ub#d>-Gmfbz>pvrty<4gB}?psm^k zBX7qa@tq0CcUtUylZZJCoseRSb2kRG(}>M$1?`paEW`&W55F9A7ki`+Yk_60q+Q2d z#Z7DLPQbrQOlHZS1Kz-vw7UcSe<}8Kg3F63D?S4b=#H?G6MC#2vAJ7-Oi}J^Ats!! zNY``OTt0C9^3%t4eYKtkScoA{IC_8aVHO*})8yItpU3;_iBOJ)k!Kq*z3hxV?VW&c z$WR22h>i@{T+F#~bSW^s1H2_;Ng%)2uieBv>0{%+IX3YzwNcilScnbQl!^XtM2B)= zc2}0NFPXWzfp4wY9pHcHt)zT1=Mr&jM-;9h-V^mKz~|gNmukmqsfE}993tI3lafg* z;Y^Cpo>$h2t$~I5@}lFWcTm5aIqmdU+L2g$T6$QjnO>~hJoMvn8DD&M|9Pyb_&g>B zdEV^nJ0f?DbRLp>MsD_We5|+`&*qfuVZ`s6LtHP__}{JZf36-sdi^lIyCuFCIwNQq ziSvbAojV|Bxjpoyf^pSEm{Cmxr&I$Qh(=?3#`kF~ev( zmlz_K>!xkJ?zu+Y2WGoV1@<_9z8Ca0D;1p%&?v9N&qcM2J)y&! zf-ktxn<9seCvN;f>{`gD#~BNqqumvT?@gSI^v)ZKtBk@Vv>&Vc1( z$4vM6^L(3lN*X>wS>$P>-v3Ab_)15a*c1*qw(fDp*cM&)g=5R*?9XyoyOW{ct~R#k z1IM<+7+a{!DROWbUl`+ay6x`U8Q=2Ku8bE1&tRXJqK50^tEc?_r$V|LpcnEPpV%^O zVtl9kdA<#8C*vz5kBsjL@+;v%3$;1pMquZ?Iiaj+u2Qpop{>cWC~N)bblYo=MJd@4 zi$W`N7vTf3C^7SvuXN&@;3Myn?~!-L_LWNVlHp3@{Zqn}8?H}L(?Y|(QB$z<^ZgGL zvR<7@>*GTIV{1V^{x|qBJGI;5NBqwE6a9ZsbpAuyS1SwN#K*-FmG@8wd7bn}-a#n>}jPn!~GWTCa1OHbH{Lj3n>G{K)`7<}vaW)P3pGNE; z=c3rVDpbuW_5|9*+Bywei}-cekN`tzHez!TCm`k0*IOh_1tz=x4|-_)R>Kx?ZV(%? zP}O#3lP)^aWxm41z}3qf>YFy_1my+d(}pXO?Q-i2hA6U&5un# z3pZg4qNx#K@vKQBdk0+#_9Hf*%6<~N1J1+Cdzn}X_?;X5P=OJ-3r=4HWGVKtM8;I0ZUc~iJ^ z0^5p=rIZog!@RFzKwj>vki3`6kzX(OaeT&F%5BFFR?dm#zJazBCXCs@bII5)Y7);E z`+S9U;av8GrmwB@!p8~T5I!ZXq$Hz4wK9dbPscd-3@v%@=KZz zJEycYVf97WImvq%Hcw0RclG7OlCC+#D_xmX)4oz-nBIns(Cyd?Veh!1LY>rAMP2#2 zjS%q(q2Kb*u?fv1aWE#~o3RP{e?NU`BA=7K02g{+6ut}JRRYXPpH16N!SO@cj`W}1 z18hfjYX|1&XSLXlG-4YwpSna}BX%UMoYCS#ax*X!Sf_?vhVaS<=%?6TK*wZu2yMc> z7uXl<|Zb<~qy# zN5S8g@yx>4t2@M1=Ns*+L+9_>uMT%g%*e@>ZFMV&V-u}zth3#;zRov&Q{CGWpQzK) z-F2I&V?QxNt?X6l3pSOkaV7jxWx*7F(ys==LA1SNs*^#{X(F-_8H1eX)&9L8?=l7%6MR%m9`ho3WDkX@w&qjp%?fp_uNB^)R>nzx*7DwA zo#b7CKVXA@-gA;AEtPm)Bk_&2amUq2Um|IznTrnOP5Z&wNz9=<+gRH?>X&`d!CeC(?|HMIFO{oLm7XCrIY-_Ob3 zm6ovPCVxLINz%_We?LR@ezqqniv?b!pU3H6GX0dN^s_|oXE^-?Zh#%|yxvb~yOD3w zC!rCfpINL?GV4{0RLn?OC%$VmYN!E*pH){-GM#g^WaaE;E*P z@c&2MyT?U!U5(%8%z&H$ymA$-++t)fP3jFH(K3KZ0F8-CZYGVOZ3ALV&8-q+05K88 zq>dr6l|EJUNoB^8npRuw)2E`g7GrC@wCUw(D`*mDM3bn|Fh(=K?>ci142Y(EpXZ zr+lz*%#?ErM@>1k@GDb3UKl#!&FSwA|Ig{EBQ{TO8NP9Pc{1~ez9>8^8U7|QWgDlf z4h8?m#sT5*v~0#m_*OYFSiR^4b^Ia^zQVa_H|q<$OOL}klzu`dYw7b^@mbwMKZI_i zUz_=#T@#2IZuav@o=G3uPpS9X>1PW4w0A67EB!l7+{+MtrN4vumA-~?_2Y`-8pIXD z70ngTHH0gUE0$|0*CXD_<|T>A(_h%4J^3G720i(!ElE%Q_m-sFzQ1MAZI4a)eBrUg zpHBY)&z5Y_Zu{Dls|$aa_`~T-DJSoKo494Vl$ZZU65pOan|i*_xAOfGzJGMem4z=6 zoBIX*`y~DQ|4jVP>0hHQc~_ITdHOG@>yas+Ei6vlIK6>#f$s<1CeJDocTN8|&!#_Wl>c_(&-LGPS-9hQhXp;e)g8pcz` zP{!_?{{o$U6FOZ4ojwkoek+JhlYn&(Fcl^fgAO`P23CPP3EJ&Jr@#m=D;iDPXNYUD zfV1qYpihyr#6L=WgM}W^Rk`1IEY$VdSc%0}HFNb`#Z~)F)wSwHi|dV>t**KULa^6g z8>d&+Uu3W~xou;SizUxPl>6yhbUAEIu45d}hPt&c2j7eDYm|GwS!Uxn*4!v}p?R;2 z*YEE#?~BLl^0t)8;hDcC^oTcg;1gG#9E7c4F#ZHX@F$33&lnASG3cp6of2oV$mQUx0v<0KWy%={V5ycz&Fd<=vXo!;Vlz{^Apsp&eHAZ4V<`deE_E1NUCm0S`7$t*qNt zP)S>R26E=!DCZ}BPItL(o5Qn|t7bp!vGP53JTLVmW0Mgbgy;;~&V^0%;BV7pjqUW7 z6LYmDcBgLF08W*4b||`9S(nAnvN7+0ox6Fzo3iq~*cIBad1hl*P?!Tvn;*z@{q%v% zL}bqs>_u&%%3#;#*i2WAb8;6^1zs`MmHg}E$@)K;~L>NKIGB;{Fk)1|++)jFvpi{nv%N-g>*B9Oe@mFx z`tuf<>*9wa&sFy$Jhv0WW#s^6ySb;4bux{;9Q(+RS91;v-TKGP6UI2@Y(Dx*&M-zG zbJ;rJNks$DL&!dOq2HhJ2mIO(F>k(8_GG4?GgJ=f!_OJ2Dq!{7I8TG_V*s*`e0ylj zE9(#GdZ2_M$DySX^dnQzS%`jbpi$-{%6vqbbP;1%Ks92aq6E8OxKi0 zhYJ5GI?g#Nu{C`t-~C1%a}T=ZF_iz1vsA~cEsI(x^JTfuvCKHmS*kqB+POc>S*pab z%Ay+P)gjJ19hb9Cd`nFKG3opYoY(6|GIdPFR`_%Jafq{5$LTlrfdCBhJ^yd`Juu1l z*Q;N_FE0}O*wu)Gx7@@zDrDYrk_(%r(=!@O>hG$^^&GV}#!uvkI z`h)j-o<)>>-t}@aiA_NKW;ApL=Kk+Fbdotm4%fq_Ij;5x6_>AECDxN;*Wyk1>g)bb z@%kJVSueq=><~Zt;(iiO{w~&w#Wvdy>TN~#rKJHW(eFuN-cDh z`>ndpI*>O&`YSo1!VNs(m+4G`_lUkh{+nkO(5uuJ8#>~_yh{KF+3e4fsE>M`z3WV( zpZQ_r4Wq0Fev&Br8}x(3B+@hv~oqx;sQ+>pUqg7z`Mdj9TmhH$s!-Yt~rcpKJ|)kgZL=h zuw~`TxDt<`j_2hQ>ekO;Y*WxHmJwfaE3tQ`a-O+-Y1FLW;fJ$;oN22$-y?RaA6-q% zthDy;sAAn;uyiOszJq4fH75)!=lvPp*PWI3ksY%BPhHw8|5{(={}Cup=7gfcrPf(n zRpR^9h*D=vaVi&n;C&oeg zAjhsbqF;iiTaa^-(RqqqPxvKq(WBLt;t^U>@rcu5OFxt;57V*mm`qW9fF~DckQWk40G8jz;|6@l!ilWW6fsGlJ!pL+q18K#f2F3n9L`Qm?1gx?Aumf`x2|qe}Q*3R^N}nU!;B7 z+70MS6zsUu1}i&&aV<)x?GOBZ(2U#p=2Pg*PM$rl)t+wq%s=5(zLENE_+!{@{hiWI zDfeFL_E5K{W|$tYaKBZFZvCnfCA_YQ_ho9;+O)T8*Z+e-x(4<^0nC$pGQ7^vG~}*Wy*{z_~~!365m)|hhFWCgh*n|J&~i#7(lGK zB5!bB8i2HIwf8t+heAnOpN<j%e5*m@?1RLx)QIb*<=j>mNz5(LXWar`BFDbfu$q``tE=gE@Enb zwg1#Ka2aZ1s>#G_j^^7ref!s{v}P8)mjIU|)t9qTqENNnXp z#AzF}v}&eP;+w*so@bO-5^U(h-Xd8r;N~x2JL7u{R6sY=*DZ%O&0Hyxh6t8 z9%K~F7o*dXNw-2iV!tg*NcxKWkI>_|4H{dOu$7p9gNfUAn`PkC zkJtmf$JjcR=yH)~2hzVEai-{%7aXrO?-_rPxEZhQCJtum*w@$hCx+X%7>{%F6z4|P zlPY4l<=74-q&E#1mP~BepiC|KWX~j_s-WYZEfgBenF3QK)Oae!c$gk_wxoh+i6eaCM&SL&)Rzm zzWL}`_NxPl&n&*S{gfSY_IV}vYWv(DSHQP@)p4`hk2uRQ&SQ3zlFT_s;bl>U!6-TK|a^|)g6M4_N&?|JF(a7 z{694E;QB**l)-P6C1rvO;x#E9$@JOVt3LuqdJqgA?9HD><@zqo%CFe4DWg36FaDw* zSd?i0K#R|BN!WVgA@<4hqMX7@yw>k0d^#>iRaZ}% z&sprL#J`Uq{(VyQvPqG|zh6N7`vt_me{js`hNSA6N$K=$YUrxm2 zJAKPwXVSUvOj2@cxmIw!%=Hr2a;_S#Wn9%EBK^#f?A^tEPYiuA6J@>B$mHYJb%Ad(Qse?H6YwJH?ym#mNyr%{M z%O56rM-6r+^Xmv3(CmF&;Nux^2A&OU_MRGOlpAC`i=>?K?H2P{f1VlTwhYwEd6}E( z_~Vop)*UU6+J3$x^v~z(w6^n(u!!cf+232+yn5$($%i4iSUvl!I{isZ;JL^pE0Gb2 zX?IleOWaG`+7GJ-xc_jq;Mhk?4>o*6-k%S%`ZwHLMs5w_y^HO0^+@6rj#SRsk#D{G z@_gCUbCUh}COOYUeAG79ES2-y-yIcFkA3`OJNaSk6$^HzS0v6VEKtUq-z2zJ+b2-^!QEa{p>)d zm-<`s(Vz02=pGlCvF*X(95s;NWDfne5Z}HK{Na%0lzu$H{<4sEU*%U~@;7sdUFs}y zQZuoD$y;*-AF=Un_Wg5^8#d7g$ulkUNB9|inJN0YZ>q%Nq0ZgdAkGpW*et&p+}WvL z`aGI;rEmAZKVQ8;JpF9?QVc#iC_CTCmEvWtNSmw4N&XHzvk=~S&=NhBI9#tuzU*(0 zd42u5G~&};L%-HO=r^Pf`c?a&U&}T0>mZN1C(7#kjJd|y2YubydA+%_Lc6x@6}D^J zUeWK`wpWB*+xCjkW>2}*cV%C^vyDq+weMZ8?f>I>EAvz4<7H^3jjM#VpQmkEA7o8C z1HGRu&+~m4mFE*a@-bsKc!+YO9h%5vyoKIn{-wOcc+yc671RgVGGz#JaCDPzgy{7{ywz&Cb7@S$#CR- zXmu+#`$}jv1^N_uLwL^n!1Dp~X$yLYuQH!Lw|+I=R5Hk->oDNUvtB3vwpEBN(}UDwSULx>Q~lR0&6bz(D}gnvNgQ!G_ZzQ!s|`} zr@(t$2`m2qSoZ^~%&QN8^&Mc9eM=g!Mles(1zyJX1K>S{9`2vOn*zKitSRY*@Bk^h z*J`=_G(2E0@SZZ@O&_Ub$a?ao5ySsDIR`!fRZcX~gh9PQC$w)vRA&)pLu(w+hH#B6KtNsK4lDU>!{!CH4&4Q|5nj=i|gJ_bUN7 z?*`8OgOnqqpq&mGe*;dN0jKb$0Gu`*&c}MuKwogyB`6ufcgT~V=NhQQ|Kk*Jn)M5u zLK_?KbFcam{2Ljq136}X*-e>V)+&?dy~kKC12=_fn;TX!X2JPG*uZWVe%D5f|M2Gn zd7-3DKY19dKj6$T^dP!pIZx0^-2D@lkPh+d@X(Gz%vw2%KXG12z05;-COneZcSS3& z=(g;ciQsM-_JlO>AnTXpvN{Vc-h%%gvJI#^s7BOn4a$=uYu7H&Cx9YE?oLe()Y-tVDSFGWMEY`jjR<+o4K^;J|~;!-5@Ho{QajKK+u| zZ=+=$!#7G|lIDs`_wy0< z{^a-so+|;*2|SazFSwQe*eLb*2Y)lZYc1)d+47`lOPQuXuQ5AnRajzIpm`^>V$$<^O&Ow{A# z-ecBXn`zW>yR!t{+}&m!RU_!5oK+<^fLWG!`eyw(693aI>qzV>JKlVz%V-gLKW;Oh zC3V-C-u3JzY;7^_aPwYC(s3)XbwkZ()TJQniM*$n&)TFe(V@n;KfB53cgvUbZ{^t~ zp82gIu^Z;WoeZbgDm$R2%&0czS=<0;k?4{*f z(bulxJMmRnnPG9k$9$`wQYze=hi4YBF1A4b0!x<;33<2>{ZRzJn4_GcKbrb>-TFfG zN20S39ny1ySFMjhk0ks*iSI>+q?$UUJf$L+e9G8xKkm{Yt+2TKPfM&?=2)uY6F+&; zx$Ap-%CooM*0s0aV$prM<*c0S>(eMJ<~ZkV_SG_v19rXdP4W;&pf+6b>HDE@bPA@v02sxGTzu;{GM;7~Z@%YW zw=t~3wJgO^@gDCbMnI%FH=*aBJ(%UH?WejL`Gy>=#5TDX+L#WF+~ew;GYvoP5M58{ z&kN-|-e8^&;e8aegMHl^>ilV*<^LD7QwHsnLpuv}+DXu9N9j#F&|nP;}a%9+MWJo5R|dZBAL|B=@W__G|3uemp^AKS8IBs+nRFG{1$8)@bM# zMK|h!j?(y*GezRFun|1V7ztfWfi6n1FQnlYRcvXQTs)*|aw)ci(sadFelz)md0v`A z3<2zs+1Lup;Ma1t`9sEk!KRi9nTMx=MRXO?&J&@5e8C5?4VCgtXzO6I>O2k24`3c0 zB2KdS=zW+S;?h_%PH$E!JUk&L(&j9D`_=Wg zzPWP!{9TI6{r2jFvN1}<{0U0Mvone13@l|S&>j6s)#!KD5SJPLdpNiFW<4(R-&6JV;jltnX8n0fATIN}Jnv;&{9nb_ z#TTGQY+P)MMlM=8^QXFHPUms0_-8NMB7HS;2iv~LzS$$6?ia`By&eqTyfF+n#>2mF zW9<_UclLte-?e!h_xa;Yy9DymQL#Pq{xDOg`bBV;I{D_FirJf^F1YZDRKfY7_n2zt^VkAHC=XzhpC}xY&uH zon6`37;d?L;?2ZC z&aIfccoT7uSwqX^TZw~w)*6|L2?O-FQ{|j{yNB39 z9|GI&%SJEeJNIrQzBuyi5x3Y6dAF);v>snvU^nYFOTDeM7678RS8=zxEyKO#oKF3BaoSZWm|l48jrU%7p4#jFx_D>rj7_EIc_E$&-qSe))%z?^4$o!ZF#lgX zFLVoaWWN;B6YnKy|L1s5rk&>Go_Nn;f7Qe@KQhQC_gay8@p-kXPW*p-?D^kzuxF5U zBpf@A=*A0Ps$IVdzLSm4emuVG)#sNUvy)Fu_>1?Wr9Vkg3NAN6E8;`cie91&-yzQ8 z9P8RBj9%nT)J$oz~{(8zb&`z zCg%{~C3mjNydR*$Zw3DD_*zQH6mpq{==sb!GwxGD$a5NI;YfO3bGy|_&TYwcs&Jpf zz1l4DsfLdhut>kp$r#cHrzes zZ>t@duCI7!`txhzo#i3BO5BFPc!&?#)g}E{V*<3IVe@XXCU$CS%ioB7@VBOYi94I} zlq33?q(-~bGs@~};_Q}we@^a0Tuovxt{!EaO;TK*eTuVyet5u#*RQ%HR^17!;{3ZV zpLCxMl2}lm+)Ez&C5-nzi&JP#aJ-#Zrb1U+7Ap1Q*-u_GcHpt&vB22{c>cz=A}KJgFdz56emPoNL^(BH77wuVmVF5Y^pQ+!~3{Ksaq zHg@0c&UewJwk9}sd92#h;!&;Z_b|T_ITLSTo@&gI1MHc`4^`^E|DvZ=^a9n;aoWB+ zeTizU9+$e-^6gHWTDdln`I}^STrOd)6yKnIuNQ@Zz8QB;#MY7yoYLW${5Owut|Cl)Kn?UQ4Vc zDR-kd*k6AvM9!C8(_RjGSi$3szI}XLNVJss26#1L6F>7mF@DnS-9hkGv$u`Kha&;} z%?5w6cRh{m)s5|ybDedvzZLjTY?iZpQSMueZ(Gs9D)8G;zp~aRqVv}CupZekI~(5y zFFIa3I$mgGQJPwtAb4m5PsFG7aejVR8~nOGm0zhdHNdN9Q_rWP8GrOMev7i`N>uIo z;g-&ye|86F>M5r}e+$0`9TC%(_fL7F8aV$neCr3`_w=}`T?HdE8nV@djynA2*kiwa z3V%2g?-mp9mjih3&prNx;3&!+&VTV)8V0W2%$Y*wOgeMsG;>D$K5H#YdW?4xV;sX= zi3w4*KlfGm67%K2i{TA2XOc#?u5UEv%v^j38NZ`0W6rEM=8W1kXJR_UKfIJWWd7`d z&SP|#qTOQ{x8AS>=1fdSHRE`Jx%4ivYI>KEc`xy^Wb8lS{qOYuQSO7_?OEti`g=(J zThXf>BT&}ML41bFe` z;B{1ZwvwbcSI}2kOS|G7d@Uqe>h2w1Uc>(wTFr8VRn2tsjRH;*LzK50(Mzp;RBv;a ztR3U3HFs%0$68s#tC2&V`Fu{N_%F9I#-;EJfmznvR-T#nJNRDk{!@NysYCR*$Kbh7 zpNMdpb+teT^3KLPjl8_bL`R5y^Ebw2ZNbO`;`@6pjrUsU%Jo7|>HJSmR$NK^2FI@N zt8an}UEVVK_f)U`%?|3{c=}fx)W6s1-y1#p7x1TU?do5Qd#T>PX!nw!{{4~uk?hWC z*7fi7Ph>hf{P{+G?40vU^js=31N+b=$d&t)z&ai2@cof_`E0Diw}UZ!4m$l5ycb4@}LLlQ9maeSLg2hYwvTbv~olsYpBc zgq!yw`%3$J_!Zlhv{&3O$JOs?^q@iI+F6hFcRc&!Aw`E-zU>XOtZ7m%0COO|$Y+lT ztlhCjt|#+jGt=dFk-2Xq``g$%tbFl6gP${X)y%_{;n8&|BI~mcn8Tj2lxH4u4?wJi z>+J(h&SULhopL(<^}T>DZ?tL7fg=KY0rNhBdw-33M9#2%a<81<3*~&A3hk+ZImWsp z>q8($%k}#=fxV6N&t>#a_>3z&rqBMZWIkyBLjNA_qkpgKd!0Lhbqe!^80*N>LO=R` z2YUPSmjeAe!T&$<|9?GZ=q`GUS-%^MS?Cv!*-d@)>3aJ&eT?zyxi?zwD9+;d6X20NFHJP~PJS{nCUHe$b}aY=44JC}_ZaA{oHSGec0eT922 zZ9Ml}w(;C^X_?$}*)qB3(k5}wMLe9WG%n4-J(tbFJ(o6xdoJ4)?zyyl?zwFF+;eHu zxaYD>JKAoRLybjJ7oW<`u)`Go_y2U3W z_trqpBe5+H;`?bjYTL^B-trt@$BG=^ znY?LP1Cv)|=+GO5zvUswT${ z#qQg#WO)zf?6NtnJ6Dc%?36w574UPGvp}}V$}YR~4>=%i^{ll(@Z`v3vFB$npt7c z%nEYGgvB%qUF^BZpo_3UJiDK3aB~W}C+V~7O*4(}`}($e4Es;f4GLX_4KcotYEI!i zcz|Bz3~!VhpRsja-&?!s^%D5HBJ}!N5WS8I(5spgfNSH5J9PYPwBly~ewsKRoj=aO zW!rgSSPpR`bM$>u^q4o+dr#(P73ASlcCsKVoBeTnu2S^(T;gF8vqbh%5>rZWHUxSU zoXK1jU*3s2-nwxnxzsLy9>ALyyd@cPE$O9hyfqFp@fL3MJEEEK*_OPqpFV%aFh)Y> z`kVeqIrK- z=&sSgd1l1{PGOTsYqjvrP04k=HO`I3s%MVW#(a7 zcvPL8dG4X#X^q6VfbLGv?{?<&pPA!L%t_WM?PU*bX=!j z=3~|9aD9B00B;w*wo)J0;f!l6yq&yQ`nXOD z(CL!_-Y$GJnlbDze6$Y!&KP@#ROT4Ec?r( zp!$=pSHJKu>TgFEEOkaoT|wXdOK_!x?9_SitN4@z!SzW$VjBE^>1VI{F3`_U=w}D@ zz4w1mpNY4#)OVQrgtrMT3V&-G$XXBXJ*nsbkR$Mg8M2kjvr2Vc{Gr8l23SrTuzW^e z_ws#!=jAs0;NwX(%O@q*yfjJhomBHO{{!QhR8z(Oz<4Ir1jf^z8o-zae~Cqa!)*J;@i;In@&3-G4^{pJVg_uc^gip(PN ziSRCwQKE&8BTPEZ?M27JhvVJbSx@EMw#Xb0(Vp<9Pmo1qox6fOB4=GotBpsIeR5Y7MXeV# za88w9E?>R!&m;bUJJa@YD(P+nbu_Y74v1SnFr# zYrW{)PBYfXBj-fNqkog6>FaEo@r}e1Sxv6gwy>FegFF~Ei(hMVq4}*%IhTyiNdLAf z@a+X~9k1g$3i)8Dj_-{tmhfFj^G54mCnSei4~Q{C>$bylw|}4$d>_amH%Vv$pa+pyTS!A)51`=()P@zi?l+uip`g zaW8V3=<0|wGBN)>BmN=u{EN-xa>}!G?b~GUVN*p1nsYRrJw`TrHO_Xge}|Yzg%uN= zb?nckkrTAs7Fk!!{!B|I@8TpST2map-NgPWVeG2tOCmXvYHy}KUDsr5knw$= zHAea*a-4r(zw6S?^iX_skt0N>twm1hj77#fPTe`w&6)15dRtR$4KDEfCiPyVY}0@# zonnKNvW=A0af>{01%Gvkzi+~G;6>o!yKrL4w<1r~rn5(tJywmfU1X1q;6-4>2We&# zW7AYKqf_4-CX%bf=&Q6LeU&!eqyFH!3yr#~fy-9y$SN4CWSDivg(~%CeT~RbD(8dE ze#QWU;86PchoCx}=%*K0Y^ox5JzqWb7EspyqOv{Vi5%BZ+IRrCZ=a}am+>90#-vw< zp>v&qeKG-iKq;}(iPw?C{W{G8dA5@2j zzLptv#DpqYu{I^Eh<%8}Sn@Ewos4fH@tOAMxR2B0WiID?>4%4Tvl5yMhvvd7!y863 z4szBambK#zV2LM2mcVX)EBn7^^>4{j$#)vxwce~XxQzB~=(XeDR9xTX+u6W7`)OtS zLqYT*GM(geOAMls#&0S`-!o`L;z$K(B+mUvP#^7;wg!_%(tu6qPsXR}DWyop#$pwl zZM0rD{*GPrw`X48bx#SZJ1y1La3F|QlBvI%`m?RE9s3rspEl;Cj1_Y|D?0}J=mXH9 z4HzPr@01C^VCjP46f(F;vo7FkoTC&~)5mOOXh#8bV%8~b>vaw#uEW=<6Iv}0od)?` zF43O@j9(o7Hh$?W_S8 zEsmcEtqZ*hodw2$w(wUr+Ynka+kn=5zhGWDYJNRQ{30ARzu_18ykKNug-;dszrXzx4LYWNy?KY0GwJ0IZN$=RSv z_T4IQPGt-Z!j}tGRhMz>s;Zx*mHhFE#E1D)vXWuP?jBfk25=@s_7QRJh4HL8##{>K z8*&c7?4Juhw~9Hi0y*GO=r^E~v$_2E4ZSca0N;bqb1b|*0oo^?*;?_5knht{6ME2* zNvEGO=Y7QW`abm9!hX2{9812v4RTL^YAsVbD-F6A{_r0LJf+m!lm!LKHrF~r^A9RUgn`^ zY7oC*twT0gle{s~+47X7{?fe;-(R24>=fCu6PyIkTZt_x@IL|kzeG0EjP=OIdK3c< z2i7E;&Z~*%-i330UV(Gr)k0I|`XYQVAKDPUT`-e4CpnHRS!>|ui&kR`XahEx^J%fl z1X*`lLeO0a?C@fRc)Ba0%^3FIF*7=U9>>0W2Qg2uJ+Dc0JpoURaZkG+do%TlFUzNl zVP9+V?Llw~ZHU|?YhaVH1`3Rcz?jIHn#LiVi)bS!yB(PUxj_6@%Gj%mo~@C1wwr1O zcjnR;fqOGNL13TH+GfIB%vsq-fm!sJe~M5tgqDe&j-LTzb?W(JG8ZI1u3e4QbD5?y z59WZ2WX{^96SM#H5M?5B;RrTTC-JV|mUHxL=~pFmR?QhjllEmD>7OwD!S1X=wi{0s@3TGR;bN_ zzfxWHi*^5|h&j&wUigvjr^WtWc#-bcg^p7Akoan~p{EocR6)Dq+w~T0w`LL73!LZR zVPt!||&OqO_4lnh*Dr;j_WWxZ) z=s3K+8og{dv|XO8oNL5xYfDhJuLoA?_jhPJ6}oyRn0`4^{a4x*dTNckmY$M{_agEa z@3!AB{OJAXk9ChzjC&sS6;q$N2JK-!=<+f#p!U%IHtOz^uD+xkNe_KAa~1s6q@!x+ zNbrIksK{rDIoREf&_lfYc58P#?a0X4*7y!9Wp`WRI!gIXv<}r{uL}+TnS2^{elt}q zsGc~t^gqF%E1ADJgOwuTo9NPYc=sj{C(@YjvUYumHqCjnk#nUIv#5%_auqs-YIF)! z);~;ok!Nx)Es*C>Vq3?!?+53-*Er!>j?Qj=B=owH?{t3jSH%_6U-7Xf>1(NsS1RKb zEHf&Dl%h-Q-!HK@HD&6ZPvy8)!XsS+;169gO^o~Ipmt=vmU$rU42L%2D8DWpe;w9e znIq`+XJ*B$Oz2*VW8ASp-wT|?q|8bO+#v~j?|g~$|pz=OX2C~+MHqpqFfcDphoUE)m;V{-4!_!kj(k~0R| z3e{+5K}A`oIoFReHs*NdQU8pf@sxE<@+X<^g_fIx-j`t0m2p5O)nyMEbCEr&7`{e2No0>I^hqLnRH0K6*`o@blE@xaH8orT*`>;mU8)S(rOJ?9stnns%8*^E z4B4g1kX<$agX|ZekL{+seKFkO+X?g;=w+~OL%Mv=fkfZ zvpDyfp!$QyOxDxxF^lOaL;k2WRUXZdvt(;>i^KJ^#_!%4Qhy~v z*=5r8FBj&xIA7=VS`}Xzv?lbuA&9;g2EkDqMBl@JV_h%$UI~3?_M-2{g1+|vUp(|J zw4H$5<3*o7>`m2G8${!t2*)lfI!AL~COL|G)4BL-T#K_9cV19i!8q$p=h)!8a3(Mb z&VuQD8T_Y<&a0!GcOm=8SS7KJCF|>0zvd*?v1EN63*&za|79Hu;s0L#%Q_Z{{q(M& zb?fe+bxZt_&2{Teech5ZtCTr#Bb|WgIvn^lw-Jw|spjEMPo3g(;Lj{=)dj{@=Ch&h zyJL-V`ZLLs8|QYJ<&<#hV?Sx$J8ax*?w8E_wummhQI+|uYCzYsCFV0nWY@Fj%x6{I z-!3wrwRL~HfM->l`BWUS&bxo-U#ItvdXnHd$y{GIziAN|$v&Ym?udQ&OP8J z65Pl)a`yZ}w22e>Ce}U6tb=+Tl*!?m-t|oSI@Dcg-s`xCbKlkDp1h{qU*kuXl-k8)Rzv))#ak%*j!)bOnjVg&c*NSmHUOp{ZqNVugm?5#{IHfU$NY; z%|$Mc)_qX*cHhYL&6ejsFv@Mp^*tc>Z{>>L!%whh11Eb0)`C)W6v)@Q|9a`%9R0t_ z8W8NiR{WD(-(B*(QMLscNAzal5;t{OC}&u}hw-h0cg2>7EJ6#v?agAjxWDSsfT%YC!VoJ+e<^d*6eNOlFlNcQ`Ms58Z zuF(C8?k`&kKbHDLK97<5);fIkoXLN7y~8&_{FYz6)-N&vU&na-w`Bh*_N#pK>4`}GL z?Bi(1W+k@11@559Q4cpCu0qqWH@~9$vuA3I*xML@5udh<9?>Y z_jkFUZQMWR@cl*Z=NtD6@nw|z=ZyR39lpbIZ^_vu`@TIw4=9dO^V`~CYuIOpG=aswzo5Wl-Y_}>kto*|rP32{oSTT>VO zAbaLG_RJ4J53Tx`<{ZV(=G;cwmopRs+r~`}S3I(KJo3O$MRjg8@_{199+7#T&shSY zkJe>|PMLkICzU+6@C5%B)wR{lxtgsOm-__!IqX|*XwJJ;adlwt!f!$6Cn=P@S>z$s zzNT;`qcZ}1LPW01CwA6Um6!+Ub){V+9>2s*k+TjGOJAom{7{yF)92ZLnR~)v>?K48 zp)jw+=Q&N_*&O2X-zL8Q5;Hx<{W<%I&Qnud>v?zSHrk>c(KVaj=0Fn*FLuk0rL6x6 ztlx=W;+ml>21h&N-&b6*e^Ong$O59n`!;Ks*uC1U`zLwtpdU2{CY`8xXHv;33+vLs zNhKqyCZB#B+hQ(oAd{V_Y2}^T{Lbh3$7KC`E=9>|{e1B;&Wi9`daU%QvUvVlW#_Zu zicfS+WwFTaLH(XgzppNt$r#UItnXvY?`7<#V|%%WbDkl(zh#TWT&bPtT*kVPyK$gX zg}*n#)BRS72{C~31Nm+c-w&o9=wu1;A^2A81^WhzKEcX9AV4>t&QqNa#art{Z<+=i z$PT)#AY0DdKrh7cI48VJt7f04DigD;D!SwN4%s6<0$!3fJ6s9S(`@GLFz6}LpeO8l z(9kv>2+>B0O>;d|Zw15MO+gc7k=<$3N+&9g(xj zL?`qO#g*`|>WUfMy$4&&xa+=I7G=i-`X+SK_Hu6Xi4iT6OTw+qr=K+FWmQh|TnjcY z=%#eG;(GRG)m7XNeF1)59{6h8Fo$o~eIfNXQHM_NsfvsE(LTZ3&)E~Qm(}Us0o`9@ z?I(uvIpN}^(TiWgp*;4D7d)+MeD&NeQi* zZ0eCreVowr)g`l_tC`T(4Cw4W=b5-(%GM8FhbMuX|XR zeJP(hy~bWRmO9f68NUtQD6+kk_J*LR@`MFwNcMnz$@J5M@GdgF-KbM!`c`8PFZ45* zG1pS@qha6P#-2}jOL0GIv*&JjWUf5h%QN)T(2I;&JNv{EotF0SzlHxw^VKEO!S6lb zc^deh3f>DDrvmthdG^mrY<(N=!YLC$*+|ABkV{zdmdO|h&$z^ID`W9T_Kn{I#trNn z1LF{@kHgSjx)~vop7$gXkIuf4~{WQj4Dq~T|I59@d2iYI#bBR5# z&g+dm@6gSL0o;9`^})wld>q|c5@*&# zXDxetue44yO&<0_%aVAlM(3u@u;nOxpr$i^v)6!VBi1OJa=`+k$I> zrQXBZA^1S9@eQrGqjL#-x)`|Z|+lnd8USLVWr@`|GxXXc7(f=ml z3)xu|H|MmUBiDqwS7+L+T|*u(u}1b%&wPEx(RFw+z{-w?0>;U%~p^ z3&2o-3_p^3^9|cdfS1pJPVR$V?uBlqLqGSxBZxDFYc|s>mShzXLKzVE_Fz z&-Hu9K-Q%=_kRx#rqiMBUFN;9f8N1;Z(j=8%P_88GKj;FLG~Cj2xn(!7Na-p?K9zl zPjOBjpK8u7A&+dZDCaKVue1Gg|MnQp*o{;Bw5VUv25XC065e;!x4;(L;JADy&j5!);4<9%U2xi2}a^P|xrSu+x=W}X|S z?(*MZsqile$vTtAwJ&V!w87fWX*0CNh0M>>b3(FqTVpz#M`gISTH`w3O3mbVXy=b> zhGp)y4$s_{I=u78#AXv+W#c}}kui^0>UCbpz37`o{(0ajwcc~g;kpR@iLY=wxb~dP z(|z=d!9RQ3MM?a6p6GafIliOT^?L+LaLjNV$KEwvwZq4C8XVkHIv{^;xiT;SVR3ayL!NT58hlSs3VBx&0 z3Cq`k7M{UA z^jswKKR=vvr~J>sr(a8AKL;JQQr1gcdpj}2PKytaE5aEavtfM>cCKf;;10l&N8bc) z6P8CB5xf<|lsV+eIc8ejvX3vghD@=DOqfY_-#OsXsYY^f-O*&2^lz=f4G? zWKRP5NcrDRjNWGqJeqRS9%6wcw@FOrD0ljAIU@;dD@7+qpK6hXtm%m;OwlKceH?v59eFZ(z1p298faE5WeJng^_F1lEi2H-Y!_ z{qlW`oKx2QzHDXVGizC&W&DKS3f?TVlTJH_s4uoC#}x-H=8-EvoXS|pTlvn}=V{c&QwvQ`E3jeXSfno-Y6 zecohdiVwtM>Jhl)3~`{o827h~`tJ+5Bx{8>{nX403|@L2tP?9cGwjcZhn z{0W-baU$0FUCN7$_&1(Qf8xusGSj;H65BP$HXw&x!tef5XtIr%-4zCIWPg`z=tTwB zbAaP4cnzk}#vmG%{ybp7dLRN@4QR0vGG2D(9sSVr zsUBZu)paIN`_>QD8M6K?qx=$sr^#MY-s$7b98CXBfY&FK z-H}<^#T&(cI@bM_v0fL*B^${@Sru-Pt!O=gMf;%*RvuVrxST`FMmTgvN;R z0$oSD+564>=^?G5q~Gwd!F#A*C88^3jk7^J$>dlQ`{q{Io{j}7T1 zX5wgKL#_m#1;mE@9kC&QM{LL+5gW2U@irwE=99#1{Fr!~+laS$j@a($FaEBfkl2up zJNpl_5N|X0g#p8IiMQ!c1`bn*w<-AvEDz6JJePQzN=5PFVu`nD8Pp-)O1#ZEMr_Eb z#D-iz{pCv|$&ojB)&km@PoBO)Vnf=A4H;fB--zvKU##aJum@s8+KJ7QPi#nu_n43V zN$5=AmwL_Ekn+98_ePn;9*HAKnLF{d3sG%dF>X_sYgYE4zi$=%b;pJ5F)qet_z;F$X#4rO&}U#hHGv=N#+-OZ*+qxxM<+7mc0%wDKqEYIq$gw6)}%t((KX z%|3=W@9fc5!>hdLwX)fts_f}{)URbt53n_pzp<-~BeZd*=5KJU4Ts&te?qyrS>34Ksb# zjZaA~4e@cQB{zG58dsNCsV;H=qhpZd_ZZgEMl69V=p{dqGrtB5X_n53nssQn7RuUP zrYy3;(-W2vU!>K0hOyf|KxrD_DUtT z<1}mye(iIxHJg z*}qDhfPijFVEH^Uq+Wkl91JIRIG&sFh&{kvsaQHvpgG}VCmDnE(s`MMjECgg^nk~C zdTv8Yhs@bAbB^?l-enva_$Ym!8a&z6icJI~uLw zMT~+r`iZ{aR~Nu?_Mbzp|qj=Y+cOzi?_L_<9f{sI#&k`Q?dgL!ML* zc~V!QGdz7kb>U-s#9JBW@{iJ7{z`1mso^gFPnBK%EfFqa3j0cb=x|BAU5&O?=2;tc zTBv`xrqq81-^gIkbQ!-AA8>j`1K`<} zqO>di&>U-Y$J|!vyZmydR@ON&jq$pNvy9>RvHarLIG4<6iTkmeWHkx7VflBV>>=NZlu?K4RJABUzKF&F^R{lnr$X;oetc`oXYj`MnUQ0rUm;CUu zcdGd{&(xf((~6c6J~)t5TGmjBvn;uz}9fx@#dAcql$ z2|q2H9XTTvf9<`*OU<)7lW6B>*pZHhqm%oSQuG}4G}X-7>G_qC@n6=W&MUyx2wxfp z{$<_R&6=L{D|qO=4qty{V-NhHV@tm4^ol!O<%4Z?<;lvCf?vZkXqUJ?zT)aRof7*u z_YX?Zg3vjg(<+iWnLkH7pZj-svhi0t$oVO`&&EFhe;I9L|ArX$d1BA=+>37ndkxzR zVqDTk*X9YtU(U_)d={3`wApgRQ_lO({U6)*5UUvF$W6IwmZ&Xhopb_ zE6yy%ry#bB^BXqeMWBDys8@k!wbMR19Xecx1MO=S#hpU?*a_ZN(MP`)ik_Xa*}yCG zeBy1P=jSs;W~kzSB5P$CeX~!%epPK3g6Ji#7!beuAtJbrZI9TxI0S(G~%9AQr$p~$F`5yQK|E*jLs?{S;Q0MY{ z9MiUOEl{n_r|&sF?K%D@FMn^Lvi#$PxyvssoVWba!VY2x6egn!gr_OX+owC0w@okR zQg)tuEQ+|E>A*S~+PejQ_B67Q3 z2Jc#EPy4l_LTnBq?}*J>^j+eY_g&s8X-T~d?WUSC0G30O9#Z)X^kpzt$}ru>g1bq@QNZiCn)iQONo1^lzS#M zk{d}aZ<@5xQZ@N$=FW~>d;qbP6eE{6V*3-EXyC-*_fM!KevhozyP(;_Vh{Y*nP~quXXgCcf^m-=iNVKof+6o_XmE8FUkKnT*8Ni{xhNf zMB;xOU_2y7vG-^2*@~x$9gxtG^akTA>l1i*rk_$T<=7kQ&jRvef_ov)8Kh_nZ9JkR z)KxNHOY4!7tO*@?Tks=7R;;on)cx_Ukot|UDHHPP6MR6oy+?{|nYH9c#3*PTuT1#G zT4jffQ#NISVYa_TzyI7D=GZQn3*ZSR%vEc;VZK|3IkqG3H$7p_;dwA#Ee)I>>jS4+ zFPz4JQ_l8FPH(61aX&Q6zTmK}WTdkezGL$3);<4se0%keto4_#;?WdDBiO4!m_yP+3rB!5fqVLnclYEczt$kCVf5R)5 zbV{77YUFOOUYFrJXV%qXcP^nWS;L~JN9vTiplt@N|XW5d}qUwGW%6CQmUer{)f ziGhcLkX@3f@qPAHB$u3H_8EV;CPB`UA0P?}=lbNl`LpxB2xxCqko}=wmH?l=Z%N z3;Xj4lv@olGGE2 z7H}y2?G3vr2Nyh{O!O|nX7Duf0c+-5=v(C8RSUF+-$80$j$1!fZVLr zAUDqolABZdmYcOP4xhR&AT!H3-}j&+kh3k3nBI*h77Q@3#DJghtrstUbZ~yXaD$W^I&pRAJxS0<9#HbJIH+0cIRchHN` zc0w*Z99Yt5UwFeMc*89EFZ##Uv9GPyWf$}_=rMFSEYEerA?*vlP~Z_7YefMvP7QNP zc@TSIxhM1Vpw5Yvme`I0`cTQ9?nH&m!KX7d_zbe~qH6kpOmjra2%ix##^I)Sr?>lZ&9|DXBXHTml`<}F7aIaf41=ME7Xzjt8PAWg7$@vn7ktC zC4bQi;IWMy!YRNW%tstNdzN=Hei|@}FXc+`k_3&oteq3*fUg#C@Kvv+K8hUK&(MD< z+w}FGWebe58;M0R&M5nuQ8u5s7+kLx-K^BxM!eB9%4*ar{-1xRye%Za-;>Z8Ggb!^ ztE`Kl^`czpQ}RBW?~55P^Znj_f%g-G-b-$H^Zhd8y`0&QF>alU+ynk<%P(ar^i$Je zkL_q-tqB31cdB;?#1`wK6!_*`>Xn%FEBP;WB6+?E z*v;oQ@F00i<@qvvqRi(_gO#F}c`iP$iGQ~)DrFvsJtdXjWjqu4yBd1D`H-AZesHJA zo;k=CQoa^^R71A{^M$9wCY}eLmFQ4p{Kap+C|TExZi>Tzzh;T6y(T{-RTq zHOE6i9+I(=H6fRJ<*b>&nHy!oNv>}6ZVmqeoL7F|4JSV1U2yK9Zaa0CT5RD0N9n?_ ziTi`#wE-^*E}fpxVRe;Ddm?P&FN0uhgFp5K>t65}z^T^J3ao2@wW;Qz&a|&7+ncNp zb=uJP>ht21Kf{K7BOP6})MFiq{&NueZ0sB5Jexl>JYD*JGELV3>AG%(XG!R^Z)M*k zb=J=AS!dY?J?q?;(s!LT&<%Q}9(CSCo#VjEjmCaU5KePgd!)RKz0kZl-d?41;uHga z>`iqX=g$k9_(Txy9LQaL;qCmEXPw^nd({cA?W@j{wAH)L zBlo2>kH_fxC$;~Qe~rX*~RO`{g0XSUUOM)h~K zq1QWujMK8$KcOG|6#YXNtqab2^10Z$GeLEgz(1tC$PX6Q6wwby!Q1lT6|%P0p6cdr zHsb7={HjcJWl#@lKutv#cA}V7JHcB?k_oE z86|zd`U0@Fja9}=EcZ>&h+~W`y@P$2{C;BmUNwH_(Uv@a#rXXne%nq;%q_9q#k#HN z4MVs}#)Q;g$ z*}c!X%I*rAXzI;HXD&WlqBn1{KA4%$oE151_eTML>#4cOTbIo?;&phYnr*PR=(CM^ z&$(>>5jIiw7-sz!*gpjCGcF@{>Fu#6lJ+(m?cGLu8u%1i6}avPkArAm?ACHWL+}dT zB|fR_O&kr_!jbny_g+eVa_@iTx(=alJx)x6f$Z1w;muxjK3?R@Gh6dr9q9E}4-T(e z%^r3YzSv?pFk*`s5ZS{$j9Be<1p9Vg-X=L#My3w@yEQ zOb^}A;a)oZZ9zKyHD9FD4{fs6KS!==;%BT;+D1BOgof1Dia%vV%VasjrI0T{_VK02 z)otu&|Cxi`3q6W{kIv+8a*zIAzekVpuH5Gt_jfydN4dYcI5?$!y8y~D`nhs8-Ep&XlKH>o7Hpmg(Bd%n8S`23Se^~zS+sks`RxDE z_U7?XmG|QRb7m59CJAdcHk%oulCZe4B$_mnq-p?HpklSRBw*`=xHM9$NNpyGmO#)l zh;j|yn*?gj8BAS(nsm7&(A$DoYoyg)yEp;8og`>QwuHs`zCY*82?2q&zx(?AkyqwC z=Q+>vc|OnQ`E1YUqVVn;gueO!V*_k}FhA z31Dko^SH_iY-IeK7?&H^Phg%K8EYZq>0&%1`KE+*^pj&udD8;B&esO8vD+AFx8WW! z(D#?@@tE_}nbTPAuSVfeB6BCE%tYjK%IyBFxr_~dYS&||mR(p6eqxt}CQ&APdVH|k zE~DQ6+U?M`^o1`^6y}%lJU;kW`?=A2exGM^t<~j$A2L>Rea!v@{;9!t?D}Sz^rr`Z zOIaD~n5D_M9A?=*d}Mz^`Q4O1?w(5dc*>K5e-tZ4O*0Z;WHIo{=!*16t z^B5Ow<=LFS2@~mOY;cQR$3Jx-uFX#W_O8wzcCnWS=W5l0$;5RQUo-fZ z{wBezKaUPf0FOlHBR*C?#m0`lV#ajJMnHdkYl)MfM!+*zejDw?!H|0R1SFSCu-Y;4 z^VYEe`NnRm(S@HBwvYnOVrfrsRqXHfH)h|V(|y}{T#qi8#n_9P!wt|K^3FP~d&9ei zq}HuN?<9H5MwhD2pECA$-yI#07!1cNxwq<6f$!nd`TWi)f!Cpl$9_F5AT}f!lYBRN zF|j|%4fzcBBxO!vZNyA_EV8b`YX}VdpNlV$HP z;|bV;hG(l)w;0QmcMR>u@__@3_PF8c9*cDkP?@nikfuz=myI@%Whx^wx}C1rla zNEpug zci>p&={wu!&i1vl>l*N--OPQ;(4xMnRsYtv)wDw=_EvEg2uz6KZu;yWV}HK?p%oL` zy3dvx+)VtR;HB94@kK8inN;VwO&MkA5;?mAuFM$D5XOSt)gFuPFUYCIrVbymMt>FB zj30-OJ*{_4v~nF!wDKN{Y$7n0yvHG6Jo(2?&cQQ%2km*7bjF*>`U*`<3bs0;w5Rb> z%ESjo4{ou`N+u4J{lqS7ly9wi24#_*;`bN}z7GNKN^+m{;y+YQe%UN|n;h%_mFPW0 z4@fM!Q7(KV9qbEGF7oi&V0w1 zUOt}hU@uqEznfg7Z_!71h#L9Kqd9%Meoek4#xi&ezvR96{^zHugBxjM>jbrxJJJ2S zfP+d=oqoPazk+ve{1Ro1k_wGU8jye794({0j&v#yz z@8y0IZHPV!A?|cvgX$Mz!x>z+jqjvCxihx)qCwvf<8xqq$bUKMs`EYRL#Ge=InMh1 zaY7Bpp({N` z90Z*?r0^&7_GlV>-e-}m;dw>Ik;Pvz%sRvHl>$$yQpu^b!@KMRFs!_syIbgiWGx%g zRK>D_0KV)PZOS)c###@4r3@WkSLPhwYXIY~;m1TL8~Dr$a51aZbV~b73BSc;NQ0!Iuy?)i4g*5o;{*A7uQ^jQ=9w zVE-OGmp0}i@R7ZA9NdeHRR_f{FO01#rAc+R?_(`?U>ji`monBrj#d5b)s8^NBI~ZX zhqB+_toq+)yeahYJnJg`>^ci(4Fa?DbHl9mC_VvW8OH$ljS8F7$v8C`3p^h=%5G2}eSMkb<8Ep=k(V+rde>;7DH-5Z?a z${n2X*Rby3z#ePu#}2H0&v4cD9(|v={^V9+{W~e|8SZV9^$$Y_INJgo*!?}gQ{tvL z{(^tru<>;|J~7g^IcI3x*I0j{Yk~`unfKa64{hEpJ3LYDmcd771)A8u4`^o0hF1!q z*`@GsKAz2b<1ex5`7aG<)cYpo!sBVsyAPBZqY$69O9Op&IWYVm$|FU>W5q$+bZDFl zS{Dz^OMqSzYX)9LZved1qdZN=6*nzLgYJk~aw$J!2$#s0T>te?VT zyc^}QWIV_CZgd8|cJMOdH~*b;@>#@Hq^|H;CBkP#=ejLASGx_(=Cig(`K&njENGC) z7uCUMr3s%k#4x|#sRA$XedvU=cYT!4I?c}syzO=i2J>08X}5Qne!|R8XoIvJW}c_{ ztkeC}(T~MvS^b=g&r+&A&y_p+X33>2@e~y_(Zyb69l3Ybp5x&RHqbZAI?3HjIYZ^Y zOZ?cSPE^01kA6LaeU&Bpb$r?rcsE$jo{z3^6KyAOk3inp`bZ6Zy9a%{-TowWVDh^Q zJ(%=UfPTq-ccIu30=GtyAWY-zs|L*{`MF24aBgT`#Rs} z(6{j6jSg@B!|Zo#eH98Gt%`3xaA>{N=w)i5RViaq>l$}#@8g`_x^?x3s4x77XNesp5Pog@5$G!~M^l=ud~8_CskN zMa~mqc-!OiaE{2F&(;3)FUKVB{1UPodD#cs@db|IBav;EoH#L12JJ~!>I>tLJ=VoM z)-ksb@`cdrW?&$?m(%=dYH%d<>U?W#^OZAMv!k4UoE2}I{2p{}5wSN)bje+)f^uH` zOvdHBCfE*NV)HSJ;Ny#-!MpM0%hyz|2Y#U&8j!v0(LT>mz0T%kzDiriq36%hhnxEO zSF3~A^XKnEr;N{cZz*tk7T!R3!7x042CWx8;0=7|;yh~xH{|R?AJjh!x}UF&>78`R z%KB>7Lj33#^6cXLf0*;jw@)*^WAdTrj&A|oe?`qV&xbXIp@{(v{_t-Rr^NVKW1kNp z`RhL;ipJ6Ic`cZZNKh`*GB zPk4^zLhk<6=)j>6J44sz&#J-dF2_<0j%*n zKgMi-2>bMm^1~?ux&fsmMv--Q+`cz{p*z!&oe7tW&;6J7O-3ji1*k()F=ex}JsiqH#4sKd|#0_mk4+tFP|47CesZ2yxa|Secqg#nv z5vtMJ{EO7|@WdM_PYagN{v_Z*EXEwWjd;HGnr)Dq5`E@zzP}57qT~aPheq#-_FY09 zzUx0s4A8^-hZw79C$gE?oRL@~o;!;@`1ix-1%mkJ%x)SP@Wvwl6Z^cYrZzYHBDqWU zI&vZlRDa`6a!yds0Upb}j7O2vw`Nor!Mh$bHZNFe82F(#i0>SGAb8i6lwCzx626$D zdndq)A4e8Gf;?&OO*eY%<;>N)P<$lNn}Z{IY-~VjK?{vm=O5J6|;mnN2&()87f3H4t z`PyRqBV5`y`nvHKQpD1|m~lvK0X=PWUHS{^)syJu8lewj3(!+W?@?8%a~ySK%}a(9 zwDhs=DvlW3l5=(o`6wLT7R~8wv2j7xq+fExv0nry4`+}|7+8r9!iB!qoJD3n1eNd= z{y&jhOrta8cbZ;w7*y=uD_$StRgz87P(-~f*$j|BwM5l~(X*GkrJG`nqwGsHr#-LB8QXHSa+G22Rbs^Ls8)ebLfB-TxAm1&{~8!d zoJs{eiG#~tkoc4mw;lRCU+|{uYCkbhfgw3k9K#u3IX;3h>fp*k@b4bzZ5Hu33z5k$ zVT>QahoBb?Kg@4@=MIC9f|D-JnFxEWJDtoh85(<(|0me5tfidokp#+yYyBoXR<`H) zhxzl&@$xNq`nbR1pF0s}=Hqi**B9O+w1PI+)8T{y3onNk^v`0Q)YYty=p*-l6Ll6X zovg7ppd*qSq6AtZ_+J7&k=zg^)xYKc3Sj4DU--!vLR>WPPVz#?UO*4k-wxb~J+n^m z)Z7bG*awq||4o12pluTl8R-(U#Jq!2Hcs@AA7Mg3lANz&eUD>jr!r1DZ%Uzgpy;T>(X96pe4?;KNrtgyJYOD0E zhUzzWR0E$F)zV)5-?<&&hKkWz+;LuVWEZqlq5rJ`CeO@^HT>5iFN3?<6YY6bPU0Y* zu;!#+thRZWOPKjq^L_J+4;tM9UtsMAc2&Sl_M#uSRRJ?K*`KG?#qzw1XZBj0v!$E0 z3$wNYBU#t*iw+}`oHW8Kv0vA6mc7%D9CH$01bHG^_JZ91{L?it>$;&uS)6kck5_!T zOR()r{K$B4;c8F(2A=~T-J9Ugp?UZhREV#)5B|$X%)xG%tdH zthy4)n*JJD{}8^vt#1{Wao{X^#{E3bRI@FUzKssP&UjislNf!f|Lf?i;J4oq-zmxG z-hdByBmONZW%RkGu>XE}e%k6+)2uZaze;lKTj8~v2mNlZP;e!|)}i!6XXQDmp< zX+vxa0(TXK|7VoRb3Xs=H5zj$vTXzP4uOZ@n2Eb5vj_G^(4q<_p~huT)ZdUdbfr zR~Kw z@aG!N+xvv(3IDy4v*+oWA;t!1fbg$P`y%Uw_TdX_(mr21u!Zg^^jTr%rK&8Ns;VrS zs;VrSs;VrSs>pF7d3IFQF8){Ze>eYYa-UwHjCDd=qO`|^O@v%>IkG;^Kuxq?eB7;m zWi9BpllMXk-M`>o#4XxP1^$mloye&?k1LX=$t2 z!=3Zt>5jqE4X(G%5z{GkABLw3JKEpZNAeft>6(!v2lI3}g<%5R|DlrN#d9Veo{;iLYG-)_zw54`)& z`E9mUa(O_?#_^5$+iR{4x$c#l%yPl5TI0;*yr7t-hW9#~ym}Ks39J~?vMPi4RAlFOm(2HH(<0a^k zlduV%{Y{R1L)?@D@(n(09q59R?kF(C_V+A)IESGt!vFrB_)hCKTKDOypih@Tw_I1^ z)6Upx_$GZSbR60yeTbey`uU9+6Dld_1}~n5PD$C0XxTU^<9u?`j>J2)$M&=6`@ylJ zMleQuOh?%l_LyEiYfQ~@HXe&?8~m;C<&mNx=!lchttO*mO+nY1iq16+9r0*%#6z&@ zosJ8CVv~j*+sbnh;`d(!2kWjkB!+%z0z7Y=qs8=Fx>|Amq?!7XP+TE-rQs{^iLvY% za{nhexQM%k;XhrE9W<@i1B_Iplwrp}7ih?R zffDxL;)KGMMb(a$Qu0bzb3!(ey3pIQLe;8>kCiGeh$pPyJ?=s83o1K18 ztMKp}p3J=Suh=6$&xRI{f>uGRg%=BRRtWE(&A#ZXaTua+;9_=v8g=n8HRmjTiuRo4 zt^zbK*@JJV^rhhA?Y^48Sy_V}@E`(D@l#tS>j6x=DR)1CoX>h>X+?eAtjC?ecdQv7 zd2DZ&dxU3%zfnUuyH06o2uA!%UGLJ%kKbx z7l6mNgU??DujgYkn1{_^h-owU|B5H*t^Xw)>0@4p&@afoev_D+OM!vh9TEB%EKH#o8vxR|)z_(k0Avgs^1a`$oPx(n*DoI^Xs7vZa{bqZ@OXFvp5GI9elY%=SM z-&*&NBvyrnf0Q%OUlbe2ED;`?eZak&a80b?Lr;TlCNG41VE%rR-^hw$XBYoFk;UZh zyu?-)9O%A_GVsACavA;9rivbAe6Rsr+V~=R<(=r2Ox#EdeiPjI>Cy^AVySwX)ck*^ zZUgyDjv<2xPfOSDoZOURAcrJ7xWD}zym@B%_p;NssS1e$oqnHIv6?-Q-Ui<z9<&w`JU8?=7$n?E!Mx%3wF3mNf&Ds=l2S9j8@$dhvl$W4bWTT?lQc>jT8 zbng!MtSt6${xYqil;7Pq6!fEuJZSEPLEn#!elPJ(UF6c9ML*rN@hrB$dHj~Pb`p;m zAEIQ}3+guLe}&j+(*xX@f;OZ#f%o_~iyt9lKUn*c1)plhEik%h5PW29w0{?SL!mJq z`7)n-W(IdtTxBQC`?2@(`-ND}hYGEtk@GK|v4?=6&>`91HY}x`slXH6RiJibL5{Aa zkCHo%1J5qUyl(UyCtpl4!kc1qq`rsxr`K(KP-OOf@z&aHS^S{U%$h1~N3M6FKTn6g zh&(Q9+OdgvPYc`gyy#g(?hB(AkbA4rX2Ipm8@$&w;;2NfBZkW8Ue`qYA2|CYUqRs( z?l^EpWi9(|Yt|)y9J_m}n%R#&u>={^9P1KqTe_D1ppUWWDGg%{;-=VRj=X4%`;dcs zJQK2KiXT-i-w7VbnoIyb=K4OQnXy4+eI=g6+3UOU6$?KMS>Lj&vrU|4eYqzekan7& zS;ye*Lc^KkM1S6~?W$kqX79H!?S{Vwy$8o8&5T+1CgYK@$Tvbi$eB8F0RINH|7Y5l z{GbiwQFUW0lD;->jM92=-Yq!JI+w^g%N%$Vp|F&(|nzjO) zBju{?^ctrIGZ<$XYuwEKG+19bKfEgvtn*{C)^E>Id@%}Uu+A&yw0Pr&w}dAbAeSWd zZ9$(y9-eV%V@u84zOI3}5Nn?J1dG}G zd(kiNB?g=5E5q<6F5+y>#Ex2q9rZZ)oW@*=qcO`O+*1&{C~>t$%^no9EW&+-#gxw` zUfG?*Et}1Kr3J)NO~Y0yelmALZ@Nc~z4{n>Zs8H{B<9#m;)sQ#@msT4%S_L%`m$eE z!BcJg%th>1Vr7`|T!qetC045BV5N@}HXcE*o8;^tghzjU+1d{)&HZ4-OqDf}I^rKV zyxg&FA@{O7h#?{833QJ$Ej3uq`mKkyA1U{?*?3*beV?mXqpsDbao4)ToziQ9E<{uU|02Wi6>#eu=?c>Wfd@1`AV406{X#l+oj3+67I-oSnwur}BQ@7%bhY!ZN%DS{1?`(2OFWp7-p}+? z*X`9~YwLvuia$&DRnOFCq3bGRT~(++GMe#8 zc^N!KExHPOPwl+hvQsNpT3yr8@9*vA`(wazJv`FD_oAah_Fb^b^uZdXd)^-_^mo#- zlGb7^Gd^>fyH(b-kMmS=j+Jq5SoVp~yB#&qCg7uc{uuq{yL_WhB3?qP7d^GxS)D7g ze5TXcck*{BM&IkIe>F6x%CF|10mq4tn{X^)UyWxx<{4+g*n*?*zo$5hsw(*oSt=$u@16PHdi^ zI>v8a#69BY!C5mFoTgpb`v~{PO+Fm@OW%X}aD0iAyB;?A`!!Zfuaw|U;Oc%v_&gQ# zILDiK`zy+t-=!KyI4i==Avq`69|FT-;E@IlllbEtO737R7nTr{|+>WDRQL0B!tNw2gVR z@eqIS(~d{lIT!rnR+;dxi^4y2fp%Yuw!1Xi?yqRKi9662YIk5=;hBipV6Ll+^Tb}) zH-W{EX*WD^NI)I@U9P~@?Ly9+zu~IF`VeWR$gW4s#jixt~^e? zx)J)3Pi&J}{CAaE@k|o={VZcGc;Kux`Hi(E?eJ{e|F-7HIX^H*)@Lc-ozX`EIX0m& z(uc&uu=_Yb8`ae9y7zP+F6dQH+!J$&1yQbmo!BpBe{|EX%}c(-?=rp%0l#X_65&OK zHpZZnNAL$M^dAPA`K$hY!bAza(jy4g`IkzwRgy`I5EXIP@@?K zoT>Ds`aixa4Icmwwfh4V$inM_7Ejab)2F}l0+XTEvV2h1cozngyU^dV`Fz;eMgWKz-z4mL=R*?gfN|bSkeKW?V zVLO+2nq%Fu&$fQUplm`ec+VPV`j%y3)k>N^xSqis`#A%0S)@o7wu3kmC*6V6;ujqxrdwu#WGD)7KwPoZJe^iKfQPA~h% zJZEHYu!m%C%wiA0ANG0K-*T>a*-P#f?2&{N1OHfa+!kEWFTQ}UIBc1njV>R`k#gjF`qFpR2!fWW)RR+Prm+b_(D} zWREH2vI*HX9KZqQkA8DLem#LcV9-~dYS??~SO#Nd9sfkk)05zqz1LmD7@o%1ZCcnv z9q$tkiymq#a?4oDS(@HgBDDGmd@zJAKEYbvlVZrapKDJ`Kgjayuot$4f3Dh!w_Mj6 z-jdK7{<*iUyU1bExA2xZQTpbBzQr3Sb~X=xR_O?$kF>X(ebIv)&>%ip*96-FTe8|M4IzBLDoJJK-{yv_@hB;&W5OSS>vS`5M_X?&zM$ z1kRc48FzHgxTAZf`)Y6hp?TJs(RYqB!;O8wgKc1fXU@d%Gn}xw}}3?%zMz-ws5J@>YSe~W62!JImEl>qWP^t_XW;h18ni~wsao@w7 zzW#zTzN&F|C{Atrvh>NgWv=cj_+0wROi}&KV^wEv6Y<@sH=Q~c8n^Tz^K`@adf;~_ z!0VdusEWb^URU4|;(YxQbCbThoY%Lws~*n{CEUROC-~+Exn6L@U9}?jT)3M#(g_}e zx6@VI4CZOV9j~BbM@bSv#|6m$p%3%+8Hr#&h9eQNL-yKd;rx-Sg$HU5k?8tgV2 z@ewk|pB8-FZlm$cy6fyV)J12s@f792YmIv4vM9V9fl}agrCq<|%=*=KpUQ3a>7&1| z$ldGqGwVGujb?quYy`-l&>9UF(=RdgJ=c>cZU zY0A;lG!TobM4SC+DZ1@j$N?GQ?(0takn>1#v;LhpA5ylF^LldG1KE}6y1nSMD&cwB zsW*909Vg{;_--FERjc-p?4X5IGtB+~th% zpv17-NRBJ=IV|>c)>o>;9`U~weni?6KeEecFaIg>UBdfQ_h1vgNa@4W!NvUllsWyK zIi)*>mWQ;PAML>BXz-ja=G$A%@s2R(Xw518$HdIzT)1LT9hp-q-;IEO zAI=zW(;RyiGw#Yv>_&`Davu5lW`EhYvq!-DN_i>Y+@eO**>LDW2RpE4F{jrI8{RAG z8GIn|xgMT;I`;m#>Y6y%HNnI|!M~Tlxkyn=XLm;YeJ3ACz?PbbO?4=?)nV9Jhl3a7 zxOT>vd3le4ccKT&j43p@^NNlkxpx-4h^y?dX|GD;w~70WLPLZ$h|O9H8sK07bD5x$ z_i*O``8~O=`G1iGhjSNn1U@|X6dGad#F^X!4W$ypI7YvjIjwPgyfe=;e!~5Zn9=65 z^We_B!tojRcX8(`#J#9UWQY;L?k#z!ZM(vEM~Xiw_fM9N$(Hh_7q!j_ti!h{9|r8h z6N`+V%fDhAn0dYNQdeTIPD^+Ly=GnfZ{K)BuiEu=8Fv_`YVqXO*z-p4mv6kWx$3u1 zXYxK#OMF9b+5JY@Mc#Mnc)x`D5*O)4{xUmuy-`-R=jm0{m$Erh*0Sr3l~r#({jb(D zzok9BW!KX>?der}-q0DN>(sKnCzcc$nM1WPO2xfOh5L~9olDt zKcD@tUold=FY5JZ_=R$mOvEPAfo|$G+Pb{qL4NCo&-W<_&Ot`}O34K(7^!QQKUsk~R^e%RYjtvn;= z2KtTpE!>x3jGJYQ_dvho&WYVdEiuCXQ5(&y`;*)Uqm5p>jX%Wny$;{GwKjUUUhbF0 zfe+#<553%GpZWQpIoFB)&dgyE#TzH}%r$z>TBC=)p&1X&br_O+z2paumQXt7_}GX) zfe*i$&RNDD-Y;yaIUmI_Up!MXNZE-2pt|k%PitS^Q5*a3%CebOPeHQbij-7a#1n+szy=8*6Us6I)2_Yg&%2m&*eF z=KP_%f}=@1r~ijV_tOu8gPcXu2Rh1EL`R8!@)glf+On+dJ<(eZx7%s5+IblJ%|qb( zT*~G9o%rr8UZcM7-ABB;l#79JLkB_b|vIBcSn7{ z+)>{zH?orWez~K*UrX@ydgOl1@ZIh(#PJc^^mE5DS#%4zu9r*zMn#y zPLDA)cp2jp*tu7T-CV;@YJOk$Qp*pngYUe+!yAV`(^B~SyA*Iu?bTR^bZpETv~O@* zqDwI{DvW&Ap_Ka(-Q-;=W889YP-vaKCq-W~;d1){__*P27DvQ+Dig9lvc##hx_)1K?S z+@E)H0kMrYtNuTa;U3tF-u`y(Rd~4@unT>h+{e(-7k0<^*H)7|rUMyJ&Yq)}VMF80 z3GyA}EkkuP_i-s`fjwDauuQt7v1lNto`og zp4H&}?v0ye!oxeyf=Bp}Men_F#U>m=HL-zM<|XrU%Kx3*k>tP3rSSuDSTOgEvi9JL zUS{n<(G9n;_rlBZJ7XP1pB_$ncC3$Fci}C-WAg%I*+yk}Ykq6`3YG;O#>4m){*AT< z@0@VQ1iC0+b`U;(XAFM6zUrERouwAo4!pm@7t&U7X2)A?*zK; zoaGmdlC?{}O{*9xb-t=q2rrxdf>u!g-8?}o1sN;K|EvBg_5Kj`hwI`!I^Ju+i=5@- zM!hTV;Qxf?ZirViW!y4m@x9DkK7Le|^P;Pq%qesEm-wB2Ri#rsIA-L^u^W;a#>$#s z%Qw=Gd?WE&tUkYVRmZ^Z@mKv9zeD)@~B3+Kf@QhbMPzvB?NAvC}@N*Mw}=*$|C z&xB97o3s7Y^0}r&Tj1B3o{8>E`|66=O6nv{9(+w8tr-i4V;7qi_dN?<9q~qD0*Vi zZOS>`&G^L@Us7$^;!CP6TfCg*A@gjn$(1piXA)z!&!ksrV+XJqOfQ6wsRuuiI|3p5 z9Gh%?vyb{!48&8*UE4xn#$HK1@%eh4^Rb(=Q|PqtTLRBN9g3`fj{3;RZ|kLQ&Z!u5 zC{_-+eSbIiyhg&wWqWPM$n8p3AWh$9enhK1HA7Hr&Ik_#xy9#4f07)?FF9kL{e_2RNrzYqj;i z#rJNo+=y*@CU-0PXCph7IO6NhH3touNcR6S@>$p7<5bJN9^nyAEiVR^HvrS?f$ep` z_$%y_B4mX^WCcgyjVUq7dijBDJ*IDlu6frQlL`!E^*t+z6_ZdtC7awAt6WZ3-DD4b zyvTUX$clPe;+~bj+E1<|rTu5F>%M%}>caiV9SWhBvhJc&-3OeWL)RvL-*VqfIlZS; zvjrm?Hi_g0*URtCexLWY{*ANAy2}ZF(=r9vqyM(`ZVFjYqx{291h1UL#`|I{pJ~WA zx3iZ%a3uFGVoy&;u4!I!G&>F7!_3&enc*E)Uek@p9=5JV;+I-+uS6G<8oXscbYdQU zw#YeRJCi#b>9O;BC2qLn!-GgglsqsQFyEtdYt zVd|gGT~B--eYCGnudNrq$XWc(yt1}FNlUE@JH}m=zFVu{ZUMg3_``Chq&HdgUG`37 zqgLSqM#=cn*>DtF(_O%kyP0PEfm-&t?uiSmYb-Eb)7W4%In?h)A^O8g6SfhHsw;xw&CT+CNq@>_x zXr$=2N`3N!$BT) z(OD6bgu3=R>YEC35;QgH^m?WR#U3A71*~=NqYC;Mi3i@``eM#^8GAMJGg#Mr@#WyR z@I>NgAnjZ6swF0Lau6Ttb&dF7qSJi)@y67Fxmk2ODY%sRNqdWcrQM#u^?dC$(w@2$ z+O~o?aGyu8|6~Qa7ps7gk!x6IPHHqSb}Tu=hj6b?>kOmcR7ITg?BiR191)pije3>6 zh8&cJTz|ebmUR>RtMEJWTVi!TNB`%mpWdNW-0hfuTzKyRoV!e`KyI2}qpO*EmI_=? zTkq25B!TZ|=t-h`soVn>IBaXr+YkSI zly-#AiX2D(!kRbzB{Kh~lqF$jPAyS6iFd0USEJUNd8%Zuo~xE6XF808c49OodE4|6 z*fFmzXw|1-n~&}_9h!#@^1QH(duy8jXS|2b$@?bgmxnmL#FS#J=JP9__UQr9zYcsqKQ53s`1$K`ntPe#FEXx`laU6k78j_D1i1Z_dY07qxzzq}o2t_qKg} zwbm-U*@MhyAN-WGc{WXW8JMv~TLoTS@;)KP2tOLl=Ut{M$RjjAJOtnSkFY8D@I-A8}>XD)B(Gx5#RxLY_t1Dx7FO#^Ou;Y=D3hF8-sKnKvJlCvu{Fycp%^~j6x zuR^0GE_8Bm>c>%@w&ZkKCS@kQbC3Q4y_*RwHs7f)(!wk3cm6Mam&Lo?__TGCOIcU& z7}r4)wD?}}B^G;$_y=cAZ>XOI-7l&)SmkT-jw5$%Joc7+?&!|CvY}q;dcl2S zd>xG8Ua#yIx!WW<0ypKhzMudc)VYhhi@O>+JU@AJ>J<8#{=cZdb2IFCE?xf8qzeARXI8l2NQcj=^^$*OT5p z88`V<>n3xjc_Ds;OBnkkd`1?^{5X?bw6`kCW6^JK9ebyY_bwSL^Op8TNgvQ{d+ft_ z#@>dE@aa49jmSOHjsYJz_`4YD3D4@1Z=-ERvSe)7f639fh;v-gx72adUOM^7H&Qms z7c%X5Q#rHc+>r7PXlrmc=jNnzO&bn)?bsi-tBb`|~R~S41B+8=e^3N^b}4o99B?U|#fe?6nAIsEm>MZ>{7m zz#RJ9E58{7JOg&=L)nsB@=5M|_=w-qE<6&kKxTm`5mqy9_(=B^bAYqvEqF>1+vTn>G=3L+ce8o-(Ylkd z_s7cEwL|3;M}2~Kp&uL^`_RS(_^wycClOboL9(?|Qb6o~~?$1y;jo59}x~l_4 z)LZP=0?@x#9xoXi*vB|Zk=GujuJFf4n1j$XRkf-fI{QkYcMNiu9{hc;Ni$!0T!~MP zi#~LC%cS6keCOu7D*o=V>okrTsIw1z+E4E0_o;Vwtb|3*zSj>iUeQlhTfDRhGokAO z$5h}ZGM~szr+Mk5;7#-+wjGgqgeM$Dy=QLLj0R#;5x?ZM+M7kjI~`9!_DYEvb2ByI z-xyg>tfMc)8Vqqx+A#)8AxxgWQGt!n9f_|qIL2Uy#HT2^RL<%(kAIu^6!5gbH&D%Z zmTvjiVg#D~oFhh{S^f`V1j_lNvwsZk3uIL#2PQ1@^_4Nltb*J?CcoVm7a18t#UGA) zsVe>5$WECv_QvHy(4lJR;T*ja*cXS8{RIA*z7Ml^aqlmac{sJ0I-g21b3u<`pK<4C zl<>L26AG_88=h9~o@El-!mhg?+Ly!{3jGrroaH-Y(%^gfEqsp1T-==_$DzZNxw3p# zj>D+T^~&RZ4>%*di0G-3f;WRNB6DS_q&g$x%SJ7E+eOYWYRCmnym<@XJyAJBA!lg# zouO+_Q2l=NW6-$3j7^dCPqUxQ{n^GNZ+S*WMjauvvE~m zltlbtWbCby8%J_C#6x{9%i&Sw|z1%C(Q-`vcYHLWoK4VBb6!z>toRlT&h=pDcL-r;>=Hes*s?`u ziLIv_UrbZai@l{w;uK)-35jp1*d|5aJ6HD49N;t?oz*PEZcB7E&8B_hJEo0M&h1)w z^6#R1JXiez8VE0tkqHfiFBojYsKp;}u%EU$AM9A7U#{gFAGTN@w)k_kZPF&wu8l`MH2G$IgZCC}m9$a2f7xEg$nkrmt=)Vp z??uO6OC1#pZb&@BG1wx}RjXJ|o8Pu9gaCJIYk{pokdFZ(0Y%748=*DF<_71x4>R>0JYb^bAj6e z?+r_o@f`fZV7hXy+&Ct@iEl5mbSb>R%iZUP`DWhPFkk2-R?|4|ap=u_f$uxORrG`F z1it@}cF3Gh+cqVRbU*ldVo_2c8yRUVcw0JrG_+%kNjqjhI~t?3qcKW58l$wM=`7lj z%YGEvv72#xcX@W-`Mwj_Y73zq{7D;wX~)m_HWNDLiqa3)Le~a&lzzCQ^urycA0FsO znDwY---tiRBk||P@4<2MC2z~wxmpAVWM8ksM@Vql-rs-VyxlQqkBctoR%n3iQ+p4V zME79HS$nW#&>oc7qh;(t-(20OH22`?d@FX270Yfy4r_BQlY$=pAHLQ8~X{65~i@dTgE|-LXeptCo`Ht1kZwU-LN#2y@D?Lj{{ za*((QZeSKEa$V4mN@TYxV6_WAs~MSX7qQKd2ee4YLuh2mG) z*^9g-@i&TpSkPCDj^|j7BOran(^mq0-Ai9d^tGD4Zj!$6ef^leTF67Rn!ZFQx;@%g zkiM2+2bI1KA#;_9&S+@T8GSvs$ZJRpw_V_rz)N5+y1{2z57un1>>b(LVd5r@DOE<2 z3x2wKCwEC|a{UsgmAf^5;~G~Ei%qx&NCf2!@u{}McWJ$d-+g0epkRPf2yi*z=wpv-^TsUPOZSoHzPEn0Xp(` zzG?l9qrDB&Io#6;nlDnpfc&^R73;zaM%Qs#7V*~Hf2J7;U zPW`jr{f>93PQKr-1q9A6@qNmOHxA)T7b3P-7i%njDKeJtQFrU#zHPMruEJ=n`F(Cv z%^z|@#K>%{c{eviEKPFQ_K7c9W6e9f+siv=OMU_|`ta{JG9EFuEnQ}Wh>;n>$16m9 z%ut3uuV*uS${hM4PNwjb?y|yue*$sCoiTx*GyZbMwS>9#yexaSsKraXfCBCdg);Eh zs(FHQnfuekzMN4yds+YD5yqi9Xu=$C|E!uJeFemQOxMQuc3^LE!3zkSYw&-OwFqU5 zF+L#2j=)`D8QvR(7ju4!wH6*k^2d64|G`)*e!dC2LG>P|UMg@E-TB$?9^+jjd9(L3 zk0#m|-_BiU_46I-y!$2m@1RYhdz8ACPrc*-NC}SQy$$aY<{5(ampFf&8yZCnG3O0^ z;pN2Rg?|WfKG^UTcq?>AAz~|=a2^$fGk#qboP}49!kIi1$KkPVXU)IM{#(E}$Ww0O zx$vZ^&pWLAKua9`A1sPr=FO1&K;z9k53&}@Uz4l(t+h~oYb}(&DmRmP%Kk`Ze~c+% zU+UJHxTdLo&0n3H(&*@Kq|Ij9lpN9~Tn6FmB=Br0aQQm#&W6dGj8DcqiFba{WgRy8 z$+zuXKi~PA6Pq*pLf(IEbvk$d3_wvZQ+CDPwX9{TaD+BvoKlo zI6@PA(6Ur&7KzPEi@tx3^XL)bPdOhSzgYODl;HLJN8e$dJ$g)mVb(|Yoj)3X zd-kp9t>vD^;PZwtt||0Rqg)FLu6P-z=zUHt=ZxKH(v3BG>GT2pfzDYP5gh{b1YfK* zo<{kWdpdk)pJ82$Us12+fB(g{)O540v~#po|F5>yXtfnXTZ8$JVt9`%_>9HmH|UXZ zVkfwdeU_hR`Th5zvy*bUH_%{UZ{v)Ua|->gndfN|_mO5R)h{s~@@dBpTs7|XNPG&f zxelV!IL*H()t*=Ik#>t(?YUn)o;W;#90cWE+Gk=HEyJ%Six{-=`m8$i{Cgyyn6!<} z;MEX%+FA6Qk1lyXzZYs+Zz1$!3;jwwp;GKlAAyH+G_5Z2!1va!hHl@dX`T6+cCgxW z)A3@)otWrd%RQDotI+q}sA&N&k8ghAN0;3H6UKWP_cT`V{ZsUD06pag+R)zJ=&5h)P@PK(xbF{71+LDQ z_N!>qLpvVkI+br*m}@Cxk?~1A7iWC~yx9)oeU%LTAa^iq;;BEI`k})SVuxC=S>l>i z*CzXo_FTNr;=Km!N(McLScBQLAJ5(}qTj9JyUl#(9aOJf>Q#yCWVJn;Ivc4ot3w6c z)Qk4Nb~f*4vo4cdv+KmC+T0`VndaX48hFSaUZdJ)1pMHZ`HtVRue!hi*BNE5;Jws8 z7yj+%uKv03uZK2z!M}S2|F9DX{)ue?96SU6_MQX(8Z#_8^^5qYzJP!2te1^{3E&_4 z6~VvFf`8Rfd<*lRvzvH8s<#V#>joD88osIjpYcuo)A&}%ojwcSPQ${+w-RvC#P#Sa_i8BX)n{o zPB%gwECNSdnzxO-HEsFC8WP)}PQEWSLIoC&P@R>D#H3(9S0Y=vth&pni@qnmT>J=i za*8SZtjOQmnZX$*dU)bK=ZHNh1aIycQC&Z{U-;E`M6W%#%!fT&??^uX`J-~pGh-Dn z!2Y!+t5lv(=T=@#x!4$W{w6a|@pH`LZz_L<_z|yy<_c|H1U%w>OR|Ug?$3Ui{Ij33 z=SDd6JtXlB>#CLY2d-XS-&|E&f73Hh)|XZB zT(i3VDQ#%o2eg?14CLO6-3R^sYkfRRAJtZyvoE3jD_7Px<3A^TJ_SveK0byXJL$)! zKVLZ8+XWu+!OH|kb}D3N(dVEmuCZis(G%GA9DH^@^|Z$a9Gu;zJ;w=eoI%d0i7KZ_ z>^a}QMC@W~7Q6ETPfPBowbz=k7n_dchC209WPOMDcwqN2>y_l4@%{+!o6y5~{^+pm zLT?LARe_pnEii#TKjwY+L~l+w;~cr8;1kcz9fkep?Q`XhGRwbU7qaYJz`(?D*)QkJ zqXlk<2idqxKO8mToO!fNn2_t;v~l@?MUiFS5_#ok_FVB-x%>0T+mDB?966*R^#%wb6XmCfxO8GY_}4Avzwjje%T?$-%`lBkTR-%zK*L-Kp5!#7C-B z@GdNQ#gl@C(Ql;B5^~ECV=w2>Lio*Senh|M?C@*%$0J*$$$dl4bMDz&IjK+QN}NSM z-s6$!c1}jKk3l)9OZwwxR*C(RIB0{%D!jM&vI|Ws7n%mWs?1dfi}@XfuEayb7DB%i zJctf$5IcJ*G*D=l>^=8T?dAe_KAQ*1glEx(r-9Du@D-ACpja=iBc|CNp}X=;v2xbU zf``k3hpANB!No!+OkOU&SLgRE__$fhwP!LsSU36#5B%FA__uHU6a3pt^gjjut&DH) zrG4RVg%1<{EerlF9{vq_-7E9+4C37;^PTXiRrD|8k~+e>2|v0Kp8*Zt%?+QY2Ju%S zYumh)&RI8jj&h!gPr1ONk-ltLWV+6Tg)a)Dv&%~ceXsal#&o_myl2;~I)B~F4vY7T z@|J7QH-7Q`zmVVmA!n><%Mu^5N-ue!(aTqIA5cdgE>@{^5*P9i^4cuyv_0U_9PR)= z9GjK^F7<8#u45M8m^D^Q+9Nvch+|B7f#4T=1HDMjZhR&65A<;}WAy}yTWr1u29~c{ z40eCZ7JL|c+CglxA3}dbZ{kf?GbQH!e%3mbwmxRR>*yw3$l9X6+{NCWhpkb@$?y4$ z@tu1`M>yHr{~`G)hF@D?Y_0HS{SW%LzyDkj-%a&PJ6o8Cd}F{L3f_zCD&Gn|ON^28 z`PYjNzu-GLI_l)RFfnz-R_24R_&xf#hPPCOlX28Oc+ouFqi!RXo9QF?MKjuz_!0wZz0^>lw*YGpebmD+*#AmhGSCZX* z$*%e^bgH{QZbryC3|T0tcL!shCGGIsLypRY%&9t!c&|QR_T(~Ow#4T&*AsdnzDHfm zSHAThC4U_9WIpkB_a)1E(-+@5(4(!SuVTJuzm>OBU+((723_iQ4BI2|3DRh5FbrMr zw@tj4b&zu65O%s)#}W4w81k(TUWR*W#@6e+Ss$Xm{*<*8|0St=jCHVKP5 zHU9c_#0fZiP4XRQu1Q98O*rr8pTzznYa(}G>^13QokX8?FhjMSYi+tSylu#{XRHsr z)}6^Wus$CHAI5ja8Xb@|8XfHBPDUT`YWA^SpTZk_h+d}IVZl%27lECA>8^U6b;@Ur zHnK*u%{4;4VvQ<+^91&09rbQxjU?u*#-0_LZm*HRp?l!FF+qt3?ckekzR#C+f@fUG z_jC9@pEYi>&V){IthbppOUE~42fia=hcef7AHQW?XY&m zVR?01dAlUeV6!n;hq`v9D4 zudb~(zx8IDdOiTR&U{um)E7Uc)ZhztSz|V3BF`oT8||{tHGG#8eBOTcNm-?x}HFo`wB|l3Uo7L*OB*$!Xh5g(vW3k$-w#(dBJKyK|e7R&L{+9SFcC&ul z@nO`_lgODWbmJqF=Ee@t-0#FD5769{J8sNM(_;6CZ&iaMrQFL}S3+ML;Ia?8Tejqz z*}LA+$4!Ioiv2+9XwYim7rLOeeJ0(F4faF((HRHVVo&}MI`olw*K2gJ@l@Q5Qr6}b z_Q)*8BX^aA_KW-_cpE0I6A!$5&R!_L!J>Gq@oV}t?68n|tO}xle{0T9Eh3`CIK$oi73Rm*ADk`9t4RUWH#|4{KW<9h+?jJG!9I=v!F8 zU9bN(?R_%mMCLn{d8im~i;QbAa0wp%{@PV4zU~&<55{=c-bx<=OVO#$h8I`}Us8)4 zUkH4P$`0ff!ka7xUW>+0xVaEG-3**MfsyPriCc0R^s!SL+2dxPUPdmcw}8!Cz@`A$ zY)7v8U+A-}@qXYV^3_CS;CW@=YK^F*au45lqB8KW`ESd?H)uoZgm26OHXh{QqOxy2 zlCPZQO~8iOjGYrlV<&WupxxoY419~Jle3>csUz^Yn7PQDw(H~=0zdq$=Na?+!rK2%8*a|;6V~3I->v5SM)WRbP65WKIgr;KTDkac26S)EhDyXk8J?b*-a{r~52=P+&)W}N3=7`H{6$k75$ECe^^ zaL&hvkRjaob8voSvi`mBW$By)UEBfDKZNdRnw;^y-B;JvXMq!w(8m;O`X15iq>EmG zbH?5$QYQOk0(hTs4!pk!yf<~Qd}HzPdanUYg`eMtkFu-Ln-kA|Q)S(`T3Ju7BT?wg zg!?_KGX`jk@WxYFzY=U&V)Jf}^5|KNGYkG*Y%YWK5BL|pR{WU0fjhsix!nHGCZlsN z*Yr20XbF3WzZ5*MQ+usJo7^LJr>5xMwF$_>_i2fHCaa-!3%{Zc7E-<)8cBW<=y+mX zqDOW5pd$h!g^VG(9MOs5AAYa^dep^w3T#V&pTN?0kvCiFHbM^;vX>g!OJ@00t6cQU z3(;L6` BR=Hcsp*L>3{3ffsYhaYs?>(|X0kq?0G9`_#r+*vU7-!%Gu$y8{_^sk0&wSn z*e{k>LCeaaee(S*)>Qn-3#q#rINR{@fBZ#wiT}00aPXSxCw*NS~4PJ!L;r(qJv^D;@FY;UBuKmJsRUiy+(G5>{yQZd1 z0`3dNrh}aa|A9cl@+Gane`Lb)Nv-f#X51#ZKP~!gx%dCN!yS-VVXZGtH-5HhhS9vq z(TV>?i}?0=c>hYxn7%G(Q1iq`4D^?#&##Mi4d>`S$suUee6=rFb9q5zC9VyCV%&44+tS-T~*7N#$B%!o7KF zRKqE~qM3bEp66ZL^XTM9M84Pue#==bd}dwwlI(l0Q@5?gC!ztrWreU*a?9DspSj6 z_1nSuuY&vY*#q;qi#`_}`4Cfvl{y8?=O}H;`B+7s#6$cJBa4uSrA^A@{U>LYRZ%8( zlt_)-n>jPSl@EP9d}41V`ef0~mob-gaMi-hdaHr<|J|$e5M*IQ#g& zNc8K-6|yH4yr%d_i$Bs)c$l&5kq_A$R;=EXAbvWXE8(H?Y5OL4!&25{<;lXm(q}g? z0Tu@h{x?7iH}QWGyo>n1LmOW$!ERLy&jUSt)yHocQ<(n?k&QCgYYDzZtqH!XTbB~E zM($Ry_sn}J!jnpS`=C$Kmgv&#F-(CzyNDwvZAmNheqoURXMZap-otD-$(jd z%AY;|so=8Y^zaDmWxVt+FpxV$F4olLyE@w*do^Vui^%&7@WO;qV~h!->A=VwKjV@2 z8yUC#z0j(BfiG<@;roUBp1^OHuZ;F5W!rO?_e=3%Hv8wd;FM1Pr_ zE-cCCTPL`j6nyQBvZP>&-99l|rTrs+wPjlC`JnyWsG09Swx7M$bGQ8*viu@GvY-9d zbC><>wx0iDJ#(j0#-s=T$9`7U^B?T`?Nxw6qLpSZ1I$m&bD87Qjo^^OawXCdFo)ZS1mzd9ynppUb z5zyR`(B4ttToSmK4BwH04=H(e`YQJ>RO;Z^riS;gInejI$l?9ayQRe22;q-;&7aXv z2Jg#}oYHc3H;p6LK(E?*0^0a9=M3X#&a^&xufFlb+~4rd|0nzjd6%kt0|o!~#N4%% z!56%5F$2CsGj_d}5eQ#S?3|2fd+29H_Pg^$<=z}; zN}V}obh)+f5@*&qx~}8L__M3KX9QNAij1gR=6hteE1}M-rN6s9GSi@)J~J1hrus9f zA3mDdRvK+L?8s`9v#+t{j@IzlvNrsE%d0sLWL$Fo?vOLbIigqnf|vq~aaEc(dp37< zXKAjWu3dE1aOU8He+-Y!YHP}XKSR$o7e6%@u9&AUB6n;b6 znnZk-pv-rux=rSrexs_`2Q1;8<}QJknw^psm|a$q4bL*F_Xh6$aE9Q6I?@0x(pCv{ zo3psW^KzXIA__bdBUKx-05EEO(^OfT@ z<;*XUHa4jF!Ur^rQm-~6bJPxF&+v`#m6<$qzh~fiBeI9QTc}*Uh5Vj{?|%=^vS)W7 ze=H$3YI*sh>^YjsDJw6_p2b<_EB9p=b4EQSyocFta&PEW*02*;Gj3n`wCtxj1DYAH z;k-lm;oF*-XTGK?V#atM%>>4~feW!z#y%!&vPM8A zP-|EeMJy^RLC)_uNl;4>1(7BpwuU6w45X!o_88z;GlN)EB1GFmB3(j2C0Mn!J;wmG zP6#L<%M6S2ey?XqCLz$}ob!G@zxVxPJ~Q(y_j29WeeKtEv!2q<{BmTDXTuiRn(>2- zC4XpFesDoP}^5sIep+@!0*7rFS(P!#B&t#bpveY{70R%QE0XP}k$ zeaMFb4<9n2g=3Ax{aHAc|MQ+W)(-D}%)~J{GeGi!Z{vUcHO{3PHawXVdF@`=Ytz-# zZ)^tl3m7-?s497_KNh^)mMh%mcHhZQ;h65Ti}X6LvKg&7o$wL=4Z@!dJ1bI zaSHR;Lo%L)jEA#X_3>PH^}DqM6A!63$J6pFW%g0VQ_pznRsR@h{$R14%Xnn(Hq|M! ze~J81-`|;|W$fu5k2!Z4$6>}ncFfWW#*xQ3re!EYBnC2%e!rmYBlh9LufxwG{l0>1 zFFH&){HgW6BTHGE!JIcT*0)p{mCZ8(SC^_yuOD$^_PkthYAG@l>pZm4*xPb;_3(o9 zuDvXHDf>AcIbZNuU?=-J{|~|0uZ0n-f7aDSuUbA1juP4=YZw8Yth5i>Q=}$VMy;6g zf!H*wZmLY479BO+3!L-Ss6A;)VrSOt^b3v6Vr&!aO663?6+@6)*G$dWU8||t6+)*~ z=*G{fVS&P4mwd=S+kMjgyp$puTJtxoUdyaK+eGr`e3S&8Z+SM2}OBuD9F}-*N zdLeMp+xZc`1=`8Z*jqaS8%q`Rvfx4q|b^0sq4W~V!q0(Lf?RC&zq{C=$v)NuT?J4h3Cw^wn_DZVp zwJ^RS#)nN>AK!G^+ibQsoc0dW9(sU2KB2oZKI$dcs4jmorU4}c^2h6@}73FW**imV{m!$jk0#E zlg`h^8f%mPY~TEBJLd)J&t`D;%{Y_ymG%AXTRa;_{IjxBboUgm*aGA%C*ciQYV01V z^{w6XquL$dO&WP&$v6F^_HKLZ=ArN!ITyE_@6*sGC$-oQ=zg4GZTor5o3Tv;iR>F@3f8=>|q&5dW=@tbY9efl& znyjDrA{sf*PJXvPY3yxj_jcL}eHS}e!|t1BEo;4H*0O1;W18SmCu?&A`-q%tbUmN< z8MmyRPklaFcwRkxZXPs@P}<}s<|lhk;41vBgJ-AlnX0ZzuHapHFJo{;vfyURo54}? zZSmOLH-oc(%^3Y7lt2S;sK4zy*>Zo!z(v_#(B7A6#P!(7+oQ&a9b089{{DG#1}XaQ zyy&pw3)st(M&n}v7t)p?pYVUxZO$E1uVl0u=WP&pQ5!?x<+;YW#{YE3(jCxH&UjyB zzX|?c?6_Oxys6O9!}f8*H(#^6wg?)^ev6!E(op|>hnE85!PH?L>*c;K6RD2rJAjk4 zyJLoP>{MuU2W@+38(m;g=JoifpwrU!blN^*&mMmJ)q5_Y&mGWbSwrGP#@@qyW4w{m zrCsrpPpwd9FD)854m+xQ_f+TDG-W{NWUdtyrH>Px(}K-pY`keX%A)ccfCupL6#xm&N79xLl6@{G{NLRn+zW<+U4@)s#0TSau{!w2ia zl!0~jr1MqWf2AyG$1A(kwyI?=WS^)aY$!Ue|O7z-C15ZihV%n&s$>A&$^E4<=d9t&!Nh2dEz>wBQL_ zY^BI>4Yrt~2Kp60kl?UE2MikE=Uk`yUH9$~IZk-vJYp0q*p;Rplt@0W4vD<_Z+{qHnN@v;E5TQjD$Tmw*r}%IjM~04xSfXaTUK` zRM;QT_^Dh|=}U{l=fv8$Seq<0tKxoDtIV^bOa4(e4C; zSGsJ;k+P3-X?Ha3l@Aj+e~&KbBNKQmR853+;?F+OhPM zA9CiFCOSK?ExlFjtg*T-9K|^2v#vr%9sCv^s(jOspGIUv3>Uf30o@Ljx!Q|Od496- zTy{p}aFO>SkoQ7m$GYzs&z0m_@}gt7CC7!fm%qYz>yguclu44S^>$loDioHaY1SZUWsyY<3f;WL}y$qthTPG#*6 zqpS7BUwtNjB~F6clLI<8&QfMKz-Mc0j_DTft5*%)_b~TdChu!O7AU3NG~|F?*O_#S z`A<9}MSv}A$>oIxo(SY(1} zjJp$=;FW7yb=?&oZ)C9vU(bD=OQ)GKL3W07O#{!=*dnG+TEcolYxOZto#3`JX8rf> z3GTs+*=|GLf7-~Aw8p*rwu{$aW6WB{uG)HA7GvH;+xF>$)xnWI`{3aZBhMZ}20v?0 z9G*5%S#%D6ql(SE7`w|kc%z0q;KKHjrlxe(bDe#v|CTuYc}hyBjqj=0TPAUTBed!W z{-Fx!L1lqqZ&}5dr($m@hbD@>Met4dsjU_%!xyKT^jvgfCuc)4$7*GR^Mc4gK4@V*GLX+6Fx3HvGSJbuPo;GN6bmpXnM93yL9j1PVz{9foy z{?!Iw9ZuZqH0ULIltC-8QwXgr#!gX>zak3Wd=%dN%CaL%uZ{4JT@8-C$o_L?-2QYK zewBX#9u;=yGKoVFom%ALpHh3pkTp|v*?73Q4ibld4KNp2%id~b9%&)-m~PHv^EG>P zIXT~)hl{z{9_j~ zhhpZCj;$pVnZyS@I*%?U`%2{5RnQpOOWE+`zqOw_LiUravv*c-)MoaS$Wxjcq08Dj zjxgWnW!<8Ub$gWmuQFfp4G*~bz1sJngH7nMvTnW`!EM&<73?`%ShsmY&a# z=551DI`Igc6idDK3F{`Ttqy^B1&)1(WX z_Z?kYMPHH7NtuW6s`J3*+8M!78qZHdmKI(rxRD!jzZkj^HJy5}&^tp8nSkBaHLeKS zR|M^FA(ME)+xjWkZP_P#_{>8-nGgTB`p6SJFyXS0F|GzKos4tKHHNLL4*Df<$;v{m z1TK{)g1VhcWPicudBCNK7~N?SV}PwQF&+Oe{Rj?jyY0s89RqL5mi>A?{Xn1gmvTN? zGW|RXUP5DMiH+wZG~sF936-nw;J)?zTRbyAsiKXz;lrIlb?^s5xG|SID9y(v2Mz}=R2pDzok}XEx$j3FZ_gWSueR}#r+6A)-tzN?$wpq+78gC$hZoA+_(Sqq{r$z7ypUm z7>j+QgWAUu|BU^8_8ayDf1UlK2^}%ittc&-P;bX>A1yw;WBapIB_QiAXK}pscu!y3 z5$4czRj@&!Zx!F$)gRkyHZYd1wp8jkNLvmikTGA$(P*cydwH~-#eMPrTv&b&zQNh} z2=B&MI18WQUBqeJiI2LU`#)mCV(~X`)#hvXKW$$1D#_EagA7E;8$q1T@uA}5dEaZ@uM?lTv@^gvHsqT8AKCRkLO%=j2CI#_TX;wF zs(B@|hFj0%N4jNh*I57cc9{ob&Iox=-nqhhrYX{$&sgU3N#q)F09zGjg!`-2!F2}w zqVzTg%RQbE{PKQe!c&QK%X<;r>s`yoflqi6x$o)tc|^WZ*y~x?PNb&KJXPz=`~Irh z3f@h_eilm&9}WC2|6U7qd$i6BWV!PGv6U)yU=Dw|;&t(FYwRQ9*&1X&OARoW)bHuX znR`6rGi&&0;G)m0;d5|-;?801eB{W84kbBWK4dbf-DAbShSu%T=Spo*S<8ji{LKF@ z{L`T6i6_nw~`GCydSKEEI7^Sd~{L*Os*fksH=zM~4)CMY z0h03)FSB;7;FPs?QeQ#Vj#{79*|{<9k?7BtTtn)x${L>g(8N*m{~7*wt)Y4C1lM}k z2sLVh+Pq4Xc1ISzag}pSmDG&KGR*%r&M}p9O^G*^`X`=X(C!JQQ0IXd1|NCQ^<`K3 zB@cGP0;NrIZ*xz6z3vI(Ddd{aeu4W0uIcBTmR&i{dUhy#VT@cK=H!f1@|DI;`M>6j zQ-w25d)FA1yUx0JJg@O_}SPJp6NA)I>w-!4>qLp zeg^&h@%PZ4KISetqh0gALCHCIgUnyzKjXcpXhUF7Pt0!*7(|b|JPe@GCA`~2O*iJg zPg|mP&0TR*$E=!KOG3y077T764xpbhhFac@2S*y~BIDX@j?343Tm_dOmlK|Uzrcl> zQTn)|85eoW@SKUthNcNhUCD$zp7{j1^&*%u-s!ws5-?%P|7U?|DBKm`Jeg4Yp#W?d6ul{rPh6*vvJ8M;Ko0=<}$ZT`ljNXzUE@rd4TcB`m6MPpRE6szg1J$ zsP(F(Q?mo!AaQLXUu=;1nD`}fql13hhZyH5NzShDm2^M=7IylbktO=xo%UU_VQ|Ci|KDb!EvrF( zxR%EM<@*0b?@Ip599;VU1n>9wZ}gSq)k5I3lzJF|Pv^eiti`=Qg*RnJ7~S^POsKOaVNkELd1 z1F;29Qkzq7Z;;5A)UIez2933Jx3xDZHS(O;1oEj-K@4|bzO=)+HS&(gT+)`)p^Vu< zJ@Z`TOleQ%D>{btPOiMu-re`#s-athK7SAIG<=lk&Y`Wd#ga#@xKoLj{^_o3-E*M9 zXMQ_?ax{v*Z{+zz>;viO=symIkCl1&)Inpd{^dM?$>vx~r2dAfo6a@oXT6_+J!>Dd zGEl7K%%^T-yS-%MS=K&3f;tXrl4BR;pdpXWfC?44Neblz8}%h8^Bs}394A67pC zH>=(G__*JqU8_y2z0>sLV{ShBkhbB;ZU=KT>UVVaa})ivpXly~y|gbQq<)9wLW>@P z^BG*|dH%@BP=1IF{$Y6c?Dp7Wb-4il=Eb~6=zKByQ89cz zU#Iuo=Zi?*s-+K#+(C^I*4*Z{bLPQ<_E`64nFhVtNE>13Qu_v(ycl_;tIv!a_u=!w z9#`8VEkLcc|x&=e&gG~L+Oq8r3}Tunzs`V>8bRpBLN6_xSzd z{m4JysH`35---OQFMCCfds?7ppWU)a-}6&SN@hu2EE$i==gs~08ioG!y}3(jk4LaC zBUy_mvg`F3th&U9)>22aOlYc|aff+_RzOql{+1_z9m_h$Cj)t4r#;2L ziM17)Zk=T)^U~!Q@*ku|OBek9m~)XF;{)ymUkA5la}I*C6Ev$W9liOcpa zAQwY^k0;(e81895gr3E?PBNa;(A;ki@NYkZ&+*&H7}h$-SSB!rCU~3F_%QfFymunk zeE4fDnw!D@Cm&WkPl7K?z?Tw!hM>1qIoXd zcuyAo8LipMkLb^N4dI@8U?F3*#@Wg^vseSp9B&McK+hj&_K!VIrH`&N3aHH~vDlnT z3opKdb-A7OnZY_uhmKC8eve(xWf})8j5A6_4v6<^=A6orL*A8rHl92+`&|D);3RNZ z&V5;n7IgO>Yccxfi`GKcJA?LZ;L2X%jU%xo7C9Ra@A{U%@Eyf}_$g;&VZ74lLM|?d zP#TK|C;6ZadGC0;7tMV3Y-HcgAKnmpFhaA zBKaxKc=zqAg6j-^#N5DJ<_#}#0E519R&tZNfA@cOTZ1=@; zw{S;4-v-|H%0SkJyl>>nty;6AORiL!k*AwVCzSIHa0t;UE?%?qk8{q1xo!uc2gVt0 zao)3XKJ(mLJ!gRLIpAyUr)KuP2Cf7%sU?h^>upULMO}pbsazWkEok@xf3e^abW-f; zA~W|M_xBh#@$b4!TFMx=x7lkt9%l{Nx32pY&r{SfUVe=|yAV8+vzLVjV28o>lvQ9f z4Z=>uo{>3!$avesIZI<@$pon%gFjfeV+%gkaqnaN6W0Ql1irH~(d?uj5Z6 zW75BVp87JiO{ae&h5k`9>k#yBit66RKJi2U68rnNpN9S=A~##OAoSt<0CXqtHvs*U zzC=!GC*Dl-IXO4tEcd%_4rG={JDez+y@|WO741Ql3_u_{YH~4Z~ zY>}>&^Zez(;I@2Z*!Oui0Q}Dgj)lHYe5b5y*5^TJsx$B#o*Tn+*r2NwCC+`V@FjEK z&n&n0eWEu4oV{$FbbC~r=+V|Wx@UKVyMy3|f0NDq7rV9pZOmKh9kG98FB796u-Ivj z-?6dG2EQ`uu8cHsI4>rI&l4}z+vZRVjzRDDDK9uL5X*MKk}WhT?Q7iq z%yIkDLdN~l-#_jTSzF~?qK~oGSvXN zRRNvbZ=noPJt^Yi=2Vj2mRYmJ>m>(1JAp0Kh`^u zIh8zM=*!}-bg<849{3^_Q8P==4T{EB?jYw`e0~oP1%}u>+8Ku>D}>vX8YgF)v=2k> zJqI5Q&kc0ktpwt9oieU77k{%3t0^}3zwqpvcR%Ubh(GL8TU=)|v9QjvcPHfcms;od z`h}-I5utdbHm=BKkMb@0NvO;e&zOA+*gv{H2#<&kt9b%=K7njv*)L=q+9~!@&>2`m z8xp^8?I4NO(7c?PxTr3bInlmc&*itw$ym<>@0G-i)`uHojMe85+nJk_+dL}%i?kBtwww8Yw3&jd?Q$Q*7w5;!L1DsU+4DCNi$`@1YL)#pF76$COEK7 z*8h;Ium2L(U(S7MFQ$##gg2;xlgP3fIjLG{yiPj>cjP_JoG@^w%y{=-c~{`5!x=c% z0q1tk32G0gE$El{mwcJIfxKAu$FST0XDau=pS|b<;%{1=)QvxruU2N)+hcZw;?Gky z6Mq(mz_e5Nw%8<6IuG!Uu{PoE-}CJDxyITAZ7H3lqYV6MFEa4Q_a`OrB={rvB)D|X z!C=ERCN8mu5+wFsAzn5ugZNwWiHS{*br1tD@|S$$yNDH>m;sHma7CepgM}*_xGv+j zaAob;Zd|d(JD<36nctvG;z~-VO8nO4aOHF_T=~x5z?BUX`o@)ysb_jdaAjVavF2)m z`)2l2eGxuv*8EMumCXJ+t{i@jGa$yZzJe?78@O_Mo{1~a9?>%dSLD4eT%lfu(3wB+ zZYZwA39ihOz2KhU+a-Hph+lA}o^uEUS0qP7hbeR>7vHA+b8m>&~Zh^ zHp-xR!tZ<2m#?G3YK$86oYBB*Krgu5PVE0K1}ej4mgM%g#9*3_KgJ>5BOF; z#ol%iTte2QH(cs=+1mszOG4n116sHd%z{$`xbL8xz^AF1unhy zrybmX+O)y_jNg_%xD2?&{Vv!r1K0>HclB314W{!{N02)``QV4!C!DvrA@*(yN z_h+=@D>He(bNKRsqhdFCz&wKo{J6i;Ku)|KbMq_cl*G0O4Uw1^8P^%c^9TA)TyUNH z%mS01t#=88vN(C(su~|QRrK2t~z}}|JU2L+6$o(J=)r3(1$mA zwRJR-wg#H>$Ta2=|6jp|Q~xRQcdYj_?jPv`pFjLXuwf1PC^}9*ggpfLUvN5(>s4GA zxl8nhwZP%D%IdJEkZ-ai*O3EsagaN4BlwC@?_ z=Hx6nUG7MO#v*rEYwclw(1)?s&Co{8d5(1|pe<|P)RoQlZvqa= zOp}hEG3fXiO=;*f_qFga(J>D*Pth$4f3A9_0SBRV(63mIh|Dg#9)CLt< zZZ+*Lc`4X1iD!k5-p~i$2u=Glc=J>6#<%!lyg6s$&D$29QqP_OJO_*#pU~=~N!G@22Z_Mr6+~0H=_%!@1*q}0R z^todS=a~QLS@xyuM#WRk zb3J{PJ)aZ(LgFI(@;zJQ8y)8KU}vwM?8nY7FoU<;Vvf@%_8#WZHP#0&9;+pHi0q-@ z_dE~*E*d`AYAxE{<>S>H=qsG*qw!2nTiL}vb=^J&%*BSRVjsJd-@SL=@6fl?^t-F{ zb8fHrUHkSmShnq8vEmt<@AUjdpS$SW_!UiC!C-5>fI}Ay8ZU-H@z?kmhAWM-ZbAdF z4OAvI9%7$u@3Ie&v&vj#JteMFYOEW!4P(64 zSzDj+o^ERo9dF#kzVVAO%UJbshm5y|+RB0h57L$ucV*T3w0tIF<9GsjN8WF;34JV` z(84)KF8z$&zUM1rH*LGel=ds!AC+-VHT=Op&%vIGU~fgT-=jE(zNha2AKtNyI%?Zb zQQa$ zcl-0R3V=`cl61;!D$CN%n1Z~Jm;%f0{gf^{#(D?nu$#f0rZcx`&YoZ$r>X#uXGbVO|OALB!KA6yd~es9?L=*M}+ zjCBAG8M4pHE?@iS40KUw&geUx9(0H5j9!#S+hBBAu!G(Hsi$>&VYfXuJz@L!#F5ZY9o{cfLYx>e|sd}K}EV%+G&+jLxDU8e%?-s}1)b6=*f zW4!mLJby3m$yyVrLOq&${l2+2Phgl`)~;G#yE0_jO%bwo`>eIAA2t?S)i{q28IxR5 z^iSkH<}pohS8UbNeu6XbEbaR~{-(!|tY^(TgL$7OjzMgg2kZtt{wvSj7o}{Ky`6vGz1(Z(tVEFma)GUT59fq3UWGpI;$BmV zvQ6fQojst(g+XsDpRCxc4Zmru_aUAYm_UcHL3Z(}>g?}d8YU&!+bJqiQ^MZPTD^K! zebp=9)dnezI(!Pc;Zx3Y7F;<0yHRB3MBe)kb55Z!zKZJ#=i=$}0p<@fpHLolCpHwR zVJNW|2c{Tn`fc8kn3?<-W%L>LE^$_YLko<1Vs{)0Y;NHhU0#4k^qAj)OV6*4{uSP1 z|8LXaV>*uC74J?rW3AHLh_%{RGC}HI;D7Vry9>zt#DDTT#u(3jx8^3WI;ycA`153L zk}Go!b30weIQbYp-URPXYB`+&uM^QbgEr1K7QZz(-#nC<63*p23mrNIj>~!A^O1ed zKzBe#p4Id--$kC93EqYFE%SJfzT3^1stx=Pr|(nj8}R{UgDVA$TV(uVWbfjks^`oJ zgLl2kdo|4EH2sL3(C~A_d0$_{{#)*BgqL#$K#OkA%@Vsax_Ae2rYG}e(IcpHXW5*M zeJp+#eIK)*Wgp)Qy*d>+-6Ql%VDPN$>pAAW=Ku5bzkSYA=t0IDo0;==Xq(s^PR+~n zjP2*&J_nvJa26ZC_*oam;KKojv61Mo797~qYOm?GQOFtJ3Em&lwqc`)_ddbzQ(Oy$ z$C8H)zg`vd|HRZq3VH4g{tG=VmG~B7gY3+6L0t?ovg+Q*JTlHBUjS2y5!gb%#A+Q= z(&ODnO0lo^I0snq!VmQQoX)fVhqmjOi;FW=wRGw$3Z0o6g>O>U7+HvC^nC=Lg`RIF z_>{rDHS`s<+ldS99T$ZBlc~6Gl{JgxY(!!a+wIL0+9OLQcCA^N@Xd)m*337|$562>-TJw;-J(77eaZUD_6}vEsYu$daIBz2VEnAr`>w$lv z@j=W(_sjc+<$6MW+J>o16G;>T&0!-cEu=o zg}%Qpq`QX$%jv+rC?mstgy$tsZVP;NizD9s9{*=@@5_l9?tT1zPpzf~$Pa5JcdJT$ zo*c^6wU2Tp)0Wq+c0VugVk@4;^=z(-oo;1wMXjrORc-oJQ#_f(RY}Z!zLNG)w#Y@f z4tE57i+yhd|BL23+)@13`|gY<58tCgDe3}9J z3Vp7|7S<-uE~Bq3voEOutwk?iQ_eXn4)q~_2Yo4}5BaYM$3DhBEKf+SOnXUrt%+Ln zF8bEuQuipON?RQFcXMB3oQ!q<;rE@MysNeKQ>jTY>1yS*4&YLPy*nG&q^q>e^Df{i z{K^5`Ia7R#LJpqFxzchTv79Tdat5{R^-y}@hhLn1EN+;1`_k+0>v zFYqE~HrH#0rn_a|&&Ri0uHVO}08R+rIJvKsq~pVoc}@CAz6Z0;!5}eWnTlIQMtHhE zd^=5PbcPWR{4#O2X8XgL8?g{MRvQu0p5BHMh#+^W((EgrYa`%4MH>dY^U=537q6Uf zU~w66%H5K`rep$bP^Xd4P+}j~lukJO)f9i>Mw_SLO5riLG1qUQcae)>H*7RIyyg$= z6J8cS%mi)=>IS;o7gPV3J@DXJ(P?BKX~5rs4i`b2k+hADx|}$_4omF(!05~*cPMPeqG)a6N)~$wdv6{&a^fd(p9rqg@6C^KJGdS}JkQi&5$h*`OJnX)J);J*m%|me zqn{FZK~ct9eQZcqsGEq4^!0|8Nz|~$g)1W6427oMekOY$=FinPnP&cVx&^t$wD{e_km=$=q@># z*SpW#iGAg|;ERp}N(}J{r6a#k05eM&HV z%<_0`jMyXu?iu*>^|qT*-A?LaWIm(kzbrZSf74L7*csLM%hnOX&S7<)3? zFFf62_rDp2-)aNvr?=Cd>{iTn(y1e_&*?X;AGRB3B7RfwR%)_m7kgVI*O8hGUa6lO z`Yv$7mdF{itkwT{m>4X^Dt!@eiV2e%@cbwC;P`yn^Mw;Pu}R5sefi89UokeCfzCC= zV|gV8Ozl_vx(`^)|Jv6ge&agyo^xWO^oNgq6I!$uoRxNkZk^|OdA7iM7Ffx%>raLM zkHV^vIY^##=zIm{y|RtgD$&PA@Fjj#jl?`GjNQ+O#^P! z_}L?M{X^kbO1(0PWxCabTL*Aku1HLIjCbT8Y&E{J$w?`+>BCG3yyORM1tIN z1%sn4yi3O)+7Yhv)bDESO>OY{+Og6fI*^09|C;IN{ zR=RUsC+*7meLBhhq2ub0lQrrrkaRf8>h}!sd6RkO-~INQBt;RrQ7v@C^q zd$#=(YLqb-#trTj_!;-{T(0fRv47ak^|p^~HSh7xEZ~*{{O;s?EZ^zuEv0UdyOBOd z^4}L8<`G+cM;dy7jI}w&q{016o<&UWNS$X@XDG3{jjuoNUiDADd**lcnmFE-7$%Wr z@EN!(7^|%3(Xg-@>)Q9tYd)^2*0YBc_iOXXdElKD=KXf==YR+4ob~_pYm;SwL z{0)Iu?>U67u{j6!=_S|r@0rV8|1ZoX_*+@~F#NqykDh-#8o6Zv^2-1}%~ye^-$AfKHPIyF=otH1NE zA)}od2;coC@J^t==XBJos;)XWi&EU_2P%)-TD0|lVhJi?0KwSmoX(?sX0sE zsql>W^UFSXY8L(3l!}%C>VN~EhdLI$PJ15}VZ%PKot4^^vTBd6ncmRGdrJ z_PEL(@JoHzX7EOQJo)wq{0GwTw*zY>it}U8cM{da!_ubIdrV)QalKN1Bkf*uWuB^x z{b{D+&axBBO?$ojlyl!s!b|k|d^kB!?o_rtzBqyO04ErY6jrK!y0=pYWnp2<2>x5@n;^LkHpRM-k0>(MS}6zS_+ zWPivXnFU{=Ux8Z`{T|`}7uzR$D(P3w7@QV8y>dEjL=<$6o0jb#vk zucQ`3j)VCWTyU(9;eQ_RE1+F!WA1U;uk;tMOx0y**VowOpufc%Z}AkbO!K?Y-F3K8 zFF|Yq9n|BFpq-H!5$mP@$KIUi$@={14{Xs%d!8hg+_jSD)p+XaBy}!ezq)Mm{L*jJ zP{(@l&)xwpwb+s>U9`PKd?{SJiEBR2B&|pH3EjWyRfhf(H1(fm;Cx~EEa=5u(2YBx zA2XpNccA~=?&-*!@hJ2~x8Z$7p3^F7Zb*&QlgK*Ax7A_~{af$;+ZlW8NpvHLpAQE6 z8M+d(nJ?4Sl|ImQrRvn*Ob(!HSJ%9g>Rt!`*T;;mq|=n4*AqJnuK_0|237JC%XK{{ z)!U-$L8+ZmbF2Ld>MNyj9v!lMDtgd)(StIPGteb+k;%ob+0GsodAyenR2`}Vp{MuI zfjZEE=Ar|M4y(@_9Z39E3VTr6f?kOpRIQnMP&zuMCEFK#?;<^@S_yeSR2LdL4_%1y ziX7Ud3-MocAvIIv`!IANHK$zHh5C8QbzLaM8$@O_bfHvlv##Hyb~d34okzbpeuM)h0MD zco2%q5AcpWhmC%;1zRWa$Q{FU`S-i!F}1a$(2L4@=|%a_wGvY=8gDc7B6&viBGG5N z^`cLD=ta`^{p^ifc!v7V_+#RUzmapblf0SKm66;Dp($Uohh4~x^QRy?>bimET}jN5 zL9=5kLh0hdkAn@7%u{HS)I+Bpd5`--Zx?+$`MRi^fdKv*eodzA91|6NwnI#bg zMdP;8XU-}7Dt|U~Eo=|fS-J5!f9ARc8_~CrLua4F2Y3b^7D~HB_Hh1^GYM%!L*Ijj z^pHWcUj|2=zD;NgKCLOX9CEa)B}ZG={n7^+x*xgB2QzJYj&{y(>^0HMOL!$Ut}8ij zum>OA!o0rtjWMrx-zV>e7%rzdKj9Zu%&&_1t!92R3LYIdoOzIZQ*$Tu>3zPX4qle% z9+s``WzEn%iX%L}nR;G&wfLT}wV|70YuiO$I%8YO{Cwa?sJxvp<=eKfeY16Zf? zp6Hhu%tO~Np9@F7RNWop!D;M;UHWCOepT-2`Xzlm_G?qW{3qU>$GbiCOVxei14F;O zN44}z)qT{wb|=@m^h@TN#Qqg|=ri+v9``peH_0J+TsE_jmEl`guCwYa_Aye;|GU@HG)#M$R%w53&2l zVqe$7IU^q26<$wWhPGJb&&7Pl;B!AI{>_l*6YW}?yz>M$`Et(l)xa;QgQZ13y+-Qp zIZ7YYZSoy=+dN-o+C6dD=IVy7s;tL3AFW&S8w9sF?8n62TK18=UExv$| z=W1->ZSw4s^xIfhw5mXyC0(`@}gy%G(Z>h*hHsmEca#I-c6Z-ISdtcQ|e4zVWuvZ)txnoS3S?#ymr8{mqSc4BxEmZ?6Q|d9!ut1?CGKN zPqya&kUF}tsC)jxL*XMi7q>yYEIH{}@KLKTo(o89w=3I-BN1H|`n*4mPYV1W!}Y$J zhp%=^?(6x^;JR{=(XlVKAfxBonkN+4Ci@)@g)x>)WG}kQk=0Lbn&mnF^4%W%bM8Rr zY>&iL@3cj9)?EYt+cboGF`htYtmp6}&cGYPQ`Ud=3nlQ>0H;T4WFC543G7A>GV)fX z?q!0v>IgY8=v}9wL5WIYg%+(2_?X;(8Rx;rv7;3(?b5ST(6JQaFizf$?QMY)a9RF8 z^z9DtBNkerF|YEkwe{#TmFk8So=Mbsa}LToyMcWuaT?bFS7|q&JWLn5cZ!;F_~hN> z11_LWF?v=z`d<3#^llwoQ^sb)Q#HGzGLiOsk7on<&2sjrj9>7;ilH4uKMFDEUqoR; zwa4y}K6IGhmBQJ&v0km}A^(q&X(azLo&1drLTi}ws*Orp33FB%!*G#DOuf=NLq2lg z^vWW}vG795`fCdo`e$H+q?WRN*1YJIqOU6GmSRJQK(`!jSH^0LKY}x6?&ZDSZRav) ziHWP28|T zov6^YKg2pjvHo&)@H6nEB=8_>pgLdw2D^pDZd!#iF?kAj!@UIe#?Ds9r&3xy-c;n%KALT~qN0*=@&e4Ducb;^3V zp0H}7C!29N4&35#l&1NqrJtb7Ae+K?F3hc#a{jW^0TLaUy}Rsd1I7u&x(Q4L=LF7z zcae(VN0E+u*NUuY;@)cJFE*J+vB_*Ow z&!h7L<{rV^v(((ztr*NEd>vP?#=l3tm31yJ{A!%k|Ia`!*3mrZC$V|_8yQ0(4sYT1X_KMgjWv@u?u4d9r zmu{y_st}s5VGqh)nnO8k|K~X>^QGt1PEM=L=^Ew~ z*yRk|mlD{1x@e9kC$s0A9%IaPb9>I|@sK&qzQmkvHRp6X5m>>GyWte?y^nWfPD;4a zFfvk!)#uGx%Dn5iC-ct2=4Zvb>T5aiADMUZCD+oLw{I!&s?2*`Okn%j1#>)eQbWg> z;JuM?G>ulbNv#F3H_F&<;+he6ndpt@_nFU!c+Rkvr$g2~i!Mk)AK+lILjd zePa(MckMwRG+p*!0DO{KD&6}~=8)vQZ~?z>m@>-LjSe6E#dO*;WS2|vEvt`Dp}$9n zajha|LiWahK6sbNbFOG*?2$Q2Kx_&5_UOvK=F&_o)nA~Oe>82k?=UWr`6|%Seg(~y z--RCsw`tIp`)}9Qf7MBhGO~FAIVQ6AWsjyK`_?b`j>n?e&Dh?2?4R~wcX)*NN^FPJ zL^{O!jRO9995r^99(Z+^auJR2O(AdY4D>`H#tItYJBJ)h4vHf;wF|F&n|LOaMnG3& zKg|NKw%hOVf2;(yHmX!@M=BRtb9bFBgOm|dhFw# z*hIGvTjY83@qfwo9RlBwj|Jb(&FrQhg~;Agi=~(|hMPId_EF&1jekZTE6qN%3&94l z=}DZm)LZfu9vSEBZ^{pXk0L*mDS>kA{?xUv=q$W;oZwWX$Pe%iU4D2@cmQ(p1#P|D zi!k}8zJ4cy4Y$+3)R4E%DHFVVnEp>=Q)}wu-dygz`JcgtFSyrTm&Vw0v$;5>q0Q9ixb0l$H$Anioygrf&o^Tlh4;q5YeRW9w#T-ck)uytWMAl;S8I2T zMD}>d@A#THLwKZ}IqGK@(5|B&afFN^G>)(YUMlAvh@HSsjCLdb4Z$hR)G6oRpz85m z`Ze^=vxIO&;{x zeZBQs*Q)R_G2rOV;7z)JW2b$vU+1gov1HcmdCiKA2-%AbnH&fa}L#Y=K&MZ_47YhM!#{l z=(@&Sg+`gWZm+o^|Du0NOrp$R^ju?1-9F;^zk`;5PaS38)yqT3i!U61 z=J6j+@ZCoJTE2DoWEei=ukMcbi0+^DSNxAfrz|v{*76lBglhM(9IK}`EssDmn&nGKs0h?!M`cnto}rn!rzX&r&@LZzyyaYQ+Zpyo=zX!h$um#U zpD$F7#a@<#?Ja8)vHQVf^1+k5j@1vq&(PVYWAhuR21er(#}5?9qV`0^4U;|fuU74M z4S4lL{VUY9ee{bH#NW1x-6D~3)*oHHzkKhO6InCfJK z*Z%P63C^o&T}T^M*Z<uI*APPryE!$ck!$j7>Vkn3A*11kp=KDzWcw$VXD z+iC~c26(?D#w|!6Hf%&kvFC3oe01EG+~1P%e(kI30B8G}`yuy^ac;-J zq3?69&p_|{%;`qvG5Ecf)^_HkDuXKrHof0EXyv}O$2j*yu?=V)`0D$uH~zA%^`?^M zwJ%=58K;A*Yo`r%*JckcsVy4(!`i)rU#t~cP<0^M%lTnFV03#3jOu|A=eJdk0Jhn{ z$XojE+G$rf_ZRVu3z!b4|0q6Fn|HSsmhM?w&hv6DQm$>;-C9w)ckMs=oc=EDWpCNN zHjDPO(mkyjV{}|t_Cf6<*jh!_>ZNC-ir&ham;X&YCox36lH8m`?@Q;PMT3=5X`g-ViJ95tkXi3JC=mcLm1C4L_x1TF| z&=Xh^D#Ijs3mAuT&hQyndQKtNj9SLY-kJPvoOz?CvG^v>4*QTDG6$78h;4RK2lg6s zPExB$t{?i7=sa=WJ?8whr@C`>b=m(ns@oHy$I0GKSJOW7U22Y|-qYtCk=taBz9r;Z z1)YJPyy4$|_Vb54J01_6W1{y)#!~mDHAj)5h%expA^#_N3ZN}y|LY9j%YO#+k8$>Z<}Oy+w0kA#jn(c4Lkr}An~m>l7n1(P;@ zUkWD8zTmnqphMkqX$&xp^ZuE4%7;z%c%i?A&~Ps_{4g{;NsVarLc1%V)5D?NhoRjg zxi%cy?d6&m+C3cFoy;{C@0LTm^Pt`J(C+cj`1&taoM^(}fp7&r& zs*HDQiLvn(LCcG2=hOlvAoN^#Ohi%PxFVjBbN8T~-mSx%h`5-A%=32U`6~1BHn+AGK~E*_=~30uS_tjk^Q*nBdrRM2OFq`|oS4iO5`UdevTBXMGt5}P|cUxN>@Q4|FvYK03 z3mA9BuZ(NLU$eHf^mtCc#&g=1mbDtsS@ivlLZ>GQ8ZY+XQwyAdRCJkw!e_edS>g*2 zd)AlZLu|jgJ*!)ncA2{LPR?NOsYl0oM}W8K=+Q3I2k_P^LyZ1xqU!oUt`Zj29`PyvhPQur%3$M@qoQ19^7yhc8+u1Vd!*HgKMh8 z(ChLX$i1dsx2$l)IGLZ=h4YXzMX$??HuO3ddY#;hL$8a&E-HPDoKvj(2X|(U^6aGc z&QAD;$o!+RB}xtGbDg((&W|8&nEoZcUe3?OCLM@bHqNghdt|9fVDUlDdc=R)4%}V) zojK*yk=%iVVn=XLb0#}?ta}1$<_bRjfmWt8EGAa1h1hss@XHg$_+TDh zi63De_THJylRlvJdVZ|f&40$a9D~*iTuMrjVX@!*33*u7O8Of_Uvh0OI;6IdSb6aE zFwc(ozS9rQ2t1lI+4J~K&c^(HO%tOoO!P#TUg=lV7bgq=rUM;HBe7oO390UB;MRQT zO$PaL)O!h7JSB_xJR3CZbGzm~fE;~@wF#r&&*BjmMu2*rv^Ojm+_4}?wisjYY=ljj`8#VgKS1J{SbFx5MQ@hMA`Lqe-Z{(Ol-N~c9IO-1_=bJ^A|58ZsW%TB&9&Y}y#$aj5uUwka4bvkoh$Xst{u74LFgKsS!Qc>FgA4`Ov z-49>$ZDy}uY4ET?%*ThHB|%N7$T~C_UKZ0jjXtK+M-={sN8y#i%Z{M4ioSLP-PYo3 z#D7&@im%DN|1G{Y^;fNHh38p(?W-GRdm`X#dFU-k#BLRY#F3LjdmcQK z$?FkM9$B#@UfWZTkG@#)30dO}#MlZRAA}A_?(P};K<^Urg1*#$Cwhqq9hC=vBX{@k zvGL!e%_*Mwm+^0A={zp7A`KdUB%#|*Jg5&I=ZeHeoM7;{EO=aBa}gV{@VH+PH(=-% zsorsnuWKKpH#FnxJ;Z)K2yK6xdqTrRztX6YBJuZKbZo`{E*%rUg3z)3-wm!ix62v$ z)1B1ioH@sH&XD^}UXbEVW{h=rhSISVa`(FFn8NS3p<{1D$KL8i$Bqd<#8&SToB4F= zX%M6N6|#hHo_P(vag1w=pCATlrZaGq-*ucN?GhVrlxgE-KOl4M@olzjypa`!*m#BC zBj4uuegW*nNBj$9h4`pFDT{9Lq)eRT359tnwfehsHxu>`gus3(@d(K!Lf?%#RYvU| zgJ!ogrl0H&Hv9;?t<#eIBIm}eq2 z5ROm!rYBOKW8M4Y(Yu1%uD2<%BlSL{j+o((Yod>H6~Tsk&j%B_?-}}CBlm802OBE- zxc55u&i*9WfUPUx2xI#-a6QkrB`5oS9&FgK(y%EWLk^fkoZvCm(pt7*1>3O1l6UYdw$H5+N3M}qEBUmek&)_<>GUHKhiYum-_#e6F884YmPn9ogSX6`>B10sCi|_ zmiVNyEsD0pHmCR9%v`da9tVE2bZFxB^eb@z1IfuBtVECtu}IH__zpHsx=-wd3 z$g#L_z@3$9(lKzQ!W)2;z%D?wmyo>z;&v zUExWFCQE#26!{lNmifn25!Z1Y^Cm`O&$V_Xun_s(K`usx8c`7;x)gghJ6w+$aA#w) z?XXAgiD2%97b2KbL}kLt6uPeHPvHr(b;G1CKlK5L3H7by3ok6c+t$UI6!XhB)f9l z#Tn4$VanLI&{4jEujGf=h{cz3l54$vDfe5xl#pkoZbR?5hfCFM_yuvudc1f-l3ur= zgt7bLlk|MMdhYqcjT{ku-4gadl7J49g^7?h``Ia9=-!mJpb4!f&+OJ>KzIw_T zI9aUM?%Q_iIcGp>Qk-5+?6&wFLdGn0CKBrXe|~qq z#nfJT`l0V4FLdSUFP~+v@t|*JffHhLVL$Ab|B{QZLchob|R4H=h3Zc07;I?K#W z*-0I6BR3_^lxQQAMuZ}b*w33tP8s`(Ce%4X~D zkgM|Fh1bu3R|dYn&^Zgd)5+%vg_kntABWcsmx0&(`}%;FJ%K!ZBQGV#KX8n|t!G}! z#qeu3^Hc6K;pPKwFOZ+Ye5%D?_^lQjzVxs*t#ooy5_+{pj*9pum|L~@BlCIQx}QgW ziUrU1S;}lr8MXygF?07{s6_{>B#zFlsXMyz_Tj~P-u_zh73#>_*Y97HxBo#`eu~vE zvG49&`X)!|nACJic$|8;*n=gXESBHt;J^Xo@b|Z)=jzv^-2>zq<{*0JZmt{8qy~ontY?h}|YuNqm%g4z$$w;u*=Y5Sz+D-Hxy6H?!5HA&b_W1Pg}ka{yy5%GQdeKlvFu0 z%G}rS-cmiEG`=%kuRp4JpMg!@@4?3dd_w8o zrQoB;`84J}{(Ipw{xa~{aAhCxu_d#Qjk-He>ioR-KJJE>>No1{JYvF0G35+`CP27w_FM@bDIRI6k-`R{foHbh;*!k8k+O*uV0OKTF=}@3?NsJd$^s3ognWB;U&5^=asv>h`L3`W>L2Y>_6~OIbc(t|I-OFI-6DIaTFI09~u>)G|tTGobrWz-m&|IydFo+;-t?D&nX<`>K@^qsn=gBQJ{a!qtod1o{4 z?8P>tm^rJF=P%kW&QsS{~JU8 zFXVrN^!3~*{8wRZ60@(#Iy9R#lZZppXg6redE~SjHIsmEqu>Vb`kqVRU3*){+xUb+ z-mM>YqyDbM>q*Rq^{)8Pyu7zcjon0f8) zkZYahwL7}5g|+?Fyf&3z0PFLDso8`c!5>tbSN}ua#b9$oSK(evH)z2RK3GT8{(}}Z1 zmPe4kD(8!!_fJvXM~Z^$4iCGPnq(no+F*yko>4uI8190hibwg2@_7DAYU{%%T;Jf_ z+x<$;h2_(*vB>$ZM!m_-vG{ObRy@96sGgRusV^<(1ZPUE;#)kvaCEn>bAruU#bv}h zj>NCH$*5J_wD8h3{?ABEY#%lL^JF}IjHP$2EIFS<=G*&hl4M|~$CqJek@^U%!ElGv z_x+>oqWbc}2PBqBKI#2Ai$cbP9jrbIox4fN$zol!53lGxC)d$5QPHT|%(E_Pj=QKQ z|AbyUxo15tWL~`vzQ8%O4wu-eVoP+}T#tT#OTYQ%c^?_H9ehLTL&+I3;n=%0)}(ul zPciSVGe0=r>>y`R8D|5>c?EBE|2MLxHTRBi>zs*e%y(JW z*#a~DJ@>`$Nxf2@x#-ML3wKV>$-_Q(TNe)b22%5ybCoGkwjY>Lm(0Mi-p>hK{vPky`ye>}RzmHN3Tip@@}DJ8;SFlv$ih9*13TAkzz&d%+kMY zok!W97Ts_tw#u}L%JFipbwU#kqnFH3ojH3Wl~Ke;xQnpWmr|QkXv70DZlM|AR=U*2 z|4I5C%Ck`e^*SC0@D*TBwd#2ccTB6io#!JId*z6u&#WoRRorQ+db|u@!3<)ei;2O_ z;`fMX>Pab)dx}&Af3oWCv`2gMqyKZlhQY;KUZM{>eGKJO%BPOcH&Zv=adm3l9nYq| zbjP#*e$`{oBd>g6R~k0+?yK~1)E?>ml(u){cP(mG+GgY`dS7|WFF$0=(Y&{XG3PP{ z8Jmp9!90uAh|Z13+Ro@tCs^~-Wg?z!$ChTvM$;VAE5+}yfcY2F)->)*outY9pJx6S zcu3pCl*W3IsYDOV;J%(`%=1p3FDg~s7R(BPS+45XGfB}p+sjtfS~R<`S#b-T&2g;x z6ugNf*S)xudc*W#t%=Nu>P$om=S0#cJ-`n1L;^yB>F{jihwXFpy{ zM-D!xc!Yk&HtqDsvnM`6cTVQ}e)Q%)p;t(Z2s!d=q}?ap+38=`-+5v+^9q`0B|pw} z*%R0%x0UO9bgWt1Hn#I5_*%-C7RfVZiaSY7sFZe265l2CCf~Ggi~lVfI&Ij;lRI&)W(7v~XfU)P&Al zeoKufvBQ-RU*#gM--jPxQA7}Wu61*=kwoe$_PUa_Zx^lMkU-=)5ki0UXH$Car z*+;&GPlbBZCjVFT^>cb8&P-}FP%C7S@Mnz}71v6i-_ehJ?Sc4-g&whvoC9?{pFMsL z&xr3-&K6I^wu9cQ;}L%1ZPWqq))14Ke7n;_Zg5~;B(+G`@A0K-(ma7d%(_}VW-)_v z?@FH>H|c_XQ9g5j3t!VQ#*R)DIQXT#<}K=*yKKw!HO-|@W6m-E4|Q)IA60ce{@**3 zkeP(AWo6M!0!RWVA_7TG%p^e#xFd=?0jeg!4R=LLLRCtLCo^`DOGL9yXQx z*#F2IY0BiIwcx3&zXsNF32{grUp?}Pz|xOBiGy>d#7l!0(e}~j(Ztm8+sPAv&r=ce zCj13_2fW3J@ls`->|;#%N~-4n9pih-?Xm9v#l7UI`r)o9Xo3TpaB{vX>5uG>j;1p; z!B2;p86*d|wxw4>RTAY#Y-i~-0$uO3hoA|}H)~&P7Y4T2(3Lho3q-~~gt5qe`k77D zUb3qP75eO;Z-4!j=#P|xZfLr!llhG62yNIjLdc|l?z z>vmqQ4ENC*aG{!dsrz6m_573XC6>fF)Mb^6{or3IPoPZrAV-AJM>}ideEMbBYs7om zJFBHV2fn=vX>a5}N7cFo&+NT8@Ota0i66JNyx-O;{$q?tr-d5A+C!jV2sqKNC27kIja_ zLCOUVLU*OUbaXb3yfHd2+Zd(zY_WO1eSK9QJT83vFfAg%?fX}f&DRSa_uqrdawPB8 zEh}uk+0UxJSpQfE3oUa2X)*lO4ZLb zuj%+Fdy*aeiva&3;ca`t+Y-xv9yt>2Mt(#`gi^)6hJQ}o=OU{}AKtJc16<5}4%sU7 zWEtnfcK#C(ceO6Z;Brs=R7Yf0oc5=ZS3)-vlU zB=jsnU9}Wt|;+4lJp}%4aEVi^_M=R&qd1BjV8&s9@nBqyfPW2?EDq99;kVmPa zK07eVy~UYBEYSJ|*~j?ydb_Hn*ax==zDxaLqoy(kvW^duKj<*)R&@H2w&vA(oEXU&mWX{@ym#xjaz07)*77fVsf@!M4fv+*j?o(Xk{Ty1B<0!-y>|)}iMC4Jf`jm)#{%!n|KLNZg6uP89 zCuRP?lX~a@bPJjKV{gO(yP`Bzi{#(RJz?dVkl4ZP)9s9_D+Y2K_~GDOE;PLCCusP1 zX!x3N8vfm5Z{$P6{m^isFG9l?3LOcj;oz!8!}rVlav$7#G97Venv6PQ+dz#1Oc@9i0@Vwg8Tle$B9=0kPe+}{FD8UByOze#^@Tu|Q zhp`UdKGp{Qe7*6_*uJ9#KffxTm;RUj9sf`KKotD^j?aT9Gx4Hho6LV#%(6DdE%0jK zoF5J^xjz-W@+w7Eg$@9i90FDw+D>#d)WHW9UE{ zp}*14*{jIQCGwf8y1jQP?}?njpwosu#1pUEtA$S%nr`Ikit|q9y=B)co@L}2lbB>( zvIz0bjPvI4eA|Evn45UMk+>Xj-mjW$)orXH^2i;lQ`zRBgs(VYW#2SFs zN5lJ-*b-X;;})(EesCK+Z#3_X#0Mx^&C6<59227ZySL2XeX%u^82RFVR|#JNys?uR zq`7rpeRozddEoT2vO!u6I^9I*`0R@OzkO-5x1=J2d$hv#xAwbYJU=iF_OLAH&^%8x zd?fOpJyVd~WI%^pdFTX(vtJgd+DztT-+on(ec67V68e%eURj1R?E&iXUxf_Lp-k|9 zae>Ei1m2Z8Qq;JXee_Y_H48mZWofYv!_|j7rimU%%GYr1;rg#1+N=L8e9Ky!=FbJL zv{Q?IWeqr?k3ku$A={X`4IXoL*_qnE$jSFOc1$levEOxr`z-9L2dMC*)Frk;65FJa z`UC6STcR0b3}ZyTwPy}vl$f>Hx@aZjJ!rq{V$YxGgZx`#mhlSSh+N%oFCZR)M;ZG%ov5vzx zI6NIU7&!b6{jN0e*uq_rfpJy`7ZY1*u?Y~|&H!hf;A{Y#CBK7?;}*`Q@ZRjvgmA6zrgml;EWiLz*lg1;VE#~F&5wOtp@(? zXT1LcFQl#DC?%AFe4vQ<;6dt2iBRUQ9zoqA-w~Mu>$-$?rtq6V9-*ygDATT-k_ z`)#`rn-C?j#c>g`L}YmctNEzI$Gj1AdU9(jh~b@Aox^QPN6)#tEgtfsHey0bdhr>tLDx34$as|#2c*l&-Ny>8(U zbVZy$CWFHx&va*$sL?ycUUb`F;DtOuV7-lX{5g0ibfP$ob1rncgxqt&D^>y8uD;e58=5H;}UBD@d{o0Fv-=a8lMC3sQ z76+G0L995>F3#`Fz%(_+2k9eKb>^Rl&!uVvkdic^m|0F|;|KHpQ+8daliwtQ=g+ zbu{%~3|;VWcI=Ie_|nIA!t2Mj=&=ZqF|R_#T*3RTiZ1oSh$rO>JFs>LW!!J$_jcHpuv4ck>~a2~Dsg8{TvtWl)|vF*?zN8UR^4mzP@#-5Z!ysj`h1|9eTp0I0=O7f=LWX&geH(~=U_+ZGSlDr;O zscyobO?;t+-qrjS`SU60#@9C~o$)HxQqK|S;&k*`lD}B;3(FX-eB&>h<80`C@;Jwb zjj0yBrs(R#msx?2(tT5rTU1g1%6`IQ4)Q{~;v4(ci+h^DgapogmtAUSY^raY|$F2A*?}t`d^!RpbF4^0<)8ij5IeFfaiMQIw*hD8* zOJDsl(5~d*rnl&?uI~%)GrA7x^SSg{_URhrDnb*QC|^duf5Ek}S0k&TY&v}u9fH4) z$fAaLk4(?^9HTsZPTXdHE8C(bir?@%@kZM>hPTVN=Tn!&@at@ovIl6hE6$k6hlY56 z!FxvizzI5A{ z$=lvFe)0KB^u9yijC0nWqqjvOSM0^PJBo8Rvfp{wHx$^ke9qTaE>e+YB_l7|2R%#C^NYuO zA7z|%?4cstwQ^fOMp@&2Igc7L()(`dST3|<2IWU$$j?+E&yu{=^uL|?n}98V_zqpu zS#P5ER^Ao;SRMW&#`qGwzhO+qwVb=-y|c}Bga*j{^|TXS|D#s@$2;D#VD|B>j^(09 z5n67fR6;C^SQlY&oR_{#Yk6k&sle}Yi?>=M*wYK;w$H5u;{?)|Ve2X>a zuqSqwK|iN8F-NJ5iCW`OMSGGqg?0s)b7#qfOySG?B4e(o%Pz8&<@lis#jJ_r^CkoP zLgwHi=HfzRydq;VG!( zz;CXXv#xbE;6JO7{Z%jLyla(LN^BNru#>aHNN2-}YhHG&ycXQ#?7v=Uo9w?eoM#9I zT%F9BNC8IWeDkGEZCL={RLS`yVPIla4Z5gC*3C=2SBDPP${8#0s!ijpO`LP9tPEXY zufJpWaU2_G^6rY>SN7id==~PU_dj%u7d_+gFR=6E+lENx+{R-a=SrE#HL$gV9>yVO zF?4V3(DmSqJmB}I+N~%zvY+Gg^1$`2wIVw!dLut{k$i8y3(m1;#tD6{ zE?N+&-ORuBt(#{>Ht}CHzMl?Gi>y0b4#* zbbg{3JeQn`A_Ff%M<=r3LzhqLln+CD)+_D-+9Kvq?CTosta;Y4@HQ^-uOP1u=fK^w zUFR5Q95;Ce?TVgPXExvbZ~FGaf7v%_=fCY+Hs1){IAOlPL0y)Kes}-Z_V`oNCDCg` zYXk?0!~a+OR*DCi_ourIPdVl-|Jn@o;b5+uNlkkQ<%wT;D(Rp212|~M*@Lfb3H=gZ z+hqcib4-{_aEG3e`}58FeE5I4zs$U!>JB|6_t%^EH@ia>a$joR--+&1?jJDkA907~ z$-OOa3+Lgv^|H2}JTXsFDrExGq9?C_?wm|puem`%j(u{u%>U2E*=l1wt${|jO!@ED z(_7x3iL;IN&h_*R-~4a-_TGQlH)-c*t*5ZQ74uEYsLgi-hN|Smv9W*I*~cQ-(<7lL z5*mXYtF`Rs&84NAu?w0b{0lOTgH7xS0*h7NJF?vH zY40ivV z6OYVIKR<{*{&n83;f!5Cj4%gsYw4eZ{yE7>Me@w`B41n37d-$r(DMFT-dA2R>Th75 zaFmbM$4vdZKbw`K`R5sHx^ccc^d#>du42BSb4QlBL!02KgHN5DON%&l&ko`oA~dcT z8b`jFMdYB`GZ7khOwM*;`K*%dz4pla^RTfgHe>(jF$8A*Vx^N*gZH!ciaGPKR^c-) zV*OsoI=+DQJc)H(fb9mkx`yW6(K4z*kCkw!w0QF>TXIX~IR+jG4y?hS-ok-2>TP`f z)HtxQ;>zHkzw6krsbXqS=3HXhbHkoX=9)|&V@sF!qkpk=rM1MB5TRoIlpg&tU3mqM{7P`)mvi-=-7v3YX-{h7I)?u{W zxpM~m=1|HPJ%SvU@+lVmpnP^)$F!;iVhf$zGKX?vZth$q@24o!7B3vJ@Kl&@d6QR9w7A^(W?n>iKo@-BTNgrq86#1Sj=5aP_xBTvN8T5mxacR^oKao?x8$6TEj4 zW1zO;n$5L$D-+K}E;t_h-3D7i=NWl5`x7$TseZ=L0<9JrSzOv}zJQ-RtGEN5QV;X9 z?RMyR0kIeD(N)vb_$tAV0B{mpRR?w>j)ysCqZ>Us5&Sxqx24vexVd<&dvo#cdTp+W zx)=K$$>EUTz3>QqwNDK?$X96P%y@_OWaZ3g9_I!}-RKdAESg->m0w$8eKv9q`DRR{ z=i3pi_Y>lx4Os*Y)brO|kG)DEu>h@n+j+zTlrx>cZw&A&3yb&JvhD)Ux0@z;R>Loz zDsP4n4{gYzFWI*aFn-CKaR59>2cA9U&XE09_QOJQZuwFb%|-5vp2i|^(e|@O1G$_{ zCZcOvi%(INdrM(ON~U~Y`MV1@d+gV2p1dq&bK$m>%~J2x^j*f{$DUc}@8s&!$l{0p?>E9Wihbb2S&O&mMe#mp#k3A7e^>3(e<5hD#2{$Mk z)=B@(JiQ?v^EQU`N{9+~sX!a>M>wzOQYY(S=P+>?gh+ROprV2|}j zs(t;k|Aysu+Gy*wN1he4{|4faBcd0I#!uo*)v-wQ@-2U{c?z-3ls#F;xvMi)Cf@Xz zCs`#IMEQ)&K(4aIiJm)Jo3Yu;8dwPai)`{s;?KHo#tx$VpV^Hw%5rLfseg{TMdrEq z&8W@6TZ5avK~9wkPXPa-`$vh~Y(8^cbgLC>&XoUCRs&oO8DO&a!6K3QC3t61?gS?c zS(Wkb{pP!d+%DOBJMaF!YOc;xN<6ivZ|+#W5gV4nvyi{GJs>veVeKb)XYjq~aXH&> zbPzjJ;!qhfPKh~~;Ju0Ghrdhl940nrdYC+q_mK$<@#gSc<~#(iX6)O8yqT0;%Q*eE z*;u9pvV8pApQq?{9h}_W$lt5Cd>b({o%&hy|jO$i<0$K zgnmbO4zXXd=0HLAAobLMLn4C~UxkEg6;CB~)K*OJNL^wJQdF@MK6zL6tcnk_S65~E z{NEuvB*yN{iXGV^%UfNM>BG-tso3ktxRprNBYx;x_%^vf(PTc~qaQBd0xb{bvcJ~D zCrf{X)=Qs6hAOsvcGg7%=YcP=J(N8_>XrH5WS<@kux>o-9?)~Vro(IcNA>cgK-=?? z7y5Itp?9(uF*lMILrE3;kzU%x*oFLAY*L<@>IwekT4=T8H%jn+aTs_%!?~aQWfEIg zbd~KbS9p?$(-!DM>`L+*?I3ogYstv7WDN_Au7O53zaG_@i_f5+#A7z;^WWJoDxuHs za&D4-l{a>Yf2@ZoUZHAl7~JMFwq-Hse*g z!}2)F92bvKCeG36atw6&6klNEU&GKsxn4~@S1SqJbA4DIC+I0I8HG&IsP1o(?= z`%2~$|DHwOFgQr;e}Thy#PF;-sQ z6Z+!-?tb>&CiW)5m0X@Z2(75iM`m<<(kGG^J^<_-(65o$`efw6qvB^b!ydivdSaYo z-!W|?IDRxUxakLQ1liICqn$zCGpNgo54@Lm#I8=}|MzVZhzXPwydQh@8TQ1M0_-r# z>;tO|x|`@do$u1oMO@8UG9`+*&CH|FIpOUdV7xDoOHb~f!@j0InmjI?`3BmRtOV88 zvL9O;g)t@L>)4xmK7*(J(w5Y+nl*o;Jz?j@mIpkC=bY~O;TXCL#?`V9`wZKV78mg` z4#Q_%Hzzw&Y$*J%Tzyi^Vu?k3jPJU~EuKJm_qfFgly#3=JW=8nlQX4AY&(F%6g_Tn z67h8tiCg>`af=g9h+Eul#w~t_;l|BRu_3*2*w`*?WlHecOYcOlV4D1$#E@QT8h9 z`MEql+IF+Y-zKz130=W^!jmb)Hu`DLE`4Z8wYlxN0Zoe#NrIB zyHclR3*nD5kT*9~T5So=rbRpR2=p zrlQBk4Qv)(8Q21Yx*lL8xz8GiE4vdI3Xj}~&5Y4a?dw&Sd)h0|#ezdFV%MgY zzegO~NS~|xPh7vxbuX^#x!#&BJaXex5k9fMtGNq((o+}siWXF4&s^|0?_J3C6I?&Z z^(3y#xn7W6JXP^LfG&3deU>w`z~a|kuvlurLSVU){^&A7WOy>(XRL9~?Azlwv4bOj z!5P|qU?K7MgbyW$`ku*uMz8(_I#0&k97jAod}9;94UwDGaz2neT_W3i5If^<;F-ho z#(u`x!phH8Yv$#WbA;o%@tv~0qxhOD$oE3nh}}t_zhOUahVK);4jtvv{IYDVk^NG5 z!STRfkJnQesqJGv^Ih56YWlKQ%7I57^Zx2u!%jis*m$^hVZ$JB5`UbR&1bTot>GG5 zy!8t8H(gIYZt;r?WosV6fmbGY6yRa%&Va|+qB~pqc-{Hh8fd{x+Nn0%l)9eL+Yy_l zLEgnuuju5kq1Z{i#@Qs<`=r^n_IyO7`vc=%m4EyNja_XA`ev^48EyrV}7UB`y}9v6G|sbt0Ao$ed6 z54_DU8;DInoVT1huLDm7C;yYqsM8LlA30eQ-J$zG7yq>c&QyusCtEv~S7O6a+Z$el z`4W6seyiJ)%$dqTo}1CMBeAbzS+9eYfhXjTm2-v2z*-9$}n67LLr*_w32~`D5Us zVCgS11I%Tnxkp!?q3Y)k$@eaJQUZ+GlY>PzVuF7A$^Nwu__6*pH%)^JO!mt-%5B*+jJyV7#2h+h{iPIzYNkVtU zXX!=e!>uag8>8Ha%EbOP&Kp4)Yjs2Sm^nhP#TGPcjo_cyPIUQdS-9pX;w(TLE>{71 zI^BL^cj|ifEWQ=JNgHQb{A{y2Zd0Cz{q$Yl`6bT-x4E&#s% z_LkrGZtLo}zqXdg?;|%Deq8KRO4(W3YR0MGv!3K%e)#L+Q)&2Crw>E6YI992j7Xp8 zL=K-z_RqEW898`=B>UIM$D#*Md93$Ub9$Ezm^?gYaK>rwXJgpo<}~%vN**qG2wC7m zVz)hxG068VeTnyM2j#XU4!6 zuz$=Au(wx2ulxU;I{u;jWF5#QiRY?lqxzLiy#=3)eZV>Yw*$3F$Z{nflF0iC`2Bce z$8zy!wtSa!>DN~FgF>EVL=HJe>X=L)Wo{gd*THxlj2GYChlGwohqYnU85!x`Yt<`r zW(RIxcdHv87xwF3=-i^vz2R3j-H9%)%hy?OHU3kiIVO(kxbgSoP8<+Ecq1|h_~i-0 z&&fHu_*rx&W=u(0163W^G4h_sIg8Q^9Mkdjib0xuW8stAsZ7{Rtd=}*Q|fc^OwO6s zH+tK|U$x%1{H5EcPp0pMjNu~mh8KDmla7nk$Qus>8|qc#7Cu68nLr?EAx z9mb#fULSp(%b0|2wom^9^WQ}mu{!@H9jhJI{FKfMK<*)Y^IoG!;)$g?`Z--i&YAW}pzTj!i>-S!3p3|Te z9Tf`nz_96a&=;YXLX)9`)ncEG8*RD&T`$cG&2pxz#{E~l zv^(VfT$^#_~>i82332Z83F4pWWNIzr&$LyJC&& zC*-=1N6+i|YlrUN6_eiAxPRH9jfIYk-8)>1Ik%suiaPs`?(gYO8)Nr6wEpe^#`VAD zI?mIN@_t7hTEFagPhYOTJI$%}btM?r1K68lYBk=U2dan7VkNY$a!iU`-{llsCIrntW zhdlE&Iki}KiYJzGpEFvERn*X#z$rF@f5zo&8m`4U)R6xC(r7KFH`o2tkRx6V@%?&V z-WghKGG+435c9oTsK=#-zM;+7VQNTkb9J=VC*8c>9?f{TK3ffaB>g&94e4;fZn9sd z8ggcv_kFl`)7B(@^v^LoMspO>#wF(cOzyAX{b}a?9o%25hI-#<-v65WBA)-!y!UWl z%>C`?ZiMz99IiR;RzorOna?-!{2?{e_fhlyAKaIzq3FlW`>(jKq8QPstcWKaKn#PK|4BhM!WQ z|EJPTTXp8L&m1A9emZMyU=Mk^Dv`+ue_m&ct`a}y!Z}AW{U%=>ARm~>^#l0YX3)PI z=1k0-OdhrKEZNrxa*)L(?To)VmveRO!6V46I7eU)np_osHE|T8CULfj*Y!o0e}}#Z zS)2nIyqs-BhAz6Tqxa@}26MhC=6th}_Vu&Az?Gj3m3ah>*Ohmnml=;2UrFSW$bEK;+-Do_=yIQBDzT4MZRc*?_hPr$7T;TA%2c59(^d&j z9*Iv!U)t+OyZvc@0Q*E7_Ja{xc)ZGO(1+PIPEFr)Sm&Ge*s2f3Qmc2hPbPId6N_#fiwbOnC{pgAj z(h=p}BQcOVwhhq#kI{z6I1bxS*M9MLH~W6nmWBz8H>U5y@6J*-cO>lf>7Jg1kZk8Cv^!wKZ-VNtU(z|2hXJLrUGn$ zX@BtfhR=`al|ziH>Eo+e%Zzm%apS1tI^tsZ?S=YUX1!nsIfmFy$~~VAs9YiS99d_a zTjl?+=*=G#e4OVF<i8PY_Knlw zQFj)Ez|~Ok@eX{Q&&2mRQVX<2g#1S$LJhL7m8-gpmw08N0I=+cbAizT@#>{y1we-3>)QA2jeHYp^opl6nw_DEhvbF|ME;Nj@y6G>KCGVTcG_e;X{;q|Eq^*E zmEb@v?+dNyF#UiIfg^$+*td$FVYg%TIL*&oIn;~vSS9;-o=QA>f7>K%kl?SeT{t>a z3H@-d62f17TE|uDmVFj zNsNX=$G|(r(+=)+>>u$T;+Di~K0ul|R?PVjdf^p|f1ul4>Fjn~$)W@fw2(%xen5`#qi359N;ubX;5dzkFi zJ;BzEt!Bh&j9=bWRZZx~GtUx78yet;&NapqvQ`R17po$({JvFW&w0qfX^!|n(Jcz` z8ge<;xzDgo+kS>^Lp(kyh0uf?=3n}sNc(TEvhUGp(b_oAQNf{Ch*!*fr>k*Q0mk5G zZ60DxP9uJu=*1}WrsBgd&+_b<6C?(LTocP9Yb0?8bIa^=?X0DYe#(FtY}1Jq9Ex$e zv*z%ubYS$z+&cT*+3Zy@{f%dwhqD|!Q+bx^>@!Zz>LdFN8rOteM`Xu&W1S;&Uov7$ z=H9K&EkjO{>z*`MrH(;7M@ThM&i03Z#ktUE*-xLhfgAfHw6xcMTrOjjXVah;LfeeJ zBi?%~P7zt(M!65Z#JL$CJE6}tXO zE0xf6a*&D*ysZ19pCdc`d&dUx+02o8CTz`F{fn(RYtH9C+U{#%t+&`CLaRqoc9xW> zzSZaOZ?pNDO&Z(?4Gw&4*Y}nC>7TSC^}C7vy^s1`iM9qwpWW?tI!22m*vQA?;QoE2v}-52rn{rzA1fb-eda^r2n;q>_s?$@>S&k8EN;dE0L6F|V-4th0xL zZ&LQUJ>)<>=HGuBx&UG-F=yWlJx$*WqU#>tJ5s4@jhR!NDKUgcr|w*_n0$sneo_O+hyz( zhlgTwzY@Pk{1E2fq0V)WC;s&}>fHJV$@hmWF(7?3+kB384lj3xIzHz2HNOsibDa3} zCAH-9J`$dg#J>UG^f)M2Nxzm)4h1S$Pb>NF=;x6-hSWWdqPnhCWI!3*H@;aAibnr3 z<9Ev3V#ZjNwqwP7?2GEabE|EM_afu{k-V$CcQBRpRkB{4Xg!y>p8Gba)AV|P+d}G) zbHgy;RwR6(IR>kq{@4u8IIPYsA}7<~XOvLMJL&{kYjQnfA+e&DtJt^^i^zgEb0+Xx zJrlafTrFH{gWoC)wLyc#j;-iP_6F8i%4FrB54~H;rO+H~+fuGp4l2ZJNV!fqxSAM7 z#b>xZrTg5$oue1;ty# zFWg(Z>$TR}#UHjdq#tN?sf9<~>cvO%;_=IhhUaZkr}^J52sLdg2nieo4u_w?7HNw* z%_%yq05A=x(-x&|UoiuiD%hu6W3piJR4jVMvGlhe{k#CZ7X8)xneWaT_08hFJHMfy zukC7$8F_#{#k5pD{q)}2OI~YjSklm%zW7_cPwA`^w_5l}Il4`;%@h0k`h6$&E$#Oz z@emWdoqhYRt8aD0vFYBotLdBGmp9zOs#h29jd|_W)}2dswXWMG@QGb{o!=5W9GI~uSoOr5wRrEG+kLI04p7e}&3Zkx2Nv&5 zzvH#m%F8}#O@GF(*Hg?m3(tDJwK9EIYvox7^m@wCXCjLX9ea>Hu8K3|0d-?{_}jL3 z!M@?!uJI}C<=w}ZXN_;~$v7e7t93lHw|KFywf0W>^^GyU;E6#jQ`dPPoLtwe^<87F{A*VoF4koCIzFZj*2lrTJ!K5j>IUI6{B!g(rKUWAt{FPunAwMG#V4`Pq>j`c>bQ0wzKkY~kUU2IN2M-z zR~=1#^*Y+%e}8Az)3o>Gz6?vk4%n<`UiUgu%{p$w|IMlc{IkX?<59|-S`%Y>YnW0U z;6A;4a#rnw>cnwROwM}F>i;Jvek1R%8K6`jrrmc3CYUd3cBcr=tSrD&X|1 zZg9$r(cyILLF}pKyF<59m-Hcn^4x=#$Rhs3JPCXJYUU1CQr`Z+^oE~^6WO+ zzBfNc>lnqEZ4AG0{2ny;Dy62kwz|N!=j;BuuX$EOFJ;0}_P!6;TLMF`@C4XD{VScJ z=AoB(n(fh{0BbhDKI(6AhK{kP9=(fa(3NKPRsS4!$p48m)Xsi8A6hSTr)COtpZPe7 z-GJbd?AD~^K0h!Ex%TN?fj1N`>{Od5Nk+qyPdhIU*PuD^jQG!yCA22LB6l%bgl=Y&jeGqWa(h*teNMkVGoK@Km-mh5G5T};`sEnSM){h( zy!#RT*7z)D(W%ukPy25YzO%pZ$g;vNicl^Z(a@^J5~ z&v8Ft^SNH+`qy%;`1Et#d7R;L9U<3ql%*nb#G z^*KWyuFo0vSba`Gf2VI~Isa<3&vgssC6wPG( z`>9+jPb8Sn9AVF#=Ce58p>fcmiOx{?noeWA{y=*#RX9&Pr@&**m$f}yohE0MRcdr| z8GHeAr*&W3J+14zesk(|{RA;p&}Dn^{fQTTE1Z4`t!N%$(okrp(9Hn!G61~{d_C18 zYgFjyORRhPcW|}K*mtB)7LCdP&pOXrGLG)&Et6;HJ`NAxjd4m273j0jbNUka7}^e9 z56q?yVRSvP?h;QxXgmG4=zANqUFv8S+73+@`Yt-3TqRnkb#j)==mr;y*13U6fOE;; zWL&bo=5bD8UN)}jt%a{M2Ya`lbyk~~?` z7<-4%voATvuR+g}@5(|Ka+zpmm1?K|r zd9t4e;8g0P+y3jKUsyRjP_!+C^zfThrq*B#Ij#vt=8bM}VZGoRRNEmfBG*Xq&P z7H$FV(2kzqZq2j!R~=;@I=>w~K%2?8S$u1KXUG-1z4y=ntsEWOn6UQ-Q`c$)mZ?RN z+E#>^`Hf>V1>8dK+|{?*0orQnPc^?2o88W~e=yn}WIogBKx1EReymb0ebnz=eYIiS zOP}=nqCQ$vZ(?Ra6MoCTjCTliT78$C!r}PVJmLyZGqkQp8h0DG-i^jdeF1R4c@DfR zbPn4coz__Jle6AYaN8sL8Tz2OW3;!Wzm$C{akt=$E3IdY4M{1OALnQi-fapK$k<@p(=0_(I=s+GVcBMsQi0L&>+lT(* zPgf(!TmcU9jskzzF8?ZgWD*e zjD8dqC|VQs+a}`|EZ+i`qrfFx1|xgB$Or{zyYoGx;N9jRXa1$gOaFSZtVDEUMRs@y z(Fr}w8G<%db&}6jQjUGY1wPjudc{b&2~=N)NemUha84Od$~VMyETv0 zbH-vG*79wIEmTtq?%oM5-^2f+!9M>o%I~#>R$ouq&EWJb{+}M`TXQS_3kLaWuBp!v zy;RMU$v!33t~Jr7v?uk~G;_B5V_8nklQ;NkdL{a5p1h9#c;D&;*ZWr668OKC|2WnU zy4@Riuh%ucwb57m)+~tdtv;(PXHBnZK7U1i$Un+PANU{4|0w=1Px7?imhABl<~l|V zt$x~0Jy&5P8S87htt{uzoCIuwlD#j|heNEP=}KtRVbP_4w-eD@%+OGWW3LReyAXM|16+`E)nU$6+qrJO zNYN%kvjX2Ky1rYtx475!u;}>(cl*CBa_^h7#NNU+1zDSEKhZE5{@S#kn8mf=>0aJd zCaW97zP3ChF+>&bxXv-fdGDleV*A-Ora15aFs2FgLwuu*7|C(oQW?{Jb4*{mLzi*i zcEb=)TMN9_2YI3GFDe_F-_Ap~6zwevipon6n@jvA-t!}yJ8+c}5}n#NuTS#Sn!Z%cuUz1P4(;*GMR$WP zDZJe&YVS^es&8J8@HD>?>8TC#t8yYMcV=X)OfSDNh;6`zz+FlxOT97ZBnQyoTbwJ8 zA#0R4cUjw1EtkAiZfteOCAmZQeg_P{xY5ITe8a>z^vF7H#CeAR52fAEyNOOk>?BU3 ztg)g$G7`ZHiE)xl{Qfv^U4!JHPWB%E#9nRK-E_SpK9Ldd9h-QkX<~k8-+B4^xqQ@R z9m_?}u@C)5W5poqjPu^tY}sLS#c3=@2Ay7!7Zluc(Z7GuhQMFp4D6~X&-UL?5K6DG z1$if{@=ECIUGC6e^@iZvj4Q7E`rvtt%NWyO@7H`=6sK+w-y3O9{LlTAWyiQfe^-NV z-3@OfHVr!|lQt{K)B6>?>v$b^BsZ7w%@^i3FC7SO8i!5L5A@AwV~F=7p4IeIbz4|j z3tjPh<=Y|NT|7^XA>R&kqWRK}<)Z7Jwm-P3?HOWdcJ?*i`ws8b^-<0ExAJYg_YaiG z8nEKuZh+Pzy znEm63*l%=>C(*ltdgQE91U_QRN&azJM@F6s!GRZe-p(F)ls&MWy|32RHFqj!U6EDm zbc43;=iU1lV{s30ZVS7`xou?q)T5`BSQxu50WXeBIx)_z*d8zj<;6N(mZk5d$DsY} zi~gz;V|~tKj}lo~8@PsT=F&IOPm8_1=$EgcPrB_7v2Vq{Mdtrv8FTpiz@yL}*BPs$ zjQZr8`DR=PnG>t8tLdvQb4Es3IA>huz1YTI^@Y%>!q6dfmgDf7eplCR$9W5Ar}6WS z4UO=zhK@MSJBc#u`FZmEZyg(i##zs^DSPnf{7*VYFiul`JinKEa2xUwv84>prI$#q zvq{I1?dt6%dPneWO`Eboc&7m0itUkZZw1T_zz6&7y}j+!>twy|psxA0=$6uR7NO%) z5AH)&BY9XeI`K^Ge&W2z)S1NlQm63a;r%*SaAoaOPa=MgQh!hN&c-e-Mv31kbkrJh{$XA1M5P?C{ZsG_T*&O);;iNz^rD8Yx&M*N=z zreXE9fnQGEy*JIUA^aUNO#-}|hTcGMS@Z@T)Ica;`pM)Xz& zxPjMvC1Oqyu&R*$tvA1sXXZDH@DVAYT>nPuGQX+Aj|2afcSFyP+F3OCt;A7nbpT)rEg@@+^GhGs|$JX*KaB&hd zD@BcM={t4_d7#vT0pK98b8f?ylJU8i6M+k7_o{>R;Y-StvGn~%V@?PjFmbX+nWoX^ z*k7Fpm+h1*z{PIDCD&%x;gZJ~owepSeNKdn=N0oC6E5{!1l-UnIX?zLdL_P{TO}9r-i(*Km#!+VIGOL6J2aL(aiM-5@qZ z_;N7rc<*m%_svHp29vNwn*f}Ieh9tL_d@ihdfT3|oK)5AQ`I<~ezc9q3yqU~7eCR@ zkp(r(RW?5OKY5MC?j|Pcdy4VSBxhwq!qiihuFjls4si z3x3Neud4&*VX#Yi)P&umzz%uMVElRncK#8C9{&vZ;-?rZaP*J5$P-u_O`FJahB`fs zBUD{}CS&$P?^2-0vzfm}Xx(kJW7$=%mN~sEPp7;7yYSbbU%EZ+ba&_`^S!_fnSXMc zK&Qch4UHGOL)Y+(T&xB!a=AM+Rqn^-hbmuT|AjBTjQgzP9Z7|6vBxY%m#gE}0C%WW?!)48e=GNA zn9oOo6Wj~#`T76!EMp9hFb3fh;>REtqW((oS#sOu-Jnc+9(>i$cl1&ClJEGg?0RMV za`1eSj^}pILLJY+%f94(G4Wi!`B-l&-uof{GWP;6Yra3HtcDo8r=05(aJ--!juVSj zaJ;X9f0Gk^eSDnJDMrIjW;d$r%AVc)`sSY&Bs4|-8^ZiiKF1&B&y>}6;>{r4AElNu!D%@Y<=`^vF#PgSqt--g{x-WvF@Qama$o}{BQmVVl%WE%;nlO>M^xOOHj0Vr*hexkmw&2F#eEgM*um0hYYKwuof?-cBCi{2@c{#8=7ZA~$)*P~^PGZ#%?Cf_CM6EBxLw z>y2E%?1Nc4-G)a)eK+X0zZBL+wN}$7lyt~DGYts6zhGJoWGI}c+`hG zcPt`S$Yp9w)s*^OJ2J|*FWdQtojWG;Y_uA?Bg402$By!kmQ5iy@M7Mn;{B1le+R$G z_1kwWD&Mti9q&uo?NUY_VJ~@w|J(QUZ>cZCw|!X#^<|Xr+Hn?rTxh#7xa;`CpHz)} z%p>df_Eg1KzsPvR*We@8+N_d0^>us~>-al~p}`vdo;BQWK;7rNW3Q;{XNz96G`8PP z1w5V)U+;NcnbvPu?8<)N|5ALLzGqGMwe@YD8MdY`XHAb;Z>(v;W>xjnP80H^L$aRn zD^;$rYv?@J=NH+uJl194S$nngJ>ALP?o$vM!k^RM6eX@D?KR}W^xrYeu`*$}JG612 zvSFZF5Il-(*c}!tTw+X%E@=s4_A<`1N=9c2oG-(7FPdCPi;hRHlsu`W#Jp-*mKQ4J z%-Fn44K=THhsJr%^Nd@a?a_H8;%BVz@4-|q_@^aOfb4B5vDKW0C=!8psy9wT(B z*o==ZIUo)%SJ=OVZb|&!IB!1hH?D-1ugVJ@!X{p1IO3-;wy9&e6ZrLko(G@F3$<6} zg_7*bq6Y9`d+CFnewp!R{FH#bzvr;MkGInF&GhTOnaPW!&yM3xJ;s+4nc;jhj*5cJ zunCw+A5ND(69c-E{>7{D&EH~+8L(gJk@zW%#BFhf#hY{x6C*=ppPbW^)Z|6o`%=#t zMd-coDl+$Nhv2(t=lhTB)xV|O&zwoQ1Kazg?h1D(9he7Z@btm zpx5~pS&;bA27qTXaFu=1#hxfJ+hQdq5qpF5{Z-b|V)ny1v6sjiUo@)ZK<1p5j)^Wa zzHbcg&f%RoymLE#oTEx^&%BE9^+rD{-_IfcqU?#`buR{Pm*V$_@q3cUHbs7|s8O0) z9)(Y3AMcm{W3Lw2%ia^0DpYo02=QhM^yO{jmz*A_uz9&J;U*KNod>eFLVwMKyYsdv!kV zY)9wb-DV@dTm6>3#&y)K@5|upIO0RU4Gg>2?V|2v>J~X|e!DSu<;X^?vHje+t7ENM z-*mTsc?Ud$wy#(Io*}e-X}$}+BQnlg=wF}*c=hQvo^ZQ~VJ5s}J=|u(%tie8aGY3( zO<$X78?ubNVSaGJ0Zw$T#;7zJ}flqm&Jjdm{(5Ea!cesS> zEY9N^x?EIpzR~^|-<6|FRFSu#PjtoN=Y#Iij^5FR-qGbm9*5r1hR#t% z=UDcX$mO_xS+054!?jPYdGAH8e{J+316#^Y`?!})`?yPaex>>RE91F>j#9^U>{;Y} zWwQ0Xaj!ocF19W_yMXWWtmm=@D9bVL^)+GI<9%hmpT+y*%X2;xJIfaISZQ57KvD>} zB0quM&l$hi{fPaTHLr4}5xd1_7_)_I;T#|M?$*H+-1Te;JpI&$88fPjI<{dB=Y00c%~dpLJgsHGHGJP7Hd9uZpff zVp9&g5WORF)XrQv;ko_D5X3K6=2?7m{rhjrsuVw9?vFk!I>vbKllb9cXOD#UxG^>=KsC0FzoUQXT7N>zQ_Ov>6Gs2RK3nLqzL#13_=!GjJw+e>7TyQ;h96lA zvbS~i!NjAJ=BWpobizEDFcDgR0zDdsUqH9M=)PX2kMBnMBRJT>KG>Zm$y^19hq8+K zQdl=C@}3Wt81Z@KT>Bo^LR-7@))n2`3-iNyk@lu=9?|PV@A4*fSo?&+IT&C6y#t=6 zUXvDD>*_zj@+Wm}R@sj$wGwtZx@fFbNW;b5dq8SKJPngS-VA+kH3k-Lgeg1?# z3$4k6-p*N!+)&QxkE+HwU9oBP#8<8~Y0VB|!Q&6GG+!AEzZd7-#{1Bm-T5_Rbv|6= z>3_7!++%g00im&5ta_6pjC$*A+Dv4-_fW51UyWhI_d4&%IQ{EPS<~ypz+oK-580^y z$9XsLe^SorOym6`^3b;My!b-%eu_KvHTOjeY+9_Dk9&#aUe52Oy)XZ^D9uhB{GzQ< z+O_h(z(K4YBmeR{@LwmjGfeb8hHkkCnfGq$z7M_SeWFh^bvtF~baqf)Y3eJ>&{w`M z_olwGj6A|y<^Bw#k7Xm>p+9mjV|<7I`^c$l>FpaOb|~dytJ$Q zS+l%Y%J1wdUu>4oqWs=_kP+y*w>a;Udb#9kH|GBO?GiV&E01^g_^b|M8cAF>7iT8H zSBbYFa^<2lRa*ug6%)(ck3Pf!j*H#PeV6;uKB8{!qr7K#uJ3#pdXf;jh(YKV#J0JN`PoL_ z!*w?TN6wht;L@|MXb5nrthhmkOBs5i_0)9;yWq+`zzUsFiaM~xg?=SP9n>PWE|tKp z_J@uQ4)&%d;8n)`TE3|Smi}XuN0d$dLf}Y0(dq1Mjv^M-aL3BY=-vgEf|p&e>^X*6 z2R7kP>o7g_bBR5u!w$cl|CFnOb>q?DN)96AwjqfZ+#SaRwgV-H7J15vjTRDI3y0~| z#Kro#FxB;M*JYdl*Xwl{0aJ;!h`q-$;I)kPyaJpIqN`WJbc^W9o|X1ZJ=Y>^cK3+A z)FI|H{Jrb#_C50Mec*bhK236(lw_@RhUEf2kG3UWv3~?{{8I;_mo(-A>)2_czY)AX zhj-o!pEvu7^M>q~b>4G+U&$Fz25w{kSE(z7xs&<%sdXP8w(ilV^@#8Kx`&4lJP%*@ z?xE_QGuUg#_qhIh|HS&gKG-1Zz2f>{`v>G8m+?|Rz6$@D!w>yPPROmQPQ%?o!)*r5s#$PTa68{X(}N8{ zzoFxQ;$C!^#n7e(eczEdpk1-K|DgA?>t5#Mhr51HtWK3!oi<{1+KJT};W<8!c%20* z@h#~q`%pNYFSqDCZ7iJAvHV_mk^4T&^VD)*Y__Q&qpPLdx?d$@`={HpiQL>0t5@uP ziN{V1%cK?s8~hgsC0C6HzjE#5^o7RA-gOE1M+}^Et#a|>k@6fV=YJ7(j&I5H{DSw7 zasR+mZauf`;eX2hp6Fe`^XrMlE4I|>G3;N^DEaPD%7sqJ^#rr7bo2jysnhJoMtm#$ zCM>OS+`)6vl{he$ox0t86xIqqp=gnO;8U0AM)NkKFaD^{C=JpATvq0 z<^}}KBvF|VZ^$Ky1~W-i0w^jMvD%sdJvAX}i{ce6385w2Dx*|dv?WMS%`=#m3K6J1 zB|uy8(jLI7?P-5MCt&L&K?MS2M!$xP8VS@Ue%lmuZ_m6y@%yZd$?X}lld#$zC zWy;u%8{}ONKE3!VAMfY%eAYrPrZ)J!HdNqDhCaja5Ue;(|>y1azGx>hT>a@Jl-yv=I4S9PbG&i!Ib@%f`K;8fsQE zzC`+Uy6_q2cMUj;SE+MdOWkVzmzpnA&)xXW)V9U%Os!Q8`akM_>uO>&Yya3X>2iE% zmJakZ%^&ZYK7Ul^^ly6X56sW+H+}xjh12iD=cI)DCEPFd*d8d!w@)wO{w>^JGik`U z`)aAtp^m<|3>=z_*H)DaUWfoc37<{`)HXXb$J?GJj4*3Ca2%qqY>3 z_gBZhEc_FjtK1i#0-@tg;6n0l%Y42Gj8oT)^UAk=-p$2#cp9~ga)4RB$?ON-`9|tQ z2yUq3(W_QT8~0^>yJ=6&DbbXH_#K;P=u(SjV9T;YS4d92$_09^3pexi1L7q=PzSav zz&RDz;!}W){0-t?*G_w7d?$8t{cK)f%JdX$!A`#lxiLZRb2cV&qQuu#+LXtmYm8jZ z`-u)^Vi7(wM~Q3L$on47s{Pr-d1C)4mHZCbo&q;M`?{~d07cI;NLvNbZ3RYq3MvOE z1^5u1_soLb8n3JgD{oIC$8!<$vvHTYa4u_g8skY|ZkIq0IqOz#*o$9$LS=P+2{}J)a{pcCF{pzBn$KLBtk+7Ok@HiY74a;S_bVCWA^P)gmYTN?-_`ic2j96# z6CW9=N9rO^?5QI5M&8@Kc|3JLQ-Y^PD$T_4%n0$#M6MHU4G;d1y6R`3EwKq?^7}0M zii39LJ&6OmR=?-)H5{=WylBJc>m^31NJ*{UA$7{2VaX>t7k>H#-&8Pe`Mn8xdqi+y zPwA*3cazjIb*8lBXI`WXn{qBZu|CdI;574{mV$3L`A%0RcnYR+Z^{UAmXhbR6rLk6 ztQ_nqcp-_}V>~P7nM$5hx7l`s)IE!6TT_C0XTgQ!I^6>-xx5$IR~_pwR$rTWH&#E= zPAy{`K|2D=3)I}q(etZ1eIh?a{+4(Byc>zPZP1|p-C)IQ;WBfqV@wnGU*MknFW-qD zp5RJ&P#fbJ1Fp)zRlF+War(q3j(M1o2Mo0d_!zP8zCar*z~dP3l2L14xS774LzQ8x zz+*M{BwuXC9wT3Dy@^A~73<)>8ys5j#}6Gjj2ooW#o*N{OT*{XRdw4NLdG6 zT>ryXKXM6uzFIds_}rl2j$gmONV@}GDsl2g9_dtH{qH4zb7Wj@s;_0aeVxE9ad?Km zZmMq?@4Z@{uQ|%a${7rRx_vwC z_9Kiz)|1po`&5&9;dkuB4|!n&v@W%e3Ncxd=39z`u8t)G-cXL znp*3eP5!#q3tJgmYh7HEf1lkum$t-j>`~gzr~x;jrgQ1p4G?u&~F!YJUWrRg+`^02l7F|d)$97%jHG3TsW7t^@jdDRX;ly`9VKtuW@;; z`WteUntzcsJns1&_^V6XS#yUnp)FTxco^-w84L7QV71}kTaouA{-TzAc)5)6ZL_}` z?z8WQRw1iY&%M;!5sufw;RLO1OCm9AYKQGc@``S@={20vTb3QV4tb*!*;e8kWbHQ4 zPGpYU+-%8_o8I0cGDH-f399SPk*neBX+78H&V$S+xpvvtb7&(+P1keey10jF4ORiM0)v$H?CMcLu-2ZL3m+xEzio){pJ#fC^S=p9xUU}q8}ZG^jhEa9SO^em-WE1pJx^j1Vigy-TbH)$X3X~ znATBqsqoP|gMkbsB)Q||J2m(G?>hMI*PV}2>pZQ)bCLPYXeD$uT?zd=-$nC!jVY*&f|iCT)6XQ*VQ@*2BlZ&Cq)In9RqN zJMHVFe~FP5|1$;q&v(J2$hBg>maFhh(Mx45NZVEXZp-b>M_*VO!AEtvH2CN?;+v(e zh@Ua-C+1)BbvFR7>_L8Dd;)mIP9QSp6uV(R6+NqhcOEjw5)E_qT?Wj`7z1X{7^PWo zTH``qJwn`82X@_u;T4Mok{kOF#Qy zs+J`6cnDlbQPQYg^l-P2{BV5aTUaYcw~&{^v|Tsq{_$xmo!F(tKmHEt+V8jB6O=v$ z{yog^9&AHW7xpmsW-}Jnz=ZwS_uDdzcQ!G`J=lv5*Oh9w@LZwJkpnyWaCLb5(JdZr z6R{F~)j6{I--uq{!TPIK>o;6(U$G(D-@e|in>@Yiz~X8~+I{%N`I& zvg}2pd`ZA`>PU%Z?FAB_Rw;52^Onf7$TfWAPt^2-M#`!?@*4*l^-0^dOw;QqRbf}l zQPWn=tj^WzD2+p}oWi~lcqu`zAzn!h@iOp7-6Z1Li<(+9S|+LLPYNUZ7T6;DoBvi= z*B2CgjFkhId26A`(7zhACNvsJZ?2ESv%bmrS|sOFA->?qEuUELevCZ|+WZ%ui`-Hx zwT>D%yF{K5f7Q3m_fmN75}p(j$ zvYukCpSM@UUOz{+8|}+_7C0wfppDo1XyXuVNL@qGQ~ff>{HfSQ0zZ|tm*gwrnI}el zsRX^gRCWFuo;$&roogh%r|p3TxEG1no49AK_tXAxb3D)A0B<5M%Jm(tot;y)mhV$b zY`LvTYDic-CYq;+JT1?r@LlvX!RL}b#`_%O)nQy7 z$MtLSlV|50bP;Tw&2mp!t~4b*q#%#pfm}Kp`E(X?>P+O-8Q2qVho9VbKXR;IJIf{Z zIpit#{K)>OtYfQ>hm&d)3#W zDXDKM-!)qGao{J?)~m!9?!cxSVEp=86rL@6R=GuX7o1j(~z)R_;Ajx*|wh2hnu)U=V9RqBmx z<{hawCVRN>?O(E&gzE-yZkNnFq%a?;%u5>cGn{!EfvtRit~XFT*q7<*k!ND&6-9Q8 zj7Rw@IzwxH#99R|OJ|_I#=2jycZ$x?dR+`Tv#>`t&~*cJhIg1p+5aq^;azlw<_MiZ z)1Rkw>kQ~w$E5CGw9c?QJV9&NY&)njC%3Z({rjluWmd>z+IjE-gUj;cwL_coJ9iYo>1iyxsW|Kde@sBB0y!rF7Yt&JH_a#M}KtEQU zjU4_@gx3Aok(K~g+hk~$bAT#nO;OqZg@^EtB?}&A4;MK!Qs3ATRg)u9ultO)EqOay z-&jh$2}|DAB5HEP(l?GtJLniK$XhvAnfeCug~+ER$bFW+;iHztRBC(lrEmOi+7W$Y zF5gDWhDwBdxgA?tvpqH65B@eWZ*!?P^BHytiDxUv_9lCX>|+nnp2$XWuZ4JqMrFO+gNguS$gT)Fkw2etsC)G$$a7Hwa&?87MnCwhvCUZC0U$Y0TqdWh`FVoNS( z%uD%JZRuxWj)lPg&#V&lmZ7{IxIATR^N zw87Y%We%|S2@E#I5(|bFa1#xK*iDQ2u$!`%pJzACOf>AKe$IRn#5NjXH!bFU-KNU3 zXuIiL?ww(d@G(l3xf8qTH<-IK<;L7CVV+dI%E2A?ufmJ;|8&3g*2bi8E$wNsZ8oQd?W7)-Ekn5{Or-tt))> z)`{A$p(g_#{JD6?K9^d|z!kVo&JB+}qn~%78*cuPx;;n2oL`vdRY#~p&)N*cp~D>s zH(vyAmj4xfy$@)T{d&{A>Os?{gFo09@AA!t4e3tvnaD-#0s6BVo~_`1w@nF}5S!9d z+!NdSqg(^L|1ej#*pGPr2>*+{%)i{;pRg$;0kAv4JNoh37{){xT;nSrxN*=tkT`;!@$ zz$oy{0v`D-_xDH11n(mg{DuABVYg(0G+iceFpq|ekmhqihq4b`tY697r(Y#kU9!)^ zoN?x>$z0dSIC#%ZU%&2_2U2}Q%(Wi+P>rv;*gG+a>!b}?y24G z6**)L{Ob$rYa*wJ4O7PSRb>(8pxb_7*~7Z&8~G@b{(t-Z2>Q0$x@D1fiSy*lO=C~g z<&jQw|JHfu?@6xtJ$>nNK}!aDmgvpcl94Ogw6~0r)~8LAItIFo z;VNOzony!tuGZMs^my%N{K9MaMLeFR15*d=X&1 ziwsn*rs?v9-d7rDie`;8i%+vh8}(42Wv%Y^{5H!L%)8R=VPZXd%T&gAE9fs)n_Hwk zWCPdL^iO+l<{7eri#Tm*Zyq+!SnY|d5Z&HU*1h1bc0BmoXWI4m8Fu{^?sZ_>vcCCE zT@rFya(*ChFj^0Denm)FmE%2DtqG%7salDB1Dxr{YM?MGP~ zd79`pvNpa+Y*T}M#7=*iGC|sEeCg5d_0i7y@bDcnTes|P$^TA830eJ0pYhDS^e=tO z+VQdW%AZm-Z0^Br{J)aC8&f$0@YN*;8(*5J_rEFIelTaaLM`JtL7@dd;}IGWKI9wy z7&*8cS{pKntYdT?Z$Er(1aA2*J>ok#gM4-KBJvF@p~fQ*Yk?#sRAJj&*kFIA@N&l6 zXvf~lvu*a-!A|zSSM7HMpJTt+SvM;fBHxTF!q;x3>1$VpJ#3^pawWdA2gN4~dA~XG zz2SEIL3x*)Put5P{7M~juj}P&R{?(IT;G8oVP#hO^Hny(*G_ms4K$(wgZRiv>>Tlv zhw7mVXkchPbRqh2cm{h8yj=LlnX5dZ_kjB}v|NC$-(Wvf=r66Abb7QWBr>fAe`$;2 z)3d%8n@?90i!AL1__m(5F6Dc%2XxC@HM!ng_AjX)kPQ5fvnTt>d9vH7tP5ce8p``p zUp&D6DRgt^aO4QaC~&rM-<_G%?N=z{Y)dnI0Y@=T8M}-{+G}Nu*VB&$iy=3p`-bWG z;62`nmS2AjPCl@W>`>gwtO~c%d|J0rBfk~ZO!CJ~*JN!-?%X4}p3uMp*j%gG=Ti-v z>mYC(s=iqph0V2|8t8|4CtVr2GN*cRx7{^W?5@z@C)i#0n|Vnp2TRTPk==Po#$h+C zBu`K|{AUm2n@j!}KVu3JdnIjpu&M5cc2d>UcEQOfVpqlAr!Tvz)&2+Aay~|$YQnDi z3)}g2)uUIHXn_Gr-p6*swpwA2Ulj}f%+JEJBscJr-+D@W0w2M)%_Uk@)+E*jve~@r zHGfgdqzc={LYaRZ=fEzpa~ti-@k`P@p9#zj_(J>|yZmY92)kLg|F!tW2DumM6N|6i z!Mm_WiBD|gyRuH?eQKd?uk5u>#`Rh!&(XK66Lt;UM8A}`Ei2v8?G+R@lCUofh)g*0r?ZrVEucB@&bU?T6 zB}vaa&{J~wM)yHx{%Y)ww;l!tCu_*E30Qmg{Jr@9nCnAyj(Iqwm9ReMH$>2Fd$@TP z@SldxJH_r1fv;$ug74$Oo&OB$JSFnI_iTOel&|&XDbq|`>9#Rs!vKG}U6nlIVmFhy zyAfDiF>I>?v8}qR@6T`KxyZ%%m!=tZz)?PZTn%~Nn>HHb8qPbN@ROsa+}g%f^hI6& zxQ_LfEBaCy`jWlrV&Mmt%`}P!ou?~BJApQ?8?#x%L2^pN zpJ$+l9BSvCNFRI;_700bZ#Tb@{XppBhxF40O-p|Mh6tJ-!J1B`J>dav=viVggsy}5 z*-8vXqb#9ln$hi2a*Cs}LEvQcmPsbQnu1`edIqUci(Sns)dY{2Vz zPiSVF`OcxUhR!vg-}T5zJvx`ewEa4@05S$T*8$PF>UgKy_RD-;%|7{+zT2lBJj{1l zeD{UAntj;8Fnm13x)Glf(brsq4f*%0*pA&%a{eCpJh^F3mCJ(gyB{Oe%dKPaaS#J?+*WJ#8EJA6n}2Zs)o#%kVo9J#B@qPZ>EI zLXle}#{%6KrMGQ3vYlqy5xt}J@cHvwbEIc}LvInsJAVLj zC-lLY29DS3I_H!3?A~JRbl6?UColG4(chku+S#_@9m>Dr*Y*}R5qv8ArXPo{yHyu= z>uzpjDS=V1#cYl<5alB^1w4oQ8M@mhkr(IRR8aL3qn4%c7+nYZJ$ZV#|K=Z+iDBTB zd*nFQ^{~S~xiCH=`#U22fR8_v1si`E6- zR{zqs(7hj@a)Ci;J^>qN_?H*650*4_Y>xBJ#dceP?KT`HH$xJ62h&uY9#76^e`JsB zDrFt~5c*&qWF9X>>yfx@0GH9{Ao5&jJ&X1%8$~Qyk8I~B(hl?4uo}McTZ7g;zc%Og znJ+)LtIWCGwDbJAZQ-6ZuU*fpp)*Gk4O-uq=*3vQt}TMr#h1dO^}mYULml2xb0uv~ zCMKP{hkL;PDfa1x9~7gzn)Zq>p!xkVXr6jEy1hcD`6D+MR9(`W=EW}1&i(f9Li4~Y zG_T-GCVd{h@S^ugtrOZpS)KIbztWgpC9o}tHpQd4Ram5VXlLgVgpywhR(Nm zCk@>x$>fPsX{&v+va11Jdm&nhgyDK%uxKUcdc#M}YJchI3)4zuJ6B6Pr#Qd47$3by zpcQ=7Y72VcrA9BhrR;Gj_}-`b{>I)XbL)qX>3(YX@dcPGsaIcv|F_hCN6wp-F^PB~ z&RJxgIln_p3pLXhP&0iDHPd~o+jPIO`nENPDldPT+US2g5%{A~n|u>(2ru08AbvH_ zMT^A;CzGj9t`kp z1BR`hV6S@ds|^?$6Mt~1@oj3bzx?)z{rK78U-#MmHPoHwUghO~JkfZcQI}ozGLc~) zDyK&JIK$^o@FH|n_eprx1N4(utu#mCsswwQzMp|B$9+9;de}RnarJY)*Zt-e^gL^r zZ^uTI>iac0;~MK`r8#~4sxx_u>%L~jm zYK)7VE#J0&tLIy*uQhzTt!@UnNr!hd;4i3UKSUmRo2L7mM6D+e^lgpf^rr^zT?(FJ z?cohE#@wx2Magx4uZb zAN@wYvEY??>kHPJzZo@2BWbz&%peNZU-bd&eqa@uJun%)2CxNRX z4c|m`kS_e@^m)wfB=0n|pR6jwx=P6xjeTPx-^= zT0t4HLtTuwn(;}kQw5%eu5qBGW{mgSFG#Gj;;Tc?4SZT0QZF^)qKZuZ9*mn-5MNo9 z4-Z@Db}F+h8L$T1G%|#jxDf2oPCXt<;;YKwkva4u_>l3OVhnPwZvB?=#gf(U?E_EW z1yB3=Ugx3cZ0&Wo7GQ+Q>+ai}Cmlx4&jmi~{9O23_j?gAHUeXSd2$24aelsH!{k2t zzlZ+2z>oM43GQ5cYvIlX?yNa ze=;8@(OG5P`Qt`44Yw=9ga*%WJ}17Q;0%2>#W#>zp9X!V`S!EEpwFTE*{_7xG~Z(M z-^p0c-pk%zt%gogf1&Fkbc?vJH+eYYF6N9on9ZKQN)3r@uhTrTrqIo6^dr~Z=Gdf7 zeQXT{Ufc6V+p>TDj&WK0pv+$t_u8W9ylYA9H8}|UeU0{o<~Ywkmg(y6U5dUb{(cAO zL+q^hw5?TsGuYdT{C0$UGTv!?qu(zaqSssfUnV>TUPk#|C$>y-U0G{a#_=%Uc(@nc z&#QbZXO^;m3O%au8f&eIzW+y_HP~kc#cpohm*4+e?z7iV=PK`s|DAkqy_3Ve-*Qj% z@@RZ)>jNKe`g-sxYrhiz>?i40)<-P7ZtA0*owQ@YAu#QLUSu8nS@%Et)X4WCIFa+> zDtv)Owo_R@JvdW*k?XXtd9CfE{~yu+bBw(&xF71{yOn$=a0$$juz83#)P44#`P(Aq zHk#(c)6b`Qf7~~q^;&3sX`#PUY6{d9o-}D*=)Dzsm)b+nhrXuXvP+HFV}}OId~<&S zwlbk}i?*(&f6siyI|Dq*dvY!=>$D;6+9uEPVy@RUox&C@-$?s4_&znnJ;6Gr_GH{* zuGFYBb;mvUGwJiJ_nqt;LEEBBo@AT>b3F(2^_=G0b2E0ZxLMun)*m;U|Cbe>X04rM zeV=80ce1{V>%LcbO4c}e(LbPnWwtWQGn+F3(wl@M>$x@uTcG4WQd8*3&N z6KmC4H?+y0ME>%$VsbM}y})E*enyeQe3b9+;I-@SaxIWR&5A4|W<4x2v%NS(u8oj` zvjcxNwMEEjz6jg2#7cFr*Njp|tgNbfvilqXyYC5EUy_%yjqg83<{q9+e2{(ks!`a> zqTdxA0B7LjGVExaJ+;d@Sea=vuh-8XMy#wK= zuV-==ruO%+@1^_RBbG>Dt2q~*Fq?M!I(x9%ZfE|><@}-CIDc?6r%v_!Gl&lOa(yUn zVrA9G`IfE3LA+munPc2Rj&TP$#vSAs7khJM)&2QmTM?eyb$6N6n0%%U+_nz}znpy; z_WcnnkFpN#tGXh;ig@tLEgL`eL)!+cp#=j6zSS9q-*kCGGs%a)#FpFt)P=Gsy6Qn=I$^srM_I&511VtoSXlF4i0VOaABOx~$N@QLf)B^gk`v z+QK$u2@uxVUrXt}o0x0a`!?C1 z(AR%M!eV{xl(7Eg{IjgCU$B_^BCx2slMvf|K`XMT1fXUd@y zD=zV)%Q!od$FA5=Z%cZMbL`_Qke#qAZ7JajJk1XFM%}Lpd{!NP{GFVkNpA%GW!~}Xm`=(LO){*Oh%^Ie6c39AoSt-G(1b} z#+ATR20U)ysRtghX}NFva(xqT>FulkpGEZVn%>j@H)LOcF2y#laOPyxDoynrH_vM1 zOr?$an1HXcwTC$w&tiTzvZwwy;(nxTuo9o-8~N7yMt>F@tmpNsOQ8nDLGu$k%!BJ&KEFqxcG_Fxs&$;W)2rWF*&pN-3iSY`){i6Hh#;#dwOOu_=n$# z9MfXRzK#~9plhnJ?oY8No@7rv&7Q~^c=x`k%fHJFJ?ivKl{S=+Ld=(Egq(*>XZ{9u z@6W~PStsXnetEa9ryw7Y|BL>uJ=$&hCb)Iqgb}{K(6_Z8cbWUK?8Sl6)J}Vp>tg=$ zz|#_7T0X7GgCDp5S!18Bxm=mma=Frcgmb0S*dKfC)d}%UWpy_O1KSk#clK&K@x*br zYhtUEeLBcDY5URV>d+U58|V7Sa)&zazEw+MZ*C-(>M(vCBb3yYRSO>P-j7F_=lbpJ z#r5XC>elzw)Rj`7SmLRkz(1qRes}k|elfX${NTh69;8k5sPXme&!g~j7Je*y=7rAn zt@bxE_g%L74U1yLN?AO;k#l{CmvV8Y9}D(k&h-BYZOr`JlbpFuWsZMZc-TIL>kEZ* z$h%cs_mjd|?=RK@+rUd*MzEyrdFl_F=lhJ|-&p&yZ){`_h~7_H(EZo5m+T*urspGi zg?HcKJpa{hI!^T+JQ`mA9&}9pspEe1$^9lBw?M}~=l%UA9k)QoFY;UHxN<>Pei?CD z4=>2eZ_AQ+Earq7EECw@1?O#_JMoEe5`#6R$yNJ2^H~*nYAwz%Ge}caFMc<5Gt3O~3TWdpPc4Oa5 z^F93|gCA}CXSjJHb7i zmUFmXe%DdYhd&v6-?-`}W1gh_=>BDX{|cTZUMrf%ZJg4>U;WGReOM0M@U@j+jt6$0g zsb58A8{zXaZxWMrh`Fu6KS1a#iN1uE44O>#ZRLHD4gaLmVUkbimK@ErY2;cF+SLB^jXE-%yZ6LuG0$!6 zaUuhTWshOM3A5MfH5-g`dn0BGf1|_Tt%SW==-5HW~e1MY{JlkAO4e$JS}ZA?w}_?nUQvlXC)*VMX3_n11y8+52T2N%+eT0atRZ zjPRS6XN#D(N0_($*i#Jo9p7@!?e=%a(k1(5=<}51yUm=h$UJV-w%e1V^Eq|)x2T`-Y6POGW$w2Zi#8r~7R;0j$P>#+?-0N0sDB&z5o|vF4as@4w`)_dW%$bV#$<^Rb7EjDe z7BMgSvvmS&9_5VHkr)|A| zbc|m8ORggGnb_R*XJ-H9f24nGMDkq=IMQKD>4B}7egrn^1jd9*^3rHLZv%&iv2~t! zB7!er1HcbK&kNmz@XWih#;32VhJ0@;-^iN#;D?4EjOY(1plvtnLFP$v)rIZ- ziBTLx%*SA2KZXzkGL%@5VZ?+aY3KI!^B%@8@+k6h{lFW8gH&5b-DS!w(VK~LDabh6 z4_`Ya`4;MB&x=#?$l=J=k*J;K{r7)x134+veBlA=aquH; zL9=<2RL?6TkzaBes6A~{k6%^0ena~AYBz+{fgNXS*K9atALx@@K`r##f!riD&Fg5d zZF8B{PHrYS=hy3*vrgOL8&cDJQT4<5Qq$bU9N@>`O+K%#c}mAz{3>tb+rxGJh&i-* zk1n@spX{({pC&1x-Qeld>q@kb$CYZW2{&l|Tzmx0{>0Bn#woB5W(+dkGmLl9(>DY+ zGS(x|ri_)E)dw?d13R>#)K!O1OeDruzOggj5sWv(KCokG-I@*KYy;og!FqVeMV?f0 z8??Ew(KAl+x#{B!zz^FPm&g_P>`|+3urHo5zGX{W_2lvL{3ldT0eRfWyA|Kjz<8%- zIA*SVXk}7-Rc^kU`wrS>jzZ1x^nq__7x<8VYKhnXc8u{K+pTIxURSj5f`cQkd$eP_ zi@{5Yc652EcDU{atphv=JR(zCbDPI_1B{jYC9`r|iq}rN^sDC&eiMGx0soZo%xB)l z08(m#*1xt%=V@Rb4d#esV46KO4y_F$Ev~^XVrgf__q=pTRo)jO#4V zFSO&c0S(DIUIk98A6%7`5JgAB$&V#Itb)@5a#Kn_g4fhO@OnIfH49#kmlkWW=_|!2 z{xCK|%+8GSK+L=e8Ddgo>+VR1cbu;e%Q8UXKa|Jv!scKAqz@(o5b0hxH zLQ4VqmG-6IQt6kuZ{&UkYr6z~=w|-g>{s}5)ZwcH9`*^H4i?yD-qXA3AYP{f$9Z(H zi1(~9jb}_Yb4)V7Rlw!ME|@cL)G#MDzgRS*!wJ1uv~zCpO!(Oh_}cC8x7*-zw-Vbn z9l6Vhhp+rROib0)-lN$AG<14zTXvjQiLC2rHER`9OS~qXRW;`O>`N56k)?f5_c>O0_-&k`~@ULol@B=j?I0aqg18C$4 za=~L?*}mjjC3GM8-*1-xuO~li2{}dN{}Ls%_$E&X+t2nTHz}dVrg}nm%KuZ9(38_W zp|8vT(}}|%hr37qp8>wf+g>dH-=T!&k*mE#{=Z8J%_l!Q^tXMw(cX>1#~rB!_kLQM#i2BME+)U=x34t&tquCz<;^ zc(TOmNuD@``YxXn-&SGf=kEIahIfoSXZs6vURU=3 zI<}N*PWJ$9j|R6hPLTmRKQeT}H-Kf^6M4bDaz$8qA~@gmI*L_q73(91_0jlJz82VL<62;> z57k&7jW12mv?Y03;}P{>V_j;H^`Y1BmiYdM4Vqgk_0L3BR{8rn_Y~w06}+5!h&(f{ zQq7L-dy~{r+aB-D;#q}~@m_eJa`4<@8~N4XInbZ#;9Q-&=H&`9DtoHPT~pw7a(-UE z$H-YG^6NZZUaQKVx<|RaJV#l07@pK<$~$Ea#VcopQ-9C1OybYUS0&%w-NZW>096+Z`d{E^s$Gwf$gBk$~GB0 z_^|2l&&w}wQWjP~r{&G`%~fP(>m8A?_4sgbCiimagE)qT*rkwHt@!nM`Q7)CRb|X2 z=KDp8twRNt-SDg|V6)oov+oG_=FwKHz8je<={pPf<+;^&Bd|yI+ZX-?K9#XV&xz{6@RgE=rao%6J6*+xoR7jA7rs!xq0EO$<{q-=di4a zFKEYu>|=d%UcLqNjWYT${6$u7ckujst8n{<85 z*-?S+6`dbpkFJk7J8CQ%jL0k7%02Y4Lr(r&hAyR5#h;H~awf6&IegFJdxHH~v+@zN zGFNg=&77bw^`4V9Y)*1NR(sv~26R2o>H9apGC_qc6c;C+vV|KV{JnDw^q5ImmW z)=6-A(jMF~3p=R9RT%kKlYMUDB_uan180CTeZg!dMa({zzO zx97KythBbo)uS&bVF#7AE`8R%?sf2AgH1{Dg|5m8um3+Gr_a$xBG%5no}4~*=HwUX z<4f?@ZT*6rKF@*2_hRJqAqT>-<}6ot9#9SaO=MG->8B1ZzA&fH*NMTpP);AK4F|R` zv0+Kz)2aNPj z{{KTxpZhqw`2Si?pR7LCNdd9L;**%iJ|n*I{{NTf^r>X-`pW6^M`E@5%IWiP>3?rd zp8>Z2+MGT*pQhIGGv4!a`dH6a@$CPkoIbS=$L7^P!jVVp27Tr9sryIlSXBpe_Wwjq zpK{=db*3b?fiIKOCl@-DJvm3eCizC|S0hGs8guqVIepU2@4jkIp9b<5O1}cToI6G4 z^ci5b87rqxxJlqm((~S1v}NV!Nmxs)Gct+D2%~^q<}os-k0DR=7;NKrcBO*IO@fp>JC9^zH$~Pi-cC zh3}G30Yg=lHUEO3PQM&EZ`Xv3_;=)i{G`l(_0XWPg$6 zKQU!_{k)*mb}(4p9~{8s(=@pfe^1%U+gV%nB7pt64O z;WYAEfaeU(RiuxTykC#3C1;T}{I29IvOXSL7`Z}z$eCga^L}b{sTR+9d;;T1L?5{y z-E%DW<$0rdKDmi+CC}$h?m4hORqFPpRQ+ty5!drOS6@#lz8w9U>>JHBJOeugc8}Be zPQFLX{3+&GhZ%V@9hke`DbeeDgz>i%y7|ELAqi#}?`>MDc!$c^-Y@Ca$y(6qh~+vy zm-i)i@uM>oEnaHLkgF?^u{;L-R4%wY`0#?(AvV9ZAVe;UEJ=)@(GL!u?qD==?*T{*ZMJ|sT&L3Go=M@wGWj~|kw&GXC@`fVe2 zSbx9a8n1#Kq!n8D9k7VL^r&eQ`~&?Obt6)I`*avmefur=(B)&z^B3iF{T1zqzVJ)^ zn(S-h`T%fRYvpI6&+en9cD93>3Qp|t@z8Yw^qmNu4`gi&!schkmTt!eZqsWjh^*%7 zSE7}0*6<@}^e|&Pg8h2)Z^P>w`Ry2@Y?r*)1Nqza0Q>}ht}^_ruLKXRAH{upF!?@` zlyvg7Jk-mtOZ4EQTU701)=ItU+f}LO%1&SDI5+tDYsvLdR`>N_2KnOlz?+JxZRlqm ziBH#R##IsF*L8GDG3`+EDxyz0W9-X++UjRF^wYsQk(}6n#BbWQCi6ul@B+E%EsC+cy>p zZ8btm0{^+i)4}yE;QVHAKaDw<%9+R%@&uQWC)n=wylhW)lN;MHAUJUa_-)HpLeice zU;0*j=cP@5-S-Qt^c*YcE60#4TXL+75&tZ3U4>7a{FXRk7d}=sww6f_{IYyk7I*t) zHI7lWO#HQ4$)T8u@0R3#6rU{d=PF|!u?L(8=(es4!z#5%gb(Ov6wuw2WyZe!Bsg)! z$YmmVqTSWi`ELpxmde@3V8%ZLJPZXN!@vvY-iwpr&qiGjX;;p(Td3>t2DlI#i;eZZ ztJHQd($3<*ew=}y#Ld)6TTKlp-A{t|Ec-`fj8`Kx(n#$Wceg!k#fGj2d-j?!+XZkK!eiisU)Z*`4#y;>5_)rG+qy}u~8Q7T{hzHKV-mr>uILb}bAoWq`wyBI68KW31P5mLmS;X}n|kHHxiqjP!-i zh>Njhd<+ceY0-W7Z;9&TB~>Hyx88@1F{VRHZP-ZUyry%sq7~9^68(&9S$61Ja_vb! z`{+k(0D;uut5Q^@fLtfLI<^(>Oz5xdiXW=%9MPY>bTntu{c9#k4Z1 zsjRI?dw~_>*8GL3gdmBo4dG zh?7%*#h@K(B~UxK**+(KH!?*FbWlb;4f2`oDjVn78Q7-o+(rJhMsTmFdkX#JFctYh z=W|`uf7_>cYuWEIJtMvSUF^f`qdQqI)?A7$&*&#rkAYc>jMO;iQQel8nW4;j7|H{;HN*==)Agonjb{zSvPS#s>>&nRzH1?uajshofQ0g6@04fX~w0JahfvE8PnQ)?F>J$~t_*qt+H{dK2^GaOu80kFTOH3(wYE z+Q8Yl>w9okdzu=|;H(n->}O31uAbsMq2bDr>8sL&hUY`W<8JDv;S`}^Vy_OTQLn(M zQoEpL(qd@&3~R-r<-OETiKgXMdd`xO?XhV2N6fJvS1NpNY!odI6C4=zb5`g%OGfsY zYjUNubBc9NT#j~)5t~2vik`I-O>ZY3>Y+CmXMsBvEgHS#^*<-7hUq} zoUI2+OA0c+M!oGU^rYoCH0f)U+*1NeV7>uIVBCP64RKH64{K`*z}r;TaO+^!F!HnH zw%tSAihsVjhW#VF$6pJt??lEHzeeIvXGp%M0Bc;SZ7K9;)J%E~8j}5tvto%;ogs2K zeHqW;4X>KdJCW}>2T$G(z8k^wx=VvQ{)|k44r}5&*_X-p>CK<77dcbu-(#15;y&mX z+zPEee283Bv}5_ZY3zmK?^cALubgKHEci6*aT@Z!^n0cGTcdq>->L7NMqMoT!q|If zkr`iXwIO=OVqm(4wxZ7n(wX~u6TU_N!CAo|MdCDc7-IFA&_|zHW}h?oR`#B%81SC` zPHcFS%x?wG>%gyGUm8D;3FwD@WSnuLC)!jm>sGH(+g;-X`^G!eN_&ra%A-GXkL<3S zv(!UKux1 z@qWt}mEV$cO6)yw88HXE$r5l3KFjoAOKGkuy#4)0z?k2e0*kgF|MVvYl_6 z;c+r|r`dmk=qwgKj^j(*1wPn|kJoZ0Eqhm`sdsuWfQJHjXrFkXj*EqdIW}b?zMb88 z@Utg6Bo~?kT+ol;K=2}VrHARy55IWG?DqrF;o*mO0>8o>ifu^v`0s#O=0|^y?kB#7 zjY)Iz+mcFmwk0XM+GdtM)|RV0-eCVrp}d36HtP}A3Ov4m{ENFPvzWJB&*PPYl*eU% ztr$=<>D=O3$g4AvTW27@-i{o58*==u*a!^Yrc<{XK4eymarC;mtB*NYXwHGPZX~Do zI^fsWPe-_Up2z~M6_H_Q5bGtp+j=*Xv5B3nly_t=8E9Syakbvb;rVs^cA$@6&-Z0! zTW)<#OFsS;8^-kk+f)-a!(S@dSGd}ck0o|Z`c0+XH=wuQb8X`~jH}3=5?fFqXIGr# z{WvSU-o-QVftpnGnu-%>cRREucBApLihF(gq5188$Md_-_q1mB@2Yx!-dRdK2Tl5!$%{e-`7+_T>9EZ9n4()F}nn4i1!f@Jp-1*05YT z*blr*UWM-a@M*dKE%4uS4t#!_7S0R1ah~k!S^#`={*C@s@NM|`z;g-&$E(5hX84T! zzX$v|z^@zMsU+|s_Si_D_U9Vy$r;7U!lQiSoP{2P3H0z{+GGG9Xl0snsjF|`J0Gyz(#fwSj2YoC*b(}Zk_iZrarElXO6_4 zGkoh=o88{AOy-ikphB7dQzxwW?05Cb!2etaXv?{&bP&nH=-|`S}B%U)B%$Al98VF>7#DRsJXFCLiP| z3zveEB}!t)3Usrld4GvASdR<;ck0oGQ)(yP{2ba5f1+H6GG6eqL{%0pn7!(*@^||!6rZS%@dpz+ z?6CLqML!q6u*BpaAG+_~ww}1}r++8AQ%DFK1s=yM@GY*z^^K8Vot_FBFV)GDN zU_AHS*j43yfnVOyzk@ET`0jGPbC~U|hStQF&xVa;HFPEK*`UMwfBfSaYks`x!Rg>Y z;ut>V+3HDy(nZIYz2+*~_>^zMCY@UCZBz$VH!*)(q4$mIkm_3CIVSC1tSoGUUY97! z@gr#)N47#gAF_@keUmzVWY=ZdRZ3#+{ZC~iHL2>1Epu0mT&*NluQ7kWJa_fTa#eY7 z!O+zsh3@!&;k4N+?^*)g$eevln?r%OFZy%AR~DG`cZ*Jc@zb_If9)pyNjpM+KIm^M z^jG|~>a+LTW7FRr@SxKlbY;+k6Z&)bawBO%Uz^6cOo>So$W2y!%z6HDLbpO6k+iGy zQ_jIR&U;rAx}tBH)5!i4`shE4{@r|2iSJh=-i2oit+&&boDIPn|Izs*PIWxC9}v`nC#il*Bky_O)Ko{pGq61?-6GucGojvf)yud%KHKpX z{YEc$^gf@hK(;mHRflg5vPb}(&hmGZy+C++&)H;epGSXPOJRl0utN|-ao$>*3O}@b zp=I2{voGYATJsgoX-D@#)7L}O*4b0^dTeB_WGx1OL*(sVb6k<=ebJoDUiZtAyoXJi zFwPHppBXrrUpKKWMJh1_$eqdjZ_#!OF*awYY1n|xq!XJ@BedjDlf6p+Vm1OlpB1B=`QHnn~el#3_(BNS`Cx7+ht{(Ugd~@hbbjoV^?# zT-r1@-qtjKWX+@x*L#}2nW{AX)4s3pTQ;?+miu+wU&g)f^V`xT&whJGxBkew*s6Gj zc}G{_rw@+y0FQ%p=+|qszg}1|z}^&?jIC%D@Q^pDmGkF{0mN_VaSXpJoNFU@gPu33 zh5wZ%eB9S6>&AIYiJ_VA8tc6Q9b;KTfA3+&F_$yiPTKwoI9)6Hj^Om?5jd>}S6>pR z2l~S4uPgssak^G;dWf-FINf&de;-bNDmbkZ|APVOdU5Dn_#P~FYUjXtCp^hI$9_Yp zd8RG==?MpUl*BIYn6Pn!8$CzPw?&V7|3IcA**gJxk$1%2ufM}trtn^gAwoV`=f_`tIJ~Pqi}(&=F7ZUR1pQs1v@ONjJu5SPsUDilLkI?9}0mvFrWu!v7K2kOB<5EUimyOuRaUi6d99?L8o>D6ffxSj!~u-y(VI+zP5a}p0NCa^!+^gPvVT}xh(+J6lB z8HXCbswf3I9J_IY_=t;+-)PdK)I+p*a;?zg%hz~In3r>lr_ttA+MdEZmk}Rf_sU)@ z^z0Fv0=4B^iHGR*?a#(~_cE`2eJgUvxC-cuwUUO-MelFfHQn^+2dCH@@*1I~vV+ppU-84}{4CyB5 zQG6-J&0^nXJg-`7$8C(~FgR=h9{eIE8t^BxcFxCXr2U~-#?x}CSM(PPulhaZGOz6d zb5ak!+!6dD5??wDtRMe?VsddMkzX&xw`@GL#hRJcYfXVe6Tk9(&1Z3WCs|XS^Ly4* zgSn;}`dCx1)};q~<^(#17UG~|Y+&9-`>0?;-KhNC&yLEEo|gvXyUp3^L7A7QnHTNZ zuje<`eLY|1MP%f9=DQJp5t$ba9usR`#>W_oj9td!VjaPo3p$DWu-2&HBb&uBA35_d z@D+g*a@3x;4&MhJK{9bV^F0Tx`_fr1v1?$Na zue>XCtgwbFK8?#0`$zOU)^pD%%v&FPsp8|fyatm;TCiE)30&X20Dq9ZDjC_T9-Fer zpOO=9E1G8T)M9KNDA zFOhuY^^P7mozB>B>NIdFPPbjn?cUo`^mQmW7h2&ANneMjzQW!XYaLz+J}#!CbsuEkdwGLOlwvjcG#cvJzl{HfR1#1M`%>~y; zMMvLjq^7;^{ZrORjZGQW7f%lF6FD!A{m;QZh>W+G{S{d!a_z7s>-BXVYVjdzR~Y*% z`{RA+3?l2jjI0-M;;V?AV$oft+WYJg)_M{7P1cMbK7!wdF7s6;_t2^#ZzXr{dF0xM z7l^$s$wyq$Iv4cS0Uk5h*H_bz?8kf1H|tA~K?X;y&rzejFGAB(J&sc-9 zha!UlPXq9H;J3Ow#~wJ>ltE+3bDohsa_CDXpRcb$F8zb_F+w?>iEN+Sk^`Z`~etkj6+~_ISrZgSG*Uq zpOfQs`$2R+a;6XyM?V{<>!Q)`>+=OXmMks)JazDv7s1tsm&3z^$9dca54+9omFGw1 z8_)mF^R|zWF^+f&CYU@-_w9o3$T_PnXV_w|qsM_$_>vyaEqyFA@OEzTROoREbXkU6 zHktD#n=Y3{?;(|ZFLPKQAs57&Lsz1bSHpOOuKopCxB`AOn{VfK^P^;)9|@fbO*X)f z;6()||E6kza%c^o7hTp~Zpzwe$l8p*N7f!-oV$S+Y%l97*kdR5YClzPU*=SAA6x#Z zY~<+=Xg~YQwckqHvYrM&gB71f?BT#s0?hwp9vaw7$+HtNuHOCnq1~_AuZ}nR=3HT2 zLx<=PH^tN;S}wqc^fPUp51l`+A{$2A*MEa6-9VzZ(A0A_T(Qh{PZ2j9XXeHc1?+Moh``Wz6=Cx)#raWHpSjF!%9xJj9>5y;T*wD+@sK+(rplOqAGw-AQ>ZcOZtDhP= z^FI1nkdv4`brNkjm4oq*FL>-I@U5)Mc}()Xl;w#(LmucgFDHm+RiLFrj&mB@T<6l(gTl0{+N`5xNdjt7_{m_&68I|()>c!#p;=6Cf zMF{Q%C-wMjNbIhR-ND$+@jWK8^h(~jkv99GYg%myEl56r7o*y{knO~hN4xE#?4cI_ zuND56f0fSvvrPW4uwHfkX2^G2#ZD57zxmPCEdIvX+By%vg}+JL-8Ps@jJAcRi`?b< zlJ<_qe)|5X_igOgJvJH_whqfi^ECa|oQuoLqhI(cI%|&&qnq!cqkTym#sSNQp^vK$ zUMuZ?7M>tBpy>8xJUU+uef9P&8;RhprmL5Y;wmJ>G%`^6aZH)Uuc-!&?c-#Cxh_`T^ zicD@p_OT-ak-K3rK1QXgH=s_H&c(2a8Bk5kw=_R+NVn(vp*{t^+sJZr z$;&O{5!>ep;(yrNCsfvz2Y1VJ{4eI(%Xu!b7b(7Wi4U?V-TB3>zV{Hn7a2>o9~q(x zovF;8wrZq0oLIQtuoZLGdJ>$um}B-TR8DNc$ntVMx46fzFIZlRpJ@qxrp3gIy?&oA z@0Z$$=d%&dXXjZz_{sUPuI^Ffy&ok0ZbptgsS)pT6^Ak}DGts4i$|}yaD*}aVrzK4 z_zVkfL#f4~ap1OV81+-YuZ(S^i!bpM&)T5$KnyGpc0#0yH^ zb_IJya-y=mB5q0d*k(>3-V&RzjIFBrDedbf-Lx%HwQ;c`6x)eI9YuYZkt<_d8NcL(o^%yN2; z%AVNcvmtAqyk`p~-ft1Hf0gXl8=)hWHCjo3j@DG#NYZ0eMfRDK7G5tohbr;eRIA44 z*OM1?EI0}ipIxN5be}%=lLKZt`j5OOFit6Opxd~Um2rVQrC=88OzeQ_Q)E8zdwS_DGm8k zZ)cs%NvdzJwcqyAi(;Q;iB8sN?2~Jw&#v`7JBD6l+GVyz>P7OduD75U&9xOb`4eg; zRm5|qn_z1?RjL#ON?EJe4_ni*H`VF(rmcov6i5C@6}XcnHe1(={MnN&yUf;JdJ8&{ zW&3CE+ZwI6`~jSct;NkegtPl;;aqGhw5_t94ilSe&5?&Wde>R=%;{WDXc4h~>kg-S z-$&=y^W=~Agwm=e=Hr9xJ>y=B1N1>8Y! zC1VKEe<0i+9%|r6Y<@3Y6khK^z7bp73iN}VU*&T?u4>k|eSP<1zC-@d`<6bf_hnwh z7b!qrZBc!#<{M-gIZM-VZOIujjuw2Lzkmz5hb>dT_c8ZUXuE>@ zkv1ha_9QplCEbs$=K*Xy zpJGe;CAOqv@T#HTed~GG=hNO9>Pbw`x?XHa19e-{?KcccAA5a|EvW=s($L2jK6X2{ zqzv2O4*6DWNg1mRTT(oBsA}4u`cy*tRBTDr^fOIONUt_+NePcv>$ap-*pjHH&F7$m28`9cXHl#~Oo^L}ET)=fm(Yhxy2tMXQI@0e79wiT-Cp_#+KWfgl+@Z zu`Wvao2Ec({60eNb-TTwZC~6gZP|&zK(4)@EQ9+U#Qf4`V4JaYlX61{2?rUKb?Ex`z-#L z4!#decRZi`HAN#3HS|w-M_}}g+Of$uQBQobb~LX{`=n?Jxzr8cmLqplKjlbCLA$-Q zpd+rd;2%k)1^$^g|K{-M(t;0jOA9`#zD4^8x#m=dXV;l+{N7Po@cC<{1)<%g1)cj! z3(me?T5$3${zfaiPX0UBT&`W7UH|MmQWS!OQA`J1*n@e|}_pT=|*fs(-xGzd+t;ol`UE$TsSAZ|-04VMqUhW0Qvh|1fIw z4q*&Qj3HT5hAV>te^b56@xi}2{89gc_I>>eI$rNzFdKR2-KT;(g7Dvft>&2k{!}8f zmwi{6^?97K>rUjH#(S{6fBe*m(?!az&)}2T_C%I2<0sR6oy6G)jvMfORhSpa8=ZR( z^_2L3!*?As#{+ZCAjfn)7H&Xop&`QzH*^8My_4s{^Mm8~gGS(^q2L$M$lsJ*;n&p1 z!;9?&Crj-Gfqik;v_XIFp^lyI+Z~VT^iysx@N=)#-p_kOqq;6Int1Yuc$e6;0N;Q1 zDF5eDPa3~*N7BZTfjRt6Gk({nt{WMc%jD=|6A<^XXtCA z^?RnhAPh|Yx;Squ{T~J&;tz7mZsJl*96PEM@5x*5(axSR2>M$u(T3&vVtZ)05Ii+6yc-_QG%;wNtL6UP_Uw%Uc_PV-J0_0e=p8q0g35 zFL$yUYNwvw9mV)JPouudt-L>zx?P*&p_6#;lgHI{ONx}^0nU0~Bd)YQ&6A%2zpuGU znI$o-5-)Wt{G$!K-jd12I$d&|5ofU^k9aJ7+%<>V>2oT5cGBlr`s|?X#b%%F^cjfg zvz$HyrNyB(YO%t6`wOW1nn|vU++yWmE%#U0oo}^M?{gaMEulSEj^5s{>KKcBD}E_u;K}n3 z<<|Cn$}91%niItX9n;(Qsjn=p4iuJ*ay^i}?C=BgM!h(F8vN+y!r{}a)x?$MYHmC2 z&vGy>X+vZGt0I=$&%Ju=0~Y)Zm-fKFNo1?lS9|@Now}{)LFQQbhLR_9F8Ch>E*kdP z4{qZ3pW4-R&9^?HJp@nRjvYXB{B_`+nh?i@Kh`fT57twYp#~kNg}RI(_Pxfs*+E^7 zfxchkUL!dh(4=mE zLG~ATUj(KJ>G&zlK_0WCOU+I6o;KS+-{AM9z1oQN{iX8#Z1L~7-GuA*pjT>2-d!B( zEXQ_0UZCi))-acmWBr~v)&w=-t)u90Yna#F%&S6<3F680d6l`Bx(L?19%Wt=nb%t8 z^(gadt7`8xueUI-)0x*MbJ|FDPGw%D4Vl**HC~@r@o}`~wT65W7F|Zq>)9&K zh;Qqe*PkEjnb$kN!n{s3#~L}WH*zm>UW@ttpPkp;$UhZRmAw6SXyN#^-ZNiuUVkay zm-U|4bl|e)^~=!kU~{a2ImKpdc#1Dx#zx&Rou=QV- zbo62&WedmF#SZ*>fFnu~8uIleUu@LiqCdMg)x zBfOLSX(f6X@12k~J81I_o{P@4f~(cO>@D(c8*9x8?-m)$$^I|C*$OtAzYt@@-q~wE ztDr6XWENs8oF(}To$OT(wMyTsgs?s5wd$+?!;90*~%AO*0tlMMYy#~)q@tq!K z=%ZiMU(HwSZ!df!R)7Ct_7`9uRz@J(?yi|6`zrN9#Lr=EB!7-)9ZMZm|3rA+z69@k z=&qvwHr_o}Ta0ab@n%E+eT_YQ8$4CUAbhWp`U?0a9m|a1o&Owxf5>?J?6MQRe*Rk7 zb7!}y>$cMtJorE~50-YK+jy5YlxqxF1coyDlfE12Tl8V6=ODEmqQ85c?>txYU3GD& zY$UPO&@?*kp%Kt%8|!L(t>O){=0ofUj{c5SBR_ufo$&K&=(^9tTNls2+WRW={{rm~ zls#xKdcHkrRU7zosV$S*UMdbb(I1d~Ct-K+p5nWQ*r)E=M;#e_DeLDc2UlRHT3JF} zNc2UmE;-ov=>*O9=|pY&r&5Q)cChi&e5p~f)|q*kw~>Cd?6KN!!q;f8+J^=G^s|Za zy^(}(;j_gdks>RfzjTk4YqZm^~E8nEB9sQbzSA>>-{+f9^Yk7n`KVt zjMW~Yz4uI;#;adqP8Z6Yj_y6D{s41ITVHlgD`ZYDHRqJ?WKN~;FPhUCGN;+boRTAC z`x(~k|J1y?sG;#+HLo)-Ft2$L^V-V%3eS);l%IDXGeQ@#ejDswT`q2fRs?5_(AR$E zG#)uea7jM@wKA@_hL0g)u&1-V9(W|Dw}ix(i)TH7~4`>hG_Qi@grNN!XU1}mc|I`nx7&{k$N z)hg7awk3gH0;v~FYg_HNOu*Kei~^BchKuul)|nYH2?6W-^?jb-?~n7$*?accd+oK? zUTf{O*IwIGsNcWcRKKwAyPQoEx;rcF8}TJV2igU#3hfTofBdjqJcmC@#y%CtxIGb& zYnB4QG_u@TzerT-86YY+6-jK84t_iRXivjhFzP5bBu?}~2l z=9ld64*IK%7}($VK!3H}{{Eh%zp@4{5dPa1X1xmDxwb6=pZN&u;Ud=UjN|X_Hf}Tr z;(l_%Bqyd7HEj^X=FB`_(qgI*UH9EsNJ-?#33E2+V`wC}V#p6pmj9;PC7I z3;S9~3*Fu#bQD5&uSxsRovY734sy0O_{~d!Z_I~qYszRK-6CGr=#+Z`^HsGsYw|i< zl<1H~^J`hLZ68SfT>Rg%&KGn^+=6)-`)sBO`)uS{B+t#e@5X1#!JnVXSM2h01FCH@NGuaLOidn&LRf-GjltnT(uaG@5fF)%f`y z`c^3BNRM{v0k}&-COTv(a z-@>KZ&!Bx7<1Y`!ONMhV*9xwV1)nSOb)`#R{HJ+Mqwv$)_Eo{zz17@jSzNJtW||sZ zX(W9dyV8oP)qN?xg07W3nsIctM%>(K##GC0gVCdK_pSn6Hy9E+Pb6v66r-32wd*Y?;h?jlO7AX^X=W(sci@;M_XJ+>&{<2OcH97a!v9S(BK; zUG@XN>1NDjE(Xj0GEiRHHG0`M;&*SKuO#1?>X|;pW;+P1#4IX#p1MknDIRsoM%#zr z@HBOZz4{RMK<0y=vxd?7|9hb8R$eo>Xx1twcXBo%iQ_S8c!R6O`eLK&)DfN?ANWd+#0<>SBrj@UUish2!-nuD zzI~E!cdOB!j=%XzD$lR#vi!}rE8AWDbSL9p39tJEn}bD-;y2P!U@T}ZiZVCU-MeZg^F`qV~$Ye6%B*ztl|$$XVdJ>)C#}AT<2k zJ?5N~?7i9fb&pe8_aXaygXY#WUA-S;F7~iR#pWP+83N|s$;1kz^xxNY>dk)w{ z?#Z}FU&}?`_GR>%-mTc|gf5=N?zx5X^~A&dSH0}- zao!ued;~upL;M+`@!gLj-(0?u3Gjg+&Rm&FNeXlRBx862oC%E2B?)|qI?l}CZ0pbZ zan>{lXQIQSXF1Gi(R~KvOv+1{a%7(1OzwjY!X)K` zI2-F()fL3o8esZyQi|nSLyAXmkq++rafWXveH)CkEtK6pRw?npV|2V6^p(IXlcdfd z?!*V{*g4;(Q_y`4^o+kva~tR2YxotNbSNIfeWE32nRkx@pZHz47zcOhEW1fnywCsp zYj#^*+RSt8=Vw|ATC&;;S{nDHwKP1P)*>;aPuGcGlUa{F?8FbGoH`lf1<1$-*2u2XF#9>= z^TXVSUNfv(?<4T^D%^`uyKVJ=w$cW*)mZoK%eGUDKJ>6*jHR5q<&H*IWud(k*uBu( zDR|N$&WnDFzRJ4AMIXHr6mOE?PX3=zZ~=Fl!5#d{I~aFoz&H1Y<0rv9LEm@rz3?5; z|D`_hBMP=xgRC#6t$obdso++}E3zmQuQNjM`Vn^*hU!V119+|Y0=(8Tx6dFSblf5X zMCTFs;_)vH;&%&c3McyA8TjI09RDGtT^Uco@uk|#g7+6QZ-jnK;JU;(#v*>KzW~=W z$ln2f5nQaG&*G={0l#OFd*`6FbmsSxkomnMq+Q{OSHbX(4s!G<2wdItp}NJ@|XkAD&B0 zvbYV(qD|=a!m~B(8z%h3vx&*`ydlz}#WvbDLOU|9?ZBE6kfWnR+Q~#uk#XH0fOT*? zIXawvx=0Ot9~JU_G2b`xZICVoe=l$fY^JzPwtSW`Jz zS6Toa{a&|&Nj&6p52>ULjK7ib4};!9Vg; z$c%rR?SDn??O}dMtnF^}-UZmKA8h<{GPJZ!&AnMBInWsi|-hXmUm&FusdC3rE$x@>`fbSxQD91fK7nO6- zAF<70Bl8&X$JODd96k!Yb=Z3a2cpwX4A&g}_PqI)9(1Ry$0D)k@nFx3#0Dm~uNVIx z=-7@tU~Q}0Om%zSD`EDYn-uQ}>`<~VE%bI0-N&G+x=rsH?s@EqnS-00*z@8XC$JI8 zn2W8gk?}l-Ew5v#*zzJP$B{mbKJGFatjR;z^QIV6k>`GU9`gh}Hm-ALq-J>@8%O3v zHV(f%F-QY4{&F^3VBwAk-S#Kr`2jl9s(|fp2RfXbd%VeqJumVS_PhX1NqwsV^?ji| zkGd|{^T6Rr>hPcG8SRieJa+`_c{1K^bjHZHN?W4dDQ%H4n^$W|^`O^$f_{??{Upzy zWYOkM)NOEKv3H!=ioHi{aNFp|^b@|Fg8xs@nN8eVl&zRsu?1DKkCEC#9ik&O-mJ7_ z6i>7y&(F3pfk!CjINr|w}0u3nbpiiH@3#py3K4pHnS*) zK0gopN|O05lD!X;rddie{5CV08@c4qC%*WT^!H_xW;wFkZ2ts%*IVjv%MreB!ggQZ zi0xi$y0y@3c<^3+?=>4A+$Oes-W9X*UjnjF6ZsV$ty1b3+GXLu~uDu3idpNRv7_xn+SV0E;zBAcV z65CcCbFB|Kcm}yP8XJ_?7>?WzL;f2b71#-gZFRs+-0idIvX5jaQ}=#e)YU!8XlcM7 z{GM-Vn-3b)-m%bw%YY1I9N|foGKTZ@_ozx2@5QP%FCQ9l^UfX=@5-{dBWrcN$cauQ zcY%nlulJ{)Z^9>Jp{68tCZ8|t(x?NQP3!8&M9T~KFl9k2@R!O%#Na;2SZ8t{Qz~QV z;#)WKu?PB!is8P!DHfY2GRopJM0xJPzVgY+6)o4m<3{9}vktw+o`k1|~PN`p0 z6FW6E)iVG0r7aVYAIO4VY^Q&}!uE3z7>(F|oRO)Pe=V1DXQKacCnod%4s^g%*uYDl zAXW)`IxB%)#YkJoN{1zjybDZ9bS3=*!8w2 zt8!W<&3M7~(UpVaeHA>r@w{)-@AyynO(}ayG{9Qe$p-%C>%Ty-o73zo90za`IEQXv#*d zs%+T;e|&1PCG~q>Q?e|`(#m0KRwaFo23F$R@V{2MZgNBFgIP*eLv2H9`FJ%;_7j45 zC<1p^fd>s9S#D5TwN;O_l&_rDBDzzsOdY&1lR4}`=MtOwr{MTyRcXZ!+NyCEWHtB{ zeMR)c2e^+ky7K-O`ML?m>nhg_k_A^tzTK#CB6iKVXQlG}o5495s$`NEw*} z4;V&RdZ6oa;Ab54yAYxnmuskZJ@Bkohj%uc5-blGhFdh?kUEdhP8M*ihZi;ji+pDW zmTUPYMjc^!u;RfMDRT^14ss{LHXWAXj$Y1^9V5T@yl>|*;Fvs0u^y!kDN_V20*8t8 zJm%PZewU*2Mj4|l(W2`jvjpb#oKO3d@jSw~M$dtN&AryLfd8-M*`ki9TwnX6)cetC zme0G!^2wAfAIvjFTRs`L<%2AKkypK2v9H6!t@C(p)NMT`PbK~aq6>XWot4xRWmH<_ zdu{F{bVC#V#`6NUo`Es8&fIr1wjS<*-s_KHoQ|z06Q7<7wjS0Vx~<1&w97tJ2LI`{ z9(aOvp>gB0i;Nq`lGktRNpw6+zQj2iDn4{P=WVAEw<~dY;C$`vIoODZN68#(;|yd2 zIO6}KvE|&c$gU~qqwu!ra>f=P zu0ZS|)|J#RW#!wp;2GP9z!_VM+I(U+XKZ(4M~&l*t;BRI!oEga3jY~fV!BEFdv$;9 zjlg>$_L<&BNNk`l>Pzta?UF$32{}V2aes#D_fTg(GbM%?y35?h!WMJxGZ;f`nXDV+ ztmMQD#X1-KPV&?(`egdAzJKZ1VJ{Oq?13*EJFGGoJB)KQ*~H3PW`{Q{4a5(dNBl53 z^C|Je=3hfBu_4ZU@|}aTFTI6<_+jNC@xx@DX`*kJj2}jyFA+a%*?{ipn)^&u8{fVFYk{( zt=A#*Yn;rlc*mmcpKp@bUe9oDUgq_{dFGF)EZ;~SWfJ3yd378+aByzbNK9p7C)P+z z<^FjVILqE2J8>rMn2GTfj4{YO8*rArjI->_p}@K7eptm$_a~cI+eaZP~D!?dPFU zv7HRY3F~%=6Q$##Y>4*T2ej|U%V+DQ?S32$g_HO{FSg%-55aTT4#oHP{d*Lv;Gl^% zIt-;P#Kc`DxYy6%$S-@H;tSKkUgwU_eLLIm5B?jm8$JW(a$7&ny2va4SzsI;X74+a zer{mDgE%WAKNLq2yFD~5c7m@0A3q<2kIVVA>huCH)aekq+XDP$;D-1q8z26l$o@WO zt;Ft{j9q~>#nXa2vE%sITX&)do>`Q<`HrJz`&rhM=g?2&f7WjLU8!bp+hAm`it~+{ zTBVr&sNjEti8(F-^!#;zg{!+8K;N!eh&SgZgVk; z&BcJt#fZ%%jQx~w<`MTyu8QF91Jz0_D!at+aUus2xIZ;9&`-^X?E-%qY#4ffB_78? zLxRUC@p)nxTl}3r9BbOVnsq#Os+|v$$6m_LD*ADneLUym=5tCz`n4KoxZ>K?r)8X( z%Ln4rxOMoOAJ_;T9_O5SXt^At@qmO=Z{x@QG;Eg0$7OE+Bp$?zAI&bm3>fevEUSV z&#%Hi_O_eB$!u^l3mg@p-x7}wyWN#KUN8N>;5IEx`Gt(Hh7CKEKWq)m&&+ROf5D!I zjl4w4o2XOn-U_`VQDiXl>=$LMr$ujw#9m&inmluV*kD_SOvz_0GqrY|t?tO`uB`K` zyRc97x{p5gTA?!cOb4_lwA%q+s}O$4StmDRDLz)Bhl?&M@y`z5t8hw_CD13vOi%BWetp51)m(=DWURIgL4PjjPsUm3 zPamT%pudPA`tn8N^TUwwsrxGWfnP@!KBA%X=%Rk$KY6(^`O8BW&!aEu$KsHF+%EmN z1Rwa1=?wlmfX;@+TgD3h2hAOwFK`a>i+DrR5PiBVowcP~uMG4_r!&&2Uq!#*2^aNi z2%d1EUthozmVViOIkT;<1s8bUu|m=xk-pS;m0f1u=zROL$Dp^z{PcEw&Cq;1qz?`7 z{7}AKOFHMv_8~pP`bKCUNWU(9_$qlopf4BAoe&-{R9}V-(U&ipJ8J`d5guLpRgJ}^ zWN64(3?)O~fAHeDf0=pmZed%BwWNP6^z`kQ=>zh*BoaNqgdQMv#%%Ne3p7xQ9#B$i zvDLB9I*%)B9o$DL@@NOVSJq0R!^xSb%t7>%LE8T1V20*zvQFrSSx=9<49x#A&-#kz z_VO>+uMLGYxz^tK7v{E}{*?5k=JtQwudkRF=Y6?;VNW$#-|X*~o_^yp{rWBA5@*G1zH!f%J-SB@{y2juv>h0d$2nW5uA`l|m)AHD+lSM}xkfX-{O zo}PDMp6lu3q(%M(W1uV1+N~P)ef875dCHiK2Qva`L+{?aj4@*$WIfDT41?XrUWWL) z%Q~t6yUZbc4~mJU;lej>$MLk8lE0PMwql1bl>7;1d(U+R#A_?EzuX<|;M~!Ed<-m+ zZ|&c&)pk5np_(k$sO(d>ckXxmX8-<|YTtTBe1M|W=>1yrzWo(fnBTMT|5D1ED7%0s zv%O<~MQ!IZ>nJaI^ChpjV}E1qpPu=$<@9f z4tu3JnLJt;X&zG;X&y}@&12F?^I*fv$>K3ZljhMzlIAguB+aA6ljbqSljhNqN%NSJ zN%Lr9Nb{J+kmk|SN%NS}N%Lq|k>)X7MVd#;B+X;WB+a8uBF$r(M4Csto-~i?deS`F zRMI@Asib+dnWTA4GfDGkxukhaxukhCGie@^nKX|!i!_gE7HJ->m^6>6m^6>JfHaS3 z0cjrXcG5hi+e!0iC8T*wC8T+@Z;<9OeS^#6Zp)*l-@=$|US z!$bQFD~=@WTxl9-%kdi*n=|+HcFMWzz4+w)0Ne9P>`|K7E5s)8zf7B>`RySVo+CSY zGh3GLt^a29=1=k4JBlCSkslWH9aN({3cCNRzcJgb%-?GZ75jC>Dwa4w+7iXu%(ELi z&JygW4<{;KiAn5wH0=h?nt3vZDGSLNK^arL#OcRc%9)?@oOPvfo}7w{(4 zD%NCR5&PR|Y?{gU`fa{)zqKYdM{I3Q+PLQld^@m_C5DqnTG|skmfoH@U*8j|JL}t2 zj;^WW2;1LO;%(x~>D@`6AExhay?-W8I_GdI67hiqr&*l$tN_lX;5dqYW@klh{yP1v zpbf$6LHwW;Y*Ba8uHJ9ngKcWSEak)|xd|NT{|8|L2eJ?F?GTt6fGP3YiXHp4cSj^K z)Af762gZ*N(u&x3Wj{({uo#&a5`#4L2gZ#*SX5|V10FJw=bFknc-nPMPy+kf>_cG_ z1-@e$$O4&1AI`nJU$E%t@qeD>x4VxG*xlK z{SoL~?v~W|8v^}qqmLbdSR-wW?_SDEtdVl|UCLR{NZ)=d-@kv$fAsz9!S9#$fB$p+ z``ZS7e~%yUgWKO8{C;Ks_y1eI|N6rJ==*1a-#^~}{g22i|G7V1_8KvxB>me!dXL%r zxTK#Bq}daxll1=%q_>&9Yb5=)-~M0rp4h7UZJ2UrN-)OR!;j0p&(Qyg9J$=ShtD`g zk89$@Up!Oxf+gy@@X82Pku_uc8PWxB56}x&> z#dnE;qMDY9pN=LmMFwlsV-bs^QWW8IE1FuYl;mX2y zuZURuHn1(rc-wXmxQ@hGZIefBv29p*y+s*ewl7m+iK8;YG2&*$euT2$%Xr6jG{yY1 zkFrPOHrPf|_D2h^wH#2*_K^m~aa4_Uyi=gqcdKE&uMi8yrw;dUma60k{b^=h|L*xY zUAM=Mw8R#g?QPU^*m!Mr7;F0a^u4ypSHEqO_D1rXrmXyInTHc}bsI6D3i5zFf{2fToVGrTLBo}3WZ_D&rkVwwJ}GBgUefamoteb@ad(0r3VavS-c%j#6+Wv~mkF;^$Y)>3T4Bgyo$a zv;9?I>ZNaO^es01fKB>zogv2Y7QboqtvU87+o$IvrsqQ^WiRNlD`Pq1ljMA2F*F+0 z?0ga5fct9lnvT6qMDHKvI-gibzKLfMPbAN6JP|y%^JqM`@PzZ+$}_Cly?b5`!3X0_ ztPj#-+w$Z$BY`@f7~ZVs5vxnjyF&6t`13LXdE+H7#-EoJ$h$`JM*8z62lA##UaUVa zCy95SE{X5Oxo+8DY{f~m2QsNYUYFw9^`=^4O?52X8iQJ!c zKQXP=w?|mzzjdm`cE=KP4zUN8$$9@ntdTxlthClLKj$&#J)BpUvkdc*^^-_fs+0OG z4|v~@vDX#ruAEw$l4{u2~<)`ORf@ zPv$PEV@&UB%PXsUim{zbUL$$yc%R3+h4=Nm&*A-tyg$x+G4D_C-oX28-fMZUvNq&bI&bl_@v*3to?AYIzyBF0p?mYaj!Laa^hs=7i*c9jjF_g{`fO^x~JhgYRL!KREh&< zu*5g_(7kHOv$R>v`ORMq3&v|tb%@RJbzo@wuF8IRqT_n#;89(!Cp$XGe|@{*fY6Qe zi2}P5deOwUA`s(q32E8e{pDuj&W@0nc$5w$kdH(Vmxn1>>u7w-518 z@h3fysiHe)@ZadRy!7$PZ-`aWI%CN&J!WC1Tk)<7Q{u-kUN!W^WlXo~d@jE(&v_Hi z44x@G*YQl`nZPrSCyi$`PZCcYPYh2KkC7*$F0X>R+!NDtPR>YYea(Ay1~K!M*WAlT zR=G!qc}=ll+}X|(8_sX|3RCPbetBXe_>EYxCEFjTddqZwoN9r~PCX{#lRBsD0S|lf z$_m%#E-8F6*Lf4^d`bU^H1lK}=?RixSO*&1| zkCP^jxRG>(q-#hM`#p+ujHK&GGl%XZefOR`=O1hHx;tz0oTa?KQ_Ec=b6Z_S5v|VK z_-5R*+kF34uJbJUrzQO-(w(`^(Zmhd!*$TT)28^uzprur}|7Ty>YkI*~Z`LYERRO~x=+=cpj??O_Phw3lNuMjzDSr}~wPTcKb^fuPKDFm5;cBz<9e!hL z=m&XwB~NK~70qdNMTE8PxQDv}KPKNJ`G#iaUwQw~U&eWu_k-DB$r`kFom>a+j^KE$=L_ zmFcr*5hD zTs`%EsCZp-DBq>(^P#NBaPD-J>g|hBy~0x@eyVE=&r87d3URiDcHtxL*U5WB^`3c? z-`%SB#9rdI|B*Q9ovQcLJLKV$L7iUTOU72;>&Dg&zH^lth?!1X#<-mFH6s_hCdTC) zf5ueh=Dgd~eFZsN;0q_=z0N0QHD@j>lC@l~i*vEuS>(+eKg;e$K3&M0h+Qr~PxeS< zql~%4$@>}aa-W5l_q(BiReRH{%UQ2DiE&bfkDjKObG}LbH^-%0#TSD3HYKv2k=SqI zOUwUWV&iR4YSQuR5Fe8K_vJSZKIS`Z@cND$yh1A~@sZ8o&)F5$+LWzMa~&`Ax=$Bg zXh(D(&Kl+f>%#ArI~Sxb#VdO}^8;;`kw-aiHg_@1+Zt;zRAmG~{i zp8Orveww%sr|{9*$alUF){pt(U8& zoY6>JhIoHDea<90UZwY8L>*8Fa3t4&&St>DKM1G09a=i!+ke@eU%LvZ9?z^e~&bqvld&lR< zJS`U5iVOFiNkY~Z!E5I1$vZTk=Luk`r`%29+$Rw3?cPh?A9?O0|6ZO>-rw1iclbki zQ*~Y5;Z@YzMf$HikMh2pGL?0ChaRfS6FZyo-{@XX)#YU_3DaeQLabn!4=2U}|8+c^ z{d3Krttq_!JKQR3B3T>Bx~PUVldOwmeWM^>O{|L|S$lYlnW9(3RxHl4Od4;tUxO@u zDWlW2e*AtL@%bHD{Fbub$cnYtvhbyqGik0jW?{qXdm|{*Qd5)zKR`cw|M4l-O$pqC zMwt`ai*qi}1+;p$ju<)F>dsw0CoP(1q_Uy`_@@j0>cQO;;ohWlVt&;tH{_5< z3`x$vP10#WY}`dWqPx7aOzi8ky_%ND-ET_H-0G2wO~aL()L3POes_~4+?#I<>&>d) zWOJeO$l2Q_=9$Fpa4apKNq@OJBC^tqFC21q(Fy#zz5M5@pRM2XRDezE5ITK+gx|-? zwPit$R-{FxKBg_srM&pz1DyL`T@8T6gt;#)&}SAdO9Z_h1vtP-Pr25qDB z#_z&E?eo&Eh8T5MJo(~J7z#%r^&MtD&l#dlIo~Y)hH^ii*c0V`74G!%o|r$|dyIaZ zSU@|>lQEokbIqAetTQG46nHponeFw@x0{=tb87Rt=Od4I&t{Gpyy@Yynw{uP-OT$8 zbvFEl_k85`9OmhK<}Lb5H+qa~N|^V;yf%^-!JH_fjLdEHn{M&OQqE_K{?|0jY|lK! z89c_-6&I+VZ)Z~Hao;TOGsMV05i#34HB8xg@+>+uc0A>YexJiJ_z|XH(;H2jvgT}H zk7kTI=7R6xIk9zwl;34A9*}QVV-IZz+)t?c9^R1?@I730k?)}beByhk(T)j!$?~hU z%@x>Ob^k;3ST}Hq|6vp`yY|lVXme*HH+7n10o#j0% z>9hb2#xbsvo)}192X0A+((V#y@D%d2;}3otP7SbNSDWsHPgW!;8$0&+^Tn33<633< ziMRsp&nWOVUfp5KA5L7wYl-pn644c3H+nZtQg-_4xufS^9@ck>(5)6&gUpaM2z91* zb0-UOV6)NuTFR%Y^-6F)6MDWvcn3OSH@c#(pVzL{^~^))nd!AZ%pF_H+6=w&5PD^L zZ7u1#T-TIYUUYbGMs0oWjo6oGV9OQWE;_lu9}E23p>J0`v0LGpE?|@Ps+k*ebHqn4 z-qFDO31U1+pStOr33&f9w!_wAOvuhxB0U}B_SuTn%ymkm`Aql6%va$pCf1oMXJi%C zqq&q4>_+fDY)3r8&pa^&-lZnacp?kua~69TeRCUQ9a&eHpFYAluTu5{oFkQz+c;PG zC*f`IyLRw9qG*KUUCN|!{$GXG*YMpz>>h=ul#;jqdqr39KZSjWch8q~9aTq0`P76; ziGzGA=Okii|Lr_&@e<&XwWCjLCd8j|8e<&C*bnMO$2m%SMU`bU3&Rv^22ZszqOu)6 zfxWD^m~$k<$0(zA*RtL^{O}qp2{UNOO@f3ZNz_*Z-~|Fk(de(RA$Y@W^cXb z3T2ec(@&pB($^{y=l0Y3q#S8qO@~+2*4hfd`*=m^^r=Qq8|{1qOitrS&H%@vn}q9d z-CX&dnIpm9WS*afarO<^Y6Gy9f95NBG60*x`$*s-P_kw6Fmq16VR)tU8l^ z1HQz?M|>sCLHuyeSMXh9jIk(T=A1OaPnJ?5_|508I^j(ZR8A(|XZ34>A2%>;QNns- zfZ?f{r))=6qvffizMZj&=9zqRAm2b=`Q|Qo#Bh&q>S6Rlu>*7$UBTWP_eG4u_ghh> zy51Ce>b>&B|_KO&!@UN{dpSn<9f&czFo@R8<+#kP2_0O$qy;}hX4Pj zfAT+iwmwIgw=?-a9iLvMCc?UC7W{*~lc}SXo#Kmq0vUN6*_%}LaLXy=h{m|DSUI&t z_Oj$ZkumRccJZKLjK|E_br^^P#2D=xX0GZWM(%v{n99WyEtQka_FJ&sRidvPF=l5! zg&uPRyK1KzcQ$}QV3hTB*d;g0&zL0MsUt<-CN#+et!IvG}x{UA&_>r+twT6ui zvwqCH2^%HxF41G?%OU>zNxWa?_eITbJvrt6oKXI$qMJFTedMvsxx<_xZcR`&{^fMU zbdhyi*c(%!cPILTs_(~LYaQ|Y=bMfr|6T*nuKfFRbo<1@IV&;?v}|)Y@;4w)b(xF| zb|Y8KB7*}mwE!7xs!woC->Nx+a`hx*(I+}FZD#(Sn5M+q)1Xh$kzFrgZ+a8i9OzTZ zSnedNNB1FSbH@k${Jog*5t?vAS3Q3$@W-;KU6+bJT1njURNu#n*Y&!}dTen{cUOV< zqA$xtezbq6?93129PK}plAd=8ymPOSbIVbcDmrX_G%(v5?l5_={=AGpo*AAyFG2DmE5%+Y>!cpmi0)U6x^KFZ_MN4LoDEYw_xy!1 zXYQuKpZ0VGV5ur=DXuDSk$4N@W36d{|KDRB7s!|RGFr4h-w={7W2=qy=NBI6FJAy` z+&qn5OgnmhnZJJE%LG2|Fl=?dVQlS2205`c8NNg8?;6(5#wnMKiJ|Y~-v&M3$^1fB zIm>u1XHVh;dcjHLR8z z^c5{sUs*Ukpszf7k-qZh<9>a`^?H#v^D1TMj{4+27xM8eax!83hqfJ`uj$(Hma^-O z5Idg_S~tAK{_JdJXC@oA{`m7rj#_Ziw(fIcBq$CKysT!Hva5zXnKM@w8aIAg6qi%1 zaK5znTC1D2q?@&ci?xNue9_vk@$aib$8NEkLd!1bSk`-P)_VG!Qm(ZMudJso(f3{# zof5p=b2a<6_}=`vn*A~OlXkwSi#yc1@S*9fCf02^XPbQyv}I&XiQcI5i0xsVM`jLj zC${XVOFX~7jM6M|>_5x-77oO|dU{WqzDNE(da3X|IqT9yjK#mP_nQ1`W#`|~Q8SCo zIUU@`di?HiZ>Djj|9&I*Au=%DNBzneb#EaBcAVcHCRZi0`9P54+mG25G_Dy=## z@xPOGsPmP&JQq5;>t5i!dp7okWACM@aUP))flJmL`dR`WScm?i*T?$#@ZN0e>n8tv z*VKa7R+m({6X9`+OZz@yeyuC6_Xg=A~ zK)%G>&wW&}Hqei=QKnAOaZ;p6cv zkJFZ{4R2wLf-s4{0nSuO_?r0jV8&oJ|DS@-ifu~a{vGEV;Nwox%fr2YVXsthrDgoZ z)-jAY!0av082=ZWk2n>3z{|c7=GOg*=GM+D&8_HOdW;|8Cs`r9jrCXS2iSa5vH6A@ zl=xpKvTye&<5L~(?bsHfx7ks+AZOoL&6;7lxw-o+>wI5bUWRE-bGNY`y|kY9SUA+IbE^puC1>XIK zBCPE{Xv-_4uibme|08RusQNtj=waLqd3}y=+%WHn%GusC56$K}0CeZ=6Rn#^C>xuO z8xDwFGDA}~?kFm0kvk;uJt*0_x1?ojQ9=u2Fm)&A^IX`k-0+o&1!2}nj}=xu$@oS> zM{l9?J&0a7xTdz-j`qpKs8*iO7>K*Z-iw>@5nkzokDOr6oq391>|3S@-~`gX4h7ha>=A@5&+*isS?Pc5%kY$Rp+!$NX>M$ntDYb36JBkbk zl-inHV((XqJvwiMb*Q<6OQJd3QIz`M%(MsT#MtR-?)IZt|v;7Z_- zyCSz!r|4X(Zo$dV)+I&a&3-mILzDeFH?r%B13ci6(>&8YfF+;IV zdcb^v{-3-+|0$QH|4K!fCb36^?mJEe=>7^n-OK*+S6P4g@r&!>7zJ%u0LQ9$C$$Yf?X4-eur}XLgJFFhq2CrBV4er2?`;8)RB<18B!Cs-u3cf*4 z4&+tVQBTj}Ijx$>WQjB>t*&b5lR91SNBGRl;v*5$E9keh;TY6LskAYue8(pd)4xsm zIB4et{5?op*FanTu~c@tMfb>v+iZfaOz18O`@nl2W3NT9zPF z{PXbF(4blL@5+X{hSZJ`+`G*BC_v9vxo0K{-trvtYjqN9{wtK7y94tkh_p1>S*F$dkuK~G@5>9%U-Vh?lC3$K+m za@p0)r?7$Z>2D&RpYj40q@D z%gGG^Ik`dPVyJ0K@L6GV2Uy8C+>3PjqRC<)zcOZf{9)WTi1a#`|;1@re>% zW3=Af*KdzWc04Wr?`5sbIyp^EuGA(!&z(fc=#b zybQkIJPV!_=V@C4eXxHn_IeloBCh2Iza2?0o9wtDq^v@{dRb^*FMGDX>|yL4Quj{; zHtG(p9m?pB6Cac%&`=PD!>rj3VfT395@o+m*`Uq1q7Z%~HevYlOl-n#`kght!)7ng z{eKtgc4FPel~mb?jZW-R@Y-d_u0pagS+y^E$u0T3AnY7^iPy%JKcgc6n zzIm3Ljx+w)JX)*SpITbC4jSlRSH#2LPGBzy)^}X$GS1ieo9MDjz5x%TPl6l4!8&Z} zrPN<|7cvMOxuGwycgzD%^VB%YJk``$Ou2merSEgYTkQ4U=o6UKLSRCMh;H123>hGw z=xeCH>=Ap=EB!iiPl#>k=_`OyY(vC%aI@ZwL>84S!8SPDWQjxmcJBt>Hy8ur%`&HY zE6lX}Ch(tF(-l{d)ko|)tDF6OlZwqIT$ya1jh!7_GTyN!*0g?HTxDGmXr~w*CfE)> zVy!*k!g4ixnUr6efgP|g+f&OPgR~z%RQo~~f%fAEwSNLzgTRo14P1l&mmL~rmA$i| zPnCVCaijF-n8-+En%Mi;h`3-Ia~o&*`F+$Z{LN=fWv=l3CaJslRP_dBd#!0TYW=E+rly~YczW>TNRI>b4yCXc;-oo@u^NkwM={E@jL z^uC=tN1S^{2W-W}K$Sl1y*o#EUIwwcT%AeQ)ZW|r@{LKA>7skvn@G!%T1M89W;CghN>-;v^@s_|0zjd+q zbTPk8a!iM(_m@v`vV8nk+&aSfv2xxG{$&0N zjpyh*E%`!Pc$~~j7k6~Y+>EMKtYc?a?%2$K#2JWAx$IPSgb$78bNp#UC>@f{W%rXc5Je3yXJibbq8hD9%7*u)qlF$SA1jDhg^OvYd- z`X082*gN6vo%Hi^I@Of|8@Sfc(S}+(>|7aGJD^hqb)i?tdsyFt9_@IU_o4QS<*ui; z5c_Kiw$vo_x#WQTH52=5ikfm^zu3#VGqk+y7t1$QtYI=k?XP#t2-sg&Tx5TJ_{e{@ zUtA5$q5H+FBptF}{HUZu_KTNGI%L22AxWq8?-y4}dLro<-_D>t?E8JbB(wOllqXsZ z66?jxU9P8sHdAEt&@27>jVBZeUQiAUcq?{^bqk|6`#~4Cj)hTZ@AROx#~P? zH~z6{e6P2$BH7oOl}0%Ewmn_<4%YNYJFO)*ySTRH^aKf;;O9j_Y>;A?d(t9GJw$BQ%V z*q*uDINvJv7Z>~6>^HE7V)X7{-7Neb8$WAiqu8G}WH>or1Rpz`OUz2?lR3lMMB5S* z|KGv9^mOz+<`8MUpSQ>O`)~f5-p_;Ni_WSoiLzFl^KHob#dxcW{bM)2RG9)x#*6`d z)BA;v7F=^?2pnZIIA??pZ?KK^Bm8YR^Yk|U;Lm?mdH3o7?kBJZjBQ@pmNvR`2iV$m z{E59Cndd|1g;8d0I^#tf+rYzN=CuMYHiQ3k;(Lk?u5=HSvG11qW$bD0I@bHmT?t0& zxi|evEA_p)wn_BNNjg1UK|MM>Dc4z715-!P2R8vbgONQj#!v1(_J4ns|9i7vPg?>_ z4Ci|t|IRA}uJ=@)rPQO-Nn4b4_Hp6~0g zG~f89m|BZv&Zv=AH@w1yJ}>&2{%y;kZ;9uiw-=8r4qvZQ(3wTQTHb@UmwEr90_ZbbGPrWz>o9KqV zajM-X@w$qL)y3FLjN5VKU&V9cK4cjFy}EA^c3u3|bK=Ky_gR#Fjxs09pv{Pn=zGKc z@hbL$OrAZ&M%D0@O#Jk*&)U!pvB?MSjZSo&S%JL77LU%jOXiB$du{+WQ@HsvcZA~I z%D#fcB<`tR^P1QVIip&VMZEipr-?lrsIwMZcLLvD&}osSN?2{KepdiCv5#rP@9!Vy z_!I9E(@xG>4vx15KJ-{zz9_|Oz<04QeZ0(n=xD69dmM4gz=cBpSAfd_^wt!lH?dhM zI=vYOmeKD>hbA}Zcccf(oS~ls>hbfdV{6mLU8tw`a^rNaw97S2*(GN>(~>z$tg+_A z&t#h7zhAms_ha*)E8fl+{D8f~Htt#BtV8d;tZ8I<`=U!k)fyvLch06w+_;@gIv!wr_7NqISk8!TJMex}6l^VJ)PWvFrX z(L}tyNaFTI5x*~*Scb!iCu+0??}j*q-;dx}#wqj1f-|!hf7q$mewS@U2iDrd@$1Hx zcOcv<_WnqGGub!GmUa5vO#c4`->^ph2eN7mHo9ciz0${^ZN~^rzC2NMX0z8DWo|t? z1z#a`jAuy{{;k`vd$T5y{z{B^Df2l6Wh=a=&; zU4P*B@mzPcxwT>qHi@n_(lz9_^UHaau08y6=BsNjzxBD;0KHZ0yREuG$+1g)A#jfi zv^R(L2KP~c7DMr0MA@tmS~wG+g{{~iozOy%4y2sW!41^O-4oM)6~MXp8egD;8b8j@ z{wPQXH?|-Pbvg)b^IqzT9->WXX+WD&PTEYkT$@gRoB#ZRHtVVDXm&r%2m84MJ`~zd zDJO0A;oEk}ewruiwAKCvZEmNo_X2J9LEGLSZnc4JN;$c+^+Vch1-Cnc^o*VP0&bi9 zZT=+CW^&ck7U8in$AqRbze1W?2~EX+MfI(MMpskc`Bk^T>lVQC=EM8u!2{cAb9KW&VxmF!c&Cbo}v~Gn=qgY$SfE=p4wO ztPSifvge)Mqw^tS zS&a2XVAkK$M_S`~_n_kp&;gppiO#WMZCi}>&^W&?aV&>e7^S}k*D5$SAYY93^LzdA zsx#B!#q>)76vSWnF zVp7A24U^L6 zi4Ro5io&XIQE$hZ!YbLTq(7Ag+7&sd_s1)Hj){)UbBaAHTJip1kz#*DkGW9<-U`8A z0krx%J!ZGW2^H9isju1~I>^Ok3iyw;%&Uqy$!cc|^mo>hKjS?#c2jqhnuXq#tj6Xw!$NNj9Cu1(U48dqjlNDlP$yFyPdKl{xLfzW~$kH z09u{M_i`swHM;Kolh+ZOAl9>C+K+6XApbwb&pYh~?t)?OQ^A);%G^VlQYF^2@OrDQ z*A#2vekn^K{)FTBf3m@7IgAgme$R)hSbWrV&-I08#-Y2#fX`lZY*~+R6$ie;v7N_^ z*E>cUVlBO#&v#-2OgFUUsY+X3#<1F4(Wgg_Qhp(RBVr@e{lM{2=RP1$4K!8CZyUd_ zRz1{W<@rU`buAlsj?t&1_+WF#h-WK%%md>(;d_TI#0{O>$L0I&Aq84Mw^PyW4E7yG ztjk%4=z2*FXCI3c>$aKL5|qHV#Eif2ZTDrqP3J5m-#){)`Z}n_guhjcWmQNzo%Exm zea3L~x)JcS80cjrbQ25xjAGu!G4H~xr--?A8l6t=ED)V82O9l5^UQ{>BtB2)kT=g3 zg;}4kF03+Duj!IAANcw^#Mga3eoxidA!Sd$62B+zLOCG!Mpp;?o+|KrVh>}g;P@;u zq@4NG7&F?EyH%fO2ZHB2%9m@K#pk8WP?KjG&bkXaZ)3c~|79QYhO9TmH5=*I-g9tPFc1M+S(O4+LFROpeFdM+}G5EueRJ_*FgJkuoth1 zFAwlbo6ZR}c>=F{vEt2&NYUdhE3E6(48^*d^3n96I*EIosJG9k>b`(N4|0}6>I&8& zaJ#4@ST{advCav8eDo}4E`pE7YD1Oy9qN9J+g1In^3pVH+r0k?TvU(dULn&7WWLL z^+{;lM87MhnKoy`XL~rqpU(J6|F=x$POpi?!e9-v0-S4Va%UQHMdA^t9L1d(SJLLFKm+WH<9v}M}U`+#7?$HpMJH^@1gUGBt`d#Be&rRaLxSG68taCOc zBJ+?NB0t=mpU#G6vfAYiQq?YdO5JHn$>vpsRp;pE7U;5w`?G|ep`~SqkmIMoe;;FX zdR&D4B=9yc{x<-#8Ceb;ER+AFOa?rS`TL$;j{feT9CC`endp!_NxO=~PGVqhPqqGI zg0k`4-DdBz(8Di>DY3g#mEIzB?>7>a1BX~|*K7~7);<$v{r$s?&kS>G!vuWYhb8Ib zR&%exT5B{|f6ITHrOvpvyqfxk+#SR$G;CE4)Eo}C*6t0r{*wQne^c>3$Jl-gSXM#9 zLHIfb!P5dfyO6_gfQMf)-mBp??aa?U?)}YTej1pcZINRvTLbWPth}jZ2lOMf`h#&< zn`?Nqh-4i;Svzc!a*Rs{{6OGqtEC;r?%xaPB1nNA?k8EIq`>@-WU5w-PH0I@n@FwlNmvFUoyzNu7?B<$Y0G zm4$a;Z<=3asFJbFCeB%@9bZRelKUCXa5Dyq+MX-)bLuv;SH{70c)tDQeIkn`wiowg z{hhMR#{sl-#J4LW0IQ5gDDH!J-kqo{s|6mR6HQI%+=sn(-KvT{;9dBw08G%dHIlhs z+Inf22E(%zKjfd{ODc4Hfxk?xSu_>=xxt+iA93L?Y4DPiCVa&hzjPxuw^fF!8e++p z8WTLC>tzaDlrh1}6T<@d4XepZ{)ysMD6di8LOXJIAQwj^`hm`|f}axG%(d zC-^5%zk_!XeN2yFt#D$3^$@oFLM6+(6}xTIbmK-nZO&w^7wuSrz3_SR^s*&^vd#%s zm2rJGm_KH`zmA%#ttxdqMZVZ5Rb;6t_|8}jzQ zA@AttzvcbReQ%hci*}DQhT#nDU_^%YBo4I^PKQkDM&lup- zvgVMrK>};173gchIVtxn-bQ<}cJg9Zlr>Ndb53OC8^;mO6~2SNmi$)$|2u+SBl=~}bmACNcNVf-?&Yf)FK5-_ zJOcr>B)LJ^frT zZ8kDjD`x@bPU-dA%t2#oD-BFD0?t;hO1zoiAE9Z&N6sgv4F#f06Lpp63 zrN;`?$med-121r1>J&KGhdfQgS8^LN;Ur^yT=*d4d5X2~^Zft*HqPmAAGUv8T=QPA z{C38%i+T5YjJ{^K{$*uhRRwjOqL0Gs#xj;I@U$J^wPHjvcaDc!r>pp;!c%1)Z{>e{ z0^U2958T9M5*w)-edad3?KnqhelcrHY{7c$ilBYhN#DBZSB7(>HJtNOqC>uZEBfPg zoY%+BD>C8a6l_p+1$~XavaWrR$}Ts)(*j#N?Ogc2Db{+DvlRaCrnQvAvn3`Yvsk{Q6|RB4>Ac%TD@AR^M!HK}Vo|&C?BT%=h~3+W(|( z|GAw);)D_VSoFde^aUgR8Hc{T$A508<_~7?okELmn>o`K$Rj@CBJ!M1n44>c5mPJ% zJ!&c6jziD;02qUNzQYx(tS=r%ZNwK~^b#cwr{L9^Hl@>|EY1n|JR0@TW`a6)2EK8 z6kR{i&IavduC+0wou`H>^V7TmWnLMo%pG4FP-dw?nL3F+Z^18fKzpAW2EcUgrE6mM~MrWpk*^e&|xA&9|v-jMj zc%P*%lbT==-9Df3+QwM3ezxu>e#u<^>qD-_(zd+si&Cb}hnJsu9ef|u>^j)BF(k2-Z$W;_I#qCn9AC)!p{nDocdOZpuSX7Q$lVj8&E7^s0=6IaNuj64!-_S1 zIPJ?i>kzSm1up7rj7hW*=fgXlHujUwrHxa>D@sF$ls2A67u<2oH%-=rZs;PDcu2M6 z*-2-pTBp;fS|3Yi?=mzGx|;_bJxU&HqIVVln&{O+r+-a!`xN9N{!3c-)w+Fl$AlT2 z^HLA&mh)c5@Ku}at~uOO z9H>L+I*YP$=jpkJ!l1=)XmS{|83B!I@D&sL>jw7M{q|RxPczsfD2Gp+V4O}t^ZVAU z>5`aCvTkZ*Uij^<2?Ok|=yLu@v z=4$`iyew!-yc)b7`Xk`^d8^b6Q*vDpk7eHw1=>{4Z;jeC(s5hsKXpc5-f0pYsa-Y&Cq7 zcD>STNLNa1jC}*Tp4fHHG9R*J9`j8;HqQcRZEAYRx5VxWemnL`|Go9U;(HDG()fRv zd-u4gu5;mk?-`XDz$+K!qTG@=gSmPEQ49m5381+t&AkQmoCG9Eo20p*Ndd`e!7-_m zn3zgF6}4@gNo`D{4KzJfv^@vo>3KD#N!pzA3Yxy10TVUe7}W6lK5Ng$0nxO-^Zq`c z-yeLKz4qGc@~me)>$$Dx;rj%>-8NGT zS}WOOXQ4&!39k(ukocLe$UGR!8FYCcf5{!?MFrk-?7QB%_)SoE`54v|--!*}?>GbP zdX~OKf4GTQI^cn)A3cx-c%9AAyrr#!Lz`2s=#K7wqN?`pwIArl4XvZ1H;YHh9AOg_<=@rOI6UPmB<4#C&O#A26E1> zILX<-ItHw{zNO32G)Ts2j_DvUZzmqlW=s5DFMLP$ zGW2eIe|PA6IWv^rZISUH!*b!zr}pZDTgl%rpTU6)`H-S zr-i+*mVKBS z73W@u&a!|tpHE-22i7~zT@be3H}OvBjlivPtfBW}j|86rW+HFx`fqXpkDch|9t?V~ zi5K)AkiVp!X7;*QY!y+HB~ywibkRTc1#_ zbX(B2h5SZV*{Y>p<*A+?DhF;0D8E!5YN123QjHwiD!29jFb}mZXMru&GZXlWej%Oz zlF!;Dxx2CXiB90*&I@^{b%}}XAEW#@Fv%A8QPwt$$dF7GBv2^QOPVUfh z%>3P5=!((bd-foQIopZ(F?EzzwZB{Ql+wP2tYhZvR(J2Ydg4g5cxrkl0W&)^kBhgAp8YmD;+bnCxNFYvzgbC*}{F$b}Q z>SL!vg}hV*@j(=1V$$v$* zqvn^C>sl1!?&+MWwFSPRmF^|(PM$TY$B7P|xIaC6DC?=I#=fdm*W*7Rxvc-|M%$vz zcjUJ^?AlE4xct^vx%*Rs9F(a?W=br{_0x=87wfaR$Hd+}z`Xmrx|FMD%gs5pda}Vw=<%7i>XWC_=i~FozmT|+Z!)7MWuLxU%ZhfaUbsMOdHe-^ zU zhiF?iv?K_PuRve&(?gQ$Lvn>As=F?aBtict7_{%5AGo}2=m0lE`&w4)&fT!$_qp$k z8sYWE<8!#;54oFGwCA>r(za}huba0qvTj~my4CCb{wVJW{O^8)Eis?JB6vo1_YQho zl?6|Wyuh;?*ayiUEIE%nMVvn_;{Ga~jOb&Q;SV@^%Hz<-(k9@O2Yk}_9d9AtQwBPl z>Cjtrh=J>oli+*p<6W(p#Lk@d+_*(o>rB--%4Ihy31= zH@I@jSgT58x5!zp9Nu}Hyq7X7vP6J+;-9fCPuA`#?vk>0I_)PhrjO1>WZSQFVH4w~efICuf1g zD_H@Z%HU6Y;AcF5ZhupuH?PXkiVw9%bdox;?{|Tpe_)<{>?fnGq=B}8x0=t;Z!*vk zNW8Kp{%2RsX$1yt{$mkY5|hTJhsH%&5oKbdmUbgUV=QBgUT{^~#Mj!>#W>2KAC0WH zIsYd3>pa@+o=6C^i`NVAOVhqE<44_WzT8wyNsU*)P~{Eg5r1-NLch_I7YKem?%i#NR-xqu9^W*w58>y2j79Mr8`! zUiCplwg-MIvTnt~5^H4Udg|Xd-koUD@vi;EaOAzvE1mfW9g(qGj;LJ;L1w@iPR^N~^j1FwLX2cE5oQBM6vcH|~c?KMlG^WOaXk|1ssS^)h_?CY#}})$a6Eu^;^S<_G$TYsNU# zUciSjtuB+8X__aCcEi_S?iwVTWjm8SVn>s{b>wVSFLkmiyWXr*H`$X)9l3`RO_|cG zt9xh(zNu!NmMH^utY%rK%uDW3jq-hUt=tDl^o8GJDF9#9dBU7<=rmH*-H_GlZV2!>%)B+mc-;IhG%uN}^sV$DsR^Eg{5D`Au}y5gPt9j^ zB%SaDUGN(pnPsji(x$p&w%=&uSV8AZ&wrZlTha#J@1ZPJ>M4Axf>M7&>uPX9Sb;P1$QpKCv+<019uMo^X^ZGkNhxxA^3;Z zjk?V%_q7kBM+r{S@B<-6@41=->mFR-oom%r+D7YRy8agNok-5M;_Bt+v=^M$+O!9M z64S1KnF=inSkYgS52Vtv^Dj1Xn^cZ1LIz4$X*(a;{D9TwZnTyWk08DWI#k-&@a)AX z#epr)@C{4s5#PW~F`Q%Asx*AK8fAZ^9a#4i?N*X&#eq&$bSRZmcX^kR|I?=1eZ|B* zmH&QpTZz;c8F>c(t@L-Fb;S7B;pf*ABfXO|ud)A@1C=p0w>{0}U76&1smGd|8I2#b zn>g@J?(LH|)F=1%B@Vo8eA7A`ce~g3TaR;ImCCr6sQ7>h;IrK6PV~K?X>0xl9OK9K zzB`xsCIPp~9}<5TyI&)*hC9BEu9W*>EqsrxzR!s3nCN?)`G{Wr9BZhd2NxMt&SLL1 z2AoS6dje(hUglChhL{HUUmEwn44im~HWY89$GaPU4qUA>dTpb7$y*TXvqj(DD?S0W zjH4cW>JqtAo9_AKVE@|2?*s4gG42H7K7&u5#uXy}i_Kc@AIF2=*#4i=@T0hReWy#G z7JQ$G?a~NO*987#=HTBHbOo0pFHPG+9-=>Sw*A!=B&I%bH=^9dy4{^(xA&}I9QNnR zUwUG!<`J86;{^P~q#gVRnjXbw&;3s4bCJy}uf4JxB2JSh4S0ngWIgz=6Z$s~4^*vO`Sy4b9kNii>yK$+|I&)1M z`2KnRj@@frGnc&~v9<=$Amd&fG?II9d4@0hyf8Yo8(1&dInMKY{;PX&p*l0A4tIU~ zt&$(t@O2;LU(MdT$iEt#?Y3G~JZ-O{Ax_D;wzAl&ZC{K`SN!a_MG_mU_*vT`yXJH| zyYkt0_){Zqu8{Wdzs{&}w2B`%{i?H3>AN?K3i%@s&bg@Yq?6dIR_s;aqNnsLn^-vJ)d?3Uzg`yq33_Y zh9l3|zAK?A<=DN~$n*aWJs)xfSIhHaBmQnVd#f@X-U+?9O|Me%LfgR+iOpF)>L$jJ z53jIm^YZ$yCYry+zIWN2eTA_qXP=Ed*#9XxRu1aH{=<4OayC5vA}wgc4_@M21b(Qg z7$y#hRk0lZTK0JNL*(I1(6))*A+U(OF^l~sI{P2;pSUc&R)^2|-`~hVcK7%jXiM@! zA-DKzwO}9TqyxQz|9&l)9QWKyjS=`C%DcCsyp2}Zul#pw!6e4C2K@Ao(pKx=+$p|> zt1b8Pe>uJ#4`Bn7GlTqUqMNpH7CF9SYYsFpUiNzyw9szHuEJcz9w6U{kHRTr@;%64 zoB4f0V!AU{M+S3Zf7ywT+fR8ae*OAwda1Of$(|;LS`p6!bgkAE%w=6#?$goZXudN1 zO(mDfA@YAUvL14WL1@0nSpG8cwY0hStkCfRONM`$wsy?< zRqQv%b&=WbN47$TozHp)_O<%AI?~z zKYLT|H1d_&Dv$%wEn+t+wGZ=cJ#s+j?lGPebYy1_<_EX3_j}7Ua;Rc& z4vYn^$AGi)0lDsWZ{P_To2}3@`Nqnyym`yo%vNle<#-Dv^p4**ksmN zMtDSjT5FB%Dd&8*Eq{_&r1%U2dx5(%KhBp)jQld<)eHar0dw178F3un40IbdkNK_+ zowu#N*e&>~5l=iti|<*%m~7u2+no8_9S5e(D>{&eUdTm^agli?ma|3PBk#tfzSUfV zuBXxhJXnh^^i|5&3BQmu?x6RPD{*rDS8D}+UvS>37?VfQx9qN)=RZt*Bscr)NBphT zgDG!5lB40D_y%z>%8T@E>Ygd{koZ2F^}dwRdar+~M#zx5d5x5(wBREhi!LYh-H-WB z_Cwvx`ZhUhK9{e6PUe*FOdCz@ho|lFvX3mbByN7{NZ5{l0{A z+IgSX|K?cgPE`BvB)qq}qcs7Y1o&eQ-IdJ$l>@_97azXcoRJf{u~Yb zmYh^gz$ZXnD#?{4aFCc`*_2IuuJ#?tH_>f+4#xa$MMTq%l@^i`!uqD_bhv&wVgIoHM?8(aSD3XMyFmX zdPGYWW3OdRxIZ+frl!^Wwq0^I?2Z;+u+?eAWLQy$FW36~U?;eaFZN7-v&1$d9y)e- z|5WCpqwm_UZMU(`eM$U|(t?Yy1r?)@sbyZWca-mzwAY#Ic~sg9eODaAI@4Yzv75yv zUOZ7~xuHXRmHzsePmsRP{wP1l{laZ0UM4mYaCta`{rYi1jmQa+H~5-u%ym7nUypHj z27aYn+heKbpR3-BI-4DhDcZ z!1dLSwC=BZq&3AdzFOKGm#*Rvd&UvJIKa5Xk4bdCXE>*45QkQ5F-dL2Oh>l(g!juh zbA{J@m-r*Zbp9ZS&gUfO1F?#HXO~2K%>C8Qd)EkU`vZ39d4>T?|GycqbO6U0z|k27 z$J8b0aYArR7C45!aS9y4dlQb%5FDkAn-~wc@xhP54}s&^Q~lddgpHwvG1N`fx8W}{ zXn&_Xt1G`qe8;_V=b{W+Bp8fL;AVOHJZunm0CD3r=j*f@}H4Putw_K3;&Hr;j@kFEelP zKa2xc#9zmiW^XRC#_jdb7hE&$#fZ(QyHE>0NI&6YsN}AeK03}Fn2)Xz9wJZ(Jtr32 z1Jo0{9J;9S6PvVP)yI~aBhV4a+ot%3>!5)tuHg6RPx|cyZfacIEfqaS(6j}+ez>iD|3){*xGF*;f|uavbk~;K3Tv+>`Pjz<~af^W9fS__Tvp>65Sg0$MJ0ETR*U? z1U{W|Mt!GlUhmO(Z!h)z(}V}YALzq^8k@8+1OF`6<{oQwPbXt(0#2_mo)+-q!ab81 z-+5v#gs+jbV*?)pe6O=M7P(iznw_9tC-0B^uQY0fludm7~?I* z9V6i_WDVg(wsr~a2*dI4Gez2v{qO|mwUqle%N^JlpKVosFSP0?$YK_aS9j8msmU%R*UBq z;Ql@O=`7nhubewd8^H;Ice!<>r{eGk&kMX?ww`l22)tX>CuQGC&4KB@T{K3

a>m_$T1&6!g<@^2yy=UG0M~Pi} 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

  • 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

    ctUkzH(C9u%YF<*~j?uR393py{2BDVfSHO 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%0A8Nh7*?2FoK4iW>%==;1`xVCfS9t$p-b=nOITOwp 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 literal 0 HcmV?d00001 diff --git a/node_modules/debug/package.json b/node_modules/debug/package.json index 2f782eb9ae..60dfcf57ca 100644 --- a/node_modules/debug/package.json +++ b/node_modules/debug/package.json @@ -1,6 +1,6 @@ { "name": "debug", - "version": "4.3.7", + "version": "4.4.0", "repository": { "type": "git", "url": "git://github.com/debug-js/debug.git" @@ -56,5 +56,10 @@ "browser": "./src/browser.js", "engines": { "node": ">=6.0" + }, + "xo": { + "rules": { + "import/extensions": "off" + } } } diff --git a/node_modules/debug/src/browser.js b/node_modules/debug/src/browser.js index 8d808e5889..df8e179e8b 100644 --- a/node_modules/debug/src/browser.js +++ b/node_modules/debug/src/browser.js @@ -129,6 +129,7 @@ function useColors() { // Is webkit? http://stackoverflow.com/a/16459606/376773 // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + // eslint-disable-next-line no-return-assign return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || // Is firebug? http://stackoverflow.com/a/398120/376773 (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || diff --git a/node_modules/debug/src/common.js b/node_modules/debug/src/common.js index e3291b20fa..528c7ecf41 100644 --- a/node_modules/debug/src/common.js +++ b/node_modules/debug/src/common.js @@ -166,24 +166,62 @@ function setup(env) { createDebug.names = []; createDebug.skips = []; - let i; - const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - const len = split.length; - - for (i = 0; i < len; i++) { - if (!split[i]) { - // ignore empty strings - continue; + const split = (typeof namespaces === 'string' ? namespaces : '') + .trim() + .replace(' ', ',') + .split(',') + .filter(Boolean); + + for (const ns of split) { + if (ns[0] === '-') { + createDebug.skips.push(ns.slice(1)); + } else { + createDebug.names.push(ns); } + } + } - namespaces = split[i].replace(/\*/g, '.*?'); - - if (namespaces[0] === '-') { - createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$')); + /** + * Checks if the given string matches a namespace template, honoring + * asterisks as wildcards. + * + * @param {String} search + * @param {String} template + * @return {Boolean} + */ + function matchesTemplate(search, template) { + let searchIndex = 0; + let templateIndex = 0; + let starIndex = -1; + let matchIndex = 0; + + while (searchIndex < search.length) { + if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) { + // Match character or proceed with wildcard + if (template[templateIndex] === '*') { + starIndex = templateIndex; + matchIndex = searchIndex; + templateIndex++; // Skip the '*' + } else { + searchIndex++; + templateIndex++; + } + } else if (starIndex !== -1) { // eslint-disable-line no-negated-condition + // Backtrack to the last '*' and try to match more characters + templateIndex = starIndex + 1; + matchIndex++; + searchIndex = matchIndex; } else { - createDebug.names.push(new RegExp('^' + namespaces + '$')); + return false; // No match } } + + // Handle trailing '*' in template + while (templateIndex < template.length && template[templateIndex] === '*') { + templateIndex++; + } + + return templateIndex === template.length; } /** @@ -194,8 +232,8 @@ function setup(env) { */ function disable() { const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace) + ...createDebug.names, + ...createDebug.skips.map(namespace => '-' + namespace) ].join(','); createDebug.enable(''); return namespaces; @@ -209,21 +247,14 @@ function setup(env) { * @api public */ function enabled(name) { - if (name[name.length - 1] === '*') { - return true; - } - - let i; - let len; - - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { + for (const skip of createDebug.skips) { + if (matchesTemplate(name, skip)) { return false; } } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { + for (const ns of createDebug.names) { + if (matchesTemplate(name, ns)) { return true; } } @@ -231,19 +262,6 @@ function setup(env) { return false; } - /** - * Convert regexp to namespace - * - * @param {RegExp} regxep - * @return {String} namespace - * @api private - */ - function toNamespace(regexp) { - return regexp.toString() - .substring(2, regexp.toString().length - 2) - .replace(/\.\*\?$/, '*'); - } - /** * Coerce `val`. * diff --git a/node_modules/enhanced-resolve/LICENSE b/node_modules/enhanced-resolve/LICENSE deleted file mode 100644 index 8c11fc7289..0000000000 --- a/node_modules/enhanced-resolve/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright JS Foundation 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/enhanced-resolve/README.md b/node_modules/enhanced-resolve/README.md deleted file mode 100644 index 887590ecc9..0000000000 --- a/node_modules/enhanced-resolve/README.md +++ /dev/null @@ -1,183 +0,0 @@ -# enhanced-resolve - -[![npm][npm]][npm-url] -[![Build Status][build-status]][build-status-url] -[![codecov][codecov-badge]][codecov-url] -[![Install Size][size]][size-url] -[![GitHub Discussions][discussion]][discussion-url] - -Offers an async require.resolve function. It's highly configurable. - -## Features - -- plugin system -- provide a custom filesystem -- sync and async node.js filesystems included - -## Getting Started - -### Install - -```sh -# npm -npm install enhanced-resolve -# or Yarn -yarn add enhanced-resolve -``` - -### Resolve - -There is a Node.js API which allows to resolve requests according to the Node.js resolving rules. -Sync and async APIs are offered. A `create` method allows to create a custom resolve function. - -```js -const resolve = require("enhanced-resolve"); - -resolve("/some/path/to/folder", "module/dir", (err, result) => { - result; // === "/some/path/node_modules/module/dir/index.js" -}); - -resolve.sync("/some/path/to/folder", "../../dir"); -// === "/some/path/dir/index.js" - -const myResolve = resolve.create({ - // or resolve.create.sync - extensions: [".ts", ".js"] - // see more options below -}); - -myResolve("/some/path/to/folder", "ts-module", (err, result) => { - result; // === "/some/node_modules/ts-module/index.ts" -}); -``` - -### Creating a Resolver - -The easiest way to create a resolver is to use the `createResolver` function on `ResolveFactory`, along with one of the supplied File System implementations. - -```js -const fs = require("fs"); -const { CachedInputFileSystem, ResolverFactory } = require("enhanced-resolve"); - -// create a resolver -const myResolver = ResolverFactory.createResolver({ - // Typical usage will consume the `fs` + `CachedInputFileSystem`, which wraps Node.js `fs` to add caching. - fileSystem: new CachedInputFileSystem(fs, 4000), - extensions: [".js", ".json"] - /* any other resolver options here. Options/defaults can be seen below */ -}); - -// resolve a file with the new resolver -const context = {}; -const lookupStartPath = "/Users/webpack/some/root/dir"; -const request = "./path/to-look-up.js"; -const resolveContext = {}; -myResolver.resolve(context, lookupStartPath, request, resolveContext, ( - err /*Error*/, - filepath /*string*/ -) => { - // Do something with the path -}); -``` - -#### Resolver Options - -| Field | Default | Description | -|------------------|-----------------------------| --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| alias | [] | A list of module alias configurations or an object which maps key to value | -| aliasFields | [] | A list of alias fields in description files | -| extensionAlias | {} | An object which maps extension to extension aliases | -| cachePredicate | function() { return true }; | A function which decides whether a request should be cached or not. An object is passed to the function with `path` and `request` properties. | -| cacheWithContext | true | If unsafe cache is enabled, includes `request.context` in the cache key | -| conditionNames | [] | A list of exports field condition names | -| descriptionFiles | ["package.json"] | A list of description files to read from | -| enforceExtension | false | Enforce that a extension from extensions must be used | -| exportsFields | ["exports"] | A list of exports fields in description files | -| extensions | [".js", ".json", ".node"] | A list of extensions which should be tried for files | -| fallback | [] | Same as `alias`, but only used if default resolving fails | -| fileSystem | | The file system which should be used | -| fullySpecified | false | Request passed to resolve is already fully specified and extensions or main files are not resolved for it (they are still resolved for internal requests) | -| mainFields | ["main"] | A list of main fields in description files | -| mainFiles | ["index"] | A list of main files in directories | -| modules | ["node_modules"] | A list of directories to resolve modules from, can be absolute path or folder name | -| plugins | [] | A list of additional resolve plugins which should be applied | -| resolver | undefined | A prepared Resolver to which the plugins are attached | -| resolveToContext | false | Resolve to a context instead of a file | -| preferRelative | false | Prefer to resolve module requests as relative request and fallback to resolving as module | -| preferAbsolute | false | Prefer to resolve server-relative urls as absolute paths before falling back to resolve in roots | -| restrictions | [] | A list of resolve restrictions | -| roots | [] | A list of root paths | -| symlinks | true | Whether to resolve symlinks to their symlinked location | -| unsafeCache | false | Use this cache object to unsafely cache the successful requests | - -## Plugins - -Similar to `webpack`, the core of `enhanced-resolve` functionality is implemented as individual plugins that are executed using [`tapable`](https://github.com/webpack/tapable). -These plugins can extend the functionality of the library, adding other ways for files/contexts to be resolved. - -A plugin should be a `class` (or its ES5 equivalent) with an `apply` method. The `apply` method will receive a `resolver` instance, that can be used to hook in to the event system. - -### Plugin Boilerplate - -```js -class MyResolverPlugin { - constructor(source, target) { - this.source = source; - this.target = target; - } - - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("MyResolverPlugin", (request, resolveContext, callback) => { - // Any logic you need to create a new `request` can go here - resolver.doResolve(target, request, null, resolveContext, callback); - }); - } -} -``` - -Plugins are executed in a pipeline, and register which event they should be executed before/after. In the example above, `source` is the name of the event that starts the pipeline, and `target` is what event this plugin should fire, which is what continues the execution of the pipeline. For an example of how these different plugin events create a chain, see `lib/ResolverFactory.js`, in the `//// pipeline ////` section. - -## Escaping - -It's allowed to escape `#` as `\0#` to avoid parsing it as fragment. - -enhanced-resolve will try to resolve requests containing `#` as path and as fragment, so it will automatically figure out if `./some#thing` means `.../some.js#thing` or `.../some#thing.js`. When a `#` is resolved as path it will be escaped in the result. Here: `.../some\0#thing.js`. - -## Tests - -```javascript -yarn test -``` - -## Passing options from webpack - -If you are using `webpack`, and you want to pass custom options to `enhanced-resolve`, the options are passed from the `resolve` key of your webpack configuration e.g.: - -``` -resolve: { - extensions: ['.js', '.jsx'], - modules: [path.resolve(__dirname, 'src'), 'node_modules'], - plugins: [new DirectoryNamedWebpackPlugin()] - ... -}, -``` - -## License - -Copyright (c) 2012-2019 JS Foundation and other contributors - -MIT (http://www.opensource.org/licenses/mit-license.php) - -[npm]: https://img.shields.io/npm/v/enhanced-resolve.svg -[npm-url]: https://www.npmjs.com/package/enhanced-resolve -[build-status]: https://github.com/webpack/enhanced-resolve/actions/workflows/test.yml/badge.svg?branch=master -[build-status-url]: https://github.com/webpack/enhanced-resolve/actions -[codecov-badge]: https://codecov.io/gh/webpack/enhanced-resolve/branch/main/graph/badge.svg?token=6B6NxtsZc3 -[codecov-url]: https://codecov.io/gh/webpack/enhanced-resolve -[size]: https://packagephobia.com/badge?p=enhanced-resolve -[size-url]: https://packagephobia.com/result?p=enhanced-resolve -[discussion]: https://img.shields.io/github/discussions/webpack/webpack -[discussion-url]: https://github.com/webpack/webpack/discussions diff --git a/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js b/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js deleted file mode 100644 index 765c835372..0000000000 --- a/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const DescriptionFileUtils = require("./DescriptionFileUtils"); -const getInnerRequest = require("./getInnerRequest"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").JsonPrimitive} JsonPrimitive */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class AliasFieldPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | Array} field field - * @param {string | ResolveStepHook} target target - */ - constructor(source, field, target) { - this.source = source; - this.field = field; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("AliasFieldPlugin", (request, resolveContext, callback) => { - if (!request.descriptionFileData) return callback(); - const innerRequest = getInnerRequest(resolver, request); - if (!innerRequest) return callback(); - const fieldData = DescriptionFileUtils.getField( - request.descriptionFileData, - this.field - ); - if (fieldData === null || typeof fieldData !== "object") { - if (resolveContext.log) - resolveContext.log( - "Field '" + - this.field + - "' doesn't contain a valid alias configuration" - ); - return callback(); - } - /** @type {JsonPrimitive | undefined} */ - const data = Object.prototype.hasOwnProperty.call( - fieldData, - innerRequest - ) - ? /** @type {{[Key in string]: JsonPrimitive}} */ (fieldData)[ - innerRequest - ] - : innerRequest.startsWith("./") - ? /** @type {{[Key in string]: JsonPrimitive}} */ (fieldData)[ - innerRequest.slice(2) - ] - : undefined; - if (data === innerRequest) return callback(); - if (data === undefined) return callback(); - if (data === false) { - /** @type {ResolveRequest} */ - const ignoreObj = { - ...request, - path: false - }; - if (typeof resolveContext.yield === "function") { - resolveContext.yield(ignoreObj); - return callback(null, null); - } - return callback(null, ignoreObj); - } - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: /** @type {string} */ (request.descriptionFileRoot), - request: /** @type {string} */ (data), - fullySpecified: false - }; - resolver.doResolve( - target, - obj, - "aliased from description file " + - request.descriptionFilePath + - " with mapping '" + - innerRequest + - "' to '" + - /** @type {string} */ (data) + - "'", - resolveContext, - (err, result) => { - if (err) return callback(err); - - // Don't allow other aliasing or raw request - if (result === undefined) return callback(null, null); - callback(null, result); - } - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/AliasPlugin.js b/node_modules/enhanced-resolve/lib/AliasPlugin.js deleted file mode 100644 index bbe9724a08..0000000000 --- a/node_modules/enhanced-resolve/lib/AliasPlugin.js +++ /dev/null @@ -1,154 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const forEachBail = require("./forEachBail"); -const { PathType, getType } = require("./util/path"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ -/** @typedef {string | Array | false} Alias */ -/** @typedef {{alias: Alias, name: string, onlyModule?: boolean}} AliasOption */ - -module.exports = class AliasPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {AliasOption | Array} options options - * @param {string | ResolveStepHook} target target - */ - constructor(source, options, target) { - this.source = source; - this.options = Array.isArray(options) ? options : [options]; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - /** - * @param {string} maybeAbsolutePath path - * @returns {null|string} absolute path with slash ending - */ - const getAbsolutePathWithSlashEnding = maybeAbsolutePath => { - const type = getType(maybeAbsolutePath); - if (type === PathType.AbsolutePosix || type === PathType.AbsoluteWin) { - return resolver.join(maybeAbsolutePath, "_").slice(0, -1); - } - return null; - }; - /** - * @param {string} path path - * @param {string} maybeSubPath sub path - * @returns {boolean} true, if path is sub path - */ - const isSubPath = (path, maybeSubPath) => { - const absolutePath = getAbsolutePathWithSlashEnding(maybeSubPath); - if (!absolutePath) return false; - return path.startsWith(absolutePath); - }; - resolver - .getHook(this.source) - .tapAsync("AliasPlugin", (request, resolveContext, callback) => { - const innerRequest = request.request || request.path; - if (!innerRequest) return callback(); - forEachBail( - this.options, - (item, callback) => { - /** @type {boolean} */ - let shouldStop = false; - if ( - innerRequest === item.name || - (!item.onlyModule && - (request.request - ? innerRequest.startsWith(`${item.name}/`) - : isSubPath(innerRequest, item.name))) - ) { - /** @type {string} */ - const remainingRequest = innerRequest.slice(item.name.length); - /** - * @param {Alias} alias alias - * @param {(err?: null|Error, result?: null|ResolveRequest) => void} callback callback - * @returns {void} - */ - const resolveWithAlias = (alias, callback) => { - if (alias === false) { - /** @type {ResolveRequest} */ - const ignoreObj = { - ...request, - path: false - }; - if (typeof resolveContext.yield === "function") { - resolveContext.yield(ignoreObj); - return callback(null, null); - } - return callback(null, ignoreObj); - } - if ( - innerRequest !== alias && - !innerRequest.startsWith(alias + "/") - ) { - shouldStop = true; - const newRequestStr = alias + remainingRequest; - /** @type {ResolveRequest} */ - const obj = { - ...request, - request: newRequestStr, - fullySpecified: false - }; - return resolver.doResolve( - target, - obj, - "aliased with mapping '" + - item.name + - "': '" + - alias + - "' to '" + - newRequestStr + - "'", - resolveContext, - (err, result) => { - if (err) return callback(err); - if (result) return callback(null, result); - return callback(); - } - ); - } - return callback(); - }; - /** - * @param {null|Error} [err] error - * @param {null|ResolveRequest} [result] result - * @returns {void} - */ - const stoppingCallback = (err, result) => { - if (err) return callback(err); - - if (result) return callback(null, result); - // Don't allow other aliasing or raw request - if (shouldStop) return callback(null, null); - return callback(); - }; - if (Array.isArray(item.alias)) { - return forEachBail( - item.alias, - resolveWithAlias, - stoppingCallback - ); - } else { - return resolveWithAlias(item.alias, stoppingCallback); - } - } - return callback(); - }, - callback - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/AppendPlugin.js b/node_modules/enhanced-resolve/lib/AppendPlugin.js deleted file mode 100644 index 45ad052bdb..0000000000 --- a/node_modules/enhanced-resolve/lib/AppendPlugin.js +++ /dev/null @@ -1,49 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class AppendPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string} appending appending - * @param {string | ResolveStepHook} target target - */ - constructor(source, appending, target) { - this.source = source; - this.appending = appending; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("AppendPlugin", (request, resolveContext, callback) => { - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: request.path + this.appending, - relativePath: - request.relativePath && request.relativePath + this.appending - }; - resolver.doResolve( - target, - obj, - this.appending, - resolveContext, - callback - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js b/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js deleted file mode 100644 index cddf00e5ab..0000000000 --- a/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js +++ /dev/null @@ -1,664 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const nextTick = require("process").nextTick; - -/** @typedef {import("./Resolver").FileSystem} FileSystem */ -/** @typedef {import("./Resolver").PathLike} PathLike */ -/** @typedef {import("./Resolver").PathOrFileDescriptor} PathOrFileDescriptor */ -/** @typedef {import("./Resolver").SyncFileSystem} SyncFileSystem */ -/** @typedef {FileSystem & SyncFileSystem} BaseFileSystem */ - -/** - * @template T - * @typedef {import("./Resolver").FileSystemCallback} FileSystemCallback - */ - -/** - * @param {string} path path - * @returns {string} dirname - */ -const dirname = path => { - let idx = path.length - 1; - while (idx >= 0) { - const c = path.charCodeAt(idx); - // slash or backslash - if (c === 47 || c === 92) break; - idx--; - } - if (idx < 0) return ""; - return path.slice(0, idx); -}; - -/** - * @template T - * @param {FileSystemCallback[]} callbacks callbacks - * @param {Error | null} err error - * @param {T} result result - */ -const runCallbacks = (callbacks, err, result) => { - if (callbacks.length === 1) { - callbacks[0](err, result); - callbacks.length = 0; - return; - } - let error; - for (const callback of callbacks) { - try { - callback(err, result); - } catch (e) { - if (!error) error = e; - } - } - callbacks.length = 0; - if (error) throw error; -}; - -class OperationMergerBackend { - /** - * @param {Function | undefined} provider async method in filesystem - * @param {Function | undefined} syncProvider sync method in filesystem - * @param {BaseFileSystem} providerContext call context for the provider methods - */ - constructor(provider, syncProvider, providerContext) { - this._provider = provider; - this._syncProvider = syncProvider; - this._providerContext = providerContext; - this._activeAsyncOperations = new Map(); - - this.provide = this._provider - ? /** - * @param {PathLike | PathOrFileDescriptor} path path - * @param {object | FileSystemCallback | undefined} options options - * @param {FileSystemCallback=} callback callback - * @returns {any} result - */ - (path, options, callback) => { - if (typeof options === "function") { - callback = /** @type {FileSystemCallback} */ (options); - options = undefined; - } - if ( - typeof path !== "string" && - !Buffer.isBuffer(path) && - !(path instanceof URL) && - typeof path !== "number" - ) { - /** @type {Function} */ - (callback)( - new TypeError("path must be a string, Buffer, URL or number") - ); - return; - } - if (options) { - return /** @type {Function} */ (this._provider).call( - this._providerContext, - path, - options, - callback - ); - } - let callbacks = this._activeAsyncOperations.get(path); - if (callbacks) { - callbacks.push(callback); - return; - } - this._activeAsyncOperations.set(path, (callbacks = [callback])); - /** @type {Function} */ - (provider)( - path, - /** - * @param {Error} err error - * @param {any} result result - */ - (err, result) => { - this._activeAsyncOperations.delete(path); - runCallbacks(callbacks, err, result); - } - ); - } - : null; - this.provideSync = this._syncProvider - ? /** - * @param {PathLike | PathOrFileDescriptor} path path - * @param {object=} options options - * @returns {any} result - */ - (path, options) => { - return /** @type {Function} */ (this._syncProvider).call( - this._providerContext, - path, - options - ); - } - : null; - } - - purge() {} - purgeParent() {} -} - -/* - -IDLE: - insert data: goto SYNC - -SYNC: - before provide: run ticks - event loop tick: goto ASYNC_ACTIVE - -ASYNC: - timeout: run tick, goto ASYNC_PASSIVE - -ASYNC_PASSIVE: - before provide: run ticks - -IDLE --[insert data]--> SYNC --[event loop tick]--> ASYNC_ACTIVE --[interval tick]-> ASYNC_PASSIVE - ^ | - +---------[insert data]-------+ -*/ - -const STORAGE_MODE_IDLE = 0; -const STORAGE_MODE_SYNC = 1; -const STORAGE_MODE_ASYNC = 2; - -/** - * @callback Provide - * @param {PathLike | PathOrFileDescriptor} path path - * @param {any} options options - * @param {FileSystemCallback} callback callback - * @returns {void} - */ - -class CacheBackend { - /** - * @param {number} duration max cache duration of items - * @param {function | undefined} provider async method - * @param {function | undefined} syncProvider sync method - * @param {BaseFileSystem} providerContext call context for the provider methods - */ - constructor(duration, provider, syncProvider, providerContext) { - this._duration = duration; - this._provider = provider; - this._syncProvider = syncProvider; - this._providerContext = providerContext; - /** @type {Map[]>} */ - this._activeAsyncOperations = new Map(); - /** @type {Map }>} */ - this._data = new Map(); - /** @type {Set[]} */ - this._levels = []; - for (let i = 0; i < 10; i++) this._levels.push(new Set()); - for (let i = 5000; i < duration; i += 500) this._levels.push(new Set()); - this._currentLevel = 0; - this._tickInterval = Math.floor(duration / this._levels.length); - /** @type {STORAGE_MODE_IDLE | STORAGE_MODE_SYNC | STORAGE_MODE_ASYNC} */ - this._mode = STORAGE_MODE_IDLE; - - /** @type {NodeJS.Timeout | undefined} */ - this._timeout = undefined; - /** @type {number | undefined} */ - this._nextDecay = undefined; - - // @ts-ignore - this.provide = provider ? this.provide.bind(this) : null; - // @ts-ignore - this.provideSync = syncProvider ? this.provideSync.bind(this) : null; - } - - /** - * @param {PathLike | PathOrFileDescriptor} path path - * @param {any} options options - * @param {FileSystemCallback} callback callback - * @returns {void} - */ - provide(path, options, callback) { - if (typeof options === "function") { - callback = options; - options = undefined; - } - if ( - typeof path !== "string" && - !Buffer.isBuffer(path) && - !(path instanceof URL) && - typeof path !== "number" - ) { - callback(new TypeError("path must be a string, Buffer, URL or number")); - return; - } - const strPath = typeof path !== "string" ? path.toString() : path; - if (options) { - return /** @type {Function} */ (this._provider).call( - this._providerContext, - path, - options, - callback - ); - } - - // When in sync mode we can move to async mode - if (this._mode === STORAGE_MODE_SYNC) { - this._enterAsyncMode(); - } - - // Check in cache - let cacheEntry = this._data.get(strPath); - if (cacheEntry !== undefined) { - if (cacheEntry.err) return nextTick(callback, cacheEntry.err); - return nextTick(callback, null, cacheEntry.result); - } - - // Check if there is already the same operation running - let callbacks = this._activeAsyncOperations.get(strPath); - if (callbacks !== undefined) { - callbacks.push(callback); - return; - } - this._activeAsyncOperations.set(strPath, (callbacks = [callback])); - - // Run the operation - /** @type {Function} */ - (this._provider).call( - this._providerContext, - path, - /** - * @param {Error | null} err error - * @param {any} [result] result - */ - (err, result) => { - this._activeAsyncOperations.delete(strPath); - this._storeResult(strPath, err, result); - - // Enter async mode if not yet done - this._enterAsyncMode(); - - runCallbacks( - /** @type {FileSystemCallback[]} */ (callbacks), - err, - result - ); - } - ); - } - - /** - * @param {PathLike | PathOrFileDescriptor} path path - * @param {any} options options - * @returns {any} result - */ - provideSync(path, options) { - if ( - typeof path !== "string" && - !Buffer.isBuffer(path) && - !(path instanceof URL) && - typeof path !== "number" - ) { - throw new TypeError("path must be a string"); - } - const strPath = typeof path !== "string" ? path.toString() : path; - if (options) { - return /** @type {Function} */ (this._syncProvider).call( - this._providerContext, - path, - options - ); - } - - // In sync mode we may have to decay some cache items - if (this._mode === STORAGE_MODE_SYNC) { - this._runDecays(); - } - - // Check in cache - let cacheEntry = this._data.get(strPath); - if (cacheEntry !== undefined) { - if (cacheEntry.err) throw cacheEntry.err; - return cacheEntry.result; - } - - // Get all active async operations - // This sync operation will also complete them - const callbacks = this._activeAsyncOperations.get(strPath); - this._activeAsyncOperations.delete(strPath); - - // Run the operation - // When in idle mode, we will enter sync mode - let result; - try { - result = /** @type {Function} */ (this._syncProvider).call( - this._providerContext, - path - ); - } catch (err) { - this._storeResult(strPath, /** @type {Error} */ (err), undefined); - this._enterSyncModeWhenIdle(); - if (callbacks) { - runCallbacks(callbacks, /** @type {Error} */ (err), undefined); - } - throw err; - } - this._storeResult(strPath, null, result); - this._enterSyncModeWhenIdle(); - if (callbacks) { - runCallbacks(callbacks, null, result); - } - return result; - } - - /** - * @param {string | Buffer | URL | number | (string | URL | Buffer | number)[] | Set} [what] what to purge - */ - purge(what) { - if (!what) { - if (this._mode !== STORAGE_MODE_IDLE) { - this._data.clear(); - for (const level of this._levels) { - level.clear(); - } - this._enterIdleMode(); - } - } else if ( - typeof what === "string" || - Buffer.isBuffer(what) || - what instanceof URL || - typeof what === "number" - ) { - const strWhat = typeof what !== "string" ? what.toString() : what; - for (let [key, data] of this._data) { - if (key.startsWith(strWhat)) { - this._data.delete(key); - data.level.delete(key); - } - } - if (this._data.size === 0) { - this._enterIdleMode(); - } - } else { - for (let [key, data] of this._data) { - for (const item of what) { - const strItem = typeof item !== "string" ? item.toString() : item; - if (key.startsWith(strItem)) { - this._data.delete(key); - data.level.delete(key); - break; - } - } - } - if (this._data.size === 0) { - this._enterIdleMode(); - } - } - } - - /** - * @param {string | Buffer | URL | number | (string | URL | Buffer | number)[] | Set} [what] what to purge - */ - purgeParent(what) { - if (!what) { - this.purge(); - } else if ( - typeof what === "string" || - Buffer.isBuffer(what) || - what instanceof URL || - typeof what === "number" - ) { - const strWhat = typeof what !== "string" ? what.toString() : what; - this.purge(dirname(strWhat)); - } else { - const set = new Set(); - for (const item of what) { - const strItem = typeof item !== "string" ? item.toString() : item; - set.add(dirname(strItem)); - } - this.purge(set); - } - } - - /** - * @param {string} path path - * @param {Error | null} err error - * @param {any} result result - */ - _storeResult(path, err, result) { - if (this._data.has(path)) return; - const level = this._levels[this._currentLevel]; - this._data.set(path, { err, result, level }); - level.add(path); - } - - _decayLevel() { - const nextLevel = (this._currentLevel + 1) % this._levels.length; - const decay = this._levels[nextLevel]; - this._currentLevel = nextLevel; - for (let item of decay) { - this._data.delete(item); - } - decay.clear(); - if (this._data.size === 0) { - this._enterIdleMode(); - } else { - /** @type {number} */ - (this._nextDecay) += this._tickInterval; - } - } - - _runDecays() { - while ( - /** @type {number} */ (this._nextDecay) <= Date.now() && - this._mode !== STORAGE_MODE_IDLE - ) { - this._decayLevel(); - } - } - - _enterAsyncMode() { - let timeout = 0; - switch (this._mode) { - case STORAGE_MODE_ASYNC: - return; - case STORAGE_MODE_IDLE: - this._nextDecay = Date.now() + this._tickInterval; - timeout = this._tickInterval; - break; - case STORAGE_MODE_SYNC: - this._runDecays(); - // _runDecays may change the mode - if ( - /** @type {STORAGE_MODE_IDLE | STORAGE_MODE_SYNC | STORAGE_MODE_ASYNC}*/ - (this._mode) === STORAGE_MODE_IDLE - ) - return; - timeout = Math.max( - 0, - /** @type {number} */ (this._nextDecay) - Date.now() - ); - break; - } - this._mode = STORAGE_MODE_ASYNC; - const ref = setTimeout(() => { - this._mode = STORAGE_MODE_SYNC; - this._runDecays(); - }, timeout); - if (ref.unref) ref.unref(); - this._timeout = ref; - } - - _enterSyncModeWhenIdle() { - if (this._mode === STORAGE_MODE_IDLE) { - this._mode = STORAGE_MODE_SYNC; - this._nextDecay = Date.now() + this._tickInterval; - } - } - - _enterIdleMode() { - this._mode = STORAGE_MODE_IDLE; - this._nextDecay = undefined; - if (this._timeout) clearTimeout(this._timeout); - } -} - -/** - * @template {function} Provider - * @template {function} AsyncProvider - * @template FileSystem - * @param {number} duration duration in ms files are cached - * @param {Provider | undefined} provider provider - * @param {AsyncProvider | undefined} syncProvider sync provider - * @param {BaseFileSystem} providerContext provider context - * @returns {OperationMergerBackend | CacheBackend} backend - */ -const createBackend = (duration, provider, syncProvider, providerContext) => { - if (duration > 0) { - return new CacheBackend(duration, provider, syncProvider, providerContext); - } - return new OperationMergerBackend(provider, syncProvider, providerContext); -}; - -module.exports = class CachedInputFileSystem { - /** - * @param {BaseFileSystem} fileSystem file system - * @param {number} duration duration in ms files are cached - */ - constructor(fileSystem, duration) { - this.fileSystem = fileSystem; - - this._lstatBackend = createBackend( - duration, - this.fileSystem.lstat, - this.fileSystem.lstatSync, - this.fileSystem - ); - const lstat = this._lstatBackend.provide; - this.lstat = /** @type {FileSystem["lstat"]} */ (lstat); - const lstatSync = this._lstatBackend.provideSync; - this.lstatSync = /** @type {SyncFileSystem["lstatSync"]} */ (lstatSync); - - this._statBackend = createBackend( - duration, - this.fileSystem.stat, - this.fileSystem.statSync, - this.fileSystem - ); - const stat = this._statBackend.provide; - this.stat = /** @type {FileSystem["stat"]} */ (stat); - const statSync = this._statBackend.provideSync; - this.statSync = /** @type {SyncFileSystem["statSync"]} */ (statSync); - - this._readdirBackend = createBackend( - duration, - this.fileSystem.readdir, - this.fileSystem.readdirSync, - this.fileSystem - ); - const readdir = this._readdirBackend.provide; - this.readdir = /** @type {FileSystem["readdir"]} */ (readdir); - const readdirSync = this._readdirBackend.provideSync; - this.readdirSync = /** @type {SyncFileSystem["readdirSync"]} */ ( - readdirSync - ); - - this._readFileBackend = createBackend( - duration, - this.fileSystem.readFile, - this.fileSystem.readFileSync, - this.fileSystem - ); - const readFile = this._readFileBackend.provide; - this.readFile = /** @type {FileSystem["readFile"]} */ (readFile); - const readFileSync = this._readFileBackend.provideSync; - this.readFileSync = /** @type {SyncFileSystem["readFileSync"]} */ ( - readFileSync - ); - - this._readJsonBackend = createBackend( - duration, - // prettier-ignore - this.fileSystem.readJson || - (this.readFile && - ( - /** - * @param {string} path path - * @param {FileSystemCallback} callback - */ - (path, callback) => { - this.readFile(path, (err, buffer) => { - if (err) return callback(err); - if (!buffer || buffer.length === 0) - return callback(new Error("No file content")); - let data; - try { - data = JSON.parse(buffer.toString("utf-8")); - } catch (e) { - return callback(/** @type {Error} */ (e)); - } - callback(null, data); - }); - }) - ), - // prettier-ignore - this.fileSystem.readJsonSync || - (this.readFileSync && - ( - /** - * @param {string} path path - * @returns {any} result - */ - (path) => { - const buffer = this.readFileSync(path); - const data = JSON.parse(buffer.toString("utf-8")); - return data; - } - )), - this.fileSystem - ); - const readJson = this._readJsonBackend.provide; - this.readJson = /** @type {FileSystem["readJson"]} */ (readJson); - const readJsonSync = this._readJsonBackend.provideSync; - this.readJsonSync = /** @type {SyncFileSystem["readJsonSync"]} */ ( - readJsonSync - ); - - this._readlinkBackend = createBackend( - duration, - this.fileSystem.readlink, - this.fileSystem.readlinkSync, - this.fileSystem - ); - const readlink = this._readlinkBackend.provide; - this.readlink = /** @type {FileSystem["readlink"]} */ (readlink); - const readlinkSync = this._readlinkBackend.provideSync; - this.readlinkSync = /** @type {SyncFileSystem["readlinkSync"]} */ ( - readlinkSync - ); - - this._realpathBackend = createBackend( - duration, - this.fileSystem.realpath, - this.fileSystem.realpathSync, - this.fileSystem - ); - const realpath = this._realpathBackend.provide; - this.realpath = /** @type {FileSystem["realpath"]} */ (realpath); - const realpathSync = this._realpathBackend.provideSync; - this.realpathSync = /** @type {SyncFileSystem["realpathSync"]} */ ( - realpathSync - ); - } - - /** - * @param {string | Buffer | URL | number | (string | URL | Buffer | number)[] | Set} [what] what to purge - */ - purge(what) { - this._statBackend.purge(what); - this._lstatBackend.purge(what); - this._readdirBackend.purgeParent(what); - this._readFileBackend.purge(what); - this._readlinkBackend.purge(what); - this._readJsonBackend.purge(what); - this._realpathBackend.purge(what); - } -}; diff --git a/node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js b/node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js deleted file mode 100644 index cc193f5861..0000000000 --- a/node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js +++ /dev/null @@ -1,53 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const basename = require("./getPaths").basename; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class CloneBasenamePlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | ResolveStepHook} target target - */ - constructor(source, target) { - this.source = source; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("CloneBasenamePlugin", (request, resolveContext, callback) => { - const requestPath = /** @type {string} */ (request.path); - const filename = /** @type {string} */ (basename(requestPath)); - const filePath = resolver.join(requestPath, filename); - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: filePath, - relativePath: - request.relativePath && - resolver.join(request.relativePath, filename) - }; - resolver.doResolve( - target, - obj, - "using path: " + filePath, - resolveContext, - callback - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/ConditionalPlugin.js b/node_modules/enhanced-resolve/lib/ConditionalPlugin.js deleted file mode 100644 index 0e6610763f..0000000000 --- a/node_modules/enhanced-resolve/lib/ConditionalPlugin.js +++ /dev/null @@ -1,59 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class ConditionalPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {Partial} test compare object - * @param {string | null} message log message - * @param {boolean} allowAlternatives when false, do not continue with the current step when "test" matches - * @param {string | ResolveStepHook} target target - */ - constructor(source, test, message, allowAlternatives, target) { - this.source = source; - this.test = test; - this.message = message; - this.allowAlternatives = allowAlternatives; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - const { test, message, allowAlternatives } = this; - const keys = /** @type {(keyof ResolveRequest)[]} */ (Object.keys(test)); - resolver - .getHook(this.source) - .tapAsync("ConditionalPlugin", (request, resolveContext, callback) => { - for (const prop of keys) { - if (request[prop] !== test[prop]) return callback(); - } - resolver.doResolve( - target, - request, - message, - resolveContext, - allowAlternatives - ? callback - : (err, result) => { - if (err) return callback(err); - - // Don't allow other alternatives - if (result === undefined) return callback(null, null); - callback(null, result); - } - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js b/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js deleted file mode 100644 index 8bbdb72063..0000000000 --- a/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js +++ /dev/null @@ -1,98 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const DescriptionFileUtils = require("./DescriptionFileUtils"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class DescriptionFilePlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string[]} filenames filenames - * @param {boolean} pathIsFile pathIsFile - * @param {string | ResolveStepHook} target target - */ - constructor(source, filenames, pathIsFile, target) { - this.source = source; - this.filenames = filenames; - this.pathIsFile = pathIsFile; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync( - "DescriptionFilePlugin", - (request, resolveContext, callback) => { - const path = request.path; - if (!path) return callback(); - const directory = this.pathIsFile - ? DescriptionFileUtils.cdUp(path) - : path; - if (!directory) return callback(); - DescriptionFileUtils.loadDescriptionFile( - resolver, - directory, - this.filenames, - request.descriptionFilePath - ? { - path: request.descriptionFilePath, - content: request.descriptionFileData, - directory: /** @type {string} */ (request.descriptionFileRoot) - } - : undefined, - resolveContext, - (err, result) => { - if (err) return callback(err); - if (!result) { - if (resolveContext.log) - resolveContext.log( - `No description file found in ${directory} or above` - ); - return callback(); - } - const relativePath = - "." + path.slice(result.directory.length).replace(/\\/g, "/"); - /** @type {ResolveRequest} */ - const obj = { - ...request, - descriptionFilePath: result.path, - descriptionFileData: result.content, - descriptionFileRoot: result.directory, - relativePath: relativePath - }; - resolver.doResolve( - target, - obj, - "using description file: " + - result.path + - " (relative path: " + - relativePath + - ")", - resolveContext, - (err, result) => { - if (err) return callback(err); - - // Don't allow other processing - if (result === undefined) return callback(null, null); - callback(null, result); - } - ); - } - ); - } - ); - } -}; diff --git a/node_modules/enhanced-resolve/lib/DescriptionFileUtils.js b/node_modules/enhanced-resolve/lib/DescriptionFileUtils.js deleted file mode 100644 index ff53ad5f1c..0000000000 --- a/node_modules/enhanced-resolve/lib/DescriptionFileUtils.js +++ /dev/null @@ -1,201 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const forEachBail = require("./forEachBail"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").JsonObject} JsonObject */ -/** @typedef {import("./Resolver").JsonValue} JsonValue */ -/** @typedef {import("./Resolver").ResolveContext} ResolveContext */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ - -/** - * @typedef {Object} DescriptionFileInfo - * @property {JsonObject=} content - * @property {string} path - * @property {string} directory - */ - -/** - * @callback ErrorFirstCallback - * @param {Error|null=} error - * @param {DescriptionFileInfo=} result - */ - -/** - * @typedef {Object} Result - * @property {string} path path to description file - * @property {string} directory directory of description file - * @property {JsonObject} content content of description file - */ - -/** - * @param {Resolver} resolver resolver - * @param {string} directory directory - * @param {string[]} filenames filenames - * @param {DescriptionFileInfo|undefined} oldInfo oldInfo - * @param {ResolveContext} resolveContext resolveContext - * @param {ErrorFirstCallback} callback callback - */ -function loadDescriptionFile( - resolver, - directory, - filenames, - oldInfo, - resolveContext, - callback -) { - (function findDescriptionFile() { - if (oldInfo && oldInfo.directory === directory) { - // We already have info for this directory and can reuse it - return callback(null, oldInfo); - } - forEachBail( - filenames, - /** - * @param {string} filename filename - * @param {(err?: null|Error, result?: null|Result) => void} callback callback - * @returns {void} - */ - (filename, callback) => { - const descriptionFilePath = resolver.join(directory, filename); - if (resolver.fileSystem.readJson) { - resolver.fileSystem.readJson(descriptionFilePath, (err, content) => { - if (err) { - if ( - typeof (/** @type {NodeJS.ErrnoException} */ (err).code) !== - "undefined" - ) { - if (resolveContext.missingDependencies) { - resolveContext.missingDependencies.add(descriptionFilePath); - } - return callback(); - } - if (resolveContext.fileDependencies) { - resolveContext.fileDependencies.add(descriptionFilePath); - } - return onJson(err); - } - if (resolveContext.fileDependencies) { - resolveContext.fileDependencies.add(descriptionFilePath); - } - onJson(null, content); - }); - } else { - resolver.fileSystem.readFile(descriptionFilePath, (err, content) => { - if (err) { - if (resolveContext.missingDependencies) { - resolveContext.missingDependencies.add(descriptionFilePath); - } - return callback(); - } - if (resolveContext.fileDependencies) { - resolveContext.fileDependencies.add(descriptionFilePath); - } - - /** @type {JsonObject | undefined} */ - let json; - - if (content) { - try { - json = JSON.parse(content.toString()); - } catch (/** @type {unknown} */ e) { - return onJson(/** @type {Error} */ (e)); - } - } else { - return onJson(new Error("No content in file")); - } - - onJson(null, json); - }); - } - - /** - * @param {null|Error} [err] error - * @param {JsonObject} [content] content - * @returns {void} - */ - function onJson(err, content) { - if (err) { - if (resolveContext.log) - resolveContext.log( - descriptionFilePath + " (directory description file): " + err - ); - else - err.message = - descriptionFilePath + " (directory description file): " + err; - return callback(err); - } - callback(null, { - content: /** @type {JsonObject} */ (content), - directory, - path: descriptionFilePath - }); - } - }, - /** - * @param {null|Error} [err] error - * @param {null|Result} [result] result - * @returns {void} - */ - (err, result) => { - if (err) return callback(err); - if (result) { - return callback(null, result); - } else { - const dir = cdUp(directory); - if (!dir) { - return callback(); - } else { - directory = dir; - return findDescriptionFile(); - } - } - } - ); - })(); -} - -/** - * @param {JsonObject} content content - * @param {string|string[]} field field - * @returns {JsonValue | undefined} field data - */ -function getField(content, field) { - if (!content) return undefined; - if (Array.isArray(field)) { - /** @type {JsonValue} */ - let current = content; - for (let j = 0; j < field.length; j++) { - if (current === null || typeof current !== "object") { - current = null; - break; - } - current = /** @type {JsonObject} */ (current)[field[j]]; - } - return current; - } else { - return content[field]; - } -} - -/** - * @param {string} directory directory - * @returns {string|null} parent directory or null - */ -function cdUp(directory) { - if (directory === "/") return null; - const i = directory.lastIndexOf("/"), - j = directory.lastIndexOf("\\"); - const p = i < 0 ? j : j < 0 ? i : i < j ? j : i; - if (p < 0) return null; - return directory.slice(0, p || 1); -} - -exports.loadDescriptionFile = loadDescriptionFile; -exports.getField = getField; -exports.cdUp = cdUp; diff --git a/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js b/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js deleted file mode 100644 index 80c94094a6..0000000000 --- a/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js +++ /dev/null @@ -1,63 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class DirectoryExistsPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | ResolveStepHook} target target - */ - constructor(source, target) { - this.source = source; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync( - "DirectoryExistsPlugin", - (request, resolveContext, callback) => { - const fs = resolver.fileSystem; - const directory = request.path; - if (!directory) return callback(); - fs.stat(directory, (err, stat) => { - if (err || !stat) { - if (resolveContext.missingDependencies) - resolveContext.missingDependencies.add(directory); - if (resolveContext.log) - resolveContext.log(directory + " doesn't exist"); - return callback(); - } - if (!stat.isDirectory()) { - if (resolveContext.missingDependencies) - resolveContext.missingDependencies.add(directory); - if (resolveContext.log) - resolveContext.log(directory + " is not a directory"); - return callback(); - } - if (resolveContext.fileDependencies) - resolveContext.fileDependencies.add(directory); - resolver.doResolve( - target, - request, - `existing directory ${directory}`, - resolveContext, - callback - ); - }); - } - ); - } -}; diff --git a/node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js b/node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js deleted file mode 100644 index 671c1fee3b..0000000000 --- a/node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js +++ /dev/null @@ -1,200 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Ivan Kopeykin @vankop -*/ - -"use strict"; - -const DescriptionFileUtils = require("./DescriptionFileUtils"); -const forEachBail = require("./forEachBail"); -const { processExportsField } = require("./util/entrypoints"); -const { parseIdentifier } = require("./util/identifier"); -const { - invalidSegmentRegEx, - deprecatedInvalidSegmentRegEx -} = require("./util/path"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").JsonObject} JsonObject */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ -/** @typedef {import("./util/entrypoints").ExportsField} ExportsField */ -/** @typedef {import("./util/entrypoints").FieldProcessor} FieldProcessor */ - -module.exports = class ExportsFieldPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {Set} conditionNames condition names - * @param {string | string[]} fieldNamePath name path - * @param {string | ResolveStepHook} target target - */ - constructor(source, conditionNames, fieldNamePath, target) { - this.source = source; - this.target = target; - this.conditionNames = conditionNames; - this.fieldName = fieldNamePath; - /** @type {WeakMap} */ - this.fieldProcessorCache = new WeakMap(); - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("ExportsFieldPlugin", (request, resolveContext, callback) => { - // When there is no description file, abort - if (!request.descriptionFilePath) return callback(); - if ( - // When the description file is inherited from parent, abort - // (There is no description file inside of this package) - request.relativePath !== "." || - request.request === undefined - ) - return callback(); - - const remainingRequest = - request.query || request.fragment - ? (request.request === "." ? "./" : request.request) + - request.query + - request.fragment - : request.request; - const exportsField = - /** @type {ExportsField|null|undefined} */ - ( - DescriptionFileUtils.getField( - /** @type {JsonObject} */ (request.descriptionFileData), - this.fieldName - ) - ); - if (!exportsField) return callback(); - - if (request.directory) { - return callback( - new Error( - `Resolving to directories is not possible with the exports field (request was ${remainingRequest}/)` - ) - ); - } - - /** @type {string[]} */ - let paths; - /** @type {string | null} */ - let usedField; - - try { - // We attach the cache to the description file instead of the exportsField value - // because we use a WeakMap and the exportsField could be a string too. - // Description file is always an object when exports field can be accessed. - let fieldProcessor = this.fieldProcessorCache.get( - /** @type {JsonObject} */ (request.descriptionFileData) - ); - if (fieldProcessor === undefined) { - fieldProcessor = processExportsField(exportsField); - this.fieldProcessorCache.set( - /** @type {JsonObject} */ (request.descriptionFileData), - fieldProcessor - ); - } - [paths, usedField] = fieldProcessor( - remainingRequest, - this.conditionNames - ); - } catch (/** @type {unknown} */ err) { - if (resolveContext.log) { - resolveContext.log( - `Exports field in ${request.descriptionFilePath} can't be processed: ${err}` - ); - } - return callback(/** @type {Error} */ (err)); - } - - if (paths.length === 0) { - return callback( - new Error( - `Package path ${remainingRequest} is not exported from package ${request.descriptionFileRoot} (see exports field in ${request.descriptionFilePath})` - ) - ); - } - - forEachBail( - paths, - /** - * @param {string} p path - * @param {(err?: null|Error, result?: null|ResolveRequest) => void} callback callback - * @param {number} i index - * @returns {void} - */ - (p, callback, i) => { - const parsedIdentifier = parseIdentifier(p); - - if (!parsedIdentifier) return callback(); - - const [relativePath, query, fragment] = parsedIdentifier; - - if (relativePath.length === 0 || !relativePath.startsWith("./")) { - if (paths.length === i) { - return callback( - new Error( - `Invalid "exports" target "${p}" defined for "${usedField}" in the package config ${request.descriptionFilePath}, targets must start with "./"` - ) - ); - } - - return callback(); - } - - if ( - invalidSegmentRegEx.exec(relativePath.slice(2)) !== null && - deprecatedInvalidSegmentRegEx.test(relativePath.slice(2)) !== null - ) { - if (paths.length === i) { - return callback( - new Error( - `Invalid "exports" target "${p}" defined for "${usedField}" in the package config ${request.descriptionFilePath}, targets must start with "./"` - ) - ); - } - - return callback(); - } - - /** @type {ResolveRequest} */ - const obj = { - ...request, - request: undefined, - path: resolver.join( - /** @type {string} */ (request.descriptionFileRoot), - relativePath - ), - relativePath, - query, - fragment - }; - - resolver.doResolve( - target, - obj, - "using exports field: " + p, - resolveContext, - (err, result) => { - if (err) return callback(err); - // Don't allow to continue - https://github.com/webpack/enhanced-resolve/issues/400 - if (result === undefined) return callback(null, null); - callback(null, result); - } - ); - }, - /** - * @param {null|Error} [err] error - * @param {null|ResolveRequest} [result] result - * @returns {void} - */ - (err, result) => callback(err, result || null) - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/ExtensionAliasPlugin.js b/node_modules/enhanced-resolve/lib/ExtensionAliasPlugin.js deleted file mode 100644 index a947990609..0000000000 --- a/node_modules/enhanced-resolve/lib/ExtensionAliasPlugin.js +++ /dev/null @@ -1,101 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Ivan Kopeykin @vankop -*/ - -"use strict"; - -const forEachBail = require("./forEachBail"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ -/** @typedef {{ alias: string|string[], extension: string }} ExtensionAliasOption */ - -module.exports = class ExtensionAliasPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {ExtensionAliasOption} options options - * @param {string | ResolveStepHook} target target - */ - constructor(source, options, target) { - this.source = source; - this.options = options; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - const { extension, alias } = this.options; - resolver - .getHook(this.source) - .tapAsync("ExtensionAliasPlugin", (request, resolveContext, callback) => { - const requestPath = request.request; - if (!requestPath || !requestPath.endsWith(extension)) return callback(); - const isAliasString = typeof alias === "string"; - /** - * @param {string} alias extension alias - * @param {(err?: null|Error, result?: null|ResolveRequest) => void} callback callback - * @param {number} [index] index - * @returns {void} - */ - const resolve = (alias, callback, index) => { - const newRequest = `${requestPath.slice( - 0, - -extension.length - )}${alias}`; - - return resolver.doResolve( - target, - { - ...request, - request: newRequest, - fullySpecified: true - }, - `aliased from extension alias with mapping '${extension}' to '${alias}'`, - resolveContext, - (err, result) => { - // Throw error if we are on the last alias (for multiple aliases) and it failed, always throw if we are not an array or we have only one alias - if (!isAliasString && index) { - if (index !== this.options.alias.length) { - if (resolveContext.log) { - resolveContext.log( - `Failed to alias from extension alias with mapping '${extension}' to '${alias}' for '${newRequest}': ${err}` - ); - } - - return callback(null, result); - } - - return callback(err, result); - } else { - callback(err, result); - } - } - ); - }; - /** - * @param {null|Error} [err] error - * @param {null|ResolveRequest} [result] result - * @returns {void} - */ - const stoppingCallback = (err, result) => { - if (err) return callback(err); - if (result) return callback(null, result); - // Don't allow other aliasing or raw request - return callback(null, null); - }; - if (isAliasString) { - resolve(alias, stoppingCallback); - } else if (alias.length > 1) { - forEachBail(alias, resolve, stoppingCallback); - } else { - resolve(alias[0], stoppingCallback); - } - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/FileExistsPlugin.js b/node_modules/enhanced-resolve/lib/FileExistsPlugin.js deleted file mode 100644 index 2dd33e3eef..0000000000 --- a/node_modules/enhanced-resolve/lib/FileExistsPlugin.js +++ /dev/null @@ -1,58 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class FileExistsPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | ResolveStepHook} target target - */ - constructor(source, target) { - this.source = source; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - const fs = resolver.fileSystem; - resolver - .getHook(this.source) - .tapAsync("FileExistsPlugin", (request, resolveContext, callback) => { - const file = request.path; - if (!file) return callback(); - fs.stat(file, (err, stat) => { - if (err || !stat) { - if (resolveContext.missingDependencies) - resolveContext.missingDependencies.add(file); - if (resolveContext.log) resolveContext.log(file + " doesn't exist"); - return callback(); - } - if (!stat.isFile()) { - if (resolveContext.missingDependencies) - resolveContext.missingDependencies.add(file); - if (resolveContext.log) resolveContext.log(file + " is not a file"); - return callback(); - } - if (resolveContext.fileDependencies) - resolveContext.fileDependencies.add(file); - resolver.doResolve( - target, - request, - "existing file: " + file, - resolveContext, - callback - ); - }); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js b/node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js deleted file mode 100644 index 15cad76f90..0000000000 --- a/node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js +++ /dev/null @@ -1,223 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Ivan Kopeykin @vankop -*/ - -"use strict"; - -const DescriptionFileUtils = require("./DescriptionFileUtils"); -const forEachBail = require("./forEachBail"); -const { processImportsField } = require("./util/entrypoints"); -const { parseIdentifier } = require("./util/identifier"); -const { - invalidSegmentRegEx, - deprecatedInvalidSegmentRegEx -} = require("./util/path"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").JsonObject} JsonObject */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ -/** @typedef {import("./util/entrypoints").FieldProcessor} FieldProcessor */ -/** @typedef {import("./util/entrypoints").ImportsField} ImportsField */ - -const dotCode = ".".charCodeAt(0); - -module.exports = class ImportsFieldPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {Set} conditionNames condition names - * @param {string | string[]} fieldNamePath name path - * @param {string | ResolveStepHook} targetFile target file - * @param {string | ResolveStepHook} targetPackage target package - */ - constructor( - source, - conditionNames, - fieldNamePath, - targetFile, - targetPackage - ) { - this.source = source; - this.targetFile = targetFile; - this.targetPackage = targetPackage; - this.conditionNames = conditionNames; - this.fieldName = fieldNamePath; - /** @type {WeakMap} */ - this.fieldProcessorCache = new WeakMap(); - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const targetFile = resolver.ensureHook(this.targetFile); - const targetPackage = resolver.ensureHook(this.targetPackage); - - resolver - .getHook(this.source) - .tapAsync("ImportsFieldPlugin", (request, resolveContext, callback) => { - // When there is no description file, abort - if (!request.descriptionFilePath || request.request === undefined) { - return callback(); - } - - const remainingRequest = - request.request + request.query + request.fragment; - const importsField = - /** @type {ImportsField|null|undefined} */ - ( - DescriptionFileUtils.getField( - /** @type {JsonObject} */ (request.descriptionFileData), - this.fieldName - ) - ); - if (!importsField) return callback(); - - if (request.directory) { - return callback( - new Error( - `Resolving to directories is not possible with the imports field (request was ${remainingRequest}/)` - ) - ); - } - - /** @type {string[]} */ - let paths; - /** @type {string | null} */ - let usedField; - - try { - // We attach the cache to the description file instead of the importsField value - // because we use a WeakMap and the importsField could be a string too. - // Description file is always an object when exports field can be accessed. - let fieldProcessor = this.fieldProcessorCache.get( - /** @type {JsonObject} */ (request.descriptionFileData) - ); - if (fieldProcessor === undefined) { - fieldProcessor = processImportsField(importsField); - this.fieldProcessorCache.set( - /** @type {JsonObject} */ (request.descriptionFileData), - fieldProcessor - ); - } - [paths, usedField] = fieldProcessor( - remainingRequest, - this.conditionNames - ); - } catch (/** @type {unknown} */ err) { - if (resolveContext.log) { - resolveContext.log( - `Imports field in ${request.descriptionFilePath} can't be processed: ${err}` - ); - } - return callback(/** @type {Error} */ (err)); - } - - if (paths.length === 0) { - return callback( - new Error( - `Package import ${remainingRequest} is not imported from package ${request.descriptionFileRoot} (see imports field in ${request.descriptionFilePath})` - ) - ); - } - - forEachBail( - paths, - /** - * @param {string} p path - * @param {(err?: null|Error, result?: null|ResolveRequest) => void} callback callback - * @param {number} i index - * @returns {void} - */ - (p, callback, i) => { - const parsedIdentifier = parseIdentifier(p); - - if (!parsedIdentifier) return callback(); - - const [path_, query, fragment] = parsedIdentifier; - - switch (path_.charCodeAt(0)) { - // should be relative - case dotCode: { - if ( - invalidSegmentRegEx.exec(path_.slice(2)) !== null && - deprecatedInvalidSegmentRegEx.test(path_.slice(2)) !== null - ) { - if (paths.length === i) { - return callback( - new Error( - `Invalid "imports" target "${p}" defined for "${usedField}" in the package config ${request.descriptionFilePath}, targets must start with "./"` - ) - ); - } - - return callback(); - } - - /** @type {ResolveRequest} */ - const obj = { - ...request, - request: undefined, - path: resolver.join( - /** @type {string} */ (request.descriptionFileRoot), - path_ - ), - relativePath: path_, - query, - fragment - }; - - resolver.doResolve( - targetFile, - obj, - "using imports field: " + p, - resolveContext, - (err, result) => { - if (err) return callback(err); - // Don't allow to continue - https://github.com/webpack/enhanced-resolve/issues/400 - if (result === undefined) return callback(null, null); - callback(null, result); - } - ); - break; - } - - // package resolving - default: { - /** @type {ResolveRequest} */ - const obj = { - ...request, - request: path_, - relativePath: path_, - fullySpecified: true, - query, - fragment - }; - - resolver.doResolve( - targetPackage, - obj, - "using imports field: " + p, - resolveContext, - (err, result) => { - if (err) return callback(err); - // Don't allow to continue - https://github.com/webpack/enhanced-resolve/issues/400 - if (result === undefined) return callback(null, null); - callback(null, result); - } - ); - } - } - }, - /** - * @param {null|Error} [err] error - * @param {null|ResolveRequest} [result] result - * @returns {void} - */ - (err, result) => callback(err, result || null) - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js b/node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js deleted file mode 100644 index 21c2cae01c..0000000000 --- a/node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js +++ /dev/null @@ -1,75 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -const namespaceStartCharCode = "@".charCodeAt(0); - -module.exports = class JoinRequestPartPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | ResolveStepHook} target target - */ - constructor(source, target) { - this.source = source; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync( - "JoinRequestPartPlugin", - (request, resolveContext, callback) => { - const req = request.request || ""; - let i = req.indexOf("/", 3); - - if (i >= 0 && req.charCodeAt(2) === namespaceStartCharCode) { - i = req.indexOf("/", i + 1); - } - - /** @type {string} */ - let moduleName; - /** @type {string} */ - let remainingRequest; - /** @type {boolean} */ - let fullySpecified; - if (i < 0) { - moduleName = req; - remainingRequest = "."; - fullySpecified = false; - } else { - moduleName = req.slice(0, i); - remainingRequest = "." + req.slice(i); - fullySpecified = /** @type {boolean} */ (request.fullySpecified); - } - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: resolver.join( - /** @type {string} */ - (request.path), - moduleName - ), - relativePath: - request.relativePath && - resolver.join(request.relativePath, moduleName), - request: remainingRequest, - fullySpecified - }; - resolver.doResolve(target, obj, null, resolveContext, callback); - } - ); - } -}; diff --git a/node_modules/enhanced-resolve/lib/JoinRequestPlugin.js b/node_modules/enhanced-resolve/lib/JoinRequestPlugin.js deleted file mode 100644 index 2ac99e972d..0000000000 --- a/node_modules/enhanced-resolve/lib/JoinRequestPlugin.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class JoinRequestPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | ResolveStepHook} target target - */ - constructor(source, target) { - this.source = source; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("JoinRequestPlugin", (request, resolveContext, callback) => { - const requestPath = /** @type {string} */ (request.path); - const requestRequest = /** @type {string} */ (request.request); - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: resolver.join(requestPath, requestRequest), - relativePath: - request.relativePath && - resolver.join(request.relativePath, requestRequest), - request: undefined - }; - resolver.doResolve(target, obj, null, resolveContext, callback); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/LogInfoPlugin.js b/node_modules/enhanced-resolve/lib/LogInfoPlugin.js deleted file mode 100644 index d8b92070b0..0000000000 --- a/node_modules/enhanced-resolve/lib/LogInfoPlugin.js +++ /dev/null @@ -1,54 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class LogInfoPlugin { - /** - * @param {string | ResolveStepHook} source source - */ - constructor(source) { - this.source = source; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const source = this.source; - resolver - .getHook(this.source) - .tapAsync("LogInfoPlugin", (request, resolveContext, callback) => { - if (!resolveContext.log) return callback(); - const log = resolveContext.log; - const prefix = "[" + source + "] "; - if (request.path) - log(prefix + "Resolving in directory: " + request.path); - if (request.request) - log(prefix + "Resolving request: " + request.request); - if (request.module) log(prefix + "Request is an module request."); - if (request.directory) log(prefix + "Request is a directory request."); - if (request.query) - log(prefix + "Resolving request query: " + request.query); - if (request.fragment) - log(prefix + "Resolving request fragment: " + request.fragment); - if (request.descriptionFilePath) - log( - prefix + "Has description data from " + request.descriptionFilePath - ); - if (request.relativePath) - log( - prefix + - "Relative path from description file is: " + - request.relativePath - ); - callback(); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/MainFieldPlugin.js b/node_modules/enhanced-resolve/lib/MainFieldPlugin.js deleted file mode 100644 index 645b7df240..0000000000 --- a/node_modules/enhanced-resolve/lib/MainFieldPlugin.js +++ /dev/null @@ -1,90 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const path = require("path"); -const DescriptionFileUtils = require("./DescriptionFileUtils"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").JsonObject} JsonObject */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -/** @typedef {{name: string|Array, forceRelative: boolean}} MainFieldOptions */ - -const alreadyTriedMainField = Symbol("alreadyTriedMainField"); - -module.exports = class MainFieldPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {MainFieldOptions} options options - * @param {string | ResolveStepHook} target target - */ - constructor(source, options, target) { - this.source = source; - this.options = options; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("MainFieldPlugin", (request, resolveContext, callback) => { - if ( - request.path !== request.descriptionFileRoot || - /** @type {ResolveRequest & { [alreadyTriedMainField]?: string }} */ - (request)[alreadyTriedMainField] === request.descriptionFilePath || - !request.descriptionFilePath - ) - return callback(); - const filename = path.basename(request.descriptionFilePath); - let mainModule = - /** @type {string|null|undefined} */ - ( - DescriptionFileUtils.getField( - /** @type {JsonObject} */ (request.descriptionFileData), - this.options.name - ) - ); - - if ( - !mainModule || - typeof mainModule !== "string" || - mainModule === "." || - mainModule === "./" - ) { - return callback(); - } - if (this.options.forceRelative && !/^\.\.?\//.test(mainModule)) - mainModule = "./" + mainModule; - /** @type {ResolveRequest & { [alreadyTriedMainField]?: string }} */ - const obj = { - ...request, - request: mainModule, - module: false, - directory: mainModule.endsWith("/"), - [alreadyTriedMainField]: request.descriptionFilePath - }; - return resolver.doResolve( - target, - obj, - "use " + - mainModule + - " from " + - this.options.name + - " in " + - filename, - resolveContext, - callback - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js b/node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js deleted file mode 100644 index 06065e82c6..0000000000 --- a/node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -// TODO remove in next major -module.exports = require("./ModulesInHierarchicalDirectoriesPlugin"); diff --git a/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js b/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js deleted file mode 100644 index 651377b2ac..0000000000 --- a/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js +++ /dev/null @@ -1,87 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const forEachBail = require("./forEachBail"); -const getPaths = require("./getPaths"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class ModulesInHierarchicalDirectoriesPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | Array} directories directories - * @param {string | ResolveStepHook} target target - */ - constructor(source, directories, target) { - this.source = source; - this.directories = /** @type {Array} */ ([]).concat(directories); - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync( - "ModulesInHierarchicalDirectoriesPlugin", - (request, resolveContext, callback) => { - const fs = resolver.fileSystem; - const addrs = getPaths(/** @type {string} */ (request.path)) - .paths.map(p => { - return this.directories.map(d => resolver.join(p, d)); - }) - .reduce((array, p) => { - array.push.apply(array, p); - return array; - }, []); - forEachBail( - addrs, - /** - * @param {string} addr addr - * @param {(err?: null|Error, result?: null|ResolveRequest) => void} callback callback - * @returns {void} - */ - (addr, callback) => { - fs.stat(addr, (err, stat) => { - if (!err && stat && stat.isDirectory()) { - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: addr, - request: "./" + request.request, - module: false - }; - const message = "looking for modules in " + addr; - return resolver.doResolve( - target, - obj, - message, - resolveContext, - callback - ); - } - if (resolveContext.log) - resolveContext.log( - addr + " doesn't exist or is not a directory" - ); - if (resolveContext.missingDependencies) - resolveContext.missingDependencies.add(addr); - return callback(); - }); - }, - callback - ); - } - ); - } -}; diff --git a/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js b/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js deleted file mode 100644 index b7e5168810..0000000000 --- a/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js +++ /dev/null @@ -1,49 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class ModulesInRootPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string} path path - * @param {string | ResolveStepHook} target target - */ - constructor(source, path, target) { - this.source = source; - this.path = path; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("ModulesInRootPlugin", (request, resolveContext, callback) => { - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: this.path, - request: "./" + request.request, - module: false - }; - resolver.doResolve( - target, - obj, - "looking for modules in " + this.path, - resolveContext, - callback - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/NextPlugin.js b/node_modules/enhanced-resolve/lib/NextPlugin.js deleted file mode 100644 index e59c56b8e0..0000000000 --- a/node_modules/enhanced-resolve/lib/NextPlugin.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class NextPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | ResolveStepHook} target target - */ - constructor(source, target) { - this.source = source; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("NextPlugin", (request, resolveContext, callback) => { - resolver.doResolve(target, request, null, resolveContext, callback); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/ParsePlugin.js b/node_modules/enhanced-resolve/lib/ParsePlugin.js deleted file mode 100644 index b7db0b07ec..0000000000 --- a/node_modules/enhanced-resolve/lib/ParsePlugin.js +++ /dev/null @@ -1,76 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class ParsePlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {Partial} requestOptions request options - * @param {string | ResolveStepHook} target target - */ - constructor(source, requestOptions, target) { - this.source = source; - this.requestOptions = requestOptions; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("ParsePlugin", (request, resolveContext, callback) => { - const parsed = resolver.parse(/** @type {string} */ (request.request)); - /** @type {ResolveRequest} */ - const obj = { ...request, ...parsed, ...this.requestOptions }; - if (request.query && !parsed.query) { - obj.query = request.query; - } - if (request.fragment && !parsed.fragment) { - obj.fragment = request.fragment; - } - if (parsed && resolveContext.log) { - if (parsed.module) resolveContext.log("Parsed request is a module"); - if (parsed.directory) - resolveContext.log("Parsed request is a directory"); - } - // There is an edge-case where a request with # can be a path or a fragment -> try both - if (obj.request && !obj.query && obj.fragment) { - const directory = obj.fragment.endsWith("/"); - /** @type {ResolveRequest} */ - const alternative = { - ...obj, - directory, - request: - obj.request + - (obj.directory ? "/" : "") + - (directory ? obj.fragment.slice(0, -1) : obj.fragment), - fragment: "" - }; - resolver.doResolve( - target, - alternative, - null, - resolveContext, - (err, result) => { - if (err) return callback(err); - if (result) return callback(null, result); - resolver.doResolve(target, obj, null, resolveContext, callback); - } - ); - return; - } - resolver.doResolve(target, obj, null, resolveContext, callback); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/PnpPlugin.js b/node_modules/enhanced-resolve/lib/PnpPlugin.js deleted file mode 100644 index d3d98bad92..0000000000 --- a/node_modules/enhanced-resolve/lib/PnpPlugin.js +++ /dev/null @@ -1,133 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Maël Nison @arcanis -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** - * @typedef {Object} PnpApiImpl - * @property {function(string, string, object): string | null} resolveToUnqualified - */ - -module.exports = class PnpPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {PnpApiImpl} pnpApi pnpApi - * @param {string | ResolveStepHook} target target - * @param {string | ResolveStepHook} alternateTarget alternateTarget - */ - constructor(source, pnpApi, target, alternateTarget) { - this.source = source; - this.pnpApi = pnpApi; - this.target = target; - this.alternateTarget = alternateTarget; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - /** @type {ResolveStepHook} */ - const target = resolver.ensureHook(this.target); - const alternateTarget = resolver.ensureHook(this.alternateTarget); - resolver - .getHook(this.source) - .tapAsync("PnpPlugin", (request, resolveContext, callback) => { - const req = request.request; - if (!req) return callback(); - - // The trailing slash indicates to PnP that this value is a folder rather than a file - const issuer = `${request.path}/`; - - const packageMatch = /^(@[^/]+\/)?[^/]+/.exec(req); - if (!packageMatch) return callback(); - - const packageName = packageMatch[0]; - const innerRequest = `.${req.slice(packageName.length)}`; - - /** @type {string|undefined|null} */ - let resolution; - /** @type {string|undefined|null} */ - let apiResolution; - try { - resolution = this.pnpApi.resolveToUnqualified(packageName, issuer, { - considerBuiltins: false - }); - - if (resolution === null) { - // This is either not a PnP managed issuer or it's a Node builtin - // Try to continue resolving with our alternatives - resolver.doResolve( - alternateTarget, - request, - "issuer is not managed by a pnpapi", - resolveContext, - (err, result) => { - if (err) return callback(err); - if (result) return callback(null, result); - // Skip alternatives - return callback(null, null); - } - ); - return; - } - - if (resolveContext.fileDependencies) { - apiResolution = this.pnpApi.resolveToUnqualified("pnpapi", issuer, { - considerBuiltins: false - }); - } - } catch (/** @type {unknown} */ error) { - if ( - /** @type {Error & { code: string }} */ - (error).code === "MODULE_NOT_FOUND" && - /** @type {Error & { pnpCode: string }} */ - (error).pnpCode === "UNDECLARED_DEPENDENCY" - ) { - // This is not a PnP managed dependency. - // Try to continue resolving with our alternatives - if (resolveContext.log) { - resolveContext.log(`request is not managed by the pnpapi`); - for (const line of /** @type {Error} */ (error).message - .split("\n") - .filter(Boolean)) - resolveContext.log(` ${line}`); - } - return callback(); - } - return callback(/** @type {Error} */ (error)); - } - - if (resolution === packageName) return callback(); - - if (apiResolution && resolveContext.fileDependencies) { - resolveContext.fileDependencies.add(apiResolution); - } - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: resolution, - request: innerRequest, - ignoreSymlinks: true, - fullySpecified: request.fullySpecified && innerRequest !== "." - }; - resolver.doResolve( - target, - obj, - `resolved by pnp to ${resolution}`, - resolveContext, - (err, result) => { - if (err) return callback(err); - if (result) return callback(null, result); - // Skip alternatives - return callback(null, null); - } - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/Resolver.js b/node_modules/enhanced-resolve/lib/Resolver.js deleted file mode 100644 index fdb73dc1a0..0000000000 --- a/node_modules/enhanced-resolve/lib/Resolver.js +++ /dev/null @@ -1,800 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const { AsyncSeriesBailHook, AsyncSeriesHook, SyncHook } = require("tapable"); -const createInnerContext = require("./createInnerContext"); -const { parseIdentifier } = require("./util/identifier"); -const { - normalize, - cachedJoin: join, - getType, - PathType -} = require("./util/path"); - -/** @typedef {import("./ResolverFactory").ResolveOptions} ResolveOptions */ - -/** @typedef {Error & { details?: string }} ErrorWithDetail */ - -/** @typedef {(err: ErrorWithDetail | null, res?: string | false, req?: ResolveRequest) => void} ResolveCallback */ - -/** - * @typedef {Object} PossibleFileSystemError - * @property {string=} code - * @property {number=} errno - * @property {string=} path - * @property {string=} syscall - */ - -/** - * @template T - * @callback FileSystemCallback - * @param {PossibleFileSystemError & Error | null} err - * @param {T=} result - */ - -/** - * @typedef {string | Buffer | URL} PathLike - */ - -/** - * @typedef {PathLike | number} PathOrFileDescriptor - */ - -/** - * @typedef {Object} ObjectEncodingOptions - * @property {BufferEncoding | null | undefined} [encoding] - */ - -/** @typedef {function(NodeJS.ErrnoException | null, string=): void} StringCallback */ -/** @typedef {function(NodeJS.ErrnoException | null, Buffer=): void} BufferCallback */ -/** @typedef {function(NodeJS.ErrnoException | null, (string | Buffer)=): void} StringOrBufferCallback */ -/** @typedef {function(NodeJS.ErrnoException | null, IStats=): void} StatsCallback */ -/** @typedef {function(NodeJS.ErrnoException | null, IBigIntStats=): void} BigIntStatsCallback */ -/** @typedef {function(NodeJS.ErrnoException | null, (IStats | IBigIntStats)=): void} StatsOrBigIntStatsCallback */ -/** @typedef {function(NodeJS.ErrnoException | Error | null, JsonObject=): void} ReadJsonCallback */ -/** @typedef {function(NodeJS.ErrnoException | null, string[]=): void} ReaddirStringCallback */ -/** @typedef {function(NodeJS.ErrnoException | null, Buffer[]=): void} ReaddirBufferCallback */ -/** @typedef {function(NodeJS.ErrnoException | null, (string[] | Buffer[])=): void} ReaddirStringOrBufferCallback */ -/** @typedef {function(NodeJS.ErrnoException | null, Dirent[]=): void} ReaddirDirentCallback */ - -/** - * @template T - * @typedef {Object} IStatsBase - * @property {() => boolean} isFile - * @property {() => boolean} isDirectory - * @property {() => boolean} isBlockDevice - * @property {() => boolean} isCharacterDevice - * @property {() => boolean} isSymbolicLink - * @property {() => boolean} isFIFO - * @property {() => boolean} isSocket - * @property {T} dev - * @property {T} ino - * @property {T} mode - * @property {T} nlink - * @property {T} uid - * @property {T} gid - * @property {T} rdev - * @property {T} size - * @property {T} blksize - * @property {T} blocks - * @property {T} atimeMs - * @property {T} mtimeMs - * @property {T} ctimeMs - * @property {T} birthtimeMs - * @property {Date} atime - * @property {Date} mtime - * @property {Date} ctime - * @property {Date} birthtime - */ - -/** - * @typedef {IStatsBase} IStats - */ - -/** - * @typedef {IStatsBase & { atimeNs: bigint, mtimeNs: bigint, ctimeNs: bigint, birthtimeNs: bigint }} IBigIntStats - */ - -/** - * @typedef {Object} Dirent - * @property {() => boolean} isFile - * @property {() => boolean} isDirectory - * @property {() => boolean} isBlockDevice - * @property {() => boolean} isCharacterDevice - * @property {() => boolean} isSymbolicLink - * @property {() => boolean} isFIFO - * @property {() => boolean} isSocket - * @property {string} name - * @property {string} path - */ - -/** - * @typedef {Object} StatOptions - * @property {(boolean | undefined)=} bigint - */ - -/** - * @typedef {Object} StatSyncOptions - * @property {(boolean | undefined)=} bigint - * @property {(boolean | undefined)=} throwIfNoEntry - */ - -/** - * @typedef {{ - * (path: PathOrFileDescriptor, options: ({ encoding?: null | undefined, flag?: string | undefined } & import("events").Abortable) | undefined | null, callback: BufferCallback): void; - * (path: PathOrFileDescriptor, options: ({ encoding: BufferEncoding, flag?: string | undefined } & import("events").Abortable) | BufferEncoding, callback: StringCallback): void; - * (path: PathOrFileDescriptor, options: (ObjectEncodingOptions & { flag?: string | undefined } & import("events").Abortable) | BufferEncoding | undefined | null, callback: StringOrBufferCallback): void; - * (path: PathOrFileDescriptor, callback: BufferCallback): void; - * }} ReadFile - */ - -/** - * @typedef {ObjectEncodingOptions | BufferEncoding | undefined | null} EncodingOption - */ - -/** - * @typedef {'buffer'| { encoding: 'buffer' }} BufferEncodingOption - */ - -/** - * @typedef {{ - * (path: PathOrFileDescriptor, options?: { encoding?: null | undefined, flag?: string | undefined } | null): Buffer; - * (path: PathOrFileDescriptor, options: { encoding: BufferEncoding, flag?: string | undefined } | BufferEncoding): string; - * (path: PathOrFileDescriptor, options?: (ObjectEncodingOptions & { flag?: string | undefined }) | BufferEncoding | null): string | Buffer; - * }} ReadFileSync - */ - -/** - * @typedef {{ - * (path: PathLike, options: { encoding: BufferEncoding | null, withFileTypes?: false | undefined, recursive?: boolean | undefined } | BufferEncoding | undefined | null, callback: ReaddirStringCallback): void; - * (path: PathLike, options: { encoding: 'buffer', withFileTypes?: false | undefined, recursive?: boolean | undefined } | 'buffer', callback: ReaddirBufferCallback): void; - * (path: PathLike, callback: ReaddirStringCallback): void; - * (path: PathLike, options: (ObjectEncodingOptions & { withFileTypes?: false | undefined, recursive?: boolean | undefined }) | BufferEncoding | undefined | null, callback: ReaddirStringOrBufferCallback): void; - * (path: PathLike, options: ObjectEncodingOptions & { withFileTypes: true, recursive?: boolean | undefined }, callback: ReaddirDirentCallback): void; - * }} Readdir - */ - -/** - * @typedef {{ - * (path: PathLike, options?: { encoding: BufferEncoding | null, withFileTypes?: false | undefined, recursive?: boolean | undefined } | BufferEncoding | null): string[]; - * (path: PathLike, options: { encoding: 'buffer', withFileTypes?: false | undefined, recursive?: boolean | undefined } | 'buffer'): Buffer[]; - * (path: PathLike, options?: (ObjectEncodingOptions & { withFileTypes?: false | undefined, recursive?: boolean | undefined }) | BufferEncoding | null): string[] | Buffer[]; - * (path: PathLike, options: ObjectEncodingOptions & { withFileTypes: true, recursive?: boolean | undefined }): Dirent[]; - * }} ReaddirSync - - /** - * @typedef {function(PathOrFileDescriptor, ReadJsonCallback): void} ReadJson - */ - -/** - * @typedef {function(PathOrFileDescriptor): JsonObject} ReadJsonSync - */ - -/** - * @typedef {{ - * (path: PathLike, options: EncodingOption, callback: StringCallback): void; - * (path: PathLike, options: BufferEncodingOption, callback: BufferCallback): void; - * (path: PathLike, options: EncodingOption, callback: StringOrBufferCallback): void; - * (path: PathLike, callback: StringCallback): void; - * }} Readlink - */ - -/** - * @typedef {{ - * (path: PathLike, options?: EncodingOption): string; - * (path: PathLike, options: BufferEncodingOption): Buffer; - * (path: PathLike, options?: EncodingOption): string | Buffer; - * }} ReadlinkSync - */ - -/** - * @typedef {{ - * (path: PathLike, callback: StatsCallback): void; - * (path: PathLike, options: (StatOptions & { bigint?: false | undefined }) | undefined, callback: StatsCallback): void; - * (path: PathLike, options: StatOptions & { bigint: true }, callback: BigIntStatsCallback): void; - * (path: PathLike, options: StatOptions | undefined, callback: StatsOrBigIntStatsCallback): void; - * }} LStat - */ - -/** - * @typedef {{ - * (path: PathLike, options?: undefined): IStats; - * (path: PathLike, options?: StatSyncOptions & { bigint?: false | undefined, throwIfNoEntry: false }): IStats | undefined; - * (path: PathLike, options: StatSyncOptions & { bigint: true, throwIfNoEntry: false }): IBigIntStats | undefined; - * (path: PathLike, options?: StatSyncOptions & { bigint?: false | undefined }): IStats; - * (path: PathLike, options: StatSyncOptions & { bigint: true }): IBigIntStats; - * (path: PathLike, options: StatSyncOptions & { bigint: boolean, throwIfNoEntry?: false | undefined }): IStats | IBigIntStats; - * (path: PathLike, options?: StatSyncOptions): IStats | IBigIntStats | undefined; - * }} LStatSync - */ - -/** - * @typedef {{ - * (path: PathLike, callback: StatsCallback): void; - * (path: PathLike, options: (StatOptions & { bigint?: false | undefined }) | undefined, callback: StatsCallback): void; - * (path: PathLike, options: StatOptions & { bigint: true }, callback: BigIntStatsCallback): void; - * (path: PathLike, options: StatOptions | undefined, callback: StatsOrBigIntStatsCallback): void; - * }} Stat - */ - -/** - * @typedef {{ - * (path: PathLike, options?: undefined): IStats; - * (path: PathLike, options?: StatSyncOptions & { bigint?: false | undefined, throwIfNoEntry: false }): IStats | undefined; - * (path: PathLike, options: StatSyncOptions & { bigint: true, throwIfNoEntry: false }): IBigIntStats | undefined; - * (path: PathLike, options?: StatSyncOptions & { bigint?: false | undefined }): IStats; - * (path: PathLike, options: StatSyncOptions & { bigint: true }): IBigIntStats; - * (path: PathLike, options: StatSyncOptions & { bigint: boolean, throwIfNoEntry?: false | undefined }): IStats | IBigIntStats; - * (path: PathLike, options?: StatSyncOptions): IStats | IBigIntStats | undefined; - * }} StatSync - */ - -/** - * @typedef {{ - * (path: PathLike, options: EncodingOption, callback: StringCallback): void; - * (path: PathLike, options: BufferEncodingOption, callback: BufferCallback): void; - * (path: PathLike, options: EncodingOption, callback: StringOrBufferCallback): void; - * (path: PathLike, callback: StringCallback): void; - * }} RealPath - */ - -/** - * @typedef {{ - * (path: PathLike, options?: EncodingOption): string; - * (path: PathLike, options: BufferEncodingOption): Buffer; - * (path: PathLike, options?: EncodingOption): string | Buffer; - * }} RealPathSync - */ - -/** - * @typedef {Object} FileSystem - * @property {ReadFile} readFile - * @property {Readdir} readdir - * @property {ReadJson=} readJson - * @property {Readlink} readlink - * @property {LStat=} lstat - * @property {Stat} stat - * @property {RealPath=} realpath - */ - -/** - * @typedef {Object} SyncFileSystem - * @property {ReadFileSync} readFileSync - * @property {ReaddirSync} readdirSync - * @property {ReadJsonSync=} readJsonSync - * @property {ReadlinkSync} readlinkSync - * @property {LStatSync=} lstatSync - * @property {StatSync} statSync - * @property {RealPathSync=} realpathSync - */ - -/** - * @typedef {Object} ParsedIdentifier - * @property {string} request - * @property {string} query - * @property {string} fragment - * @property {boolean} directory - * @property {boolean} module - * @property {boolean} file - * @property {boolean} internal - */ - -/** @typedef {string | number | boolean | null} JsonPrimitive */ -/** @typedef {JsonValue[]} JsonArray */ -/** @typedef {JsonPrimitive | JsonObject | JsonArray} JsonValue */ -/** @typedef {{[Key in string]: JsonValue} & {[Key in string]?: JsonValue | undefined}} JsonObject */ - -/** - * @typedef {Object} BaseResolveRequest - * @property {string | false} path - * @property {object=} context - * @property {string=} descriptionFilePath - * @property {string=} descriptionFileRoot - * @property {JsonObject=} descriptionFileData - * @property {string=} relativePath - * @property {boolean=} ignoreSymlinks - * @property {boolean=} fullySpecified - * @property {string=} __innerRequest - * @property {string=} __innerRequest_request - * @property {string=} __innerRequest_relativePath - */ - -/** @typedef {BaseResolveRequest & Partial} ResolveRequest */ - -/** - * String with special formatting - * @typedef {string} StackEntry - */ - -/** - * @template T - * @typedef {{ add: (item: T) => void }} WriteOnlySet - */ - -/** @typedef {(function (ResolveRequest): void)} ResolveContextYield */ - -/** - * Resolve context - * @typedef {Object} ResolveContext - * @property {WriteOnlySet=} contextDependencies - * @property {WriteOnlySet=} fileDependencies files that was found on file system - * @property {WriteOnlySet=} missingDependencies dependencies that was not found on file system - * @property {Set=} stack set of hooks' calls. For instance, `resolve → parsedResolve → describedResolve`, - * @property {(function(string): void)=} log log function - * @property {ResolveContextYield=} yield yield result, if provided plugins can return several results - */ - -/** @typedef {AsyncSeriesBailHook<[ResolveRequest, ResolveContext], ResolveRequest | null>} ResolveStepHook */ - -/** - * @typedef {Object} KnownHooks - * @property {SyncHook<[ResolveStepHook, ResolveRequest], void>} resolveStep - * @property {SyncHook<[ResolveRequest, Error]>} noResolve - * @property {ResolveStepHook} resolve - * @property {AsyncSeriesHook<[ResolveRequest, ResolveContext]>} result - */ - -/** - * @typedef {{[key: string]: ResolveStepHook}} EnsuredHooks - */ - -/** - * @param {string} str input string - * @returns {string} in camel case - */ -function toCamelCase(str) { - return str.replace(/-([a-z])/g, str => str.slice(1).toUpperCase()); -} - -class Resolver { - /** - * @param {ResolveStepHook} hook hook - * @param {ResolveRequest} request request - * @returns {StackEntry} stack entry - */ - static createStackEntry(hook, request) { - return ( - hook.name + - ": (" + - request.path + - ") " + - (request.request || "") + - (request.query || "") + - (request.fragment || "") + - (request.directory ? " directory" : "") + - (request.module ? " module" : "") - ); - } - - /** - * @param {FileSystem} fileSystem a filesystem - * @param {ResolveOptions} options options - */ - constructor(fileSystem, options) { - this.fileSystem = fileSystem; - this.options = options; - /** @type {KnownHooks} */ - this.hooks = { - resolveStep: new SyncHook(["hook", "request"], "resolveStep"), - noResolve: new SyncHook(["request", "error"], "noResolve"), - resolve: new AsyncSeriesBailHook( - ["request", "resolveContext"], - "resolve" - ), - result: new AsyncSeriesHook(["result", "resolveContext"], "result") - }; - } - - /** - * @param {string | ResolveStepHook} name hook name or hook itself - * @returns {ResolveStepHook} the hook - */ - ensureHook(name) { - if (typeof name !== "string") { - return name; - } - name = toCamelCase(name); - if (/^before/.test(name)) { - return /** @type {ResolveStepHook} */ ( - this.ensureHook(name[6].toLowerCase() + name.slice(7)).withOptions({ - stage: -10 - }) - ); - } - if (/^after/.test(name)) { - return /** @type {ResolveStepHook} */ ( - this.ensureHook(name[5].toLowerCase() + name.slice(6)).withOptions({ - stage: 10 - }) - ); - } - /** @type {ResolveStepHook} */ - const hook = /** @type {KnownHooks & EnsuredHooks} */ (this.hooks)[name]; - if (!hook) { - /** @type {KnownHooks & EnsuredHooks} */ - (this.hooks)[name] = new AsyncSeriesBailHook( - ["request", "resolveContext"], - name - ); - - return /** @type {KnownHooks & EnsuredHooks} */ (this.hooks)[name]; - } - return hook; - } - - /** - * @param {string | ResolveStepHook} name hook name or hook itself - * @returns {ResolveStepHook} the hook - */ - getHook(name) { - if (typeof name !== "string") { - return name; - } - name = toCamelCase(name); - if (/^before/.test(name)) { - return /** @type {ResolveStepHook} */ ( - this.getHook(name[6].toLowerCase() + name.slice(7)).withOptions({ - stage: -10 - }) - ); - } - if (/^after/.test(name)) { - return /** @type {ResolveStepHook} */ ( - this.getHook(name[5].toLowerCase() + name.slice(6)).withOptions({ - stage: 10 - }) - ); - } - /** @type {ResolveStepHook} */ - const hook = /** @type {KnownHooks & EnsuredHooks} */ (this.hooks)[name]; - if (!hook) { - throw new Error(`Hook ${name} doesn't exist`); - } - return hook; - } - - /** - * @param {object} context context information object - * @param {string} path context path - * @param {string} request request string - * @returns {string | false} result - */ - resolveSync(context, path, request) { - /** @type {Error | null | undefined} */ - let err = undefined; - /** @type {string | false | undefined} */ - let result = undefined; - let sync = false; - this.resolve(context, path, request, {}, (e, r) => { - err = e; - result = r; - sync = true; - }); - if (!sync) { - throw new Error( - "Cannot 'resolveSync' because the fileSystem is not sync. Use 'resolve'!" - ); - } - if (err) throw err; - if (result === undefined) throw new Error("No result"); - return result; - } - - /** - * @param {object} context context information object - * @param {string} path context path - * @param {string} request request string - * @param {ResolveContext} resolveContext resolve context - * @param {ResolveCallback} callback callback function - * @returns {void} - */ - resolve(context, path, request, resolveContext, callback) { - if (!context || typeof context !== "object") - return callback(new Error("context argument is not an object")); - if (typeof path !== "string") - return callback(new Error("path argument is not a string")); - if (typeof request !== "string") - return callback(new Error("request argument is not a string")); - if (!resolveContext) - return callback(new Error("resolveContext argument is not set")); - - /** @type {ResolveRequest} */ - const obj = { - context: context, - path: path, - request: request - }; - - /** @type {ResolveContextYield | undefined} */ - let yield_; - let yieldCalled = false; - /** @type {ResolveContextYield | undefined} */ - let finishYield; - if (typeof resolveContext.yield === "function") { - const old = resolveContext.yield; - /** - * @param {ResolveRequest} obj object - */ - yield_ = obj => { - old(obj); - yieldCalled = true; - }; - /** - * @param {ResolveRequest} result result - * @returns {void} - */ - finishYield = result => { - if (result) { - /** @type {ResolveContextYield} */ (yield_)(result); - } - callback(null); - }; - } - - const message = `resolve '${request}' in '${path}'`; - - /** - * @param {ResolveRequest} result result - * @returns {void} - */ - const finishResolved = result => { - return callback( - null, - result.path === false - ? false - : `${result.path.replace(/#/g, "\0#")}${ - result.query ? result.query.replace(/#/g, "\0#") : "" - }${result.fragment || ""}`, - result - ); - }; - - /** - * @param {string[]} log logs - * @returns {void} - */ - const finishWithoutResolve = log => { - /** - * @type {ErrorWithDetail} - */ - const error = new Error("Can't " + message); - error.details = log.join("\n"); - this.hooks.noResolve.call(obj, error); - return callback(error); - }; - - if (resolveContext.log) { - // We need log anyway to capture it in case of an error - const parentLog = resolveContext.log; - /** @type {string[]} */ - const log = []; - return this.doResolve( - this.hooks.resolve, - obj, - message, - { - log: msg => { - parentLog(msg); - log.push(msg); - }, - yield: yield_, - fileDependencies: resolveContext.fileDependencies, - contextDependencies: resolveContext.contextDependencies, - missingDependencies: resolveContext.missingDependencies, - stack: resolveContext.stack - }, - (err, result) => { - if (err) return callback(err); - - if (yieldCalled || (result && yield_)) { - return /** @type {ResolveContextYield} */ (finishYield)( - /** @type {ResolveRequest} */ (result) - ); - } - - if (result) return finishResolved(result); - - return finishWithoutResolve(log); - } - ); - } else { - // Try to resolve assuming there is no error - // We don't log stuff in this case - return this.doResolve( - this.hooks.resolve, - obj, - message, - { - log: undefined, - yield: yield_, - fileDependencies: resolveContext.fileDependencies, - contextDependencies: resolveContext.contextDependencies, - missingDependencies: resolveContext.missingDependencies, - stack: resolveContext.stack - }, - (err, result) => { - if (err) return callback(err); - - if (yieldCalled || (result && yield_)) { - return /** @type {ResolveContextYield} */ (finishYield)( - /** @type {ResolveRequest} */ (result) - ); - } - - if (result) return finishResolved(result); - - // log is missing for the error details - // so we redo the resolving for the log info - // this is more expensive to the success case - // is assumed by default - /** @type {string[]} */ - const log = []; - - return this.doResolve( - this.hooks.resolve, - obj, - message, - { - log: msg => log.push(msg), - yield: yield_, - stack: resolveContext.stack - }, - (err, result) => { - if (err) return callback(err); - - // In a case that there is a race condition and yield will be called - if (yieldCalled || (result && yield_)) { - return /** @type {ResolveContextYield} */ (finishYield)( - /** @type {ResolveRequest} */ (result) - ); - } - - return finishWithoutResolve(log); - } - ); - } - ); - } - } - - /** - * @param {ResolveStepHook} hook hook - * @param {ResolveRequest} request request - * @param {null|string} message string - * @param {ResolveContext} resolveContext resolver context - * @param {(err?: null|Error, result?: ResolveRequest) => void} callback callback - * @returns {void} - */ - doResolve(hook, request, message, resolveContext, callback) { - const stackEntry = Resolver.createStackEntry(hook, request); - - /** @type {Set | undefined} */ - let newStack; - if (resolveContext.stack) { - newStack = new Set(resolveContext.stack); - if (resolveContext.stack.has(stackEntry)) { - /** - * Prevent recursion - * @type {Error & {recursion?: boolean}} - */ - const recursionError = new Error( - "Recursion in resolving\nStack:\n " + - Array.from(newStack).join("\n ") - ); - recursionError.recursion = true; - if (resolveContext.log) - resolveContext.log("abort resolving because of recursion"); - return callback(recursionError); - } - newStack.add(stackEntry); - } else { - // creating a set with new Set([item]) - // allocates a new array that has to be garbage collected - // this is an EXTREMELY hot path, so let's avoid it - newStack = new Set(); - newStack.add(stackEntry); - } - this.hooks.resolveStep.call(hook, request); - - if (hook.isUsed()) { - const innerContext = createInnerContext( - { - log: resolveContext.log, - yield: resolveContext.yield, - fileDependencies: resolveContext.fileDependencies, - contextDependencies: resolveContext.contextDependencies, - missingDependencies: resolveContext.missingDependencies, - stack: newStack - }, - message - ); - return hook.callAsync(request, innerContext, (err, result) => { - if (err) return callback(err); - if (result) return callback(null, result); - callback(); - }); - } else { - callback(); - } - } - - /** - * @param {string} identifier identifier - * @returns {ParsedIdentifier} parsed identifier - */ - parse(identifier) { - const part = { - request: "", - query: "", - fragment: "", - module: false, - directory: false, - file: false, - internal: false - }; - - const parsedIdentifier = parseIdentifier(identifier); - - if (!parsedIdentifier) return part; - - [part.request, part.query, part.fragment] = parsedIdentifier; - - if (part.request.length > 0) { - part.internal = this.isPrivate(identifier); - part.module = this.isModule(part.request); - part.directory = this.isDirectory(part.request); - if (part.directory) { - part.request = part.request.slice(0, -1); - } - } - - return part; - } - - /** - * @param {string} path path - * @returns {boolean} true, if the path is a module - */ - isModule(path) { - return getType(path) === PathType.Normal; - } - - /** - * @param {string} path path - * @returns {boolean} true, if the path is private - */ - isPrivate(path) { - return getType(path) === PathType.Internal; - } - - /** - * @param {string} path a path - * @returns {boolean} true, if the path is a directory path - */ - isDirectory(path) { - return path.endsWith("/"); - } - - /** - * @param {string} path path - * @param {string} request request - * @returns {string} joined path - */ - join(path, request) { - return join(path, request); - } - - /** - * @param {string} path path - * @returns {string} normalized path - */ - normalize(path) { - return normalize(path); - } -} - -module.exports = Resolver; diff --git a/node_modules/enhanced-resolve/lib/ResolverFactory.js b/node_modules/enhanced-resolve/lib/ResolverFactory.js deleted file mode 100644 index 59558c7fe5..0000000000 --- a/node_modules/enhanced-resolve/lib/ResolverFactory.js +++ /dev/null @@ -1,728 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const versions = require("process").versions; -const Resolver = require("./Resolver"); -const { getType, PathType } = require("./util/path"); - -const SyncAsyncFileSystemDecorator = require("./SyncAsyncFileSystemDecorator"); - -const AliasFieldPlugin = require("./AliasFieldPlugin"); -const AliasPlugin = require("./AliasPlugin"); -const AppendPlugin = require("./AppendPlugin"); -const ConditionalPlugin = require("./ConditionalPlugin"); -const DescriptionFilePlugin = require("./DescriptionFilePlugin"); -const DirectoryExistsPlugin = require("./DirectoryExistsPlugin"); -const ExportsFieldPlugin = require("./ExportsFieldPlugin"); -const ExtensionAliasPlugin = require("./ExtensionAliasPlugin"); -const FileExistsPlugin = require("./FileExistsPlugin"); -const ImportsFieldPlugin = require("./ImportsFieldPlugin"); -const JoinRequestPartPlugin = require("./JoinRequestPartPlugin"); -const JoinRequestPlugin = require("./JoinRequestPlugin"); -const MainFieldPlugin = require("./MainFieldPlugin"); -const ModulesInHierarchicalDirectoriesPlugin = require("./ModulesInHierarchicalDirectoriesPlugin"); -const ModulesInRootPlugin = require("./ModulesInRootPlugin"); -const NextPlugin = require("./NextPlugin"); -const ParsePlugin = require("./ParsePlugin"); -const PnpPlugin = require("./PnpPlugin"); -const RestrictionsPlugin = require("./RestrictionsPlugin"); -const ResultPlugin = require("./ResultPlugin"); -const RootsPlugin = require("./RootsPlugin"); -const SelfReferencePlugin = require("./SelfReferencePlugin"); -const SymlinkPlugin = require("./SymlinkPlugin"); -const TryNextPlugin = require("./TryNextPlugin"); -const UnsafeCachePlugin = require("./UnsafeCachePlugin"); -const UseFilePlugin = require("./UseFilePlugin"); - -/** @typedef {import("./AliasPlugin").AliasOption} AliasOptionEntry */ -/** @typedef {import("./ExtensionAliasPlugin").ExtensionAliasOption} ExtensionAliasOption */ -/** @typedef {import("./PnpPlugin").PnpApiImpl} PnpApi */ -/** @typedef {import("./Resolver").EnsuredHooks} EnsuredHooks */ -/** @typedef {import("./Resolver").FileSystem} FileSystem */ -/** @typedef {import("./Resolver").KnownHooks} KnownHooks */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").SyncFileSystem} SyncFileSystem */ - -/** @typedef {string|string[]|false} AliasOptionNewRequest */ -/** @typedef {{[k: string]: AliasOptionNewRequest}} AliasOptions */ -/** @typedef {{[k: string]: string|string[] }} ExtensionAliasOptions */ -/** @typedef {false | 0 | "" | null | undefined} Falsy */ -/** @typedef {{apply: function(Resolver): void} | (function(this: Resolver, Resolver): void) | Falsy} Plugin */ - -/** - * @typedef {Object} UserResolveOptions - * @property {(AliasOptions | AliasOptionEntry[])=} alias A list of module alias configurations or an object which maps key to value - * @property {(AliasOptions | AliasOptionEntry[])=} fallback A list of module alias configurations or an object which maps key to value, applied only after modules option - * @property {ExtensionAliasOptions=} extensionAlias An object which maps extension to extension aliases - * @property {(string | string[])[]=} aliasFields A list of alias fields in description files - * @property {(function(ResolveRequest): boolean)=} cachePredicate A function which decides whether a request should be cached or not. An object is passed with at least `path` and `request` properties. - * @property {boolean=} cacheWithContext Whether or not the unsafeCache should include request context as part of the cache key. - * @property {string[]=} descriptionFiles A list of description files to read from - * @property {string[]=} conditionNames A list of exports field condition names. - * @property {boolean=} enforceExtension Enforce that a extension from extensions must be used - * @property {(string | string[])[]=} exportsFields A list of exports fields in description files - * @property {(string | string[])[]=} importsFields A list of imports fields in description files - * @property {string[]=} extensions A list of extensions which should be tried for files - * @property {FileSystem} fileSystem The file system which should be used - * @property {(object | boolean)=} unsafeCache Use this cache object to unsafely cache the successful requests - * @property {boolean=} symlinks Resolve symlinks to their symlinked location - * @property {Resolver=} resolver A prepared Resolver to which the plugins are attached - * @property {string[] | string=} modules A list of directories to resolve modules from, can be absolute path or folder name - * @property {(string | string[] | {name: string | string[], forceRelative: boolean})[]=} mainFields A list of main fields in description files - * @property {string[]=} mainFiles A list of main files in directories - * @property {Plugin[]=} plugins A list of additional resolve plugins which should be applied - * @property {PnpApi | null=} pnpApi A PnP API that should be used - null is "never", undefined is "auto" - * @property {string[]=} roots A list of root paths - * @property {boolean=} fullySpecified The request is already fully specified and no extensions or directories are resolved for it - * @property {boolean=} resolveToContext Resolve to a context instead of a file - * @property {(string|RegExp)[]=} restrictions A list of resolve restrictions - * @property {boolean=} useSyncFileSystemCalls Use only the sync constraints of the file system calls - * @property {boolean=} preferRelative Prefer to resolve module requests as relative requests before falling back to modules - * @property {boolean=} preferAbsolute Prefer to resolve server-relative urls as absolute paths before falling back to resolve in roots - */ - -/** - * @typedef {Object} ResolveOptions - * @property {AliasOptionEntry[]} alias - * @property {AliasOptionEntry[]} fallback - * @property {Set} aliasFields - * @property {ExtensionAliasOption[]} extensionAlias - * @property {(function(ResolveRequest): boolean)} cachePredicate - * @property {boolean} cacheWithContext - * @property {Set} conditionNames A list of exports field condition names. - * @property {string[]} descriptionFiles - * @property {boolean} enforceExtension - * @property {Set} exportsFields - * @property {Set} importsFields - * @property {Set} extensions - * @property {FileSystem} fileSystem - * @property {object | false} unsafeCache - * @property {boolean} symlinks - * @property {Resolver=} resolver - * @property {Array} modules - * @property {{name: string[], forceRelative: boolean}[]} mainFields - * @property {Set} mainFiles - * @property {Plugin[]} plugins - * @property {PnpApi | null} pnpApi - * @property {Set} roots - * @property {boolean} fullySpecified - * @property {boolean} resolveToContext - * @property {Set} restrictions - * @property {boolean} preferRelative - * @property {boolean} preferAbsolute - */ - -/** - * @param {PnpApi | null=} option option - * @returns {PnpApi | null} processed option - */ -function processPnpApiOption(option) { - if ( - option === undefined && - /** @type {NodeJS.ProcessVersions & {pnp: string}} */ versions.pnp - ) { - const _findPnpApi = - /** @type {function(string): PnpApi | null}} */ - ( - // @ts-ignore - require("module").findPnpApi - ); - - if (_findPnpApi) { - return { - resolveToUnqualified(request, issuer, opts) { - const pnpapi = _findPnpApi(issuer); - - if (!pnpapi) { - // Issuer isn't managed by PnP - return null; - } - - return pnpapi.resolveToUnqualified(request, issuer, opts); - } - }; - } - } - - return option || null; -} - -/** - * @param {AliasOptions | AliasOptionEntry[] | undefined} alias alias - * @returns {AliasOptionEntry[]} normalized aliases - */ -function normalizeAlias(alias) { - return typeof alias === "object" && !Array.isArray(alias) && alias !== null - ? Object.keys(alias).map(key => { - /** @type {AliasOptionEntry} */ - const obj = { name: key, onlyModule: false, alias: alias[key] }; - - if (/\$$/.test(key)) { - obj.onlyModule = true; - obj.name = key.slice(0, -1); - } - - return obj; - }) - : /** @type {Array} */ (alias) || []; -} - -/** - * @param {UserResolveOptions} options input options - * @returns {ResolveOptions} output options - */ -function createOptions(options) { - const mainFieldsSet = new Set(options.mainFields || ["main"]); - /** @type {ResolveOptions["mainFields"]} */ - const mainFields = []; - - for (const item of mainFieldsSet) { - if (typeof item === "string") { - mainFields.push({ - name: [item], - forceRelative: true - }); - } else if (Array.isArray(item)) { - mainFields.push({ - name: item, - forceRelative: true - }); - } else { - mainFields.push({ - name: Array.isArray(item.name) ? item.name : [item.name], - forceRelative: item.forceRelative - }); - } - } - - return { - alias: normalizeAlias(options.alias), - fallback: normalizeAlias(options.fallback), - aliasFields: new Set(options.aliasFields), - cachePredicate: - options.cachePredicate || - function () { - return true; - }, - cacheWithContext: - typeof options.cacheWithContext !== "undefined" - ? options.cacheWithContext - : true, - exportsFields: new Set(options.exportsFields || ["exports"]), - importsFields: new Set(options.importsFields || ["imports"]), - conditionNames: new Set(options.conditionNames), - descriptionFiles: Array.from( - new Set(options.descriptionFiles || ["package.json"]) - ), - enforceExtension: - options.enforceExtension === undefined - ? options.extensions && options.extensions.includes("") - ? true - : false - : options.enforceExtension, - extensions: new Set(options.extensions || [".js", ".json", ".node"]), - extensionAlias: options.extensionAlias - ? Object.keys(options.extensionAlias).map(k => ({ - extension: k, - alias: /** @type {ExtensionAliasOptions} */ (options.extensionAlias)[ - k - ] - })) - : [], - fileSystem: options.useSyncFileSystemCalls - ? new SyncAsyncFileSystemDecorator( - /** @type {SyncFileSystem} */ ( - /** @type {unknown} */ (options.fileSystem) - ) - ) - : options.fileSystem, - unsafeCache: - options.unsafeCache && typeof options.unsafeCache !== "object" - ? {} - : options.unsafeCache || false, - symlinks: typeof options.symlinks !== "undefined" ? options.symlinks : true, - resolver: options.resolver, - modules: mergeFilteredToArray( - Array.isArray(options.modules) - ? options.modules - : options.modules - ? [options.modules] - : ["node_modules"], - item => { - const type = getType(item); - return type === PathType.Normal || type === PathType.Relative; - } - ), - mainFields, - mainFiles: new Set(options.mainFiles || ["index"]), - plugins: options.plugins || [], - pnpApi: processPnpApiOption(options.pnpApi), - roots: new Set(options.roots || undefined), - fullySpecified: options.fullySpecified || false, - resolveToContext: options.resolveToContext || false, - preferRelative: options.preferRelative || false, - preferAbsolute: options.preferAbsolute || false, - restrictions: new Set(options.restrictions) - }; -} - -/** - * @param {UserResolveOptions} options resolve options - * @returns {Resolver} created resolver - */ -exports.createResolver = function (options) { - const normalizedOptions = createOptions(options); - - const { - alias, - fallback, - aliasFields, - cachePredicate, - cacheWithContext, - conditionNames, - descriptionFiles, - enforceExtension, - exportsFields, - extensionAlias, - importsFields, - extensions, - fileSystem, - fullySpecified, - mainFields, - mainFiles, - modules, - plugins: userPlugins, - pnpApi, - resolveToContext, - preferRelative, - preferAbsolute, - symlinks, - unsafeCache, - resolver: customResolver, - restrictions, - roots - } = normalizedOptions; - - const plugins = userPlugins.slice(); - - const resolver = customResolver - ? customResolver - : new Resolver(fileSystem, normalizedOptions); - - //// pipeline //// - - resolver.ensureHook("resolve"); - resolver.ensureHook("internalResolve"); - resolver.ensureHook("newInternalResolve"); - resolver.ensureHook("parsedResolve"); - resolver.ensureHook("describedResolve"); - resolver.ensureHook("rawResolve"); - resolver.ensureHook("normalResolve"); - resolver.ensureHook("internal"); - resolver.ensureHook("rawModule"); - resolver.ensureHook("alternateRawModule"); - resolver.ensureHook("module"); - resolver.ensureHook("resolveAsModule"); - resolver.ensureHook("undescribedResolveInPackage"); - resolver.ensureHook("resolveInPackage"); - resolver.ensureHook("resolveInExistingDirectory"); - resolver.ensureHook("relative"); - resolver.ensureHook("describedRelative"); - resolver.ensureHook("directory"); - resolver.ensureHook("undescribedExistingDirectory"); - resolver.ensureHook("existingDirectory"); - resolver.ensureHook("undescribedRawFile"); - resolver.ensureHook("rawFile"); - resolver.ensureHook("file"); - resolver.ensureHook("finalFile"); - resolver.ensureHook("existingFile"); - resolver.ensureHook("resolved"); - - // TODO remove in next major - // cspell:word Interal - // Backward-compat - // @ts-ignore - resolver.hooks.newInteralResolve = resolver.hooks.newInternalResolve; - - // resolve - for (const { source, resolveOptions } of [ - { source: "resolve", resolveOptions: { fullySpecified } }, - { source: "internal-resolve", resolveOptions: { fullySpecified: false } } - ]) { - if (unsafeCache) { - plugins.push( - new UnsafeCachePlugin( - source, - cachePredicate, - /** @type {import("./UnsafeCachePlugin").Cache} */ (unsafeCache), - cacheWithContext, - `new-${source}` - ) - ); - plugins.push( - new ParsePlugin(`new-${source}`, resolveOptions, "parsed-resolve") - ); - } else { - plugins.push(new ParsePlugin(source, resolveOptions, "parsed-resolve")); - } - } - - // parsed-resolve - plugins.push( - new DescriptionFilePlugin( - "parsed-resolve", - descriptionFiles, - false, - "described-resolve" - ) - ); - plugins.push(new NextPlugin("after-parsed-resolve", "described-resolve")); - - // described-resolve - plugins.push(new NextPlugin("described-resolve", "raw-resolve")); - if (fallback.length > 0) { - plugins.push( - new AliasPlugin("described-resolve", fallback, "internal-resolve") - ); - } - - // raw-resolve - if (alias.length > 0) { - plugins.push(new AliasPlugin("raw-resolve", alias, "internal-resolve")); - } - aliasFields.forEach(item => { - plugins.push(new AliasFieldPlugin("raw-resolve", item, "internal-resolve")); - }); - extensionAlias.forEach(item => - plugins.push( - new ExtensionAliasPlugin("raw-resolve", item, "normal-resolve") - ) - ); - plugins.push(new NextPlugin("raw-resolve", "normal-resolve")); - - // normal-resolve - if (preferRelative) { - plugins.push(new JoinRequestPlugin("after-normal-resolve", "relative")); - } - plugins.push( - new ConditionalPlugin( - "after-normal-resolve", - { module: true }, - "resolve as module", - false, - "raw-module" - ) - ); - plugins.push( - new ConditionalPlugin( - "after-normal-resolve", - { internal: true }, - "resolve as internal import", - false, - "internal" - ) - ); - if (preferAbsolute) { - plugins.push(new JoinRequestPlugin("after-normal-resolve", "relative")); - } - if (roots.size > 0) { - plugins.push(new RootsPlugin("after-normal-resolve", roots, "relative")); - } - if (!preferRelative && !preferAbsolute) { - plugins.push(new JoinRequestPlugin("after-normal-resolve", "relative")); - } - - // internal - importsFields.forEach(importsField => { - plugins.push( - new ImportsFieldPlugin( - "internal", - conditionNames, - importsField, - "relative", - "internal-resolve" - ) - ); - }); - - // raw-module - exportsFields.forEach(exportsField => { - plugins.push( - new SelfReferencePlugin("raw-module", exportsField, "resolve-as-module") - ); - }); - modules.forEach(item => { - if (Array.isArray(item)) { - if (item.includes("node_modules") && pnpApi) { - plugins.push( - new ModulesInHierarchicalDirectoriesPlugin( - "raw-module", - item.filter(i => i !== "node_modules"), - "module" - ) - ); - plugins.push( - new PnpPlugin( - "raw-module", - pnpApi, - "undescribed-resolve-in-package", - "alternate-raw-module" - ) - ); - - plugins.push( - new ModulesInHierarchicalDirectoriesPlugin( - "alternate-raw-module", - ["node_modules"], - "module" - ) - ); - } else { - plugins.push( - new ModulesInHierarchicalDirectoriesPlugin( - "raw-module", - item, - "module" - ) - ); - } - } else { - plugins.push(new ModulesInRootPlugin("raw-module", item, "module")); - } - }); - - // module - plugins.push(new JoinRequestPartPlugin("module", "resolve-as-module")); - - // resolve-as-module - if (!resolveToContext) { - plugins.push( - new ConditionalPlugin( - "resolve-as-module", - { directory: false, request: "." }, - "single file module", - true, - "undescribed-raw-file" - ) - ); - } - plugins.push( - new DirectoryExistsPlugin( - "resolve-as-module", - "undescribed-resolve-in-package" - ) - ); - - // undescribed-resolve-in-package - plugins.push( - new DescriptionFilePlugin( - "undescribed-resolve-in-package", - descriptionFiles, - false, - "resolve-in-package" - ) - ); - plugins.push( - new NextPlugin("after-undescribed-resolve-in-package", "resolve-in-package") - ); - - // resolve-in-package - exportsFields.forEach(exportsField => { - plugins.push( - new ExportsFieldPlugin( - "resolve-in-package", - conditionNames, - exportsField, - "relative" - ) - ); - }); - plugins.push( - new NextPlugin("resolve-in-package", "resolve-in-existing-directory") - ); - - // resolve-in-existing-directory - plugins.push( - new JoinRequestPlugin("resolve-in-existing-directory", "relative") - ); - - // relative - plugins.push( - new DescriptionFilePlugin( - "relative", - descriptionFiles, - true, - "described-relative" - ) - ); - plugins.push(new NextPlugin("after-relative", "described-relative")); - - // described-relative - if (resolveToContext) { - plugins.push(new NextPlugin("described-relative", "directory")); - } else { - plugins.push( - new ConditionalPlugin( - "described-relative", - { directory: false }, - null, - true, - "raw-file" - ) - ); - plugins.push( - new ConditionalPlugin( - "described-relative", - { fullySpecified: false }, - "as directory", - true, - "directory" - ) - ); - } - - // directory - plugins.push( - new DirectoryExistsPlugin("directory", "undescribed-existing-directory") - ); - - if (resolveToContext) { - // undescribed-existing-directory - plugins.push(new NextPlugin("undescribed-existing-directory", "resolved")); - } else { - // undescribed-existing-directory - plugins.push( - new DescriptionFilePlugin( - "undescribed-existing-directory", - descriptionFiles, - false, - "existing-directory" - ) - ); - mainFiles.forEach(item => { - plugins.push( - new UseFilePlugin( - "undescribed-existing-directory", - item, - "undescribed-raw-file" - ) - ); - }); - - // described-existing-directory - mainFields.forEach(item => { - plugins.push( - new MainFieldPlugin( - "existing-directory", - item, - "resolve-in-existing-directory" - ) - ); - }); - mainFiles.forEach(item => { - plugins.push( - new UseFilePlugin("existing-directory", item, "undescribed-raw-file") - ); - }); - - // undescribed-raw-file - plugins.push( - new DescriptionFilePlugin( - "undescribed-raw-file", - descriptionFiles, - true, - "raw-file" - ) - ); - plugins.push(new NextPlugin("after-undescribed-raw-file", "raw-file")); - - // raw-file - plugins.push( - new ConditionalPlugin( - "raw-file", - { fullySpecified: true }, - null, - false, - "file" - ) - ); - if (!enforceExtension) { - plugins.push(new TryNextPlugin("raw-file", "no extension", "file")); - } - extensions.forEach(item => { - plugins.push(new AppendPlugin("raw-file", item, "file")); - }); - - // file - if (alias.length > 0) - plugins.push(new AliasPlugin("file", alias, "internal-resolve")); - aliasFields.forEach(item => { - plugins.push(new AliasFieldPlugin("file", item, "internal-resolve")); - }); - plugins.push(new NextPlugin("file", "final-file")); - - // final-file - plugins.push(new FileExistsPlugin("final-file", "existing-file")); - - // existing-file - if (symlinks) - plugins.push(new SymlinkPlugin("existing-file", "existing-file")); - plugins.push(new NextPlugin("existing-file", "resolved")); - } - - const resolved = - /** @type {KnownHooks & EnsuredHooks} */ - (resolver.hooks).resolved; - - // resolved - if (restrictions.size > 0) { - plugins.push(new RestrictionsPlugin(resolved, restrictions)); - } - - plugins.push(new ResultPlugin(resolved)); - - //// RESOLVER //// - - for (const plugin of plugins) { - if (typeof plugin === "function") { - /** @type {function(this: Resolver, Resolver): void} */ - (plugin).call(resolver, resolver); - } else if (plugin) { - plugin.apply(resolver); - } - } - - return resolver; -}; - -/** - * Merging filtered elements - * @param {string[]} array source array - * @param {function(string): boolean} filter predicate - * @returns {Array} merge result - */ -function mergeFilteredToArray(array, filter) { - /** @type {Array} */ - const result = []; - const set = new Set(array); - - for (const item of set) { - if (filter(item)) { - const lastElement = - result.length > 0 ? result[result.length - 1] : undefined; - if (Array.isArray(lastElement)) { - lastElement.push(item); - } else { - result.push([item]); - } - } else { - result.push(item); - } - } - - return result; -} diff --git a/node_modules/enhanced-resolve/lib/RestrictionsPlugin.js b/node_modules/enhanced-resolve/lib/RestrictionsPlugin.js deleted file mode 100644 index e52ca9d5b2..0000000000 --- a/node_modules/enhanced-resolve/lib/RestrictionsPlugin.js +++ /dev/null @@ -1,70 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Ivan Kopeykin @vankop -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -const slashCode = "/".charCodeAt(0); -const backslashCode = "\\".charCodeAt(0); - -/** - * @param {string} path path - * @param {string} parent parent path - * @returns {boolean} true, if path is inside of parent - */ -const isInside = (path, parent) => { - if (!path.startsWith(parent)) return false; - if (path.length === parent.length) return true; - const charCode = path.charCodeAt(parent.length); - return charCode === slashCode || charCode === backslashCode; -}; - -module.exports = class RestrictionsPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {Set} restrictions restrictions - */ - constructor(source, restrictions) { - this.source = source; - this.restrictions = restrictions; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - resolver - .getHook(this.source) - .tapAsync("RestrictionsPlugin", (request, resolveContext, callback) => { - if (typeof request.path === "string") { - const path = request.path; - for (const rule of this.restrictions) { - if (typeof rule === "string") { - if (!isInside(path, rule)) { - if (resolveContext.log) { - resolveContext.log( - `${path} is not inside of the restriction ${rule}` - ); - } - return callback(null, null); - } - } else if (!rule.test(path)) { - if (resolveContext.log) { - resolveContext.log( - `${path} doesn't match the restriction ${rule}` - ); - } - return callback(null, null); - } - } - } - - callback(); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/ResultPlugin.js b/node_modules/enhanced-resolve/lib/ResultPlugin.js deleted file mode 100644 index e25c43fe77..0000000000 --- a/node_modules/enhanced-resolve/lib/ResultPlugin.js +++ /dev/null @@ -1,42 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class ResultPlugin { - /** - * @param {ResolveStepHook} source source - */ - constructor(source) { - this.source = source; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - this.source.tapAsync( - "ResultPlugin", - (request, resolverContext, callback) => { - const obj = { ...request }; - if (resolverContext.log) - resolverContext.log("reporting result " + obj.path); - resolver.hooks.result.callAsync(obj, resolverContext, err => { - if (err) return callback(err); - if (typeof resolverContext.yield === "function") { - resolverContext.yield(obj); - callback(null, null); - } else { - callback(null, obj); - } - }); - } - ); - } -}; diff --git a/node_modules/enhanced-resolve/lib/RootsPlugin.js b/node_modules/enhanced-resolve/lib/RootsPlugin.js deleted file mode 100644 index 1d299113ce..0000000000 --- a/node_modules/enhanced-resolve/lib/RootsPlugin.js +++ /dev/null @@ -1,69 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Ivan Kopeykin @vankop -*/ - -"use strict"; - -const forEachBail = require("./forEachBail"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -class RootsPlugin { - /** - * @param {string | ResolveStepHook} source source hook - * @param {Set} roots roots - * @param {string | ResolveStepHook} target target hook - */ - constructor(source, roots, target) { - this.roots = Array.from(roots); - this.source = source; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - - resolver - .getHook(this.source) - .tapAsync("RootsPlugin", (request, resolveContext, callback) => { - const req = request.request; - if (!req) return callback(); - if (!req.startsWith("/")) return callback(); - - forEachBail( - this.roots, - /** - * @param {string} root root - * @param {(err?: null|Error, result?: null|ResolveRequest) => void} callback callback - * @returns {void} - */ - (root, callback) => { - const path = resolver.join(root, req.slice(1)); - /** @type {ResolveRequest} */ - const obj = { - ...request, - path, - relativePath: request.relativePath && path - }; - resolver.doResolve( - target, - obj, - `root path ${root}`, - resolveContext, - callback - ); - }, - callback - ); - }); - } -} - -module.exports = RootsPlugin; diff --git a/node_modules/enhanced-resolve/lib/SelfReferencePlugin.js b/node_modules/enhanced-resolve/lib/SelfReferencePlugin.js deleted file mode 100644 index a8dc1484b6..0000000000 --- a/node_modules/enhanced-resolve/lib/SelfReferencePlugin.js +++ /dev/null @@ -1,82 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const DescriptionFileUtils = require("./DescriptionFileUtils"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").JsonObject} JsonObject */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -const slashCode = "/".charCodeAt(0); - -module.exports = class SelfReferencePlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | string[]} fieldNamePath name path - * @param {string | ResolveStepHook} target target - */ - constructor(source, fieldNamePath, target) { - this.source = source; - this.target = target; - this.fieldName = fieldNamePath; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("SelfReferencePlugin", (request, resolveContext, callback) => { - if (!request.descriptionFilePath) return callback(); - - const req = request.request; - if (!req) return callback(); - - // Feature is only enabled when an exports field is present - const exportsField = DescriptionFileUtils.getField( - /** @type {JsonObject} */ (request.descriptionFileData), - this.fieldName - ); - if (!exportsField) return callback(); - - const name = DescriptionFileUtils.getField( - /** @type {JsonObject} */ (request.descriptionFileData), - "name" - ); - if (typeof name !== "string") return callback(); - - if ( - req.startsWith(name) && - (req.length === name.length || - req.charCodeAt(name.length) === slashCode) - ) { - const remainingRequest = `.${req.slice(name.length)}`; - /** @type {ResolveRequest} */ - const obj = { - ...request, - request: remainingRequest, - path: /** @type {string} */ (request.descriptionFileRoot), - relativePath: "." - }; - - resolver.doResolve( - target, - obj, - "self reference", - resolveContext, - callback - ); - } else { - return callback(); - } - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/SymlinkPlugin.js b/node_modules/enhanced-resolve/lib/SymlinkPlugin.js deleted file mode 100644 index 7adab54844..0000000000 --- a/node_modules/enhanced-resolve/lib/SymlinkPlugin.js +++ /dev/null @@ -1,100 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const forEachBail = require("./forEachBail"); -const getPaths = require("./getPaths"); -const { getType, PathType } = require("./util/path"); - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class SymlinkPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string | ResolveStepHook} target target - */ - constructor(source, target) { - this.source = source; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - const fs = resolver.fileSystem; - resolver - .getHook(this.source) - .tapAsync("SymlinkPlugin", (request, resolveContext, callback) => { - if (request.ignoreSymlinks) return callback(); - const pathsResult = getPaths(/** @type {string} */ (request.path)); - const pathSegments = pathsResult.segments; - const paths = pathsResult.paths; - - let containsSymlink = false; - let idx = -1; - forEachBail( - paths, - /** - * @param {string} path path - * @param {(err?: null|Error, result?: null|number) => void} callback callback - * @returns {void} - */ - (path, callback) => { - idx++; - if (resolveContext.fileDependencies) - resolveContext.fileDependencies.add(path); - fs.readlink(path, (err, result) => { - if (!err && result) { - pathSegments[idx] = /** @type {string} */ (result); - containsSymlink = true; - // Shortcut when absolute symlink found - const resultType = getType(result.toString()); - if ( - resultType === PathType.AbsoluteWin || - resultType === PathType.AbsolutePosix - ) { - return callback(null, idx); - } - } - callback(); - }); - }, - /** - * @param {null|Error} [err] error - * @param {null|number} [idx] result - * @returns {void} - */ - (err, idx) => { - if (!containsSymlink) return callback(); - const resultSegments = - typeof idx === "number" - ? pathSegments.slice(0, idx + 1) - : pathSegments.slice(); - const result = resultSegments.reduceRight((a, b) => { - return resolver.join(a, b); - }); - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: result - }; - resolver.doResolve( - target, - obj, - "resolved symlink to " + result, - resolveContext, - callback - ); - } - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js b/node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js deleted file mode 100644 index d1f1814ee3..0000000000 --- a/node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js +++ /dev/null @@ -1,220 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver").FileSystem} FileSystem */ -/** @typedef {import("./Resolver").ReaddirStringCallback} ReaddirStringCallback */ -/** @typedef {import("./Resolver").StringCallback} StringCallback */ -/** @typedef {import("./Resolver").SyncFileSystem} SyncFileSystem */ - -/** - * @param {SyncFileSystem} fs file system implementation - * @constructor - */ -function SyncAsyncFileSystemDecorator(fs) { - this.fs = fs; - - this.lstat = undefined; - this.lstatSync = undefined; - const lstatSync = fs.lstatSync; - if (lstatSync) { - this.lstat = - /** @type {FileSystem["lstat"]} */ - ( - (arg, options, callback) => { - let result; - try { - result = /** @type {Function | undefined} */ (callback) - ? lstatSync.call(fs, arg, options) - : lstatSync.call(fs, arg); - } catch (e) { - return (callback || options)( - /** @type {NodeJS.ErrnoException | null} */ (e) - ); - } - - (callback || options)(null, /** @type {any} */ (result)); - } - ); - this.lstatSync = - /** @type {SyncFileSystem["lstatSync"]} */ - ((arg, options) => lstatSync.call(fs, arg, options)); - } - - this.stat = - /** @type {FileSystem["stat"]} */ - ( - (arg, options, callback) => { - let result; - try { - result = /** @type {Function | undefined} */ (callback) - ? fs.statSync(arg, options) - : fs.statSync(arg); - } catch (e) { - return (callback || options)( - /** @type {NodeJS.ErrnoException | null} */ (e) - ); - } - - (callback || options)(null, /** @type {any} */ (result)); - } - ); - this.statSync = - /** @type {SyncFileSystem["statSync"]} */ - ((arg, options) => fs.statSync(arg, options)); - - this.readdir = - /** @type {FileSystem["readdir"]} */ - ( - (arg, options, callback) => { - let result; - try { - result = /** @type {Function | undefined} */ (callback) - ? fs.readdirSync( - arg, - /** @type {Exclude[1], ReaddirStringCallback>} */ - (options) - ) - : fs.readdirSync(arg); - } catch (e) { - return (callback || options)( - /** @type {NodeJS.ErrnoException | null} */ (e) - ); - } - - (callback || options)(null, /** @type {any} */ (result)); - } - ); - this.readdirSync = - /** @type {SyncFileSystem["readdirSync"]} */ - ( - (arg, options) => - fs.readdirSync( - arg, - /** @type {Parameters[1]} */ (options) - ) - ); - - this.readFile = - /** @type {FileSystem["readFile"]} */ - ( - (arg, options, callback) => { - let result; - try { - result = /** @type {Function | undefined} */ (callback) - ? fs.readFileSync(arg, options) - : fs.readFileSync(arg); - } catch (e) { - return (callback || options)( - /** @type {NodeJS.ErrnoException | null} */ (e) - ); - } - - (callback || options)(null, /** @type {any} */ (result)); - } - ); - this.readFileSync = - /** @type {SyncFileSystem["readFileSync"]} */ - ((arg, options) => fs.readFileSync(arg, options)); - - this.readlink = - /** @type {FileSystem["readlink"]} */ - ( - (arg, options, callback) => { - let result; - try { - result = /** @type {Function | undefined} */ (callback) - ? fs.readlinkSync( - arg, - /** @type {Exclude[1], StringCallback>} */ - (options) - ) - : fs.readlinkSync(arg); - } catch (e) { - return (callback || options)( - /** @type {NodeJS.ErrnoException | null} */ (e) - ); - } - - (callback || options)(null, /** @type {any} */ (result)); - } - ); - this.readlinkSync = - /** @type {SyncFileSystem["readlinkSync"]} */ - ( - (arg, options) => - fs.readlinkSync( - arg, - /** @type {Parameters[1]} */ (options) - ) - ); - - this.readJson = undefined; - this.readJsonSync = undefined; - const readJsonSync = fs.readJsonSync; - if (readJsonSync) { - this.readJson = - /** @type {FileSystem["readJson"]} */ - ( - (arg, callback) => { - let result; - try { - result = readJsonSync.call(fs, arg); - } catch (e) { - return callback( - /** @type {NodeJS.ErrnoException | Error | null} */ (e) - ); - } - - callback(null, result); - } - ); - this.readJsonSync = - /** @type {SyncFileSystem["readJsonSync"]} */ - (arg => readJsonSync.call(fs, arg)); - } - - this.realpath = undefined; - this.realpathSync = undefined; - const realpathSync = fs.realpathSync; - if (realpathSync) { - this.realpath = - /** @type {FileSystem["realpath"]} */ - ( - (arg, options, callback) => { - let result; - try { - result = /** @type {Function | undefined} */ (callback) - ? realpathSync.call( - fs, - arg, - /** @type {Exclude>[1], StringCallback>} */ - (options) - ) - : realpathSync.call(fs, arg); - } catch (e) { - return (callback || options)( - /** @type {NodeJS.ErrnoException | null} */ (e) - ); - } - - (callback || options)(null, /** @type {any} */ (result)); - } - ); - this.realpathSync = - /** @type {SyncFileSystem["realpathSync"]} */ - ( - (arg, options) => - realpathSync.call( - fs, - arg, - /** @type {Parameters>[1]} */ - (options) - ) - ); - } -} -module.exports = SyncAsyncFileSystemDecorator; diff --git a/node_modules/enhanced-resolve/lib/TryNextPlugin.js b/node_modules/enhanced-resolve/lib/TryNextPlugin.js deleted file mode 100644 index 1b70bef072..0000000000 --- a/node_modules/enhanced-resolve/lib/TryNextPlugin.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class TryNextPlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string} message message - * @param {string | ResolveStepHook} target target - */ - constructor(source, message, target) { - this.source = source; - this.message = message; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("TryNextPlugin", (request, resolveContext, callback) => { - resolver.doResolve( - target, - request, - this.message, - resolveContext, - callback - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js b/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js deleted file mode 100644 index e6c01498e9..0000000000 --- a/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js +++ /dev/null @@ -1,112 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ -/** @typedef {import("./Resolver").ResolveContextYield} ResolveContextYield */ -/** @typedef {{[k: string]: ResolveRequest | ResolveRequest[] | undefined}} Cache */ - -/** - * @param {string} type type of cache - * @param {ResolveRequest} request request - * @param {boolean} withContext cache with context? - * @returns {string} cache id - */ -function getCacheId(type, request, withContext) { - return JSON.stringify({ - type, - context: withContext ? request.context : "", - path: request.path, - query: request.query, - fragment: request.fragment, - request: request.request - }); -} - -module.exports = class UnsafeCachePlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {function(ResolveRequest): boolean} filterPredicate filterPredicate - * @param {Cache} cache cache - * @param {boolean} withContext withContext - * @param {string | ResolveStepHook} target target - */ - constructor(source, filterPredicate, cache, withContext, target) { - this.source = source; - this.filterPredicate = filterPredicate; - this.withContext = withContext; - this.cache = cache; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("UnsafeCachePlugin", (request, resolveContext, callback) => { - if (!this.filterPredicate(request)) return callback(); - const isYield = typeof resolveContext.yield === "function"; - const cacheId = getCacheId( - isYield ? "yield" : "default", - request, - this.withContext - ); - const cacheEntry = this.cache[cacheId]; - if (cacheEntry) { - if (isYield) { - const yield_ = /** @type {Function} */ (resolveContext.yield); - if (Array.isArray(cacheEntry)) { - for (const result of cacheEntry) yield_(result); - } else { - yield_(cacheEntry); - } - return callback(null, null); - } - return callback(null, /** @type {ResolveRequest} */ (cacheEntry)); - } - - /** @type {ResolveContextYield|undefined} */ - let yieldFn; - /** @type {ResolveContextYield|undefined} */ - let yield_; - /** @type {ResolveRequest[]} */ - const yieldResult = []; - if (isYield) { - yieldFn = resolveContext.yield; - yield_ = result => { - yieldResult.push(result); - }; - } - - resolver.doResolve( - target, - request, - null, - yield_ ? { ...resolveContext, yield: yield_ } : resolveContext, - (err, result) => { - if (err) return callback(err); - if (isYield) { - if (result) yieldResult.push(result); - for (const result of yieldResult) { - /** @type {ResolveContextYield} */ - (yieldFn)(result); - } - this.cache[cacheId] = yieldResult; - return callback(null, null); - } - if (result) return callback(null, (this.cache[cacheId] = result)); - callback(); - } - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/UseFilePlugin.js b/node_modules/enhanced-resolve/lib/UseFilePlugin.js deleted file mode 100644 index 14aebdd486..0000000000 --- a/node_modules/enhanced-resolve/lib/UseFilePlugin.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ - -module.exports = class UseFilePlugin { - /** - * @param {string | ResolveStepHook} source source - * @param {string} filename filename - * @param {string | ResolveStepHook} target target - */ - constructor(source, filename, target) { - this.source = source; - this.filename = filename; - this.target = target; - } - - /** - * @param {Resolver} resolver the resolver - * @returns {void} - */ - apply(resolver) { - const target = resolver.ensureHook(this.target); - resolver - .getHook(this.source) - .tapAsync("UseFilePlugin", (request, resolveContext, callback) => { - const filePath = resolver.join( - /** @type {string} */ (request.path), - this.filename - ); - - /** @type {ResolveRequest} */ - const obj = { - ...request, - path: filePath, - relativePath: - request.relativePath && - resolver.join(request.relativePath, this.filename) - }; - resolver.doResolve( - target, - obj, - "using path: " + filePath, - resolveContext, - callback - ); - }); - } -}; diff --git a/node_modules/enhanced-resolve/lib/createInnerContext.js b/node_modules/enhanced-resolve/lib/createInnerContext.js deleted file mode 100644 index 88c7a58e03..0000000000 --- a/node_modules/enhanced-resolve/lib/createInnerContext.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver").ResolveContext} ResolveContext */ - -/** - * @param {ResolveContext} options options for inner context - * @param {null|string} message message to log - * @returns {ResolveContext} inner context - */ -module.exports = function createInnerContext(options, message) { - let messageReported = false; - let innerLog = undefined; - if (options.log) { - if (message) { - /** - * @param {string} msg message - */ - innerLog = msg => { - if (!messageReported) { - /** @type {(function(string): void)} */ - (options.log)(message); - messageReported = true; - } - - /** @type {(function(string): void)} */ - (options.log)(" " + msg); - }; - } else { - innerLog = options.log; - } - } - - return { - log: innerLog, - yield: options.yield, - fileDependencies: options.fileDependencies, - contextDependencies: options.contextDependencies, - missingDependencies: options.missingDependencies, - stack: options.stack - }; -}; diff --git a/node_modules/enhanced-resolve/lib/forEachBail.js b/node_modules/enhanced-resolve/lib/forEachBail.js deleted file mode 100644 index 32a7250aa1..0000000000 --- a/node_modules/enhanced-resolve/lib/forEachBail.js +++ /dev/null @@ -1,50 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ - -/** - * @template T - * @template Z - * @callback Iterator - * @param {T} item item - * @param {(err?: null|Error, result?: null|Z) => void} callback callback - * @param {number} i index - * @returns {void} - */ - -/** - * @template T - * @template Z - * @param {T[]} array array - * @param {Iterator} iterator iterator - * @param {(err?: null|Error, result?: null|Z, i?: number) => void} callback callback after all items are iterated - * @returns {void} - */ -module.exports = function forEachBail(array, iterator, callback) { - if (array.length === 0) return callback(); - - let i = 0; - const next = () => { - /** @type {boolean|undefined} */ - let loop = undefined; - iterator( - array[i++], - (err, result) => { - if (err || result !== undefined || i >= array.length) { - return callback(err, result, i); - } - if (loop === false) while (next()); - loop = true; - }, - i - ); - if (!loop) loop = false; - return loop; - }; - while (next()); -}; diff --git a/node_modules/enhanced-resolve/lib/getInnerRequest.js b/node_modules/enhanced-resolve/lib/getInnerRequest.js deleted file mode 100644 index c34c10f21e..0000000000 --- a/node_modules/enhanced-resolve/lib/getInnerRequest.js +++ /dev/null @@ -1,36 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ - -/** - * @param {Resolver} resolver resolver - * @param {ResolveRequest} request string - * @returns {string} inner request - */ -module.exports = function getInnerRequest(resolver, request) { - if ( - typeof request.__innerRequest === "string" && - request.__innerRequest_request === request.request && - request.__innerRequest_relativePath === request.relativePath - ) - return request.__innerRequest; - /** @type {string|undefined} */ - let innerRequest; - if (request.request) { - innerRequest = request.request; - if (/^\.\.?(?:\/|$)/.test(innerRequest) && request.relativePath) { - innerRequest = resolver.join(request.relativePath, innerRequest); - } - } else { - innerRequest = request.relativePath; - } - request.__innerRequest_request = request.request; - request.__innerRequest_relativePath = request.relativePath; - return (request.__innerRequest = /** @type {string} */ (innerRequest)); -}; diff --git a/node_modules/enhanced-resolve/lib/getPaths.js b/node_modules/enhanced-resolve/lib/getPaths.js deleted file mode 100644 index d5835b0d06..0000000000 --- a/node_modules/enhanced-resolve/lib/getPaths.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -/** - * @param {string} path path - * @returns {{paths: string[], segments: string[]}}} paths and segments - */ -module.exports = function getPaths(path) { - if (path === "/") return { paths: ["/"], segments: [""] }; - const parts = path.split(/(.*?[\\/]+)/); - const paths = [path]; - const segments = [parts[parts.length - 1]]; - let part = parts[parts.length - 1]; - path = path.substring(0, path.length - part.length - 1); - for (let i = parts.length - 2; i > 2; i -= 2) { - paths.push(path); - part = parts[i]; - path = path.substring(0, path.length - part.length) || "/"; - segments.push(part.slice(0, -1)); - } - part = parts[1]; - segments.push(part); - paths.push(part); - return { - paths: paths, - segments: segments - }; -}; - -/** - * @param {string} path path - * @returns {string|null} basename or null - */ -module.exports.basename = function basename(path) { - const i = path.lastIndexOf("/"), - j = path.lastIndexOf("\\"); - const p = i < 0 ? j : j < 0 ? i : i < j ? j : i; - if (p < 0) return null; - const s = path.slice(p + 1); - return s; -}; diff --git a/node_modules/enhanced-resolve/lib/index.js b/node_modules/enhanced-resolve/lib/index.js deleted file mode 100644 index ab02cfa256..0000000000 --- a/node_modules/enhanced-resolve/lib/index.js +++ /dev/null @@ -1,203 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const fs = require("graceful-fs"); -const CachedInputFileSystem = require("./CachedInputFileSystem"); -const ResolverFactory = require("./ResolverFactory"); - -/** @typedef {import("./PnpPlugin").PnpApiImpl} PnpApi */ -/** @typedef {import("./Resolver")} Resolver */ -/** @typedef {import("./Resolver").FileSystem} FileSystem */ -/** @typedef {import("./Resolver").ResolveCallback} ResolveCallback */ -/** @typedef {import("./Resolver").ResolveContext} ResolveContext */ -/** @typedef {import("./Resolver").ResolveRequest} ResolveRequest */ -/** @typedef {import("./ResolverFactory").Plugin} Plugin */ -/** @typedef {import("./ResolverFactory").UserResolveOptions} ResolveOptions */ -/** @typedef {{ - * (context: object, path: string, request: string, resolveContext: ResolveContext, callback: ResolveCallback): void; - * (context: object, path: string, request: string, callback: ResolveCallback): void; - * (path: string, request: string, resolveContext: ResolveContext, callback: ResolveCallback): void; - * (path: string, request: string, callback: ResolveCallback): void; - * }} ResolveFunctionAsync - */ -/** @typedef {{ - * (context: object, path: string, request: string): string|false; - * (path: string, request: string): string|false; - * }} ResolveFunction - */ - -const nodeFileSystem = new CachedInputFileSystem(fs, 4000); - -const nodeContext = { - environments: ["node+es3+es5+process+native"] -}; - -const asyncResolver = ResolverFactory.createResolver({ - conditionNames: ["node"], - extensions: [".js", ".json", ".node"], - fileSystem: nodeFileSystem -}); - -/** - * @type {ResolveFunctionAsync} - */ -const resolve = - /** - * @param {object|string} context - * @param {string} path - * @param {string|ResolveContext|ResolveCallback} request - * @param {ResolveContext|ResolveCallback=} resolveContext - * @param {ResolveCallback=} callback - */ - (context, path, request, resolveContext, callback) => { - if (typeof context === "string") { - callback = /** @type {ResolveCallback} */ (resolveContext); - resolveContext = /** @type {ResolveContext} */ (request); - request = path; - path = context; - context = nodeContext; - } - if (typeof callback !== "function") { - callback = /** @type {ResolveCallback} */ (resolveContext); - } - asyncResolver.resolve( - context, - path, - /** @type {string} */ (request), - /** @type {ResolveContext} */ (resolveContext), - /** @type {ResolveCallback} */ (callback) - ); - }; - -const syncResolver = ResolverFactory.createResolver({ - conditionNames: ["node"], - extensions: [".js", ".json", ".node"], - useSyncFileSystemCalls: true, - fileSystem: nodeFileSystem -}); - -/** - * @type {ResolveFunction} - */ -const resolveSync = - /** - * @param {object|string} context - * @param {string} path - * @param {string=} request - */ - (context, path, request) => { - if (typeof context === "string") { - request = path; - path = context; - context = nodeContext; - } - return syncResolver.resolveSync( - context, - path, - /** @type {string} */ (request) - ); - }; - -/** @typedef {Omit & Partial>} ResolveOptionsOptionalFS */ - -/** - * @param {ResolveOptionsOptionalFS} options Resolver options - * @returns {ResolveFunctionAsync} Resolver function - */ -function create(options) { - const resolver = ResolverFactory.createResolver({ - fileSystem: nodeFileSystem, - ...options - }); - /** - * @param {object|string} context Custom context - * @param {string} path Base path - * @param {string|ResolveContext|ResolveCallback} request String to resolve - * @param {ResolveContext|ResolveCallback=} resolveContext Resolve context - * @param {ResolveCallback=} callback Result callback - */ - return function (context, path, request, resolveContext, callback) { - if (typeof context === "string") { - callback = /** @type {ResolveCallback} */ (resolveContext); - resolveContext = /** @type {ResolveContext} */ (request); - request = path; - path = context; - context = nodeContext; - } - if (typeof callback !== "function") { - callback = /** @type {ResolveCallback} */ (resolveContext); - } - resolver.resolve( - context, - path, - /** @type {string} */ (request), - /** @type {ResolveContext} */ (resolveContext), - callback - ); - }; -} - -/** - * @param {ResolveOptionsOptionalFS} options Resolver options - * @returns {ResolveFunction} Resolver function - */ -function createSync(options) { - const resolver = ResolverFactory.createResolver({ - useSyncFileSystemCalls: true, - fileSystem: nodeFileSystem, - ...options - }); - /** - * @param {object|string} context custom context - * @param {string} path base path - * @param {string=} request request to resolve - * @returns {string|false} Resolved path or false - */ - return function (context, path, request) { - if (typeof context === "string") { - request = path; - path = context; - context = nodeContext; - } - return resolver.resolveSync(context, path, /** @type {string} */ (request)); - }; -} - -/** - * @template A - * @template B - * @param {A} obj input a - * @param {B} exports input b - * @returns {A & B} merged - */ -const mergeExports = (obj, exports) => { - const descriptors = Object.getOwnPropertyDescriptors(exports); - Object.defineProperties(obj, descriptors); - return /** @type {A & B} */ (Object.freeze(obj)); -}; - -module.exports = mergeExports(resolve, { - get sync() { - return resolveSync; - }, - create: mergeExports(create, { - get sync() { - return createSync; - } - }), - ResolverFactory, - CachedInputFileSystem, - get CloneBasenamePlugin() { - return require("./CloneBasenamePlugin"); - }, - get LogInfoPlugin() { - return require("./LogInfoPlugin"); - }, - get forEachBail() { - return require("./forEachBail"); - } -}); diff --git a/node_modules/enhanced-resolve/lib/util/entrypoints.js b/node_modules/enhanced-resolve/lib/util/entrypoints.js deleted file mode 100644 index 683a8e8029..0000000000 --- a/node_modules/enhanced-resolve/lib/util/entrypoints.js +++ /dev/null @@ -1,573 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Ivan Kopeykin @vankop -*/ - -"use strict"; - -/** @typedef {string|(string|ConditionalMapping)[]} DirectMapping */ -/** @typedef {{[k: string]: MappingValue}} ConditionalMapping */ -/** @typedef {ConditionalMapping|DirectMapping|null} MappingValue */ -/** @typedef {Record|ConditionalMapping|DirectMapping} ExportsField */ -/** @typedef {Record} ImportsField */ - -/** - * Processing exports/imports field - * @callback FieldProcessor - * @param {string} request request - * @param {Set} conditionNames condition names - * @returns {[string[], string | null]} resolved paths with used field - */ - -/* -Example exports field: -{ - ".": "./main.js", - "./feature": { - "browser": "./feature-browser.js", - "default": "./feature.js" - } -} -Terminology: - -Enhanced-resolve name keys ("." and "./feature") as exports field keys. - -If value is string or string[], mapping is called as a direct mapping -and value called as a direct export. - -If value is key-value object, mapping is called as a conditional mapping -and value called as a conditional export. - -Key in conditional mapping is called condition name. - -Conditional mapping nested in another conditional mapping is called nested mapping. - ----------- - -Example imports field: -{ - "#a": "./main.js", - "#moment": { - "browser": "./moment/index.js", - "default": "moment" - }, - "#moment/": { - "browser": "./moment/", - "default": "moment/" - } -} -Terminology: - -Enhanced-resolve name keys ("#a" and "#moment/", "#moment") as imports field keys. - -If value is string or string[], mapping is called as a direct mapping -and value called as a direct export. - -If value is key-value object, mapping is called as a conditional mapping -and value called as a conditional export. - -Key in conditional mapping is called condition name. - -Conditional mapping nested in another conditional mapping is called nested mapping. - -*/ - -const { parseIdentifier } = require("./identifier"); -const slashCode = "/".charCodeAt(0); -const dotCode = ".".charCodeAt(0); -const hashCode = "#".charCodeAt(0); -const patternRegEx = /\*/g; - -/** - * @param {ExportsField} exportsField the exports field - * @returns {FieldProcessor} process callback - */ -module.exports.processExportsField = function processExportsField( - exportsField -) { - return createFieldProcessor( - buildExportsField(exportsField), - request => (request.length === 0 ? "." : "./" + request), - assertExportsFieldRequest, - assertExportTarget - ); -}; - -/** - * @param {ImportsField} importsField the exports field - * @returns {FieldProcessor} process callback - */ -module.exports.processImportsField = function processImportsField( - importsField -) { - return createFieldProcessor( - importsField, - request => "#" + request, - assertImportsFieldRequest, - assertImportTarget - ); -}; - -/** - * @param {ExportsField | ImportsField} field root - * @param {(s: string) => string} normalizeRequest Normalize request, for `imports` field it adds `#`, for `exports` field it adds `.` or `./` - * @param {(s: string) => string} assertRequest assertRequest - * @param {(s: string, f: boolean) => void} assertTarget assertTarget - * @returns {FieldProcessor} field processor - */ -function createFieldProcessor( - field, - normalizeRequest, - assertRequest, - assertTarget -) { - return function fieldProcessor(request, conditionNames) { - request = assertRequest(request); - - const match = findMatch(normalizeRequest(request), field); - - if (match === null) return [[], null]; - - const [mapping, remainingRequest, isSubpathMapping, isPattern, usedField] = - match; - - /** @type {DirectMapping|null} */ - let direct = null; - - if (isConditionalMapping(mapping)) { - direct = conditionalMapping( - /** @type {ConditionalMapping} */ (mapping), - conditionNames - ); - - // matching not found - if (direct === null) return [[], null]; - } else { - direct = /** @type {DirectMapping} */ (mapping); - } - - return [ - directMapping( - remainingRequest, - isPattern, - isSubpathMapping, - direct, - conditionNames, - assertTarget - ), - usedField - ]; - }; -} - -/** - * @param {string} request request - * @returns {string} updated request - */ -function assertExportsFieldRequest(request) { - if (request.charCodeAt(0) !== dotCode) { - throw new Error('Request should be relative path and start with "."'); - } - if (request.length === 1) return ""; - if (request.charCodeAt(1) !== slashCode) { - throw new Error('Request should be relative path and start with "./"'); - } - if (request.charCodeAt(request.length - 1) === slashCode) { - throw new Error("Only requesting file allowed"); - } - - return request.slice(2); -} - -/** - * @param {string} request request - * @returns {string} updated request - */ -function assertImportsFieldRequest(request) { - if (request.charCodeAt(0) !== hashCode) { - throw new Error('Request should start with "#"'); - } - if (request.length === 1) { - throw new Error("Request should have at least 2 characters"); - } - if (request.charCodeAt(1) === slashCode) { - throw new Error('Request should not start with "#/"'); - } - if (request.charCodeAt(request.length - 1) === slashCode) { - throw new Error("Only requesting file allowed"); - } - - return request.slice(1); -} - -/** - * @param {string} exp export target - * @param {boolean} expectFolder is folder expected - */ -function assertExportTarget(exp, expectFolder) { - const parsedIdentifier = parseIdentifier(exp); - - if (!parsedIdentifier) { - return; - } - - const [relativePath] = parsedIdentifier; - const isFolder = - relativePath.charCodeAt(relativePath.length - 1) === slashCode; - - if (isFolder !== expectFolder) { - throw new Error( - expectFolder - ? `Expecting folder to folder mapping. ${JSON.stringify( - exp - )} should end with "/"` - : `Expecting file to file mapping. ${JSON.stringify( - exp - )} should not end with "/"` - ); - } -} - -/** - * @param {string} imp import target - * @param {boolean} expectFolder is folder expected - */ -function assertImportTarget(imp, expectFolder) { - const parsedIdentifier = parseIdentifier(imp); - - if (!parsedIdentifier) { - return; - } - - const [relativePath] = parsedIdentifier; - const isFolder = - relativePath.charCodeAt(relativePath.length - 1) === slashCode; - - if (isFolder !== expectFolder) { - throw new Error( - expectFolder - ? `Expecting folder to folder mapping. ${JSON.stringify( - imp - )} should end with "/"` - : `Expecting file to file mapping. ${JSON.stringify( - imp - )} should not end with "/"` - ); - } -} - -/** - * @param {string} a first string - * @param {string} b second string - * @returns {number} compare result - */ -function patternKeyCompare(a, b) { - const aPatternIndex = a.indexOf("*"); - const bPatternIndex = b.indexOf("*"); - const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; - const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; - - if (baseLenA > baseLenB) return -1; - if (baseLenB > baseLenA) return 1; - if (aPatternIndex === -1) return 1; - if (bPatternIndex === -1) return -1; - if (a.length > b.length) return -1; - if (b.length > a.length) return 1; - - return 0; -} - -/** - * Trying to match request to field - * @param {string} request request - * @param {ExportsField | ImportsField} field exports or import field - * @returns {[MappingValue, string, boolean, boolean, string]|null} match or null, number is negative and one less when it's a folder mapping, number is request.length + 1 for direct mappings - */ -function findMatch(request, field) { - if ( - Object.prototype.hasOwnProperty.call(field, request) && - !request.includes("*") && - !request.endsWith("/") - ) { - const target = /** @type {{[k: string]: MappingValue}} */ (field)[request]; - - return [target, "", false, false, request]; - } - - /** @type {string} */ - let bestMatch = ""; - /** @type {string|undefined} */ - let bestMatchSubpath; - - const keys = Object.getOwnPropertyNames(field); - - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = key.indexOf("*"); - - if (patternIndex !== -1 && request.startsWith(key.slice(0, patternIndex))) { - const patternTrailer = key.slice(patternIndex + 1); - - if ( - request.length >= key.length && - request.endsWith(patternTrailer) && - patternKeyCompare(bestMatch, key) === 1 && - key.lastIndexOf("*") === patternIndex - ) { - bestMatch = key; - bestMatchSubpath = request.slice( - patternIndex, - request.length - patternTrailer.length - ); - } - } - // For legacy `./foo/` - else if ( - key[key.length - 1] === "/" && - request.startsWith(key) && - patternKeyCompare(bestMatch, key) === 1 - ) { - bestMatch = key; - bestMatchSubpath = request.slice(key.length); - } - } - - if (bestMatch === "") return null; - - const target = /** @type {{[k: string]: MappingValue}} */ (field)[bestMatch]; - const isSubpathMapping = bestMatch.endsWith("/"); - const isPattern = bestMatch.includes("*"); - - return [ - target, - /** @type {string} */ (bestMatchSubpath), - isSubpathMapping, - isPattern, - bestMatch - ]; -} - -/** - * @param {ConditionalMapping|DirectMapping|null} mapping mapping - * @returns {boolean} is conditional mapping - */ -function isConditionalMapping(mapping) { - return ( - mapping !== null && typeof mapping === "object" && !Array.isArray(mapping) - ); -} - -/** - * @param {string|undefined} remainingRequest remaining request when folder mapping, undefined for file mappings - * @param {boolean} isPattern true, if mapping is a pattern (contains "*") - * @param {boolean} isSubpathMapping true, for subpath mappings - * @param {DirectMapping|null} mappingTarget direct export - * @param {Set} conditionNames condition names - * @param {(d: string, f: boolean) => void} assert asserting direct value - * @returns {string[]} mapping result - */ -function directMapping( - remainingRequest, - isPattern, - isSubpathMapping, - mappingTarget, - conditionNames, - assert -) { - if (mappingTarget === null) return []; - - if (typeof mappingTarget === "string") { - return [ - targetMapping( - remainingRequest, - isPattern, - isSubpathMapping, - mappingTarget, - assert - ) - ]; - } - - /** @type {string[]} */ - const targets = []; - - for (const exp of mappingTarget) { - if (typeof exp === "string") { - targets.push( - targetMapping( - remainingRequest, - isPattern, - isSubpathMapping, - exp, - assert - ) - ); - continue; - } - - const mapping = conditionalMapping(exp, conditionNames); - if (!mapping) continue; - const innerExports = directMapping( - remainingRequest, - isPattern, - isSubpathMapping, - mapping, - conditionNames, - assert - ); - for (const innerExport of innerExports) { - targets.push(innerExport); - } - } - - return targets; -} - -/** - * @param {string|undefined} remainingRequest remaining request when folder mapping, undefined for file mappings - * @param {boolean} isPattern true, if mapping is a pattern (contains "*") - * @param {boolean} isSubpathMapping true, for subpath mappings - * @param {string} mappingTarget direct export - * @param {(d: string, f: boolean) => void} assert asserting direct value - * @returns {string} mapping result - */ -function targetMapping( - remainingRequest, - isPattern, - isSubpathMapping, - mappingTarget, - assert -) { - if (remainingRequest === undefined) { - assert(mappingTarget, false); - - return mappingTarget; - } - - if (isSubpathMapping) { - assert(mappingTarget, true); - - return mappingTarget + remainingRequest; - } - - assert(mappingTarget, false); - - let result = mappingTarget; - - if (isPattern) { - result = result.replace( - patternRegEx, - remainingRequest.replace(/\$/g, "$$") - ); - } - - return result; -} - -/** - * @param {ConditionalMapping} conditionalMapping_ conditional mapping - * @param {Set} conditionNames condition names - * @returns {DirectMapping|null} direct mapping if found - */ -function conditionalMapping(conditionalMapping_, conditionNames) { - /** @type {[ConditionalMapping, string[], number][]} */ - let lookup = [[conditionalMapping_, Object.keys(conditionalMapping_), 0]]; - - loop: while (lookup.length > 0) { - const [mapping, conditions, j] = lookup[lookup.length - 1]; - - for (let i = j; i < conditions.length; i++) { - const condition = conditions[i]; - - if (condition === "default") { - const innerMapping = mapping[condition]; - // is nested - if (isConditionalMapping(innerMapping)) { - const conditionalMapping = /** @type {ConditionalMapping} */ ( - innerMapping - ); - lookup[lookup.length - 1][2] = i + 1; - lookup.push([conditionalMapping, Object.keys(conditionalMapping), 0]); - continue loop; - } - - return /** @type {DirectMapping} */ (innerMapping); - } - - if (conditionNames.has(condition)) { - const innerMapping = mapping[condition]; - // is nested - if (isConditionalMapping(innerMapping)) { - const conditionalMapping = /** @type {ConditionalMapping} */ ( - innerMapping - ); - lookup[lookup.length - 1][2] = i + 1; - lookup.push([conditionalMapping, Object.keys(conditionalMapping), 0]); - continue loop; - } - - return /** @type {DirectMapping} */ (innerMapping); - } - } - - lookup.pop(); - } - - return null; -} - -/** - * @param {ExportsField} field exports field - * @returns {ExportsField} normalized exports field - */ -function buildExportsField(field) { - // handle syntax sugar, if exports field is direct mapping for "." - if (typeof field === "string" || Array.isArray(field)) { - return { ".": field }; - } - - const keys = Object.keys(field); - - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - - if (key.charCodeAt(0) !== dotCode) { - // handle syntax sugar, if exports field is conditional mapping for "." - if (i === 0) { - while (i < keys.length) { - const charCode = keys[i].charCodeAt(0); - if (charCode === dotCode || charCode === slashCode) { - throw new Error( - `Exports field key should be relative path and start with "." (key: ${JSON.stringify( - key - )})` - ); - } - i++; - } - - return { ".": field }; - } - - throw new Error( - `Exports field key should be relative path and start with "." (key: ${JSON.stringify( - key - )})` - ); - } - - if (key.length === 1) { - continue; - } - - if (key.charCodeAt(1) !== slashCode) { - throw new Error( - `Exports field key should be relative path and start with "./" (key: ${JSON.stringify( - key - )})` - ); - } - } - - return field; -} diff --git a/node_modules/enhanced-resolve/lib/util/identifier.js b/node_modules/enhanced-resolve/lib/util/identifier.js deleted file mode 100644 index d38cc39584..0000000000 --- a/node_modules/enhanced-resolve/lib/util/identifier.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Ivan Kopeykin @vankop -*/ - -"use strict"; - -const PATH_QUERY_FRAGMENT_REGEXP = - /^(#?(?:\0.|[^?#\0])*)(\?(?:\0.|[^#\0])*)?(#.*)?$/; - -/** - * @param {string} identifier identifier - * @returns {[string, string, string]|null} parsed identifier - */ -function parseIdentifier(identifier) { - const match = PATH_QUERY_FRAGMENT_REGEXP.exec(identifier); - - if (!match) return null; - - return [ - match[1].replace(/\0(.)/g, "$1"), - match[2] ? match[2].replace(/\0(.)/g, "$1") : "", - match[3] || "" - ]; -} - -module.exports.parseIdentifier = parseIdentifier; diff --git a/node_modules/enhanced-resolve/lib/util/module-browser.js b/node_modules/enhanced-resolve/lib/util/module-browser.js deleted file mode 100644 index 1258c22e15..0000000000 --- a/node_modules/enhanced-resolve/lib/util/module-browser.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -module.exports = {}; diff --git a/node_modules/enhanced-resolve/lib/util/path.js b/node_modules/enhanced-resolve/lib/util/path.js deleted file mode 100644 index bbb0e4d4de..0000000000 --- a/node_modules/enhanced-resolve/lib/util/path.js +++ /dev/null @@ -1,203 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const path = require("path"); - -const CHAR_HASH = "#".charCodeAt(0); -const CHAR_SLASH = "/".charCodeAt(0); -const CHAR_BACKSLASH = "\\".charCodeAt(0); -const CHAR_A = "A".charCodeAt(0); -const CHAR_Z = "Z".charCodeAt(0); -const CHAR_LOWER_A = "a".charCodeAt(0); -const CHAR_LOWER_Z = "z".charCodeAt(0); -const CHAR_DOT = ".".charCodeAt(0); -const CHAR_COLON = ":".charCodeAt(0); - -const posixNormalize = path.posix.normalize; -const winNormalize = path.win32.normalize; - -/** - * @enum {number} - */ -const PathType = Object.freeze({ - Empty: 0, - Normal: 1, - Relative: 2, - AbsoluteWin: 3, - AbsolutePosix: 4, - Internal: 5 -}); -exports.PathType = PathType; - -const invalidSegmentRegEx = - /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\|\/|$)/i; -exports.invalidSegmentRegEx = invalidSegmentRegEx; - -const deprecatedInvalidSegmentRegEx = - /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; -exports.deprecatedInvalidSegmentRegEx = deprecatedInvalidSegmentRegEx; - -/** - * @param {string} p a path - * @returns {PathType} type of path - */ -const getType = p => { - switch (p.length) { - case 0: - return PathType.Empty; - case 1: { - const c0 = p.charCodeAt(0); - switch (c0) { - case CHAR_DOT: - return PathType.Relative; - case CHAR_SLASH: - return PathType.AbsolutePosix; - case CHAR_HASH: - return PathType.Internal; - } - return PathType.Normal; - } - case 2: { - const c0 = p.charCodeAt(0); - switch (c0) { - case CHAR_DOT: { - const c1 = p.charCodeAt(1); - switch (c1) { - case CHAR_DOT: - case CHAR_SLASH: - return PathType.Relative; - } - return PathType.Normal; - } - case CHAR_SLASH: - return PathType.AbsolutePosix; - case CHAR_HASH: - return PathType.Internal; - } - const c1 = p.charCodeAt(1); - if (c1 === CHAR_COLON) { - if ( - (c0 >= CHAR_A && c0 <= CHAR_Z) || - (c0 >= CHAR_LOWER_A && c0 <= CHAR_LOWER_Z) - ) { - return PathType.AbsoluteWin; - } - } - return PathType.Normal; - } - } - const c0 = p.charCodeAt(0); - switch (c0) { - case CHAR_DOT: { - const c1 = p.charCodeAt(1); - switch (c1) { - case CHAR_SLASH: - return PathType.Relative; - case CHAR_DOT: { - const c2 = p.charCodeAt(2); - if (c2 === CHAR_SLASH) return PathType.Relative; - return PathType.Normal; - } - } - return PathType.Normal; - } - case CHAR_SLASH: - return PathType.AbsolutePosix; - case CHAR_HASH: - return PathType.Internal; - } - const c1 = p.charCodeAt(1); - if (c1 === CHAR_COLON) { - const c2 = p.charCodeAt(2); - if ( - (c2 === CHAR_BACKSLASH || c2 === CHAR_SLASH) && - ((c0 >= CHAR_A && c0 <= CHAR_Z) || - (c0 >= CHAR_LOWER_A && c0 <= CHAR_LOWER_Z)) - ) { - return PathType.AbsoluteWin; - } - } - return PathType.Normal; -}; -exports.getType = getType; - -/** - * @param {string} p a path - * @returns {string} the normalized path - */ -const normalize = p => { - switch (getType(p)) { - case PathType.Empty: - return p; - case PathType.AbsoluteWin: - return winNormalize(p); - case PathType.Relative: { - const r = posixNormalize(p); - return getType(r) === PathType.Relative ? r : `./${r}`; - } - } - return posixNormalize(p); -}; -exports.normalize = normalize; - -/** - * @param {string} rootPath the root path - * @param {string | undefined} request the request path - * @returns {string} the joined path - */ -const join = (rootPath, request) => { - if (!request) return normalize(rootPath); - const requestType = getType(request); - switch (requestType) { - case PathType.AbsolutePosix: - return posixNormalize(request); - case PathType.AbsoluteWin: - return winNormalize(request); - } - switch (getType(rootPath)) { - case PathType.Normal: - case PathType.Relative: - case PathType.AbsolutePosix: - return posixNormalize(`${rootPath}/${request}`); - case PathType.AbsoluteWin: - return winNormalize(`${rootPath}\\${request}`); - } - switch (requestType) { - case PathType.Empty: - return rootPath; - case PathType.Relative: { - const r = posixNormalize(rootPath); - return getType(r) === PathType.Relative ? r : `./${r}`; - } - } - return posixNormalize(rootPath); -}; -exports.join = join; - -/** @type {Map>} */ -const joinCache = new Map(); - -/** - * @param {string} rootPath the root path - * @param {string} request the request path - * @returns {string} the joined path - */ -const cachedJoin = (rootPath, request) => { - /** @type {string | undefined} */ - let cacheEntry; - let cache = joinCache.get(rootPath); - if (cache === undefined) { - joinCache.set(rootPath, (cache = new Map())); - } else { - cacheEntry = cache.get(request); - if (cacheEntry !== undefined) return cacheEntry; - } - cacheEntry = join(rootPath, request); - cache.set(request, cacheEntry); - return cacheEntry; -}; -exports.cachedJoin = cachedJoin; diff --git a/node_modules/enhanced-resolve/lib/util/process-browser.js b/node_modules/enhanced-resolve/lib/util/process-browser.js deleted file mode 100644 index a99141fdd8..0000000000 --- a/node_modules/enhanced-resolve/lib/util/process-browser.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -module.exports = { - /** - * @type {Record} - */ - versions: {}, - /** - * @param {function} fn function - */ - nextTick(fn) { - const args = Array.prototype.slice.call(arguments, 1); - Promise.resolve().then(function () { - fn.apply(null, args); - }); - } -}; diff --git a/node_modules/enhanced-resolve/package.json b/node_modules/enhanced-resolve/package.json deleted file mode 100644 index c5ae7206e1..0000000000 --- a/node_modules/enhanced-resolve/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "enhanced-resolve", - "version": "5.17.1", - "author": "Tobias Koppers @sokra", - "description": "Offers a async require.resolve function. It's highly configurable.", - "files": [ - "lib", - "types.d.ts", - "LICENSE" - ], - "browser": { - "process": "./lib/util/process-browser.js", - "module": "./lib/util/module-browser.js" - }, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "license": "MIT", - "devDependencies": { - "@types/graceful-fs": "^4.1.6", - "@types/jest": "^27.5.1", - "@types/node": "20.9.5", - "cspell": "4.2.8", - "eslint": "^7.9.0", - "eslint-config-prettier": "^6.11.0", - "eslint-plugin-jsdoc": "^30.5.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^3.1.4", - "husky": "^6.0.0", - "jest": "^27.5.1", - "lint-staged": "^10.4.0", - "memfs": "^3.2.0", - "prettier": "^2.1.2", - "tooling": "webpack/tooling#v1.23.1", - "typescript": "^5.3.3" - }, - "engines": { - "node": ">=10.13.0" - }, - "main": "lib/index.js", - "types": "types.d.ts", - "homepage": "http://github.com/webpack/enhanced-resolve", - "scripts": { - "lint": "yarn run code-lint && yarn run type-lint && yarn typings-test && yarn run special-lint && yarn run spelling", - "fix": "yarn run code-lint-fix && yarn run special-lint-fix", - "code-lint": "eslint --cache lib test", - "code-lint-fix": "eslint --cache lib test --fix", - "type-lint": "tsc", - "typings-test": "tsc -p tsconfig.types.test.json", - "type-report": "rimraf coverage && yarn cover:types && yarn cover:report && open-cli coverage/lcov-report/index.html", - "special-lint": "node node_modules/tooling/lockfile-lint && node node_modules/tooling/inherit-types && node node_modules/tooling/format-file-header && node node_modules/tooling/generate-types", - "special-lint-fix": "node node_modules/tooling/inherit-types --write && node node_modules/tooling/format-file-header --write && node node_modules/tooling/generate-types --write", - "pretty": "prettier --loglevel warn --write \"lib/**/*.{js,json}\" \"test/*.js\"", - "pretest": "yarn lint", - "spelling": "cspell \"**\"", - "test:only": "node_modules/.bin/jest", - "test:watch": "yarn test:only -- --watch", - "test:coverage": "yarn test:only -- --collectCoverageFrom=\"lib/**/*.js\" --coverage", - "test": "yarn test:coverage", - "precover": "yarn lint", - "prepare": "husky install" - }, - "lint-staged": { - "*": "cspell --no-must-find-files", - "*.js": "eslint --cache" - }, - "repository": { - "type": "git", - "url": "git://github.com/webpack/enhanced-resolve.git" - } -} diff --git a/node_modules/enhanced-resolve/types.d.ts b/node_modules/enhanced-resolve/types.d.ts deleted file mode 100644 index fc09289d60..0000000000 --- a/node_modules/enhanced-resolve/types.d.ts +++ /dev/null @@ -1,1135 +0,0 @@ -/* - * This file was automatically generated. - * DO NOT MODIFY BY HAND. - * Run `yarn special-lint-fix` to update - */ - -import { Buffer } from "buffer"; -import { AsyncSeriesBailHook, AsyncSeriesHook, SyncHook } from "tapable"; -import { URL as URL_Import } from "url"; - -declare interface Abortable { - /** - * When provided the corresponding `AbortController` can be used to cancel an asynchronous action. - */ - signal?: AbortSignal; -} -type Alias = string | false | string[]; -declare interface AliasOption { - alias: Alias; - name: string; - onlyModule?: boolean; -} -type AliasOptionNewRequest = string | false | string[]; -declare interface AliasOptions { - [index: string]: AliasOptionNewRequest; -} -type BaseFileSystem = FileSystem & SyncFileSystem; -declare interface BaseResolveRequest { - path: string | false; - context?: object; - descriptionFilePath?: string; - descriptionFileRoot?: string; - descriptionFileData?: JsonObject; - relativePath?: string; - ignoreSymlinks?: boolean; - fullySpecified?: boolean; - __innerRequest?: string; - __innerRequest_request?: string; - __innerRequest_relativePath?: string; -} -type BufferEncoding = - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex"; -type BufferEncodingOption = "buffer" | { encoding: "buffer" }; -declare class CachedInputFileSystem { - constructor(fileSystem: BaseFileSystem, duration: number); - fileSystem: BaseFileSystem; - lstat?: LStat; - lstatSync?: LStatSync; - stat: Stat; - statSync: StatSync; - readdir: Readdir; - readdirSync: ReaddirSync; - readFile: ReadFile; - readFileSync: ReadFileSync; - readJson?: ( - arg0: PathOrFileDescriptor, - arg1: ( - arg0: null | Error | NodeJS.ErrnoException, - arg1?: JsonObject - ) => void - ) => void; - readJsonSync?: (arg0: PathOrFileDescriptor) => JsonObject; - readlink: Readlink; - readlinkSync: ReadlinkSync; - realpath?: RealPath; - realpathSync?: RealPathSync; - purge( - what?: - | string - | number - | Buffer - | URL_url - | (string | number | Buffer | URL_url)[] - | Set - ): void; -} -declare class CloneBasenamePlugin { - constructor( - source: - | string - | AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - >, - target: - | string - | AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - > - ); - source: - | string - | AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - >; - target: - | string - | AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - >; - apply(resolver: Resolver): void; -} -declare interface Dirent { - isFile: () => boolean; - isDirectory: () => boolean; - isBlockDevice: () => boolean; - isCharacterDevice: () => boolean; - isSymbolicLink: () => boolean; - isFIFO: () => boolean; - isSocket: () => boolean; - name: string; - path: string; -} -type EncodingOption = - | undefined - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex" - | ObjectEncodingOptions; -type ErrorWithDetail = Error & { details?: string }; -declare interface ExtensionAliasOption { - alias: string | string[]; - extension: string; -} -declare interface ExtensionAliasOptions { - [index: string]: string | string[]; -} -declare interface FileSystem { - readFile: ReadFile; - readdir: Readdir; - readJson?: ( - arg0: PathOrFileDescriptor, - arg1: ( - arg0: null | Error | NodeJS.ErrnoException, - arg1?: JsonObject - ) => void - ) => void; - readlink: Readlink; - lstat?: LStat; - stat: Stat; - realpath?: RealPath; -} -type IBigIntStats = IStatsBase & { - atimeNs: bigint; - mtimeNs: bigint; - ctimeNs: bigint; - birthtimeNs: bigint; -}; -declare interface IStats { - isFile: () => boolean; - isDirectory: () => boolean; - isBlockDevice: () => boolean; - isCharacterDevice: () => boolean; - isSymbolicLink: () => boolean; - isFIFO: () => boolean; - isSocket: () => boolean; - dev: number; - ino: number; - mode: number; - nlink: number; - uid: number; - gid: number; - rdev: number; - size: number; - blksize: number; - blocks: number; - atimeMs: number; - mtimeMs: number; - ctimeMs: number; - birthtimeMs: number; - atime: Date; - mtime: Date; - ctime: Date; - birthtime: Date; -} -declare interface IStatsBase { - isFile: () => boolean; - isDirectory: () => boolean; - isBlockDevice: () => boolean; - isCharacterDevice: () => boolean; - isSymbolicLink: () => boolean; - isFIFO: () => boolean; - isSocket: () => boolean; - dev: T; - ino: T; - mode: T; - nlink: T; - uid: T; - gid: T; - rdev: T; - size: T; - blksize: T; - blocks: T; - atimeMs: T; - mtimeMs: T; - ctimeMs: T; - birthtimeMs: T; - atime: Date; - mtime: Date; - ctime: Date; - birthtime: Date; -} -declare interface Iterator { - ( - item: T, - callback: (err?: null | Error, result?: null | Z) => void, - i: number - ): void; -} -type JsonObject = { [index: string]: JsonValue } & { - [index: string]: - | undefined - | null - | string - | number - | boolean - | JsonObject - | JsonValue[]; -}; -type JsonValue = null | string | number | boolean | JsonObject | JsonValue[]; -declare interface KnownHooks { - resolveStep: SyncHook< - [ - AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - >, - ResolveRequest - ] - >; - noResolve: SyncHook<[ResolveRequest, Error]>; - resolve: AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - >; - result: AsyncSeriesHook<[ResolveRequest, ResolveContext]>; -} -declare interface LStat { - ( - path: PathLike, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: IStats) => void - ): void; - ( - path: PathLike, - options: undefined | (StatOptions & { bigint?: false }), - callback: (arg0: null | NodeJS.ErrnoException, arg1?: IStats) => void - ): void; - ( - path: PathLike, - options: StatOptions & { bigint: true }, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: IBigIntStats) => void - ): void; - ( - path: PathLike, - options: undefined | StatOptions, - callback: ( - arg0: null | NodeJS.ErrnoException, - arg1?: IStats | IBigIntStats - ) => void - ): void; -} -declare interface LStatSync { - (path: PathLike, options?: undefined): IStats; - ( - path: PathLike, - options?: StatSyncOptions & { bigint?: false; throwIfNoEntry: false } - ): undefined | IStats; - ( - path: PathLike, - options: StatSyncOptions & { bigint: true; throwIfNoEntry: false } - ): undefined | IBigIntStats; - (path: PathLike, options?: StatSyncOptions & { bigint?: false }): IStats; - (path: PathLike, options: StatSyncOptions & { bigint: true }): IBigIntStats; - ( - path: PathLike, - options: StatSyncOptions & { bigint: boolean; throwIfNoEntry?: false } - ): IStats | IBigIntStats; - (path: PathLike, options?: StatSyncOptions): - | undefined - | IStats - | IBigIntStats; -} -declare class LogInfoPlugin { - constructor( - source: - | string - | AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - > - ); - source: - | string - | AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - >; - apply(resolver: Resolver): void; -} -declare interface ObjectEncodingOptions { - encoding?: - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex"; -} -declare interface ParsedIdentifier { - request: string; - query: string; - fragment: string; - directory: boolean; - module: boolean; - file: boolean; - internal: boolean; -} -type PathLike = string | Buffer | URL_url; -type PathOrFileDescriptor = string | number | Buffer | URL_url; -type Plugin = - | undefined - | null - | false - | "" - | 0 - | { apply: (arg0: Resolver) => void } - | ((this: Resolver, arg1: Resolver) => void); -declare interface PnpApi { - resolveToUnqualified: ( - arg0: string, - arg1: string, - arg2: object - ) => null | string; -} -declare interface ReadFile { - ( - path: PathOrFileDescriptor, - options: - | undefined - | null - | ({ encoding?: null; flag?: string } & Abortable), - callback: (arg0: null | NodeJS.ErrnoException, arg1?: Buffer) => void - ): void; - ( - path: PathOrFileDescriptor, - options: - | ({ encoding: BufferEncoding; flag?: string } & Abortable) - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex", - callback: (arg0: null | NodeJS.ErrnoException, arg1?: string) => void - ): void; - ( - path: PathOrFileDescriptor, - options: - | undefined - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex" - | (ObjectEncodingOptions & { flag?: string } & Abortable), - callback: ( - arg0: null | NodeJS.ErrnoException, - arg1?: string | Buffer - ) => void - ): void; - ( - path: PathOrFileDescriptor, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: Buffer) => void - ): void; -} -declare interface ReadFileSync { - ( - path: PathOrFileDescriptor, - options?: null | { encoding?: null; flag?: string } - ): Buffer; - ( - path: PathOrFileDescriptor, - options: - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex" - | { encoding: BufferEncoding; flag?: string } - ): string; - ( - path: PathOrFileDescriptor, - options?: - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex" - | (ObjectEncodingOptions & { flag?: string }) - ): string | Buffer; -} -declare interface Readdir { - ( - path: PathLike, - options: - | undefined - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex" - | { - encoding: - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex"; - withFileTypes?: false; - recursive?: boolean; - }, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: string[]) => void - ): void; - ( - path: PathLike, - options: - | { encoding: "buffer"; withFileTypes?: false; recursive?: boolean } - | "buffer", - callback: (arg0: null | NodeJS.ErrnoException, arg1?: Buffer[]) => void - ): void; - ( - path: PathLike, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: string[]) => void - ): void; - ( - path: PathLike, - options: - | undefined - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex" - | (ObjectEncodingOptions & { - withFileTypes?: false; - recursive?: boolean; - }), - callback: ( - arg0: null | NodeJS.ErrnoException, - arg1?: string[] | Buffer[] - ) => void - ): void; - ( - path: PathLike, - options: ObjectEncodingOptions & { - withFileTypes: true; - recursive?: boolean; - }, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: Dirent[]) => void - ): void; -} -declare interface ReaddirSync { - ( - path: PathLike, - options?: - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex" - | { - encoding: - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex"; - withFileTypes?: false; - recursive?: boolean; - } - ): string[]; - ( - path: PathLike, - options: - | "buffer" - | { encoding: "buffer"; withFileTypes?: false; recursive?: boolean } - ): Buffer[]; - ( - path: PathLike, - options?: - | null - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "utf-16le" - | "ucs2" - | "ucs-2" - | "base64" - | "base64url" - | "latin1" - | "binary" - | "hex" - | (ObjectEncodingOptions & { withFileTypes?: false; recursive?: boolean }) - ): string[] | Buffer[]; - ( - path: PathLike, - options: ObjectEncodingOptions & { - withFileTypes: true; - recursive?: boolean; - } - ): Dirent[]; -} -declare interface Readlink { - ( - path: PathLike, - options: EncodingOption, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: string) => void - ): void; - ( - path: PathLike, - options: BufferEncodingOption, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: Buffer) => void - ): void; - ( - path: PathLike, - options: EncodingOption, - callback: ( - arg0: null | NodeJS.ErrnoException, - arg1?: string | Buffer - ) => void - ): void; - ( - path: PathLike, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: string) => void - ): void; -} -declare interface ReadlinkSync { - (path: PathLike, options?: EncodingOption): string; - (path: PathLike, options: BufferEncodingOption): Buffer; - (path: PathLike, options?: EncodingOption): string | Buffer; -} -declare interface RealPath { - ( - path: PathLike, - options: EncodingOption, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: string) => void - ): void; - ( - path: PathLike, - options: BufferEncodingOption, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: Buffer) => void - ): void; - ( - path: PathLike, - options: EncodingOption, - callback: ( - arg0: null | NodeJS.ErrnoException, - arg1?: string | Buffer - ) => void - ): void; - ( - path: PathLike, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: string) => void - ): void; -} -declare interface RealPathSync { - (path: PathLike, options?: EncodingOption): string; - (path: PathLike, options: BufferEncodingOption): Buffer; - (path: PathLike, options?: EncodingOption): string | Buffer; -} -declare interface ResolveContext { - contextDependencies?: WriteOnlySet; - - /** - * files that was found on file system - */ - fileDependencies?: WriteOnlySet; - - /** - * dependencies that was not found on file system - */ - missingDependencies?: WriteOnlySet; - - /** - * set of hooks' calls. For instance, `resolve → parsedResolve → describedResolve`, - */ - stack?: Set; - - /** - * log function - */ - log?: (arg0: string) => void; - - /** - * yield result, if provided plugins can return several results - */ - yield?: (arg0: ResolveRequest) => void; -} -declare interface ResolveFunction { - (context: object, path: string, request: string): string | false; - (path: string, request: string): string | false; -} -declare interface ResolveFunctionAsync { - ( - context: object, - path: string, - request: string, - resolveContext: ResolveContext, - callback: ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void - ): void; - ( - context: object, - path: string, - request: string, - callback: ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void - ): void; - ( - path: string, - request: string, - resolveContext: ResolveContext, - callback: ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void - ): void; - ( - path: string, - request: string, - callback: ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void - ): void; -} -type ResolveOptionsOptionalFS = Omit< - ResolveOptionsResolverFactoryObject_2, - "fileSystem" -> & - Partial>; -declare interface ResolveOptionsResolverFactoryObject_1 { - alias: AliasOption[]; - fallback: AliasOption[]; - aliasFields: Set; - extensionAlias: ExtensionAliasOption[]; - cachePredicate: (arg0: ResolveRequest) => boolean; - cacheWithContext: boolean; - - /** - * A list of exports field condition names. - */ - conditionNames: Set; - descriptionFiles: string[]; - enforceExtension: boolean; - exportsFields: Set; - importsFields: Set; - extensions: Set; - fileSystem: FileSystem; - unsafeCache: false | object; - symlinks: boolean; - resolver?: Resolver; - modules: (string | string[])[]; - mainFields: { name: string[]; forceRelative: boolean }[]; - mainFiles: Set; - plugins: Plugin[]; - pnpApi: null | PnpApi; - roots: Set; - fullySpecified: boolean; - resolveToContext: boolean; - restrictions: Set; - preferRelative: boolean; - preferAbsolute: boolean; -} -declare interface ResolveOptionsResolverFactoryObject_2 { - /** - * A list of module alias configurations or an object which maps key to value - */ - alias?: AliasOptions | AliasOption[]; - - /** - * A list of module alias configurations or an object which maps key to value, applied only after modules option - */ - fallback?: AliasOptions | AliasOption[]; - - /** - * An object which maps extension to extension aliases - */ - extensionAlias?: ExtensionAliasOptions; - - /** - * A list of alias fields in description files - */ - aliasFields?: (string | string[])[]; - - /** - * A function which decides whether a request should be cached or not. An object is passed with at least `path` and `request` properties. - */ - cachePredicate?: (arg0: ResolveRequest) => boolean; - - /** - * Whether or not the unsafeCache should include request context as part of the cache key. - */ - cacheWithContext?: boolean; - - /** - * A list of description files to read from - */ - descriptionFiles?: string[]; - - /** - * A list of exports field condition names. - */ - conditionNames?: string[]; - - /** - * Enforce that a extension from extensions must be used - */ - enforceExtension?: boolean; - - /** - * A list of exports fields in description files - */ - exportsFields?: (string | string[])[]; - - /** - * A list of imports fields in description files - */ - importsFields?: (string | string[])[]; - - /** - * A list of extensions which should be tried for files - */ - extensions?: string[]; - - /** - * The file system which should be used - */ - fileSystem: FileSystem; - - /** - * Use this cache object to unsafely cache the successful requests - */ - unsafeCache?: boolean | object; - - /** - * Resolve symlinks to their symlinked location - */ - symlinks?: boolean; - - /** - * A prepared Resolver to which the plugins are attached - */ - resolver?: Resolver; - - /** - * A list of directories to resolve modules from, can be absolute path or folder name - */ - modules?: string | string[]; - - /** - * A list of main fields in description files - */ - mainFields?: ( - | string - | string[] - | { name: string | string[]; forceRelative: boolean } - )[]; - - /** - * A list of main files in directories - */ - mainFiles?: string[]; - - /** - * A list of additional resolve plugins which should be applied - */ - plugins?: Plugin[]; - - /** - * A PnP API that should be used - null is "never", undefined is "auto" - */ - pnpApi?: null | PnpApi; - - /** - * A list of root paths - */ - roots?: string[]; - - /** - * The request is already fully specified and no extensions or directories are resolved for it - */ - fullySpecified?: boolean; - - /** - * Resolve to a context instead of a file - */ - resolveToContext?: boolean; - - /** - * A list of resolve restrictions - */ - restrictions?: (string | RegExp)[]; - - /** - * Use only the sync constraints of the file system calls - */ - useSyncFileSystemCalls?: boolean; - - /** - * Prefer to resolve module requests as relative requests before falling back to modules - */ - preferRelative?: boolean; - - /** - * Prefer to resolve server-relative urls as absolute paths before falling back to resolve in roots - */ - preferAbsolute?: boolean; -} -type ResolveRequest = BaseResolveRequest & Partial; -declare abstract class Resolver { - fileSystem: FileSystem; - options: ResolveOptionsResolverFactoryObject_1; - hooks: KnownHooks; - ensureHook( - name: - | string - | AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - > - ): AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - >; - getHook( - name: - | string - | AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - > - ): AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - >; - resolveSync(context: object, path: string, request: string): string | false; - resolve( - context: object, - path: string, - request: string, - resolveContext: ResolveContext, - callback: ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void - ): void; - doResolve( - hook: AsyncSeriesBailHook< - [ResolveRequest, ResolveContext], - null | ResolveRequest - >, - request: ResolveRequest, - message: null | string, - resolveContext: ResolveContext, - callback: (err?: null | Error, result?: ResolveRequest) => void - ): void; - parse(identifier: string): ParsedIdentifier; - isModule(path: string): boolean; - isPrivate(path: string): boolean; - isDirectory(path: string): boolean; - join(path: string, request: string): string; - normalize(path: string): string; -} -declare interface Stat { - ( - path: PathLike, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: IStats) => void - ): void; - ( - path: PathLike, - options: undefined | (StatOptions & { bigint?: false }), - callback: (arg0: null | NodeJS.ErrnoException, arg1?: IStats) => void - ): void; - ( - path: PathLike, - options: StatOptions & { bigint: true }, - callback: (arg0: null | NodeJS.ErrnoException, arg1?: IBigIntStats) => void - ): void; - ( - path: PathLike, - options: undefined | StatOptions, - callback: ( - arg0: null | NodeJS.ErrnoException, - arg1?: IStats | IBigIntStats - ) => void - ): void; -} -declare interface StatOptions { - bigint?: boolean; -} -declare interface StatSync { - (path: PathLike, options?: undefined): IStats; - ( - path: PathLike, - options?: StatSyncOptions & { bigint?: false; throwIfNoEntry: false } - ): undefined | IStats; - ( - path: PathLike, - options: StatSyncOptions & { bigint: true; throwIfNoEntry: false } - ): undefined | IBigIntStats; - (path: PathLike, options?: StatSyncOptions & { bigint?: false }): IStats; - (path: PathLike, options: StatSyncOptions & { bigint: true }): IBigIntStats; - ( - path: PathLike, - options: StatSyncOptions & { bigint: boolean; throwIfNoEntry?: false } - ): IStats | IBigIntStats; - (path: PathLike, options?: StatSyncOptions): - | undefined - | IStats - | IBigIntStats; -} -declare interface StatSyncOptions { - bigint?: boolean; - throwIfNoEntry?: boolean; -} -declare interface SyncFileSystem { - readFileSync: ReadFileSync; - readdirSync: ReaddirSync; - readJsonSync?: (arg0: PathOrFileDescriptor) => JsonObject; - readlinkSync: ReadlinkSync; - lstatSync?: LStatSync; - statSync: StatSync; - realpathSync?: RealPathSync; -} - -/** - * `URL` class is a global reference for `require('url').URL` - * https://nodejs.org/api/url.html#the-whatwg-url-api - */ -declare interface URL_url extends URL_Import {} -declare interface WriteOnlySet { - add: (item: T) => void; -} -declare function exports( - context: object, - path: string, - request: string, - resolveContext: ResolveContext, - callback: ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void -): void; -declare function exports( - context: object, - path: string, - request: string, - callback: ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void -): void; -declare function exports( - path: string, - request: string, - resolveContext: ResolveContext, - callback: ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void -): void; -declare function exports( - path: string, - request: string, - callback: ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void -): void; -declare namespace exports { - export const sync: ResolveFunction; - export function create( - options: ResolveOptionsOptionalFS - ): ResolveFunctionAsync; - export namespace create { - export const sync: (options: ResolveOptionsOptionalFS) => ResolveFunction; - } - export namespace ResolverFactory { - export let createResolver: ( - options: ResolveOptionsResolverFactoryObject_2 - ) => Resolver; - } - export const forEachBail: ( - array: T[], - iterator: Iterator, - callback: (err?: null | Error, result?: null | Z, i?: number) => void - ) => void; - export type ResolveCallback = ( - err: null | ErrorWithDetail, - res?: string | false, - req?: ResolveRequest - ) => void; - export { - CachedInputFileSystem, - CloneBasenamePlugin, - LogInfoPlugin, - ResolveOptionsOptionalFS, - PnpApi, - Resolver, - FileSystem, - ResolveContext, - ResolveRequest, - Plugin, - ResolveOptionsResolverFactoryObject_2 as ResolveOptions, - ResolveFunctionAsync, - ResolveFunction - }; -} - -export = exports; diff --git a/node_modules/eslint-import-resolver-typescript/README.md b/node_modules/eslint-import-resolver-typescript/README.md index 225552782b..e41bc64ab3 100644 --- a/node_modules/eslint-import-resolver-typescript/README.md +++ b/node_modules/eslint-import-resolver-typescript/README.md @@ -25,8 +25,12 @@ This means you can: - [Notice](#notice) - [Installation](#installation) + - [`eslint-plugin-import`](#eslint-plugin-import) + - [`eslint-plugin-import-x`](#eslint-plugin-import-x) - [Configuration](#configuration) -- [Options from `enhanced-resolve`](#options-from-enhanced-resolve) + - [`eslint.config.js`](#eslintconfigjs) + - [`.eslintrc`](#eslintrc) +- [Options from `rspack-resolver`](#options-from-rspack-resolver) - [`conditionNames`](#conditionnames) - [`extensions`](#extensions) - [`extensionAlias`](#extensionalias) @@ -47,6 +51,8 @@ If you're facing some problems on rules `import/default` or `import/named` from ## Installation +### `eslint-plugin-import` + ```sh # npm npm i -D eslint-plugin-import eslint-import-resolver-typescript @@ -58,7 +64,18 @@ pnpm i -D eslint-plugin-import eslint-import-resolver-typescript yarn add -D eslint-plugin-import eslint-import-resolver-typescript ``` -**Important when using `eslint-plugin-import-x` and `npm`**: Use `npm i -D eslint-plugin-import@eslint-plugin-import-x@latest eslint-import-resolver-typescript`, or you will end up with both `eslint-plugin-import` and `eslint-plugin-import-x` in your node_modules. +### `eslint-plugin-import-x` + +```sh +# npm +npm i -D eslint-plugin-import-x eslint-import-resolver-typescript + +# pnpm +pnpm i -D eslint-plugin-import-x eslint-import-resolver-typescript + +# yarn +yarn add -D eslint-plugin-import-x eslint-import-resolver-typescript +``` ## Configuration @@ -67,49 +84,52 @@ yarn add -D eslint-plugin-import eslint-import-resolver-typescript If you are using `eslint-plugin-import-x@>=4.5.0`, you can use import/require to reference `eslint-import-resolver-typescript` directly in your ESLint flat config: ```js -// eslint.config.js -const { - createTypeScriptImportResolver, -} = require('eslint-import-resolver-typescript') +// eslint.config.js, CommonJS is also supported +import { createTypeScriptImportResolver } from 'eslint-import-resolver-typescript' -module.exports = [{ - settings: { - "import-x/resolver-next": [ - createTypeScriptImportResolver({ - alwaysTryTypes: true, // always try to resolve types under `@types` directory even it doesn't contain any source code, like `@types/unist` +export default [ + { + settings: { + 'import-x/resolver-next': [ + createTypeScriptImportResolver({ + alwaysTryTypes: true, // always try to resolve types under `@types` directory even it doesn't contain any source code, like `@types/unist` - // Choose from one of the "project" configs below or omit to use /tsconfig.json by default + // Choose from one of the "project" configs below or omit to use /tsconfig.json by default - // use /path/to/folder/tsconfig.json - project: "path/to/folder", + // use /path/to/folder/tsconfig.json + project: 'path/to/folder', - // Multiple tsconfigs (Useful for monorepos) + // Multiple tsconfigs (Useful for monorepos) - // use a glob pattern - project: "packages/*/tsconfig.json", + // use a glob pattern + project: 'packages/*/tsconfig.json', - // use an array - project: [ - "packages/module-a/tsconfig.json", - "packages/module-b/tsconfig.json" - ], + // use an array + project: [ + 'packages/module-a/tsconfig.json', + 'packages/module-b/tsconfig.json', + ], - // use an array of glob patterns - project: [ - "packages/*/tsconfig.json", - "other-packages/*/tsconfig.json" - ] - }), - ] - } -}] + // use an array of glob patterns + project: [ + 'packages/*/tsconfig.json', + 'other-packages/*/tsconfig.json', + ], + + // use /jsconfig.json + project: 'jsconfig.json', + }), + ], + }, + }, +] ``` But if you are using `eslint-plugin-import` or the older version of `eslint-plugin-import-x`, you can't use require/import: ```js -// eslint.config.js -module.exports = [ +// eslint.config.js, CommonJS is also supported +export default [ { settings: { 'import/resolver': { @@ -137,6 +157,9 @@ module.exports = [ 'packages/*/tsconfig.json', 'other-packages/*/tsconfig.json', ], + + // use /jsconfig.json + project: 'jsconfig.json', }, }, }, @@ -153,11 +176,11 @@ Add the following to your `.eslintrc` config: "plugins": ["import"], "rules": { // turn on errors for missing imports - "import/no-unresolved": "error" + "import/no-unresolved": "error", }, "settings": { "import/parsers": { - "@typescript-eslint/parser": [".ts", ".tsx"] + "@typescript-eslint/parser": [".ts", ".tsx"], }, "import/resolver": { "typescript": { @@ -176,21 +199,24 @@ Add the following to your `.eslintrc` config: // use an array "project": [ "packages/module-a/tsconfig.json", - "packages/module-b/tsconfig.json" + "packages/module-b/tsconfig.json", ], // use an array of glob patterns "project": [ "packages/*/tsconfig.json", - "other-packages/*/tsconfig.json" - ] - } - } - } + "other-packages/*/tsconfig.json", + ], + + // use /jsconfig.json + "project": "jsconfig.json", + }, + }, + }, } ``` -## Options from [`enhanced-resolve`][] +## Options from [`rspack-resolver`][] ### `conditionNames` @@ -210,7 +236,7 @@ Default: "node", "node-addons", "browser", - "default" + "default", ] ``` @@ -227,7 +253,7 @@ Default: ".js", ".jsx", ".json", - ".node" + ".node", ] ``` @@ -242,11 +268,11 @@ Default: // `.tsx` can also be compiled as `.js` ".tsx", ".d.ts", - ".js" + ".js", ], ".jsx": [".tsx", ".d.ts", ".jsx"], ".cjs": [".cts", ".d.cts", ".cjs"], - ".mjs": [".mts", ".d.mts", ".mjs"] + ".mjs": [".mts", ".d.mts", ".mjs"], } ``` @@ -268,13 +294,13 @@ Default: "module", "jsnext:main", - "main" + "main", ] ``` ### Other options -You can pass through other options of [`enhanced-resolve`][] directly +You can pass through other options of [`rspack-resolver`][] directly ### Default options @@ -291,6 +317,8 @@ We have [GitHub Actions](https://github.com/import-js/eslint-import-resolver-typ If either fails, we won't be able to merge your PR until it's fixed. +[![Sponsors](https://raw.githubusercontent.com/1stG/static/master/sponsors.svg)](https://github.com/sponsors/JounQin) + ## Sponsors | 1stG | RxTS | UnTS | @@ -313,6 +341,6 @@ Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.m [`eslint-plugin-import`]: https://github.com/import-js/eslint-plugin-import [`eslint-plugin-import-x`]: https://github.com/un-ts/eslint-plugin-import-x -[`enhanced-resolve`]: https://github.com/webpack/enhanced-resolve +[`rspack-resolver`]: https://github.com/unrs/rspack-resolver [`typescript`]: https://www.typescriptlang.org [isc]: https://opensource.org/licenses/ISC diff --git a/node_modules/eslint-import-resolver-typescript/lib/constants.d.ts b/node_modules/eslint-import-resolver-typescript/lib/constants.d.ts new file mode 100644 index 0000000000..1b97e9a983 --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/constants.d.ts @@ -0,0 +1,18 @@ +export declare const defaultConditionNames: string[]; +export declare const defaultExtensions: string[]; +export declare const defaultExtensionAlias: { + '.js': string[]; + '.jsx': string[]; + '.cjs': string[]; + '.mjs': string[]; +}; +export declare const defaultMainFields: string[]; +export declare const JS_EXT_PATTERN: RegExp; +export declare const IMPORT_RESOLVER_NAME = "eslint-import-resolver-typescript"; +export declare const interfaceVersion = 2; +export declare const DEFAULT_TSCONFIG = "tsconfig.json"; +export declare const DEFAULT_JSCONFIG = "jsconfig.json"; +export declare const DEFAULT_CONFIGS: string[]; +export declare const DEFAULT_TRY_PATHS: string[]; +export declare const MATCH_ALL = "**"; +export declare const DEFAULT_IGNORE: string; diff --git a/node_modules/eslint-import-resolver-typescript/lib/constants.js b/node_modules/eslint-import-resolver-typescript/lib/constants.js new file mode 100644 index 0000000000..dfd1128bbb --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/constants.js @@ -0,0 +1,53 @@ +export const defaultConditionNames = [ + 'types', + 'import', + 'esm2020', + 'es2020', + 'es2015', + 'require', + 'node', + 'node-addons', + 'browser', + 'default', +]; +export const defaultExtensions = [ + '.ts', + '.tsx', + '.d.ts', + '.js', + '.jsx', + '.json', + '.node', +]; +export const defaultExtensionAlias = { + '.js': [ + '.ts', + '.tsx', + '.d.ts', + '.js', + ], + '.jsx': ['.tsx', '.d.ts', '.jsx'], + '.cjs': ['.cts', '.d.cts', '.cjs'], + '.mjs': ['.mts', '.d.mts', '.mjs'], +}; +export const defaultMainFields = [ + 'types', + 'typings', + 'fesm2020', + 'fesm2015', + 'esm2020', + 'es2020', + 'module', + 'jsnext:main', + 'main', +]; +export const JS_EXT_PATTERN = /\.(?:[cm]js|jsx?)$/; +export const IMPORT_RESOLVER_NAME = 'eslint-import-resolver-typescript'; +export const interfaceVersion = 2; +export const DEFAULT_TSCONFIG = 'tsconfig.json'; +export const DEFAULT_JSCONFIG = 'jsconfig.json'; +export const DEFAULT_CONFIGS = [DEFAULT_TSCONFIG, DEFAULT_JSCONFIG]; +export const DEFAULT_TRY_PATHS = ['', ...DEFAULT_CONFIGS]; +export const MATCH_ALL = '**'; +export const DEFAULT_IGNORE = [MATCH_ALL, 'node_modules', MATCH_ALL].join('/'); +//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/constants.js.map b/node_modules/eslint-import-resolver-typescript/lib/constants.js.map new file mode 100644 index 0000000000..01c8aa9a46 --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/constants.js.map @@ -0,0 +1 @@ +{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO;IACP,QAAQ;IAGR,SAAS;IACT,QAAQ;IACR,QAAQ;IAER,SAAS;IACT,MAAM;IACN,aAAa;IACb,SAAS;IACT,SAAS;CACV,CAAA;AAKD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;CACR,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE;QACL,KAAK;QAEL,MAAM;QACN,OAAO;QACP,KAAK;KACN;IACD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;CACnC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO;IACP,SAAS;IAGT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IAER,QAAQ;IACR,aAAa;IAEb,MAAM;CACP,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAA;AAElD,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CAAA;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAA;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAA;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAA;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAA;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/helpers.d.ts b/node_modules/eslint-import-resolver-typescript/lib/helpers.d.ts new file mode 100644 index 0000000000..52c56ebf0d --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/helpers.d.ts @@ -0,0 +1,6 @@ +export declare function mangleScopedPackage(moduleName: string): string; +export declare function removeQuerystring(id: string): string; +export declare const tryFile: (filename?: string[] | string, includeDir?: boolean, base?: string) => string; +export declare const sortProjectsByAffinity: (projects: string[], file: string) => string[]; +export declare const toGlobPath: (pathname: string) => string; +export declare const toNativePath: (pathname: string) => string; diff --git a/node_modules/eslint-import-resolver-typescript/lib/helpers.js b/node_modules/eslint-import-resolver-typescript/lib/helpers.js new file mode 100644 index 0000000000..ec11ab849c --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/helpers.js @@ -0,0 +1,56 @@ +import fs from 'node:fs'; +import path from 'node:path'; +export function mangleScopedPackage(moduleName) { + if (moduleName.startsWith('@')) { + const replaceSlash = moduleName.replace('/', '__'); + if (replaceSlash !== moduleName) { + return replaceSlash.slice(1); + } + } + return moduleName; +} +export function removeQuerystring(id) { + const querystringIndex = id.lastIndexOf('?'); + if (querystringIndex !== -1) { + return id.slice(0, querystringIndex); + } + return id; +} +export const tryFile = (filename, includeDir = false, base = process.cwd()) => { + if (typeof filename === 'string') { + const filepath = path.resolve(base, filename); + return fs.existsSync(filepath) && + (includeDir || fs.statSync(filepath).isFile()) + ? filepath + : ''; + } + for (const file of filename ?? []) { + const filepath = tryFile(file, includeDir, base); + if (filepath) { + return filepath; + } + } + return ''; +}; +const computeAffinity = (projectDir, targetDir) => { + const a = projectDir.split(path.sep); + const b = targetDir.split(path.sep); + let lca = 0; + while (lca < a.length && lca < b.length && a[lca] === b[lca]) { + lca++; + } + return a.length - lca + (b.length - lca); +}; +export const sortProjectsByAffinity = (projects, file) => { + const fileDir = path.dirname(file); + return projects + .map(project => ({ + project, + affinity: computeAffinity(path.dirname(project), fileDir), + })) + .sort((a, b) => a.affinity - b.affinity) + .map(item => item.project); +}; +export const toGlobPath = (pathname) => pathname.replaceAll('\\', '/'); +export const toNativePath = (pathname) => '/' === path.sep ? pathname : pathname.replaceAll('/', '\\'); +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/helpers.js.map b/node_modules/eslint-import-resolver-typescript/lib/helpers.js.map new file mode 100644 index 0000000000..ce3e3098ec --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/index.cjs b/node_modules/eslint-import-resolver-typescript/lib/index.cjs index 6ae3761cbd..68c9cb36d7 100644 --- a/node_modules/eslint-import-resolver-typescript/lib/index.cjs +++ b/node_modules/eslint-import-resolver-typescript/lib/index.cjs @@ -1,37 +1,15 @@ 'use strict'; -var fs = require('node:fs'); +var module$1 = require('node:module'); var path = require('node:path'); -var isNodeCoreModule = require('@nolyfill/is-core-module'); -var debug = require('debug'); -var enhancedResolve = require('enhanced-resolve'); var getTsconfig = require('get-tsconfig'); var isBunModule = require('is-bun-module'); -var stableHashExports = require('stable-hash'); +var rspackResolver = require('rspack-resolver'); +var stableHash = require('stable-hash'); +var fs = require('node:fs'); +var debug = require('debug'); var tinyglobby = require('tinyglobby'); -var __defProp = Object.defineProperty; -var __defProps = Object.defineProperties; -var __getOwnPropDescs = Object.getOwnPropertyDescriptors; -var __getOwnPropSymbols = Object.getOwnPropertySymbols; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __propIsEnum = Object.prototype.propertyIsEnumerable; -var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; -var __spreadValues = (a, b) => { - for (var prop in b || (b = {})) - if (__hasOwnProp.call(b, prop)) - __defNormalProp(a, prop, b[prop]); - if (__getOwnPropSymbols) - for (var prop of __getOwnPropSymbols(b)) { - if (__propIsEnum.call(b, prop)) - __defNormalProp(a, prop, b[prop]); - } - return a; -}; -var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); -const stableHash = stableHashExports.default || stableHashExports; -const IMPORTER_NAME = "eslint-import-resolver-typescript"; -const log = debug(IMPORTER_NAME); const defaultConditionNames = [ "types", "import", @@ -78,288 +56,349 @@ const defaultMainFields = [ "jsnext:main", "main" ]; -const interfaceVersion = 2; -const fileSystem = fs; const JS_EXT_PATTERN = /\.(?:[cm]js|jsx?)$/; -const RELATIVE_PATH_PATTERN = /^\.{1,2}(?:\/.*)?$/; -let previousOptionsHash; -let optionsHash; -let cachedOptions; -let prevCwd; -let mappersCachedOptions; -let mappers = []; -let resolverCachedOptions; -let cachedResolver; -function resolve(source, file, options, resolver = null) { - var _a, _b, _c, _d, _e; - if (!cachedOptions || previousOptionsHash !== (optionsHash = stableHash(options))) { - previousOptionsHash = optionsHash; - cachedOptions = __spreadProps(__spreadValues({}, options), { - conditionNames: (_a = options == null ? void 0 : options.conditionNames) != null ? _a : defaultConditionNames, - extensions: (_b = options == null ? void 0 : options.extensions) != null ? _b : defaultExtensions, - extensionAlias: (_c = options == null ? void 0 : options.extensionAlias) != null ? _c : defaultExtensionAlias, - mainFields: (_d = options == null ? void 0 : options.mainFields) != null ? _d : defaultMainFields, - fileSystem: new enhancedResolve.CachedInputFileSystem( - fileSystem, - 5 * 1e3 - ), - useSyncFileSystemCalls: true - }); - } - if (!resolver) { - if (!cachedResolver || resolverCachedOptions !== cachedOptions) { - cachedResolver = enhancedResolve.ResolverFactory.createResolver(cachedOptions); - resolverCachedOptions = cachedOptions; +const IMPORT_RESOLVER_NAME = "eslint-import-resolver-typescript"; +const interfaceVersion = 2; +const DEFAULT_TSCONFIG = "tsconfig.json"; +const DEFAULT_JSCONFIG = "jsconfig.json"; +const DEFAULT_CONFIGS = [DEFAULT_TSCONFIG, DEFAULT_JSCONFIG]; +const DEFAULT_TRY_PATHS = ["", ...DEFAULT_CONFIGS]; +const MATCH_ALL = "**"; +const DEFAULT_IGNORE = [MATCH_ALL, "node_modules", MATCH_ALL].join("/"); + +function mangleScopedPackage(moduleName) { + if (moduleName.startsWith("@")) { + const replaceSlash = moduleName.replace("/", "__"); + if (replaceSlash !== moduleName) { + return replaceSlash.slice(1); } - resolver = cachedResolver; } - log("looking for", source, "in", file); - source = removeQuerystring(source); - if (isNodeCoreModule(source) || isBunModule.isBunModule(source, (_e = process.versions.bun) != null ? _e : "latest")) { - log("matched core:", source); - return { - found: true, - path: null - }; + return moduleName; +} +function removeQuerystring(id) { + const querystringIndex = id.lastIndexOf("?"); + if (querystringIndex !== -1) { + return id.slice(0, querystringIndex); } - initMappers(cachedOptions); - const mappedPath = getMappedPath(source, file, cachedOptions.extensions, true); - if (mappedPath) { - log("matched ts path:", mappedPath); + return id; +} +const tryFile = (filename, includeDir = false, base = process.cwd()) => { + if (typeof filename === "string") { + const filepath = path.resolve(base, filename); + return fs.existsSync(filepath) && (includeDir || fs.statSync(filepath).isFile()) ? filepath : ""; } - let foundNodePath; - try { - foundNodePath = resolver.resolveSync( - {}, - path.dirname(path.resolve(file)), - mappedPath != null ? mappedPath : source - ) || null; - } catch (e) { - foundNodePath = null; + for (const file of filename != null ? filename : []) { + const filepath = tryFile(file, includeDir, base); + if (filepath) { + return filepath; + } } - if ((JS_EXT_PATTERN.test(foundNodePath) || cachedOptions.alwaysTryTypes && !foundNodePath) && !/^@types[/\\]/.test(source) && !path.isAbsolute(source) && !source.startsWith(".")) { - const definitelyTyped = resolve( - "@types" + path.sep + mangleScopedPackage(source), - file, - options + return ""; +}; +const computeAffinity = (projectDir, targetDir) => { + const a = projectDir.split(path.sep); + const b = targetDir.split(path.sep); + let lca = 0; + while (lca < a.length && lca < b.length && a[lca] === b[lca]) { + lca++; + } + return a.length - lca + (b.length - lca); +}; +const sortProjectsByAffinity = (projects, file) => { + const fileDir = path.dirname(file); + return projects.map((project) => ({ + project, + affinity: computeAffinity(path.dirname(project), fileDir) + })).sort((a, b) => a.affinity - b.affinity).map((item) => item.project); +}; +const toGlobPath = (pathname) => pathname.replaceAll("\\", "/"); +const toNativePath = (pathname) => "/" === path.sep ? pathname : pathname.replaceAll("/", "\\"); + +const log = debug(IMPORT_RESOLVER_NAME); + +var __defProp$1 = Object.defineProperty; +var __defProps$1 = Object.defineProperties; +var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols; +var __hasOwnProp$1 = Object.prototype.hasOwnProperty; +var __propIsEnum$1 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues$1 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp$1.call(b, prop)) + __defNormalProp$1(a, prop, b[prop]); + if (__getOwnPropSymbols$1) + for (var prop of __getOwnPropSymbols$1(b)) { + if (__propIsEnum$1.call(b, prop)) + __defNormalProp$1(a, prop, b[prop]); + } + return a; +}; +var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b)); +exports.defaultConfigFile = void 0; +const configFileMapping = /* @__PURE__ */ new Map(); +let warned; +function normalizeOptions(options, cwd = process.cwd()) { + let { project, tsconfig, noWarnOnMultipleProjects } = options || (options = {}); + let { configFile, references } = tsconfig != null ? tsconfig : {}; + let ensured; + if (configFile) { + configFile = tryFile(configFile); + ensured = true; + } else if (project) { + log("original projects:", ...project); + project = (Array.isArray(project) ? project : [project]).map(toGlobPath); + if (project.some((p) => tinyglobby.isDynamicPattern(p))) { + project = tinyglobby.globSync(project, { + absolute: true, + cwd, + dot: true, + expandDirectories: false, + onlyFiles: false, + ignore: DEFAULT_IGNORE + }); + } + log("resolving projects:", ...project); + project = project.flatMap( + (p) => tryFile(DEFAULT_TRY_PATHS, false, toNativePath(p)) || [] ); - if (definitelyTyped.found) { - return definitelyTyped; + log("resolved projects:", ...project); + if (project.length === 1) { + configFile = project[0]; + ensured = true; + } + if (project.length <= 1) { + project = void 0; + } else if (!warned && !noWarnOnMultipleProjects) { + warned = true; + console.warn( + "Multiple projects found, consider using a single `tsconfig` with `references` to speed up, or use `noWarnOnMultipleProjects` to suppress this warning" + ); + } + } + if (!project && !configFile) { + configFile = exports.defaultConfigFile || (exports.defaultConfigFile = tryFile(DEFAULT_CONFIGS)); + ensured = true; + } + if (configFile) { + const cachedOptions = configFileMapping.get(configFile); + if (cachedOptions) { + log("using cached options for", configFile); + return cachedOptions; + } + } + if (!ensured && configFile && configFile !== exports.defaultConfigFile) { + configFile = tryFile(DEFAULT_TRY_PATHS, false, configFile); + } + options = __spreadProps$1(__spreadValues$1({ + conditionNames: defaultConditionNames, + extensions: defaultExtensions, + extensionAlias: defaultExtensionAlias, + mainFields: defaultMainFields + }, options), { + project, + tsconfig: { + references: references != null ? references : "auto", + configFile: configFile || "" } + }); + if (configFile) { + configFileMapping.set(configFile, options); } - if (foundNodePath) { - log("matched node path:", foundNodePath); + return options; +} + +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +const resolverCache = /* @__PURE__ */ new Map(); +const tsconfigCache = /* @__PURE__ */ new Map(); +const matcherCache = /* @__PURE__ */ new Map(); +const oxcResolve = (source, file, resolver) => { + const result = resolver.sync(path.dirname(file), source); + if (result.path) { return { found: true, - path: foundNodePath + path: result.path }; } - log("didn't find ", source); + if (result.error) { + log("oxc resolve error:", result.error); + } return { found: false }; -} -function createTypeScriptImportResolver(options) { - var _a, _b, _c, _d; - const resolver = enhancedResolve.ResolverFactory.createResolver(__spreadProps(__spreadValues({}, options), { - conditionNames: (_a = options == null ? void 0 : options.conditionNames) != null ? _a : defaultConditionNames, - extensions: (_b = options == null ? void 0 : options.extensions) != null ? _b : defaultExtensions, - extensionAlias: (_c = options == null ? void 0 : options.extensionAlias) != null ? _c : defaultExtensionAlias, - mainFields: (_d = options == null ? void 0 : options.mainFields) != null ? _d : defaultMainFields, - fileSystem: new enhancedResolve.CachedInputFileSystem(fileSystem, 5 * 1e3), - useSyncFileSystemCalls: true - })); - return { - interfaceVersion: 3, - name: IMPORTER_NAME, - resolve(source, file) { - return resolve(source, file, options, resolver); +}; +const resolve = (source, file, options, resolver) => { + var _a; + options || (options = {}); + let bunVersion = process.versions.bun; + if (bunVersion || options.bun) { + if (bunVersion ? module$1.isBuiltin(source) : isBunModule.isBunModule(source, bunVersion = "latest") || isBunModule.isSupportedNodeModule(source, bunVersion)) { + log("matched bun core:", source); + return { found: true, path: null }; } - }; -} -function removeQuerystring(id) { - const querystringIndex = id.lastIndexOf("?"); - if (querystringIndex >= 0) { - return id.slice(0, querystringIndex); + } else if (module$1.isBuiltin(source)) { + log("matched node core:", source); + return { found: true, path: null }; } - return id; -} -const isFile = (path2) => { - var _a; - try { - return !!(path2 && ((_a = fs.statSync(path2, { throwIfNoEntry: false })) == null ? void 0 : _a.isFile())); - } catch (e) { - return false; + if (process.versions.pnp && source === "pnpapi") { + return { + found: true, + path: module$1.findPnpApi(file).resolveToUnqualified(source, file, { considerBuiltins: false }) + }; } -}; -const isModule = (modulePath) => { - return !!modulePath && isFile(path.resolve(modulePath, "package.json")); -}; -function getMappedPath(source, file, extensions = defaultExtensions, retry) { - const originalExtensions = extensions; - extensions = ["", ...extensions]; - let paths = []; - if (RELATIVE_PATH_PATTERN.test(source)) { - const resolved = path.resolve(path.dirname(file), source); - if (isFile(resolved)) { - paths = [resolved]; + source = removeQuerystring(source); + if (!resolver) { + const optionsHash = stableHash.stableHash(options); + const cwd = process.cwd(); + options = normalizeOptions(options, cwd); + const cacheKey = `${optionsHash}:${cwd}`; + let cached = resolverCache.get(cacheKey); + if (!cached && !options.project) { + resolverCache.set(cacheKey, cached = new rspackResolver.ResolverFactory(options)); } - } else { - paths = [ - ...new Set( - mappers.filter(({ files }) => files.has(file)).map( - ({ mapperFn }) => mapperFn(source).map((item) => [ - ...extensions.map((ext) => `${item}${ext}`), - ...originalExtensions.map((ext) => `${item}/index${ext}`) - ]) - ).flat(2).map(toNativePathSeparator) - ) - ].filter((mappedPath) => { - try { - const stat = fs.statSync(mappedPath, { throwIfNoEntry: false }); - if (stat === void 0) - return false; - if (stat.isFile()) - return true; - if (stat.isDirectory()) { - return isModule(mappedPath); + resolver = cached; + } + options || (options = {}); + createResolver: + if (!resolver) { + const project = options.project; + for (const tsconfigPath of project) { + const resolverCached = resolverCache.get(tsconfigPath); + if (resolverCached) { + resolver = resolverCached; + break createResolver; + } + let tsconfigCached = tsconfigCache.get(tsconfigPath); + if (!tsconfigCached) { + tsconfigCache.set( + tsconfigPath, + tsconfigCached = getTsconfig.parseTsconfig(tsconfigPath) + ); + } + let matcherCached = matcherCache.get(tsconfigPath); + if (!matcherCached) { + matcherCache.set( + tsconfigPath, + matcherCached = getTsconfig.createFilesMatcher({ + config: tsconfigCached, + path: tsconfigPath + }) + ); } - } catch (e) { - return false; + const tsconfig = matcherCached(file); + if (!tsconfig) { + log("tsconfig", tsconfigPath, "does not match", file); + continue; + } + log("matched tsconfig at:", tsconfigPath, "for", file); + options = __spreadProps(__spreadValues({}, options), { + tsconfig: __spreadProps(__spreadValues({ + references: "auto" + }, options.tsconfig), { + configFile: tsconfigPath + }) + }); + resolver = new rspackResolver.ResolverFactory(options); + resolverCache.set(tsconfigPath, resolver); + break createResolver; } - return false; - }); - } - if (retry && paths.length === 0) { - const isJs = JS_EXT_PATTERN.test(source); - if (isJs) { - const jsExt = path.extname(source); - const tsExt = jsExt.replace("js", "ts"); - const basename = source.replace(JS_EXT_PATTERN, ""); - const resolved = getMappedPath(basename + tsExt, file) || getMappedPath( - basename + ".d" + (tsExt === ".tsx" ? ".ts" : tsExt), - file + log( + "no tsconfig matched", + file, + "with", + ...project, + ", trying from the the nearest one" ); - if (resolved) { - return resolved; - } - } - for (const ext of extensions) { - const resolved = (isJs ? null : getMappedPath(source + ext, file)) || getMappedPath(source + `/index${ext}`, file); - if (resolved) { - return resolved; - } - } - } - if (paths.length > 1) { - log("found multiple matching ts paths:", paths); - } - return paths[0]; -} -function initMappers(options) { - if (mappers.length > 0 && mappersCachedOptions === options && prevCwd === process.cwd()) { - return; - } - prevCwd = process.cwd(); - const configPaths = (typeof options.project === "string" ? [options.project] : Array.isArray(options.project) ? options.project : [process.cwd()]).map((config) => replacePathSeparator(config, path.sep, path.posix.sep)); - const defaultInclude = ["**/*"]; - const defaultIgnore = ["**/node_modules/**"]; - const projectPaths = [ - .../* @__PURE__ */ new Set([ - ...configPaths.filter((path2) => !tinyglobby.isDynamicPattern(path2)), - ...tinyglobby.globSync( - configPaths.filter((path2) => tinyglobby.isDynamicPattern(path2)), - { - absolute: true, - dot: true, - expandDirectories: false, - ignore: defaultIgnore + for (const p of sortProjectsByAffinity(project, file)) { + const resolved2 = resolve( + source, + file, + __spreadProps(__spreadValues({}, options), { project: p }), + resolver + ); + if (resolved2.found) { + return resolved2; } - ) - ]) - ]; - mappers = projectPaths.map((projectPath) => { - var _a, _b; - let tsconfigResult; - if (isFile(projectPath)) { - const { dir, base } = path.parse(projectPath); - tsconfigResult = getTsconfig.getTsconfig(dir, base); - } else { - tsconfigResult = getTsconfig.getTsconfig(projectPath); - } - if (!tsconfigResult) { - return void 0; - } - const mapperFn = getTsconfig.createPathsMatcher(tsconfigResult); - if (!mapperFn) { - return void 0; - } - const files = tsconfigResult.config.files === void 0 && tsconfigResult.config.include === void 0 ? ( - // Include everything if no files or include options - tinyglobby.globSync(defaultInclude, { - absolute: true, - cwd: path.dirname(tsconfigResult.path), - dot: true, - ignore: [ - ...(_a = tsconfigResult.config.exclude) != null ? _a : [], - ...defaultIgnore - ] - }) - ) : [ - // https://www.typescriptlang.org/tsconfig/#files - ...tsconfigResult.config.files !== void 0 && tsconfigResult.config.files.length > 0 ? tsconfigResult.config.files.map( - (file) => path.normalize( - path.resolve(path.dirname(tsconfigResult.path), file) - ) - ) : [], - // https://www.typescriptlang.org/tsconfig/#include - ...tsconfigResult.config.include !== void 0 && tsconfigResult.config.include.length > 0 ? tinyglobby.globSync(tsconfigResult.config.include, { - absolute: true, - cwd: path.dirname(tsconfigResult.path), - dot: true, - ignore: [ - ...(_b = tsconfigResult.config.exclude) != null ? _b : [], - ...defaultIgnore - ] - }) : [] - ]; - if (files.length === 0) { - return void 0; + } } + if (!resolver) { return { - files: new Set(files.map(toNativePathSeparator)), - mapperFn + found: false }; - }).filter(isDefined); - mappersCachedOptions = options; -} -function mangleScopedPackage(moduleName) { - if (moduleName.startsWith("@")) { - const replaceSlash = moduleName.replace(path.sep, "__"); - if (replaceSlash !== moduleName) { - return replaceSlash.slice(1); + } + const resolved = oxcResolve(source, file, resolver); + const foundPath = resolved.path; + if ((foundPath && JS_EXT_PATTERN.test(foundPath) || options.alwaysTryTypes !== false && !foundPath) && !/^@types[/\\]/.test(source) && !path.isAbsolute(source) && !source.startsWith(".")) { + const definitelyTyped = oxcResolve( + "@types/" + mangleScopedPackage(source), + file, + resolver + ); + if (definitelyTyped.found) { + return definitelyTyped; } } - return moduleName; -} -function replacePathSeparator(p, from, to) { - return from === to ? p : p.replaceAll(from, to); -} -function toNativePathSeparator(p) { - return replacePathSeparator( - p, - path[process.platform === "win32" ? "posix" : "win32"].sep, - path[process.platform === "win32" ? "win32" : "posix"].sep - ); -} -function isDefined(value) { - return value !== null && value !== void 0; -} + if (foundPath) { + log("matched path:", foundPath); + } else { + log( + "didn't find", + source, + "with", + ((_a = options.tsconfig) == null ? void 0 : _a.configFile) || options.project + ); + } + return resolved; +}; +const createTypeScriptImportResolver = (options) => { + options = normalizeOptions(options); + const resolver = options.project ? null : new rspackResolver.ResolverFactory(options); + return { + interfaceVersion: 3, + name: IMPORT_RESOLVER_NAME, + resolve(source, file) { + return resolve(source, file, options, resolver); + } + }; +}; +exports.DEFAULT_CONFIGS = DEFAULT_CONFIGS; +exports.DEFAULT_IGNORE = DEFAULT_IGNORE; +exports.DEFAULT_JSCONFIG = DEFAULT_JSCONFIG; +exports.DEFAULT_TRY_PATHS = DEFAULT_TRY_PATHS; +exports.DEFAULT_TSCONFIG = DEFAULT_TSCONFIG; +exports.IMPORT_RESOLVER_NAME = IMPORT_RESOLVER_NAME; +exports.JS_EXT_PATTERN = JS_EXT_PATTERN; +exports.MATCH_ALL = MATCH_ALL; exports.createTypeScriptImportResolver = createTypeScriptImportResolver; exports.defaultConditionNames = defaultConditionNames; exports.defaultExtensionAlias = defaultExtensionAlias; exports.defaultExtensions = defaultExtensions; exports.defaultMainFields = defaultMainFields; exports.interfaceVersion = interfaceVersion; +exports.mangleScopedPackage = mangleScopedPackage; +exports.normalizeOptions = normalizeOptions; +exports.removeQuerystring = removeQuerystring; exports.resolve = resolve; +exports.sortProjectsByAffinity = sortProjectsByAffinity; +exports.toGlobPath = toGlobPath; +exports.toNativePath = toNativePath; +exports.tryFile = tryFile; diff --git a/node_modules/eslint-import-resolver-typescript/lib/index.d.ts b/node_modules/eslint-import-resolver-typescript/lib/index.d.ts index 668d6163e3..cc9a7bc4e2 100644 --- a/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +++ b/node_modules/eslint-import-resolver-typescript/lib/index.d.ts @@ -1,28 +1,13 @@ -import type { ResolveOptions, Resolver } from 'enhanced-resolve'; -export declare const defaultConditionNames: string[]; -export declare const defaultExtensions: string[]; -export declare const defaultExtensionAlias: { - '.js': string[]; - '.jsx': string[]; - '.cjs': string[]; - '.mjs': string[]; -}; -export declare const defaultMainFields: string[]; -export declare const interfaceVersion = 2; -export interface TsResolverOptions extends Omit { - alwaysTryTypes?: boolean; - project?: string[] | string; - extensions?: string[]; -} -export declare function resolve(source: string, file: string, options?: TsResolverOptions | null, resolver?: Resolver | null): { - found: boolean; - path?: string | null; -}; -export declare function createTypeScriptImportResolver(options?: TsResolverOptions | null): { +import type { ResolvedResult } from 'eslint-plugin-import-x/types.js'; +import { ResolverFactory } from 'rspack-resolver'; +import type { TypeScriptResolverOptions } from './types.js'; +export * from './constants.js'; +export * from './helpers.js'; +export * from './normalize-options.js'; +export type * from './types.js'; +export declare const resolve: (source: string, file: string, options?: TypeScriptResolverOptions | null, resolver?: ResolverFactory | null) => ResolvedResult; +export declare const createTypeScriptImportResolver: (options?: TypeScriptResolverOptions | null) => { interfaceVersion: number; name: string; - resolve(source: string, file: string): { - found: boolean; - path?: string | null | undefined; - }; + resolve(source: string, file: string): ResolvedResult; }; diff --git a/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs b/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs deleted file mode 100644 index 9102aa36b5..0000000000 --- a/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +++ /dev/null @@ -1,336 +0,0 @@ -import fs from 'node:fs'; -import path from 'node:path'; -import isNodeCoreModule from '@nolyfill/is-core-module'; -import debug from 'debug'; -import enhancedResolve from 'enhanced-resolve'; -import { getTsconfig, createPathsMatcher } from 'get-tsconfig'; -import { isBunModule } from 'is-bun-module'; -import stableHashExports from 'stable-hash'; -import { isDynamicPattern, globSync } from 'tinyglobby'; - -const stableHash = stableHashExports.default || stableHashExports; -const IMPORTER_NAME = "eslint-import-resolver-typescript"; -const log = debug(IMPORTER_NAME); -const defaultConditionNames = [ - "types", - "import", - // APF: https://angular.io/guide/angular-package-format - "esm2020", - "es2020", - "es2015", - "require", - "node", - "node-addons", - "browser", - "default" -]; -const defaultExtensions = [ - ".ts", - ".tsx", - ".d.ts", - ".js", - ".jsx", - ".json", - ".node" -]; -const defaultExtensionAlias = { - ".js": [ - ".ts", - // `.tsx` can also be compiled as `.js` - ".tsx", - ".d.ts", - ".js" - ], - ".jsx": [".tsx", ".d.ts", ".jsx"], - ".cjs": [".cts", ".d.cts", ".cjs"], - ".mjs": [".mts", ".d.mts", ".mjs"] -}; -const defaultMainFields = [ - "types", - "typings", - // APF: https://angular.io/guide/angular-package-format - "fesm2020", - "fesm2015", - "esm2020", - "es2020", - "module", - "jsnext:main", - "main" -]; -const interfaceVersion = 2; -const fileSystem = fs; -const JS_EXT_PATTERN = /\.(?:[cm]js|jsx?)$/; -const RELATIVE_PATH_PATTERN = /^\.{1,2}(?:\/.*)?$/; -let previousOptionsHash; -let optionsHash; -let cachedOptions; -let prevCwd; -let mappersCachedOptions; -let mappers = []; -let resolverCachedOptions; -let cachedResolver; -function resolve(source, file, options, resolver = null) { - if (!cachedOptions || previousOptionsHash !== (optionsHash = stableHash(options))) { - previousOptionsHash = optionsHash; - cachedOptions = { - ...options, - conditionNames: options?.conditionNames ?? defaultConditionNames, - extensions: options?.extensions ?? defaultExtensions, - extensionAlias: options?.extensionAlias ?? defaultExtensionAlias, - mainFields: options?.mainFields ?? defaultMainFields, - fileSystem: new enhancedResolve.CachedInputFileSystem( - fileSystem, - 5 * 1e3 - ), - useSyncFileSystemCalls: true - }; - } - if (!resolver) { - if (!cachedResolver || resolverCachedOptions !== cachedOptions) { - cachedResolver = enhancedResolve.ResolverFactory.createResolver(cachedOptions); - resolverCachedOptions = cachedOptions; - } - resolver = cachedResolver; - } - log("looking for", source, "in", file); - source = removeQuerystring(source); - if (isNodeCoreModule(source) || isBunModule(source, process.versions.bun ?? "latest")) { - log("matched core:", source); - return { - found: true, - path: null - }; - } - initMappers(cachedOptions); - const mappedPath = getMappedPath(source, file, cachedOptions.extensions, true); - if (mappedPath) { - log("matched ts path:", mappedPath); - } - let foundNodePath; - try { - foundNodePath = resolver.resolveSync( - {}, - path.dirname(path.resolve(file)), - mappedPath ?? source - ) || null; - } catch { - foundNodePath = null; - } - if ((JS_EXT_PATTERN.test(foundNodePath) || cachedOptions.alwaysTryTypes && !foundNodePath) && !/^@types[/\\]/.test(source) && !path.isAbsolute(source) && !source.startsWith(".")) { - const definitelyTyped = resolve( - "@types" + path.sep + mangleScopedPackage(source), - file, - options - ); - if (definitelyTyped.found) { - return definitelyTyped; - } - } - if (foundNodePath) { - log("matched node path:", foundNodePath); - return { - found: true, - path: foundNodePath - }; - } - log("didn't find ", source); - return { - found: false - }; -} -function createTypeScriptImportResolver(options) { - const resolver = enhancedResolve.ResolverFactory.createResolver({ - ...options, - conditionNames: options?.conditionNames ?? defaultConditionNames, - extensions: options?.extensions ?? defaultExtensions, - extensionAlias: options?.extensionAlias ?? defaultExtensionAlias, - mainFields: options?.mainFields ?? defaultMainFields, - fileSystem: new enhancedResolve.CachedInputFileSystem(fileSystem, 5 * 1e3), - useSyncFileSystemCalls: true - }); - return { - interfaceVersion: 3, - name: IMPORTER_NAME, - resolve(source, file) { - return resolve(source, file, options, resolver); - } - }; -} -function removeQuerystring(id) { - const querystringIndex = id.lastIndexOf("?"); - if (querystringIndex >= 0) { - return id.slice(0, querystringIndex); - } - return id; -} -const isFile = (path2) => { - try { - return !!(path2 && fs.statSync(path2, { throwIfNoEntry: false })?.isFile()); - } catch { - return false; - } -}; -const isModule = (modulePath) => { - return !!modulePath && isFile(path.resolve(modulePath, "package.json")); -}; -function getMappedPath(source, file, extensions = defaultExtensions, retry) { - const originalExtensions = extensions; - extensions = ["", ...extensions]; - let paths = []; - if (RELATIVE_PATH_PATTERN.test(source)) { - const resolved = path.resolve(path.dirname(file), source); - if (isFile(resolved)) { - paths = [resolved]; - } - } else { - paths = [ - ...new Set( - mappers.filter(({ files }) => files.has(file)).map( - ({ mapperFn }) => mapperFn(source).map((item) => [ - ...extensions.map((ext) => `${item}${ext}`), - ...originalExtensions.map((ext) => `${item}/index${ext}`) - ]) - ).flat(2).map(toNativePathSeparator) - ) - ].filter((mappedPath) => { - try { - const stat = fs.statSync(mappedPath, { throwIfNoEntry: false }); - if (stat === void 0) - return false; - if (stat.isFile()) - return true; - if (stat.isDirectory()) { - return isModule(mappedPath); - } - } catch { - return false; - } - return false; - }); - } - if (retry && paths.length === 0) { - const isJs = JS_EXT_PATTERN.test(source); - if (isJs) { - const jsExt = path.extname(source); - const tsExt = jsExt.replace("js", "ts"); - const basename = source.replace(JS_EXT_PATTERN, ""); - const resolved = getMappedPath(basename + tsExt, file) || getMappedPath( - basename + ".d" + (tsExt === ".tsx" ? ".ts" : tsExt), - file - ); - if (resolved) { - return resolved; - } - } - for (const ext of extensions) { - const resolved = (isJs ? null : getMappedPath(source + ext, file)) || getMappedPath(source + `/index${ext}`, file); - if (resolved) { - return resolved; - } - } - } - if (paths.length > 1) { - log("found multiple matching ts paths:", paths); - } - return paths[0]; -} -function initMappers(options) { - if (mappers.length > 0 && mappersCachedOptions === options && prevCwd === process.cwd()) { - return; - } - prevCwd = process.cwd(); - const configPaths = (typeof options.project === "string" ? [options.project] : Array.isArray(options.project) ? options.project : [process.cwd()]).map((config) => replacePathSeparator(config, path.sep, path.posix.sep)); - const defaultInclude = ["**/*"]; - const defaultIgnore = ["**/node_modules/**"]; - const projectPaths = [ - .../* @__PURE__ */ new Set([ - ...configPaths.filter((path2) => !isDynamicPattern(path2)), - ...globSync( - configPaths.filter((path2) => isDynamicPattern(path2)), - { - absolute: true, - dot: true, - expandDirectories: false, - ignore: defaultIgnore - } - ) - ]) - ]; - mappers = projectPaths.map((projectPath) => { - let tsconfigResult; - if (isFile(projectPath)) { - const { dir, base } = path.parse(projectPath); - tsconfigResult = getTsconfig(dir, base); - } else { - tsconfigResult = getTsconfig(projectPath); - } - if (!tsconfigResult) { - return void 0; - } - const mapperFn = createPathsMatcher(tsconfigResult); - if (!mapperFn) { - return void 0; - } - const files = tsconfigResult.config.files === void 0 && tsconfigResult.config.include === void 0 ? ( - // Include everything if no files or include options - globSync(defaultInclude, { - absolute: true, - cwd: path.dirname(tsconfigResult.path), - dot: true, - ignore: [ - ...tsconfigResult.config.exclude ?? [], - ...defaultIgnore - ] - }) - ) : [ - // https://www.typescriptlang.org/tsconfig/#files - ...tsconfigResult.config.files !== void 0 && tsconfigResult.config.files.length > 0 ? tsconfigResult.config.files.map( - (file) => path.normalize( - path.resolve(path.dirname(tsconfigResult.path), file) - ) - ) : [], - // https://www.typescriptlang.org/tsconfig/#include - ...tsconfigResult.config.include !== void 0 && tsconfigResult.config.include.length > 0 ? globSync(tsconfigResult.config.include, { - absolute: true, - cwd: path.dirname(tsconfigResult.path), - dot: true, - ignore: [ - ...tsconfigResult.config.exclude ?? [], - ...defaultIgnore - ] - }) : [] - ]; - if (files.length === 0) { - return void 0; - } - return { - files: new Set(files.map(toNativePathSeparator)), - mapperFn - }; - }).filter(isDefined); - mappersCachedOptions = options; -} -function mangleScopedPackage(moduleName) { - if (moduleName.startsWith("@")) { - const replaceSlash = moduleName.replace(path.sep, "__"); - if (replaceSlash !== moduleName) { - return replaceSlash.slice(1); - } - } - return moduleName; -} -function replacePathSeparator(p, from, to) { - return from === to ? p : p.replaceAll(from, to); -} -function toNativePathSeparator(p) { - return replacePathSeparator( - p, - path[process.platform === "win32" ? "posix" : "win32"].sep, - path[process.platform === "win32" ? "win32" : "posix"].sep - ); -} -function isDefined(value) { - return value !== null && value !== void 0; -} - -export { createTypeScriptImportResolver, defaultConditionNames, defaultExtensionAlias, defaultExtensions, defaultMainFields, interfaceVersion, resolve }; diff --git a/node_modules/eslint-import-resolver-typescript/lib/index.js b/node_modules/eslint-import-resolver-typescript/lib/index.js index 5eaa0f9693..0c2e64d188 100644 --- a/node_modules/eslint-import-resolver-typescript/lib/index.js +++ b/node_modules/eslint-import-resolver-typescript/lib/index.js @@ -1,335 +1,150 @@ -import fs from 'node:fs'; +import module from 'node:module'; import path from 'node:path'; -import isNodeCoreModule from '@nolyfill/is-core-module'; -import debug from 'debug'; -import enhancedResolve from 'enhanced-resolve'; -import { createPathsMatcher, getTsconfig } from 'get-tsconfig'; -import { isBunModule } from 'is-bun-module'; -import stableHashExports from 'stable-hash'; -import { globSync, isDynamicPattern } from 'tinyglobby'; -const stableHash = stableHashExports.default || stableHashExports; -const IMPORTER_NAME = 'eslint-import-resolver-typescript'; -const log = debug(IMPORTER_NAME); -export const defaultConditionNames = [ - 'types', - 'import', - 'esm2020', - 'es2020', - 'es2015', - 'require', - 'node', - 'node-addons', - 'browser', - 'default', -]; -export const defaultExtensions = [ - '.ts', - '.tsx', - '.d.ts', - '.js', - '.jsx', - '.json', - '.node', -]; -export const defaultExtensionAlias = { - '.js': [ - '.ts', - '.tsx', - '.d.ts', - '.js', - ], - '.jsx': ['.tsx', '.d.ts', '.jsx'], - '.cjs': ['.cts', '.d.cts', '.cjs'], - '.mjs': ['.mts', '.d.mts', '.mjs'], -}; -export const defaultMainFields = [ - 'types', - 'typings', - 'fesm2020', - 'fesm2015', - 'esm2020', - 'es2020', - 'module', - 'jsnext:main', - 'main', -]; -export const interfaceVersion = 2; -const fileSystem = fs; -const JS_EXT_PATTERN = /\.(?:[cm]js|jsx?)$/; -const RELATIVE_PATH_PATTERN = /^\.{1,2}(?:\/.*)?$/; -let previousOptionsHash; -let optionsHash; -let cachedOptions; -let prevCwd; -let mappersCachedOptions; -let mappers = []; -let resolverCachedOptions; -let cachedResolver; -export function resolve(source, file, options, resolver = null) { - if (!cachedOptions || - previousOptionsHash !== (optionsHash = stableHash(options))) { - previousOptionsHash = optionsHash; - cachedOptions = { - ...options, - conditionNames: options?.conditionNames ?? defaultConditionNames, - extensions: options?.extensions ?? defaultExtensions, - extensionAlias: options?.extensionAlias ?? defaultExtensionAlias, - mainFields: options?.mainFields ?? defaultMainFields, - fileSystem: new enhancedResolve.CachedInputFileSystem(fileSystem, 5 * 1000), - useSyncFileSystemCalls: true, +import { createFilesMatcher, parseTsconfig, } from 'get-tsconfig'; +import { isBunModule, isSupportedNodeModule } from 'is-bun-module'; +import { ResolverFactory } from 'rspack-resolver'; +import { stableHash } from 'stable-hash'; +import { IMPORT_RESOLVER_NAME, JS_EXT_PATTERN } from './constants.js'; +import { mangleScopedPackage, removeQuerystring, sortProjectsByAffinity, } from './helpers.js'; +import { log } from './logger.js'; +import { normalizeOptions } from './normalize-options.js'; +export * from './constants.js'; +export * from './helpers.js'; +export * from './normalize-options.js'; +const resolverCache = new Map(); +const tsconfigCache = new Map(); +const matcherCache = new Map(); +const oxcResolve = (source, file, resolver) => { + const result = resolver.sync(path.dirname(file), source); + if (result.path) { + return { + found: true, + path: result.path, }; } - if (!resolver) { - if (!cachedResolver || resolverCachedOptions !== cachedOptions) { - cachedResolver = - enhancedResolve.ResolverFactory.createResolver(cachedOptions); - resolverCachedOptions = cachedOptions; + if (result.error) { + log('oxc resolve error:', result.error); + } + return { + found: false, + }; +}; +export const resolve = (source, file, options, resolver) => { + options ||= {}; + let bunVersion = process.versions.bun; + if (bunVersion || options.bun) { + if (bunVersion + ? module.isBuiltin(source) + : isBunModule(source, (bunVersion = 'latest')) || + isSupportedNodeModule(source, bunVersion)) { + log('matched bun core:', source); + return { found: true, path: null }; } - resolver = cachedResolver; } - log('looking for', source, 'in', file); - source = removeQuerystring(source); - if (isNodeCoreModule(source) || - isBunModule(source, (process.versions.bun ?? 'latest'))) { - log('matched core:', source); + else if (module.isBuiltin(source)) { + log('matched node core:', source); + return { found: true, path: null }; + } + if (process.versions.pnp && source === 'pnpapi') { return { found: true, - path: null, + path: module + .findPnpApi(file) + .resolveToUnqualified(source, file, { considerBuiltins: false }), }; } - initMappers(cachedOptions); - const mappedPath = getMappedPath(source, file, cachedOptions.extensions, true); - if (mappedPath) { - log('matched ts path:', mappedPath); - } - let foundNodePath; - try { - foundNodePath = - resolver.resolveSync({}, path.dirname(path.resolve(file)), mappedPath ?? source) || null; + source = removeQuerystring(source); + if (!resolver) { + const optionsHash = stableHash(options); + const cwd = process.cwd(); + options = normalizeOptions(options, cwd); + const cacheKey = `${optionsHash}:${cwd}`; + let cached = resolverCache.get(cacheKey); + if (!cached && !options.project) { + resolverCache.set(cacheKey, (cached = new ResolverFactory(options))); + } + resolver = cached; + } + options ||= {}; + createResolver: if (!resolver) { + const project = options.project; + for (const tsconfigPath of project) { + const resolverCached = resolverCache.get(tsconfigPath); + if (resolverCached) { + resolver = resolverCached; + break createResolver; + } + let tsconfigCached = tsconfigCache.get(tsconfigPath); + if (!tsconfigCached) { + tsconfigCache.set(tsconfigPath, (tsconfigCached = parseTsconfig(tsconfigPath))); + } + let matcherCached = matcherCache.get(tsconfigPath); + if (!matcherCached) { + matcherCache.set(tsconfigPath, (matcherCached = createFilesMatcher({ + config: tsconfigCached, + path: tsconfigPath, + }))); + } + const tsconfig = matcherCached(file); + if (!tsconfig) { + log('tsconfig', tsconfigPath, 'does not match', file); + continue; + } + log('matched tsconfig at:', tsconfigPath, 'for', file); + options = { + ...options, + tsconfig: { + references: 'auto', + ...options.tsconfig, + configFile: tsconfigPath, + }, + }; + resolver = new ResolverFactory(options); + resolverCache.set(tsconfigPath, resolver); + break createResolver; + } + log('no tsconfig matched', file, 'with', ...project, ', trying from the the nearest one'); + for (const p of sortProjectsByAffinity(project, file)) { + const resolved = resolve(source, file, { ...options, project: p }, resolver); + if (resolved.found) { + return resolved; + } + } } - catch { - foundNodePath = null; + if (!resolver) { + return { + found: false, + }; } - if ((JS_EXT_PATTERN.test(foundNodePath) || - (cachedOptions.alwaysTryTypes && !foundNodePath)) && + const resolved = oxcResolve(source, file, resolver); + const foundPath = resolved.path; + if (((foundPath && JS_EXT_PATTERN.test(foundPath)) || + (options.alwaysTryTypes !== false && !foundPath)) && !/^@types[/\\]/.test(source) && !path.isAbsolute(source) && !source.startsWith('.')) { - const definitelyTyped = resolve('@types' + path.sep + mangleScopedPackage(source), file, options); + const definitelyTyped = oxcResolve('@types/' + mangleScopedPackage(source), file, resolver); if (definitelyTyped.found) { return definitelyTyped; } } - if (foundNodePath) { - log('matched node path:', foundNodePath); - return { - found: true, - path: foundNodePath, - }; + if (foundPath) { + log('matched path:', foundPath); } - log("didn't find ", source); - return { - found: false, - }; -} -export function createTypeScriptImportResolver(options) { - const resolver = enhancedResolve.ResolverFactory.createResolver({ - ...options, - conditionNames: options?.conditionNames ?? defaultConditionNames, - extensions: options?.extensions ?? defaultExtensions, - extensionAlias: options?.extensionAlias ?? defaultExtensionAlias, - mainFields: options?.mainFields ?? defaultMainFields, - fileSystem: new enhancedResolve.CachedInputFileSystem(fileSystem, 5 * 1000), - useSyncFileSystemCalls: true, - }); + else { + log("didn't find", source, 'with', options.tsconfig?.configFile || options.project); + } + return resolved; +}; +export const createTypeScriptImportResolver = (options) => { + options = normalizeOptions(options); + const resolver = options.project ? null : new ResolverFactory(options); return { interfaceVersion: 3, - name: IMPORTER_NAME, + name: IMPORT_RESOLVER_NAME, resolve(source, file) { return resolve(source, file, options, resolver); }, }; -} -function removeQuerystring(id) { - const querystringIndex = id.lastIndexOf('?'); - if (querystringIndex >= 0) { - return id.slice(0, querystringIndex); - } - return id; -} -const isFile = (path) => { - try { - return !!(path && fs.statSync(path, { throwIfNoEntry: false })?.isFile()); - } - catch { - return false; - } }; -const isModule = (modulePath) => { - return !!modulePath && isFile(path.resolve(modulePath, 'package.json')); -}; -function getMappedPath(source, file, extensions = defaultExtensions, retry) { - const originalExtensions = extensions; - extensions = ['', ...extensions]; - let paths = []; - if (RELATIVE_PATH_PATTERN.test(source)) { - const resolved = path.resolve(path.dirname(file), source); - if (isFile(resolved)) { - paths = [resolved]; - } - } - else { - paths = [ - ...new Set(mappers - .filter(({ files }) => files.has(file)) - .map(({ mapperFn }) => mapperFn(source).map(item => [ - ...extensions.map(ext => `${item}${ext}`), - ...originalExtensions.map(ext => `${item}/index${ext}`), - ])) - .flat(2) - .map(toNativePathSeparator)), - ].filter(mappedPath => { - try { - const stat = fs.statSync(mappedPath, { throwIfNoEntry: false }); - if (stat === undefined) - return false; - if (stat.isFile()) - return true; - if (stat.isDirectory()) { - return isModule(mappedPath); - } - } - catch { - return false; - } - return false; - }); - } - if (retry && paths.length === 0) { - const isJs = JS_EXT_PATTERN.test(source); - if (isJs) { - const jsExt = path.extname(source); - const tsExt = jsExt.replace('js', 'ts'); - const basename = source.replace(JS_EXT_PATTERN, ''); - const resolved = getMappedPath(basename + tsExt, file) || - getMappedPath(basename + '.d' + (tsExt === '.tsx' ? '.ts' : tsExt), file); - if (resolved) { - return resolved; - } - } - for (const ext of extensions) { - const resolved = (isJs ? null : getMappedPath(source + ext, file)) || - getMappedPath(source + `/index${ext}`, file); - if (resolved) { - return resolved; - } - } - } - if (paths.length > 1) { - log('found multiple matching ts paths:', paths); - } - return paths[0]; -} -function initMappers(options) { - if (mappers.length > 0 && - mappersCachedOptions === options && - prevCwd === process.cwd()) { - return; - } - prevCwd = process.cwd(); - const configPaths = (typeof options.project === 'string' - ? [options.project] - : Array.isArray(options.project) - ? options.project - : [process.cwd()]) - .map(config => replacePathSeparator(config, path.sep, path.posix.sep)); - const defaultInclude = ['**/*']; - const defaultIgnore = ['**/node_modules/**']; - const projectPaths = [ - ...new Set([ - ...configPaths.filter(path => !isDynamicPattern(path)), - ...globSync(configPaths.filter(path => isDynamicPattern(path)), { - absolute: true, - dot: true, - expandDirectories: false, - ignore: defaultIgnore, - }), - ]), - ]; - mappers = projectPaths - .map(projectPath => { - let tsconfigResult; - if (isFile(projectPath)) { - const { dir, base } = path.parse(projectPath); - tsconfigResult = getTsconfig(dir, base); - } - else { - tsconfigResult = getTsconfig(projectPath); - } - if (!tsconfigResult) { - return undefined; - } - const mapperFn = createPathsMatcher(tsconfigResult); - if (!mapperFn) { - return undefined; - } - const files = tsconfigResult.config.files === undefined && - tsconfigResult.config.include === undefined - ? - globSync(defaultInclude, { - absolute: true, - cwd: path.dirname(tsconfigResult.path), - dot: true, - ignore: [ - ...(tsconfigResult.config.exclude ?? []), - ...defaultIgnore, - ], - }) - : [ - ...(tsconfigResult.config.files !== undefined && - tsconfigResult.config.files.length > 0 - ? tsconfigResult.config.files.map(file => path.normalize(path.resolve(path.dirname(tsconfigResult.path), file))) - : []), - ...(tsconfigResult.config.include !== undefined && - tsconfigResult.config.include.length > 0 - ? globSync(tsconfigResult.config.include, { - absolute: true, - cwd: path.dirname(tsconfigResult.path), - dot: true, - ignore: [ - ...(tsconfigResult.config.exclude ?? []), - ...defaultIgnore, - ], - }) - : []), - ]; - if (files.length === 0) { - return undefined; - } - return { - files: new Set(files.map(toNativePathSeparator)), - mapperFn, - }; - }) - .filter(isDefined); - mappersCachedOptions = options; -} -function mangleScopedPackage(moduleName) { - if (moduleName.startsWith('@')) { - const replaceSlash = moduleName.replace(path.sep, '__'); - if (replaceSlash !== moduleName) { - return replaceSlash.slice(1); - } - } - return moduleName; -} -function replacePathSeparator(p, from, to) { - return from === to ? p : p.replaceAll(from, to); -} -function toNativePathSeparator(p) { - return replacePathSeparator(p, path[process.platform === 'win32' ? 'posix' : 'win32'].sep, path[process.platform === 'win32' ? 'win32' : 'posix'].sep); -} -function isDefined(value) { - return value !== null && value !== undefined; -} //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/index.js.map b/node_modules/eslint-import-resolver-typescript/lib/index.js.map index 1aeb48c1f0..ed4021ff11 100644 --- a/node_modules/eslint-import-resolver-typescript/lib/index.js.map +++ b/node_modules/eslint-import-resolver-typescript/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/logger.d.ts b/node_modules/eslint-import-resolver-typescript/lib/logger.d.ts new file mode 100644 index 0000000000..a904de6aa4 --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/logger.d.ts @@ -0,0 +1,2 @@ +import debug from 'debug'; +export declare const log: debug.Debugger; diff --git a/node_modules/eslint-import-resolver-typescript/lib/logger.js b/node_modules/eslint-import-resolver-typescript/lib/logger.js new file mode 100644 index 0000000000..d3775dd228 --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/logger.js @@ -0,0 +1,4 @@ +import debug from 'debug'; +import { IMPORT_RESOLVER_NAME } from './constants.js'; +export const log = debug(IMPORT_RESOLVER_NAME); +//# sourceMappingURL=logger.js.map \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/logger.js.map b/node_modules/eslint-import-resolver-typescript/lib/logger.js.map new file mode 100644 index 0000000000..0755e14d97 --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/logger.js.map @@ -0,0 +1 @@ +{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/normalize-options.d.ts b/node_modules/eslint-import-resolver-typescript/lib/normalize-options.d.ts new file mode 100644 index 0000000000..82f029718c --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/normalize-options.d.ts @@ -0,0 +1,3 @@ +import type { TypeScriptResolverOptions } from './types.js'; +export declare let defaultConfigFile: string; +export declare function normalizeOptions(options?: TypeScriptResolverOptions | null, cwd?: string): TypeScriptResolverOptions; diff --git a/node_modules/eslint-import-resolver-typescript/lib/normalize-options.js b/node_modules/eslint-import-resolver-typescript/lib/normalize-options.js new file mode 100644 index 0000000000..e16e2eee88 --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/normalize-options.js @@ -0,0 +1,75 @@ +import { globSync, isDynamicPattern } from 'tinyglobby'; +import { DEFAULT_CONFIGS, DEFAULT_IGNORE, DEFAULT_TRY_PATHS, defaultConditionNames, defaultExtensionAlias, defaultExtensions, defaultMainFields, } from './constants.js'; +import { toGlobPath, toNativePath, tryFile } from './helpers.js'; +import { log } from './logger.js'; +export let defaultConfigFile; +const configFileMapping = new Map(); +let warned; +export function normalizeOptions(options, cwd = process.cwd()) { + let { project, tsconfig, noWarnOnMultipleProjects } = (options ||= {}); + let { configFile, references } = tsconfig ?? {}; + let ensured; + if (configFile) { + configFile = tryFile(configFile); + ensured = true; + } + else if (project) { + log('original projects:', ...project); + project = (Array.isArray(project) ? project : [project]).map(toGlobPath); + if (project.some(p => isDynamicPattern(p))) { + project = globSync(project, { + absolute: true, + cwd, + dot: true, + expandDirectories: false, + onlyFiles: false, + ignore: DEFAULT_IGNORE, + }); + } + log('resolving projects:', ...project); + project = project.flatMap(p => tryFile(DEFAULT_TRY_PATHS, false, toNativePath(p)) || []); + log('resolved projects:', ...project); + if (project.length === 1) { + configFile = project[0]; + ensured = true; + } + if (project.length <= 1) { + project = undefined; + } + else if (!warned && !noWarnOnMultipleProjects) { + warned = true; + console.warn('Multiple projects found, consider using a single `tsconfig` with `references` to speed up, or use `noWarnOnMultipleProjects` to suppress this warning'); + } + } + if (!project && !configFile) { + configFile = defaultConfigFile ||= tryFile(DEFAULT_CONFIGS); + ensured = true; + } + if (configFile) { + const cachedOptions = configFileMapping.get(configFile); + if (cachedOptions) { + log('using cached options for', configFile); + return cachedOptions; + } + } + if (!ensured && configFile && configFile !== defaultConfigFile) { + configFile = tryFile(DEFAULT_TRY_PATHS, false, configFile); + } + options = { + conditionNames: defaultConditionNames, + extensions: defaultExtensions, + extensionAlias: defaultExtensionAlias, + mainFields: defaultMainFields, + ...options, + project, + tsconfig: { + references: references ?? 'auto', + configFile: configFile || '', + }, + }; + if (configFile) { + configFileMapping.set(configFile, options); + } + return options; +} +//# sourceMappingURL=normalize-options.js.map \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/normalize-options.js.map b/node_modules/eslint-import-resolver-typescript/lib/normalize-options.js.map new file mode 100644 index 0000000000..9f07948cec --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/normalize-options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../src/normalize-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/types.d.ts b/node_modules/eslint-import-resolver-typescript/lib/types.d.ts new file mode 100644 index 0000000000..c9f9c273e2 --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/types.d.ts @@ -0,0 +1,7 @@ +import type { NapiResolveOptions } from 'rspack-resolver'; +export interface TypeScriptResolverOptions extends NapiResolveOptions { + project?: string[] | string; + alwaysTryTypes?: boolean; + bun?: boolean; + noWarnOnMultipleProjects?: boolean; +} diff --git a/node_modules/eslint-import-resolver-typescript/lib/types.js b/node_modules/eslint-import-resolver-typescript/lib/types.js new file mode 100644 index 0000000000..718fd38ae4 --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/types.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/lib/types.js.map b/node_modules/eslint-import-resolver-typescript/lib/types.js.map new file mode 100644 index 0000000000..c768b79002 --- /dev/null +++ b/node_modules/eslint-import-resolver-typescript/lib/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/eslint-import-resolver-typescript/package.json b/node_modules/eslint-import-resolver-typescript/package.json index 758c4c91eb..c9988b80f1 100644 --- a/node_modules/eslint-import-resolver-typescript/package.json +++ b/node_modules/eslint-import-resolver-typescript/package.json @@ -1,6 +1,6 @@ { "name": "eslint-import-resolver-typescript", - "version": "3.8.3", + "version": "4.1.1", "type": "module", "description": "This plugin adds `TypeScript` support to `eslint-plugin-import`", "repository": "git+https://github.com/import-js/eslint-import-resolver-typescript", @@ -10,28 +10,22 @@ ], "funding": "https://opencollective.com/unts/projects/eslint-import-resolver-ts", "license": "ISC", - "packageManager": "yarn@4.0.2", "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^16.17.0 || >=18.6.0" }, "main": "lib/index.cjs", "module": "lib/index.js", "exports": { ".": { "types": "./lib/index.d.ts", - "es2020": "./lib/index.es2020.mjs", - "fesm2020": "./lib/index.es2020.mjs", - "import": "./lib/index.js", - "require": "./lib/index.cjs" + "require": "./lib/index.cjs", + "default": "./lib/index.js" }, "./package.json": "./package.json" }, - "es2020": "lib/index.es2020.mjs", - "fesm2020": "lib/index.es2020.mjs", "types": "lib/index.d.ts", "files": [ "lib", - "shim.d.ts", "!**/*.tsbuildinfo" ], "keywords": [ @@ -41,30 +35,6 @@ "resolver", "plugin" ], - "scripts": { - "build": "run-p 'build:*'", - "build:r": "r -f cjs,es2020", - "build:ts": "tsc -b", - "lint": "run-p 'lint:*'", - "lint:es": "eslint src --cache -f friendly", - "lint:tsc": "tsc --noEmit", - "prepare": "simple-git-hooks", - "release": "changeset publish", - "test": "run-p 'test:*'", - "test:dotInclude": "eslint --ext ts,tsx tests/dotInclude --ignore-pattern \"!.dot\"", - "test:dotPaths": "eslint --ext ts,tsx tests/dotPaths --ignore-pattern \"!.dot\"", - "test:dotProject": "eslint --ext ts,tsx tests/dotProject --ignore-pattern \"!.dot\"", - "test:importXResolverV3": "eslint --config=tests/importXResolverV3/eslint.config.js tests/importXResolverV3", - "test:multipleEslintrcs": "eslint --ext ts,tsx tests/multipleEslintrcs", - "test:multipleTsconfigs": "eslint --ext ts,tsx tests/multipleTsconfigs", - "test:withJsExtension": "node tests/withJsExtension/test.js && eslint --ext ts,tsx tests/withJsExtension", - "test:withJsconfig": "eslint --ext js tests/withJsconfig", - "test:withPaths": "eslint --ext ts,tsx tests/withPaths", - "test:withPathsAndNestedBaseUrl": "eslint --ext ts,tsx tests/withPathsAndNestedBaseUrl", - "test:withQuerystring": "eslint --ext ts,tsx tests/withQuerystring", - "test:withoutPaths": "eslint --ext ts,tsx tests/withoutPaths", - "typecov": "type-coverage" - }, "peerDependencies": { "eslint": "*", "eslint-plugin-import": "*", @@ -79,52 +49,11 @@ } }, "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.3.7", - "enhanced-resolve": "^5.15.0", + "debug": "^4.4.0", "get-tsconfig": "^4.10.0", - "is-bun-module": "^1.0.2", - "stable-hash": "^0.0.4", + "is-bun-module": "^1.3.0", + "rspack-resolver": "^1.1.2", + "stable-hash": "^0.0.5", "tinyglobby": "^0.2.12" - }, - "devDependencies": { - "@1stg/eslint-config": "7.0.1", - "@1stg/lib-config": "^12.0.1", - "@changesets/changelog-github": "^0.5.0", - "@changesets/cli": "^2.27.12", - "@commitlint/cli": "^17.8.1", - "@mozilla/glean": "^3.0.0", - "@pkgr/rollup": "^4.1.3", - "@types/debug": "^4.1.12", - "@types/node": "^18.19.74", - "@types/unist": "^2.0.11", - "dummy.js": "link:dummy.js", - "eslint": "^8.57.1", - "eslint-import-resolver-typescript": "link:.", - "eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1", - "eslint-plugin-import-x": "^4.5.0", - "lint-staged": "^13.3.0", - "npm-run-all2": "^5.0.2", - "prettier": "^2.8.8", - "react": "^18.3.1", - "simple-git-hooks": "^2.11.1", - "size-limit": "^11.0.0", - "size-limit-preset-node-lib": "^0.3.0", - "type-coverage": "^2.27.0", - "typescript": "^5.3.2" - }, - "resolutions": { - "eslint-import-resolver-typescript": "link:.", - "prettier": "^2.8.8" - }, - "typeCoverage": { - "atLeast": 100, - "cache": true, - "detail": true, - "ignoreAsAssertion": true, - "ignoreNonNullAssertion": true, - "ignoreCatch": true, - "strict": true, - "update": true } -} +} \ No newline at end of file diff --git a/node_modules/is-bun-module/README.md b/node_modules/is-bun-module/README.md index d02822883d..25840571e4 100644 --- a/node_modules/is-bun-module/README.md +++ b/node_modules/is-bun-module/README.md @@ -26,3 +26,4 @@ isSupportedNodeModule("node:http2", "1.0.0"); // false, added in 1.0.13 - **Only Bun v1.0.0+ is supported** - You can also pass `latest` as Bun version - Inspired by [is-core-module](https://github.com/inspect-js/is-core-module) and made for [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript) +- Runtime-independent diff --git a/node_modules/is-bun-module/dist/cjs/index.d.ts b/node_modules/is-bun-module/dist/cjs/index.d.ts index 33ef238e63..ad262a1f31 100644 --- a/node_modules/is-bun-module/dist/cjs/index.d.ts +++ b/node_modules/is-bun-module/dist/cjs/index.d.ts @@ -1,4 +1,6 @@ -type SemVerStringified = `${number}.${number}.${number}`; +type SemVerBaseStringified = `${bigint}.${bigint}.${bigint}`; +type SemVerStringifiedWithReleaseName = `${SemVerBaseStringified}-${string}`; +type SemVerStringified = SemVerBaseStringified | SemVerStringifiedWithReleaseName; type Version = SemVerStringified | "latest"; declare const MINIMUM_BUN_VERSION = "1.0.0"; declare function isBunModule(moduleName: string, bunVersion?: Version): boolean; diff --git a/node_modules/is-bun-module/dist/cjs/index.js b/node_modules/is-bun-module/dist/cjs/index.js index 5702b23de0..db1f15a1ce 100644 --- a/node_modules/is-bun-module/dist/cjs/index.js +++ b/node_modules/is-bun-module/dist/cjs/index.js @@ -43,7 +43,8 @@ var bun_modules_default = { "bun:ffi": true, "bun:jsc": true, "bun:sqlite": true, - "bun:test": true + "bun:test": true, + "bun:wrap": true }; // src/assets/node-modules.json @@ -95,22 +96,32 @@ function isSupportedNodeModule(moduleName, bunVersion) { return checkModule(moduleName.replace(/^node:/, ""), node_modules_default, bunVersion); } function checkModule(moduleName, modules, bunVersion) { + var _a; if (typeof moduleName !== "string") throw new TypeError("Module name must be a string"); if (!(moduleName in modules)) return false; - if (bunVersion != null && !isVersion(bunVersion)) { - throw new TypeError("Bun version must be a string like 1.0.0 or 'latest' or undefined"); + let targetBunVersion; + if (bunVersion) { + targetBunVersion = toSemVerStringified(bunVersion); + if (!targetBunVersion) { + throw new TypeError("Bun version must be a string like 1.0.0 or 'latest'"); + } + } else { + if (typeof process === "undefined" || !((_a = process.versions) == null ? void 0 : _a.bun)) { + throw new Error("Bun version is not provided and cannot be detected"); + } + targetBunVersion = process.versions.bun; } - const targetBunVersion = bunVersion ? bunVersion === "latest" ? "999.999.999" : bunVersion : typeof process !== "undefined" && process.versions.bun; - if (!targetBunVersion) throw "Bun version is not provided and cannot be detected"; if (import_semver.default.lt(targetBunVersion, MINIMUM_BUN_VERSION)) { - throw `Bun version must be at least ${MINIMUM_BUN_VERSION}`; + throw new RangeError(`Bun version must be at least ${MINIMUM_BUN_VERSION}`); } const versionRange = modules[moduleName]; if (typeof versionRange === "boolean") return versionRange; return import_semver.default.satisfies(targetBunVersion, versionRange); } -function isVersion(input) { - return typeof input === "string" && (input === "latest" || Boolean(input.match(/^(?:\d+\.){2}\d+$/))); +function toSemVerStringified(input) { + if (typeof input !== "string") return; + if (input === "latest") return "999.999.999"; + if (import_semver.default.valid(input)) return input; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { diff --git a/node_modules/is-bun-module/dist/esm/index.d.mts b/node_modules/is-bun-module/dist/esm/index.d.mts index 33ef238e63..ad262a1f31 100644 --- a/node_modules/is-bun-module/dist/esm/index.d.mts +++ b/node_modules/is-bun-module/dist/esm/index.d.mts @@ -1,4 +1,6 @@ -type SemVerStringified = `${number}.${number}.${number}`; +type SemVerBaseStringified = `${bigint}.${bigint}.${bigint}`; +type SemVerStringifiedWithReleaseName = `${SemVerBaseStringified}-${string}`; +type SemVerStringified = SemVerBaseStringified | SemVerStringifiedWithReleaseName; type Version = SemVerStringified | "latest"; declare const MINIMUM_BUN_VERSION = "1.0.0"; declare function isBunModule(moduleName: string, bunVersion?: Version): boolean; diff --git a/node_modules/is-bun-module/dist/esm/index.mjs b/node_modules/is-bun-module/dist/esm/index.mjs index 18ef7284a8..ceddb43402 100644 --- a/node_modules/is-bun-module/dist/esm/index.mjs +++ b/node_modules/is-bun-module/dist/esm/index.mjs @@ -7,7 +7,8 @@ var bun_modules_default = { "bun:ffi": true, "bun:jsc": true, "bun:sqlite": true, - "bun:test": true + "bun:test": true, + "bun:wrap": true }; // src/assets/node-modules.json @@ -59,22 +60,32 @@ function isSupportedNodeModule(moduleName, bunVersion) { return checkModule(moduleName.replace(/^node:/, ""), node_modules_default, bunVersion); } function checkModule(moduleName, modules, bunVersion) { + var _a; if (typeof moduleName !== "string") throw new TypeError("Module name must be a string"); if (!(moduleName in modules)) return false; - if (bunVersion != null && !isVersion(bunVersion)) { - throw new TypeError("Bun version must be a string like 1.0.0 or 'latest' or undefined"); + let targetBunVersion; + if (bunVersion) { + targetBunVersion = toSemVerStringified(bunVersion); + if (!targetBunVersion) { + throw new TypeError("Bun version must be a string like 1.0.0 or 'latest'"); + } + } else { + if (typeof process === "undefined" || !((_a = process.versions) == null ? void 0 : _a.bun)) { + throw new Error("Bun version is not provided and cannot be detected"); + } + targetBunVersion = process.versions.bun; } - const targetBunVersion = bunVersion ? bunVersion === "latest" ? "999.999.999" : bunVersion : typeof process !== "undefined" && process.versions.bun; - if (!targetBunVersion) throw "Bun version is not provided and cannot be detected"; if (semver.lt(targetBunVersion, MINIMUM_BUN_VERSION)) { - throw `Bun version must be at least ${MINIMUM_BUN_VERSION}`; + throw new RangeError(`Bun version must be at least ${MINIMUM_BUN_VERSION}`); } const versionRange = modules[moduleName]; if (typeof versionRange === "boolean") return versionRange; return semver.satisfies(targetBunVersion, versionRange); } -function isVersion(input) { - return typeof input === "string" && (input === "latest" || Boolean(input.match(/^(?:\d+\.){2}\d+$/))); +function toSemVerStringified(input) { + if (typeof input !== "string") return; + if (input === "latest") return "999.999.999"; + if (semver.valid(input)) return input; } export { MINIMUM_BUN_VERSION, diff --git a/node_modules/is-bun-module/package.json b/node_modules/is-bun-module/package.json index e1e839a358..9005b69906 100644 --- a/node_modules/is-bun-module/package.json +++ b/node_modules/is-bun-module/package.json @@ -2,7 +2,7 @@ "name": "is-bun-module", "author": "SunsetTechuila ", "description": "Is this specifier a Bun core module or supported Node one?", - "version": "1.1.0", + "version": "1.3.0", "license": "MIT", "files": [ "dist/**/*" @@ -12,12 +12,12 @@ "exports": { ".": { "import": { - "default": "./dist/esm/index.mjs", - "types": "./dist/esm/index.d.mts" + "types": "./dist/esm/index.d.mts", + "default": "./dist/esm/index.mjs" }, "require": { - "default": "./dist/cjs/index.js", - "types": "./dist/cjs/index.d.ts" + "types": "./dist/cjs/index.d.ts", + "default": "./dist/cjs/index.js" } }, "./package.json": "./package.json" @@ -35,7 +35,36 @@ "dependencies", "bun" ], + "scripts": { + "build": "bun --bun tsup", + "check-all": "bun --bun concurrently --kill-others=failure 'bun run test' 'bun lint' 'bun type-check' 'bun format:check'", + "test": "bun test", + "format": "bun format:base --write", + "format:check": "bun format:base --check", + "format:base": "bun --bun prettier . --cache", + "lint": "bun --bun eslint . --cache", + "type-check": "bun --bun tsc", + "publish": "bun --bun semantic-release" + }, "dependencies": { "semver": "^7.6.3" + }, + "devDependencies": { + "@commitlint/cli": "^19.6.0", + "@commitlint/config-conventional": "^19.6.0", + "@eslint/js": "^9.15.0", + "@semantic-release/exec": "^6.0.3", + "@types/bun": "^1.1.14", + "@types/eslint__js": "^8.42.3", + "@types/semver": "^7.5.8", + "concurrently": "^9.1.0", + "eslint": "^9.15.0", + "eslint-config-prettier": "^9.1.0", + "husky": "^9.1.7", + "prettier": "^3.4.0", + "semantic-release": "^24.2.0", + "tsup": "^8.3.5", + "typescript": "^5.7.2", + "typescript-eslint": "^8.16.0" } } diff --git a/node_modules/rspack-resolver/README.md b/node_modules/rspack-resolver/README.md new file mode 100644 index 0000000000..880557a47c --- /dev/null +++ b/node_modules/rspack-resolver/README.md @@ -0,0 +1,39 @@ +# Rspack Resolver Napi Binding + +See + +* `index.d.ts` for `resolveSync` and `ResolverFactory` API. +* [README.md](https://github.com/unrs/rspack-resolver#rspack-resolver) for options. + +## API + +`resolve(directory, specifier)` - resolve `specifier` at an absolute path to a `directory`. + +### `directory` + +An **absolute** path to a directory where the specifier is resolved against. + +For CommonJS modules, it is the `__dirname` variable that contains the absolute path to the folder containing current module. + +For ECMAScript modules, it is the value of `import.meta.url`. + +Behavior is undefined when given a path to a file. + +### `specifier` + +The string passed to `require` or `import`, i.e. `require("specifier")` or `import "specifier"` + +## ESM Example + +```javascript +import path from 'path'; +import resolve, { ResolverFactory } from './index.js'; +import assert from 'assert'; + +// `resolve` +assert(resolve.sync(process.cwd(), "./index.js").path, path.join(cwd, 'index.js')); + +// `ResolverFactory` +const resolver = new ResolverFactory(); +assert(resolver.sync(process.cwd(), "./index.js").path, path.join(cwd, 'index.js')); +``` diff --git a/node_modules/rspack-resolver/browser.js b/node_modules/rspack-resolver/browser.js new file mode 100644 index 0000000000..196fe9a137 --- /dev/null +++ b/node_modules/rspack-resolver/browser.js @@ -0,0 +1 @@ +export * from '@unrs/rspack-resolver-binding-wasm32-wasi' diff --git a/node_modules/rspack-resolver/index.d.ts b/node_modules/rspack-resolver/index.d.ts new file mode 100644 index 0000000000..c0d903d0e5 --- /dev/null +++ b/node_modules/rspack-resolver/index.d.ts @@ -0,0 +1,226 @@ +/* auto-generated by NAPI-RS */ +/* eslint-disable */ +export declare class ResolverFactory { + constructor(options?: NapiResolveOptions | undefined | null) + static default(): ResolverFactory + /** Clone the resolver using the same underlying cache. */ + cloneWithOptions(options: NapiResolveOptions): ResolverFactory + /** Clear the underlying cache. */ + clearCache(): void + /** Synchronously resolve `specifier` at an absolute path to a `directory`. */ + sync(directory: string, request: string): ResolveResult + /** Asynchronously resolve `specifier` at an absolute path to a `directory`. */ + async(directory: string, request: string): Promise +} + +export declare const enum EnforceExtension { + Auto = 0, + Enabled = 1, + Disabled = 2 +} + +/** + * Module Resolution Options + * + * Options are directly ported from [enhanced-resolve](https://github.com/webpack/enhanced-resolve#resolver-options). + * + * See [webpack resolve](https://webpack.js.org/configuration/resolve/) for information and examples + */ +export interface NapiResolveOptions { + /** + * Path to TypeScript configuration file. + * + * Default `None` + */ + tsconfig?: TsconfigOptions + /** + * Alias for [ResolveOptions::alias] and [ResolveOptions::fallback]. + * + * For the second value of the tuple, `None -> AliasValue::Ignore`, Some(String) -> + * AliasValue::Path(String)` + * Create aliases to import or require certain modules more easily. + * A trailing $ can also be added to the given object's keys to signify an exact match. + */ + alias?: Record> + /** + * A list of alias fields in description files. + * Specify a field, such as `browser`, to be parsed according to [this specification](https://github.com/defunctzombie/package-browser-field-spec). + * Can be a path to json object such as `["path", "to", "exports"]`. + * + * Default `[]` + */ + aliasFields?: (string | string[])[] + /** + * Condition names for exports field which defines entry points of a package. + * The key order in the exports field is significant. During condition matching, earlier entries have higher priority and take precedence over later entries. + * + * Default `[]` + */ + conditionNames?: Array + /** + * The JSON files to use for descriptions. (There was once a `bower.json`.) + * + * Default `["package.json"]` + */ + descriptionFiles?: Array + /** + * If true, it will not allow extension-less files. + * So by default `require('./foo')` works if `./foo` has a `.js` extension, + * but with this enabled only `require('./foo.js')` will work. + * + * Default to `true` when [ResolveOptions::extensions] contains an empty string. + * Use `Some(false)` to disable the behavior. + * See + * + * Default None, which is the same as `Some(false)` when the above empty rule is not applied. + */ + enforceExtension?: EnforceExtension + /** + * A list of exports fields in description files. + * Can be a path to json object such as `["path", "to", "exports"]`. + * + * Default `[["exports"]]`. + */ + exportsFields?: (string | string[])[] + /** + * Fields from `package.json` which are used to provide the internal requests of a package + * (requests starting with # are considered internal). + * + * Can be a path to a JSON object such as `["path", "to", "imports"]`. + * + * Default `[["imports"]]`. + */ + importsFields?: (string | string[])[] + /** + * An object which maps extension to extension aliases. + * + * Default `{}` + */ + extensionAlias?: Record> + /** + * Attempt to resolve these extensions in order. + * If multiple files share the same name but have different extensions, + * will resolve the one with the extension listed first in the array and skip the rest. + * + * Default `[".js", ".json", ".node"]` + */ + extensions?: Array + /** + * Redirect module requests when normal resolving fails. + * + * Default `[]` + */ + fallback?: Record> + /** + * Request passed to resolve is already fully specified and extensions or main files are not resolved for it (they are still resolved for internal requests). + * + * See also webpack configuration [resolve.fullySpecified](https://webpack.js.org/configuration/module/#resolvefullyspecified) + * + * Default `false` + */ + fullySpecified?: boolean + /** + * A list of main fields in description files + * + * Default `["main"]`. + */ + mainFields?: string | string[] + /** + * The filename to be used while resolving directories. + * + * Default `["index"]` + */ + mainFiles?: Array + /** + * A list of directories to resolve modules from, can be absolute path or folder name. + * + * Default `["node_modules"]` + */ + modules?: string | string[] + /** + * Resolve to a context instead of a file. + * + * Default `false` + */ + resolveToContext?: boolean + /** + * Prefer to resolve module requests as relative requests instead of using modules from node_modules directories. + * + * Default `false` + */ + preferRelative?: boolean + /** + * Prefer to resolve server-relative urls as absolute paths before falling back to resolve in ResolveOptions::roots. + * + * Default `false` + */ + preferAbsolute?: boolean + /** + * A list of resolve restrictions to restrict the paths that a request can be resolved on. + * + * Default `[]` + */ + restrictions?: Array + /** + * A list of directories where requests of server-relative URLs (starting with '/') are resolved. + * On non-Windows systems these requests are resolved as an absolute path first. + * + * Default `[]` + */ + roots?: Array + /** + * Whether to resolve symlinks to their symlinked location. + * When enabled, symlinked resources are resolved to their real path, not their symlinked location. + * Note that this may cause module resolution to fail when using tools that symlink packages (like npm link). + * + * Default `true` + */ + symlinks?: boolean + /** + * Whether to parse [module.builtinModules](https://nodejs.org/api/module.html#modulebuiltinmodules) or not. + * For example, "zlib" will throw [crate::ResolveError::Builtin] when set to true. + * + * Default `false` + */ + builtinModules?: boolean +} + +export interface ResolveResult { + path?: string + error?: string + /** "type" field in the package.json file */ + moduleType?: string +} + +/** + * Alias Value for [ResolveOptions::alias] and [ResolveOptions::fallback]. + * Use struct because napi don't support structured union now + */ +export interface Restriction { + path?: string + regex?: string +} + +export declare function sync(path: string, request: string): ResolveResult + +/** + * Tsconfig Options + * + * Derived from [tsconfig-paths-webpack-plugin](https://github.com/dividab/tsconfig-paths-webpack-plugin#options) + */ +export interface TsconfigOptions { + /** + * Allows you to specify where to find the TypeScript configuration file. + * You may provide + * * a relative path to the configuration file. It will be resolved relative to cwd. + * * an absolute path to the configuration file. + */ + configFile: string + /** + * Support for Typescript Project References. + * + * * `'auto'`: use the `references` field from tsconfig of `config_file`. + * * `string[]`: manually provided relative or absolute path. + */ + references?: 'auto' | string[] +} diff --git a/node_modules/rspack-resolver/index.js b/node_modules/rspack-resolver/index.js new file mode 100644 index 0000000000..ea87446e7c --- /dev/null +++ b/node_modules/rspack-resolver/index.js @@ -0,0 +1,375 @@ +// prettier-ignore +/* eslint-disable */ +// @ts-nocheck +/* auto-generated by NAPI-RS */ + +const { createRequire } = require('node:module') +require = createRequire(__filename) + +const { readFileSync } = require('node:fs') +let nativeBinding = null +const loadErrors = [] + +const isMusl = () => { + let musl = false + if (process.platform === 'linux') { + musl = isMuslFromFilesystem() + if (musl === null) { + musl = isMuslFromReport() + } + if (musl === null) { + musl = isMuslFromChildProcess() + } + } + return musl +} + +const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-') + +const isMuslFromFilesystem = () => { + try { + return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl') + } catch { + return null + } +} + +const isMuslFromReport = () => { + const report = typeof process.report.getReport === 'function' ? process.report.getReport() : null + if (!report) { + return null + } + if (report.header && report.header.glibcVersionRuntime) { + return false + } + if (Array.isArray(report.sharedObjects)) { + if (report.sharedObjects.some(isFileMusl)) { + return true + } + } + return false +} + +const isMuslFromChildProcess = () => { + try { + return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl') + } catch (e) { + // If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false + return false + } +} + +function requireNative() { + if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) { + try { + nativeBinding = require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH); + } catch (err) { + loadErrors.push(err); + } + } else if (process.platform === 'android') { + if (process.arch === 'arm64') { + try { + return require('./resolver.android-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-android-arm64') + } catch (e) { + loadErrors.push(e) + } + + } else if (process.arch === 'arm') { + try { + return require('./resolver.android-arm-eabi.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-android-arm-eabi') + } catch (e) { + loadErrors.push(e) + } + + } else { + loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`)) + } + } else if (process.platform === 'win32') { + if (process.arch === 'x64') { + try { + return require('./resolver.win32-x64-msvc.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-win32-x64-msvc') + } catch (e) { + loadErrors.push(e) + } + + } else if (process.arch === 'ia32') { + try { + return require('./resolver.win32-ia32-msvc.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-win32-ia32-msvc') + } catch (e) { + loadErrors.push(e) + } + + } else if (process.arch === 'arm64') { + try { + return require('./resolver.win32-arm64-msvc.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-win32-arm64-msvc') + } catch (e) { + loadErrors.push(e) + } + + } else { + loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`)) + } + } else if (process.platform === 'darwin') { + try { + return require('./resolver.darwin-universal.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-darwin-universal') + } catch (e) { + loadErrors.push(e) + } + + if (process.arch === 'x64') { + try { + return require('./resolver.darwin-x64.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-darwin-x64') + } catch (e) { + loadErrors.push(e) + } + + } else if (process.arch === 'arm64') { + try { + return require('./resolver.darwin-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-darwin-arm64') + } catch (e) { + loadErrors.push(e) + } + + } else { + loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`)) + } + } else if (process.platform === 'freebsd') { + if (process.arch === 'x64') { + try { + return require('./resolver.freebsd-x64.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-freebsd-x64') + } catch (e) { + loadErrors.push(e) + } + + } else if (process.arch === 'arm64') { + try { + return require('./resolver.freebsd-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-freebsd-arm64') + } catch (e) { + loadErrors.push(e) + } + + } else { + loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`)) + } + } else if (process.platform === 'linux') { + if (process.arch === 'x64') { + if (isMusl()) { + try { + return require('./resolver.linux-x64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-x64-musl') + } catch (e) { + loadErrors.push(e) + } + + } else { + try { + return require('./resolver.linux-x64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-x64-gnu') + } catch (e) { + loadErrors.push(e) + } + + } + } else if (process.arch === 'arm64') { + if (isMusl()) { + try { + return require('./resolver.linux-arm64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-arm64-musl') + } catch (e) { + loadErrors.push(e) + } + + } else { + try { + return require('./resolver.linux-arm64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-arm64-gnu') + } catch (e) { + loadErrors.push(e) + } + + } + } else if (process.arch === 'arm') { + if (isMusl()) { + try { + return require('./resolver.linux-arm-musleabihf.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-arm-musleabihf') + } catch (e) { + loadErrors.push(e) + } + + } else { + try { + return require('./resolver.linux-arm-gnueabihf.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-arm-gnueabihf') + } catch (e) { + loadErrors.push(e) + } + + } + } else if (process.arch === 'riscv64') { + if (isMusl()) { + try { + return require('./resolver.linux-riscv64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-riscv64-musl') + } catch (e) { + loadErrors.push(e) + } + + } else { + try { + return require('./resolver.linux-riscv64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-riscv64-gnu') + } catch (e) { + loadErrors.push(e) + } + + } + } else if (process.arch === 'ppc64') { + try { + return require('./resolver.linux-ppc64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-ppc64-gnu') + } catch (e) { + loadErrors.push(e) + } + + } else if (process.arch === 's390x') { + try { + return require('./resolver.linux-s390x-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + return require('@unrs/rspack-resolver-binding-linux-s390x-gnu') + } catch (e) { + loadErrors.push(e) + } + + } else { + loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`)) + } + } else { + loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`)) + } +} + +nativeBinding = requireNative() + +if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) { + try { + nativeBinding = require('./resolver.wasi.cjs') + } catch (err) { + if (process.env.NAPI_RS_FORCE_WASI) { + loadErrors.push(err) + } + } + if (!nativeBinding) { + try { + nativeBinding = require('@unrs/rspack-resolver-binding-wasm32-wasi') + } catch (err) { + if (process.env.NAPI_RS_FORCE_WASI) { + loadErrors.push(err) + } + } + } +} + +if (!nativeBinding) { + if (loadErrors.length > 0) { + // TODO Link to documentation with potential fixes + // - The package owner could build/publish bindings for this arch + // - The user may need to bundle the correct files + // - The user may need to re-install node_modules to get new packages + throw new Error('Failed to load native binding', { cause: loadErrors }) + } + throw new Error(`Failed to load native binding`) +} + +module.exports.ResolverFactory = nativeBinding.ResolverFactory +module.exports.EnforceExtension = nativeBinding.EnforceExtension +module.exports.sync = nativeBinding.sync diff --git a/node_modules/rspack-resolver/package.json b/node_modules/rspack-resolver/package.json new file mode 100644 index 0000000000..483e94cf93 --- /dev/null +++ b/node_modules/rspack-resolver/package.json @@ -0,0 +1,60 @@ +{ + "name": "rspack-resolver", + "version": "1.1.2", + "description": "Oxc Resolver Node API with PNP support", + "main": "index.js", + "browser": "browser.js", + "files": [ + "index.d.ts", + "index.js", + "browser.js" + ], + "license": "MIT", + "homepage": "https://github.com/unrs/rspack-resolver", + "repository": { + "type": "git", + "url": "git+https://github.com/unrs/rspack-resolver.git" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "napi": { + "binaryName": "resolver", + "packageName": "@unrs/rspack-resolver-binding", + "wasm": { + "browser": { + "fs": true + } + }, + "targets": [ + "x86_64-pc-windows-msvc", + "aarch64-pc-windows-msvc", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-linux-musl", + "x86_64-unknown-freebsd", + "aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl", + "armv7-unknown-linux-gnueabihf", + "x86_64-apple-darwin", + "aarch64-apple-darwin", + "wasm32-wasip1-threads" + ] + }, + "funding": { + "url": "https://github.com/sponsors/JounQin" + }, + "optionalDependencies": { + "@unrs/rspack-resolver-binding-win32-x64-msvc": "1.1.2", + "@unrs/rspack-resolver-binding-win32-arm64-msvc": "1.1.2", + "@unrs/rspack-resolver-binding-linux-x64-gnu": "1.1.2", + "@unrs/rspack-resolver-binding-linux-x64-musl": "1.1.2", + "@unrs/rspack-resolver-binding-freebsd-x64": "1.1.2", + "@unrs/rspack-resolver-binding-linux-arm64-gnu": "1.1.2", + "@unrs/rspack-resolver-binding-linux-arm64-musl": "1.1.2", + "@unrs/rspack-resolver-binding-linux-arm-gnueabihf": "1.1.2", + "@unrs/rspack-resolver-binding-darwin-x64": "1.1.2", + "@unrs/rspack-resolver-binding-darwin-arm64": "1.1.2", + "@unrs/rspack-resolver-binding-wasm32-wasi": "1.1.2" + } +} \ No newline at end of file diff --git a/node_modules/stable-hash/dist/index.d.ts b/node_modules/stable-hash/dist/index.d.ts index 89f0d09954..db08bdae90 100644 --- a/node_modules/stable-hash/dist/index.d.ts +++ b/node_modules/stable-hash/dist/index.d.ts @@ -1 +1,2 @@ -export default function stableHash(arg: any): string; +export declare function stableHash(arg: any): string; +export default stableHash; diff --git a/node_modules/stable-hash/dist/index.js b/node_modules/stable-hash/dist/index.js index 44df1e4210..2074d0766f 100644 --- a/node_modules/stable-hash/dist/index.js +++ b/node_modules/stable-hash/dist/index.js @@ -1 +1 @@ -var u=Object.defineProperty;var r=t=>u(t,"__esModule",{value:!0});var y=(t,i)=>{r(t);for(var s in i)u(t,s,{get:i[s],enumerable:!0})};y(exports,{default:()=>c});const o=new WeakMap;let b=0;function c(t){const i=typeof t,s=t&&t.constructor,f=s==Date;if(Object(t)===t&&!f&&s!=RegExp){let e=o.get(t);if(e)return e;e=++b+"~",o.set(t,e);let n;if(s==Array){for(e="@",n=0;nu(t,"__esModule",{value:!0});var y=(t,o)=>{r(t);for(var s in o)u(t,s,{get:o[s],enumerable:!0})};y(exports,{default:()=>b,stableHash:()=>c});const i=new WeakMap;let p=0;function c(t){const o=typeof t,s=t&&t.constructor,f=s==Date;if(Object(t)===t&&!f&&s!=RegExp){let e=i.get(t);if(e)return e;e=++p+"~",i.set(t,e);let n;if(s==Array){for(e="@",n=0;n warningLamp.on()); -``` - -It's required to pass a name to identify the plugin/reason. - -You may receive arguments: - -``` js -myCar.hooks.accelerate.tap("LoggerPlugin", newSpeed => console.log(`Accelerating to ${newSpeed}`)); -``` - -For sync hooks, `tap` is the only valid method to add a plugin. Async hooks also support async plugins: - -``` js -myCar.hooks.calculateRoutes.tapPromise("GoogleMapsPlugin", (source, target, routesList) => { - // return a promise - return google.maps.findRoute(source, target).then(route => { - routesList.add(route); - }); -}); -myCar.hooks.calculateRoutes.tapAsync("BingMapsPlugin", (source, target, routesList, callback) => { - bing.findRoute(source, target, (err, route) => { - if(err) return callback(err); - routesList.add(route); - // call the callback - callback(); - }); -}); - -// You can still use sync plugins -myCar.hooks.calculateRoutes.tap("CachedRoutesPlugin", (source, target, routesList) => { - const cachedRoute = cache.get(source, target); - if(cachedRoute) - routesList.add(cachedRoute); -}) -``` -The class declaring these hooks need to call them: - -``` js -class Car { - /** - * You won't get returned value from SyncHook or AsyncParallelHook, - * to do that, use SyncWaterfallHook and AsyncSeriesWaterfallHook respectively - **/ - - setSpeed(newSpeed) { - // following call returns undefined even when you returned values - this.hooks.accelerate.call(newSpeed); - } - - useNavigationSystemPromise(source, target) { - const routesList = new List(); - return this.hooks.calculateRoutes.promise(source, target, routesList).then((res) => { - // res is undefined for AsyncParallelHook - return routesList.getRoutes(); - }); - } - - useNavigationSystemAsync(source, target, callback) { - const routesList = new List(); - this.hooks.calculateRoutes.callAsync(source, target, routesList, err => { - if(err) return callback(err); - callback(null, routesList.getRoutes()); - }); - } -} -``` - -The Hook will compile a method with the most efficient way of running your plugins. It generates code depending on: -* The number of registered plugins (none, one, many) -* The kind of registered plugins (sync, async, promise) -* The used call method (sync, async, promise) -* The number of arguments -* Whether interception is used - -This ensures fastest possible execution. - -## Hook types - -Each hook can be tapped with one or several functions. How they are executed depends on the hook type: - -* Basic hook (without “Waterfall”, “Bail” or “Loop” in its name). This hook simply calls every function it tapped in a row. - -* __Waterfall__. A waterfall hook also calls each tapped function in a row. Unlike the basic hook, it passes a return value from each function to the next function. - -* __Bail__. A bail hook allows exiting early. When any of the tapped function returns anything, the bail hook will stop executing the remaining ones. - -* __Loop__. When a plugin in a loop hook returns a non-undefined value the hook will restart from the first plugin. It will loop until all plugins return undefined. - -Additionally, hooks can be synchronous or asynchronous. To reflect this, there’re “Sync”, “AsyncSeries”, and “AsyncParallel” hook classes: - -* __Sync__. A sync hook can only be tapped with synchronous functions (using `myHook.tap()`). - -* __AsyncSeries__. An async-series hook can be tapped with synchronous, callback-based and promise-based functions (using `myHook.tap()`, `myHook.tapAsync()` and `myHook.tapPromise()`). They call each async method in a row. - -* __AsyncParallel__. An async-parallel hook can also be tapped with synchronous, callback-based and promise-based functions (using `myHook.tap()`, `myHook.tapAsync()` and `myHook.tapPromise()`). However, they run each async method in parallel. - -The hook type is reflected in its class name. E.g., `AsyncSeriesWaterfallHook` allows asynchronous functions and runs them in series, passing each function’s return value into the next function. - - -## Interception - -All Hooks offer an additional interception API: - -``` js -myCar.hooks.calculateRoutes.intercept({ - call: (source, target, routesList) => { - console.log("Starting to calculate routes"); - }, - register: (tapInfo) => { - // tapInfo = { type: "promise", name: "GoogleMapsPlugin", fn: ... } - console.log(`${tapInfo.name} is doing its job`); - return tapInfo; // may return a new tapInfo object - } -}) -``` - -**call**: `(...args) => void` Adding `call` to your interceptor will trigger when hooks are triggered. You have access to the hooks arguments. - -**tap**: `(tap: Tap) => void` Adding `tap` to your interceptor will trigger when a plugin taps into a hook. Provided is the `Tap` object. `Tap` object can't be changed. - -**loop**: `(...args) => void` Adding `loop` to your interceptor will trigger for each loop of a looping hook. - -**register**: `(tap: Tap) => Tap | undefined` Adding `register` to your interceptor will trigger for each added `Tap` and allows to modify it. - -## Context - -Plugins and interceptors can opt-in to access an optional `context` object, which can be used to pass arbitrary values to subsequent plugins and interceptors. - -``` js -myCar.hooks.accelerate.intercept({ - context: true, - tap: (context, tapInfo) => { - // tapInfo = { type: "sync", name: "NoisePlugin", fn: ... } - console.log(`${tapInfo.name} is doing it's job`); - - // `context` starts as an empty object if at least one plugin uses `context: true`. - // If no plugins use `context: true`, then `context` is undefined. - if (context) { - // Arbitrary properties can be added to `context`, which plugins can then access. - context.hasMuffler = true; - } - } -}); - -myCar.hooks.accelerate.tap({ - name: "NoisePlugin", - context: true -}, (context, newSpeed) => { - if (context && context.hasMuffler) { - console.log("Silence..."); - } else { - console.log("Vroom!"); - } -}); -``` - -## HookMap - -A HookMap is a helper class for a Map with Hooks - -``` js -const keyedHook = new HookMap(key => new SyncHook(["arg"])) -``` - -``` js -keyedHook.for("some-key").tap("MyPlugin", (arg) => { /* ... */ }); -keyedHook.for("some-key").tapAsync("MyPlugin", (arg, callback) => { /* ... */ }); -keyedHook.for("some-key").tapPromise("MyPlugin", (arg) => { /* ... */ }); -``` - -``` js -const hook = keyedHook.get("some-key"); -if(hook !== undefined) { - hook.callAsync("arg", err => { /* ... */ }); -} -``` - -## Hook/HookMap interface - -Public: - -``` ts -interface Hook { - tap: (name: string | Tap, fn: (context?, ...args) => Result) => void, - tapAsync: (name: string | Tap, fn: (context?, ...args, callback: (err, result: Result) => void) => void) => void, - tapPromise: (name: string | Tap, fn: (context?, ...args) => Promise) => void, - intercept: (interceptor: HookInterceptor) => void -} - -interface HookInterceptor { - call: (context?, ...args) => void, - loop: (context?, ...args) => void, - tap: (context?, tap: Tap) => void, - register: (tap: Tap) => Tap, - context: boolean -} - -interface HookMap { - for: (key: any) => Hook, - intercept: (interceptor: HookMapInterceptor) => void -} - -interface HookMapInterceptor { - factory: (key: any, hook: Hook) => Hook -} - -interface Tap { - name: string, - type: string - fn: Function, - stage: number, - context: boolean, - before?: string | Array -} -``` - -Protected (only for the class containing the hook): - -``` ts -interface Hook { - isUsed: () => boolean, - call: (...args) => Result, - promise: (...args) => Promise, - callAsync: (...args, callback: (err, result: Result) => void) => void, -} - -interface HookMap { - get: (key: any) => Hook | undefined, - for: (key: any) => Hook -} -``` - -## MultiHook - -A helper Hook-like class to redirect taps to multiple other hooks: - -``` js -const { MultiHook } = require("tapable"); - -this.hooks.allHooks = new MultiHook([this.hooks.hookA, this.hooks.hookB]); -``` diff --git a/node_modules/tapable/lib/AsyncParallelBailHook.js b/node_modules/tapable/lib/AsyncParallelBailHook.js deleted file mode 100644 index 45eca33c89..0000000000 --- a/node_modules/tapable/lib/AsyncParallelBailHook.js +++ /dev/null @@ -1,85 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class AsyncParallelBailHookCodeFactory extends HookCodeFactory { - content({ onError, onResult, onDone }) { - let code = ""; - code += `var _results = new Array(${this.options.taps.length});\n`; - code += "var _checkDone = function() {\n"; - code += "for(var i = 0; i < _results.length; i++) {\n"; - code += "var item = _results[i];\n"; - code += "if(item === undefined) return false;\n"; - code += "if(item.result !== undefined) {\n"; - code += onResult("item.result"); - code += "return true;\n"; - code += "}\n"; - code += "if(item.error) {\n"; - code += onError("item.error"); - code += "return true;\n"; - code += "}\n"; - code += "}\n"; - code += "return false;\n"; - code += "}\n"; - code += this.callTapsParallel({ - onError: (i, err, done, doneBreak) => { - let code = ""; - code += `if(${i} < _results.length && ((_results.length = ${i + - 1}), (_results[${i}] = { error: ${err} }), _checkDone())) {\n`; - code += doneBreak(true); - code += "} else {\n"; - code += done(); - code += "}\n"; - return code; - }, - onResult: (i, result, done, doneBreak) => { - let code = ""; - code += `if(${i} < _results.length && (${result} !== undefined && (_results.length = ${i + - 1}), (_results[${i}] = { result: ${result} }), _checkDone())) {\n`; - code += doneBreak(true); - code += "} else {\n"; - code += done(); - code += "}\n"; - return code; - }, - onTap: (i, run, done, doneBreak) => { - let code = ""; - if (i > 0) { - code += `if(${i} >= _results.length) {\n`; - code += done(); - code += "} else {\n"; - } - code += run(); - if (i > 0) code += "}\n"; - return code; - }, - onDone - }); - return code; - } -} - -const factory = new AsyncParallelBailHookCodeFactory(); - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function AsyncParallelBailHook(args = [], name = undefined) { - const hook = new Hook(args, name); - hook.constructor = AsyncParallelBailHook; - hook.compile = COMPILE; - hook._call = undefined; - hook.call = undefined; - return hook; -} - -AsyncParallelBailHook.prototype = null; - -module.exports = AsyncParallelBailHook; diff --git a/node_modules/tapable/lib/AsyncParallelHook.js b/node_modules/tapable/lib/AsyncParallelHook.js deleted file mode 100644 index b7a36314dc..0000000000 --- a/node_modules/tapable/lib/AsyncParallelHook.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class AsyncParallelHookCodeFactory extends HookCodeFactory { - content({ onError, onDone }) { - return this.callTapsParallel({ - onError: (i, err, done, doneBreak) => onError(err) + doneBreak(true), - onDone - }); - } -} - -const factory = new AsyncParallelHookCodeFactory(); - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function AsyncParallelHook(args = [], name = undefined) { - const hook = new Hook(args, name); - hook.constructor = AsyncParallelHook; - hook.compile = COMPILE; - hook._call = undefined; - hook.call = undefined; - return hook; -} - -AsyncParallelHook.prototype = null; - -module.exports = AsyncParallelHook; diff --git a/node_modules/tapable/lib/AsyncSeriesBailHook.js b/node_modules/tapable/lib/AsyncSeriesBailHook.js deleted file mode 100644 index 5df66dfb78..0000000000 --- a/node_modules/tapable/lib/AsyncSeriesBailHook.js +++ /dev/null @@ -1,42 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class AsyncSeriesBailHookCodeFactory extends HookCodeFactory { - content({ onError, onResult, resultReturns, onDone }) { - return this.callTapsSeries({ - onError: (i, err, next, doneBreak) => onError(err) + doneBreak(true), - onResult: (i, result, next) => - `if(${result} !== undefined) {\n${onResult( - result - )}\n} else {\n${next()}}\n`, - resultReturns, - onDone - }); - } -} - -const factory = new AsyncSeriesBailHookCodeFactory(); - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function AsyncSeriesBailHook(args = [], name = undefined) { - const hook = new Hook(args, name); - hook.constructor = AsyncSeriesBailHook; - hook.compile = COMPILE; - hook._call = undefined; - hook.call = undefined; - return hook; -} - -AsyncSeriesBailHook.prototype = null; - -module.exports = AsyncSeriesBailHook; diff --git a/node_modules/tapable/lib/AsyncSeriesHook.js b/node_modules/tapable/lib/AsyncSeriesHook.js deleted file mode 100644 index 3edad00517..0000000000 --- a/node_modules/tapable/lib/AsyncSeriesHook.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class AsyncSeriesHookCodeFactory extends HookCodeFactory { - content({ onError, onDone }) { - return this.callTapsSeries({ - onError: (i, err, next, doneBreak) => onError(err) + doneBreak(true), - onDone - }); - } -} - -const factory = new AsyncSeriesHookCodeFactory(); - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function AsyncSeriesHook(args = [], name = undefined) { - const hook = new Hook(args, name); - hook.constructor = AsyncSeriesHook; - hook.compile = COMPILE; - hook._call = undefined; - hook.call = undefined; - return hook; -} - -AsyncSeriesHook.prototype = null; - -module.exports = AsyncSeriesHook; diff --git a/node_modules/tapable/lib/AsyncSeriesLoopHook.js b/node_modules/tapable/lib/AsyncSeriesLoopHook.js deleted file mode 100644 index fb5f067e2c..0000000000 --- a/node_modules/tapable/lib/AsyncSeriesLoopHook.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class AsyncSeriesLoopHookCodeFactory extends HookCodeFactory { - content({ onError, onDone }) { - return this.callTapsLooping({ - onError: (i, err, next, doneBreak) => onError(err) + doneBreak(true), - onDone - }); - } -} - -const factory = new AsyncSeriesLoopHookCodeFactory(); - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function AsyncSeriesLoopHook(args = [], name = undefined) { - const hook = new Hook(args, name); - hook.constructor = AsyncSeriesLoopHook; - hook.compile = COMPILE; - hook._call = undefined; - hook.call = undefined; - return hook; -} - -AsyncSeriesLoopHook.prototype = null; - -module.exports = AsyncSeriesLoopHook; diff --git a/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js b/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js deleted file mode 100644 index 910b536f74..0000000000 --- a/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class AsyncSeriesWaterfallHookCodeFactory extends HookCodeFactory { - content({ onError, onResult, onDone }) { - return this.callTapsSeries({ - onError: (i, err, next, doneBreak) => onError(err) + doneBreak(true), - onResult: (i, result, next) => { - let code = ""; - code += `if(${result} !== undefined) {\n`; - code += `${this._args[0]} = ${result};\n`; - code += `}\n`; - code += next(); - return code; - }, - onDone: () => onResult(this._args[0]) - }); - } -} - -const factory = new AsyncSeriesWaterfallHookCodeFactory(); - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function AsyncSeriesWaterfallHook(args = [], name = undefined) { - if (args.length < 1) - throw new Error("Waterfall hooks must have at least one argument"); - const hook = new Hook(args, name); - hook.constructor = AsyncSeriesWaterfallHook; - hook.compile = COMPILE; - hook._call = undefined; - hook.call = undefined; - return hook; -} - -AsyncSeriesWaterfallHook.prototype = null; - -module.exports = AsyncSeriesWaterfallHook; diff --git a/node_modules/tapable/lib/Hook.js b/node_modules/tapable/lib/Hook.js deleted file mode 100644 index db04426f05..0000000000 --- a/node_modules/tapable/lib/Hook.js +++ /dev/null @@ -1,175 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const util = require("util"); - -const deprecateContext = util.deprecate(() => {}, -"Hook.context is deprecated and will be removed"); - -const CALL_DELEGATE = function(...args) { - this.call = this._createCall("sync"); - return this.call(...args); -}; -const CALL_ASYNC_DELEGATE = function(...args) { - this.callAsync = this._createCall("async"); - return this.callAsync(...args); -}; -const PROMISE_DELEGATE = function(...args) { - this.promise = this._createCall("promise"); - return this.promise(...args); -}; - -class Hook { - constructor(args = [], name = undefined) { - this._args = args; - this.name = name; - this.taps = []; - this.interceptors = []; - this._call = CALL_DELEGATE; - this.call = CALL_DELEGATE; - this._callAsync = CALL_ASYNC_DELEGATE; - this.callAsync = CALL_ASYNC_DELEGATE; - this._promise = PROMISE_DELEGATE; - this.promise = PROMISE_DELEGATE; - this._x = undefined; - - this.compile = this.compile; - this.tap = this.tap; - this.tapAsync = this.tapAsync; - this.tapPromise = this.tapPromise; - } - - compile(options) { - throw new Error("Abstract: should be overridden"); - } - - _createCall(type) { - return this.compile({ - taps: this.taps, - interceptors: this.interceptors, - args: this._args, - type: type - }); - } - - _tap(type, options, fn) { - if (typeof options === "string") { - options = { - name: options.trim() - }; - } else if (typeof options !== "object" || options === null) { - throw new Error("Invalid tap options"); - } - if (typeof options.name !== "string" || options.name === "") { - throw new Error("Missing name for tap"); - } - if (typeof options.context !== "undefined") { - deprecateContext(); - } - options = Object.assign({ type, fn }, options); - options = this._runRegisterInterceptors(options); - this._insert(options); - } - - tap(options, fn) { - this._tap("sync", options, fn); - } - - tapAsync(options, fn) { - this._tap("async", options, fn); - } - - tapPromise(options, fn) { - this._tap("promise", options, fn); - } - - _runRegisterInterceptors(options) { - for (const interceptor of this.interceptors) { - if (interceptor.register) { - const newOptions = interceptor.register(options); - if (newOptions !== undefined) { - options = newOptions; - } - } - } - return options; - } - - withOptions(options) { - const mergeOptions = opt => - Object.assign({}, options, typeof opt === "string" ? { name: opt } : opt); - - return { - name: this.name, - tap: (opt, fn) => this.tap(mergeOptions(opt), fn), - tapAsync: (opt, fn) => this.tapAsync(mergeOptions(opt), fn), - tapPromise: (opt, fn) => this.tapPromise(mergeOptions(opt), fn), - intercept: interceptor => this.intercept(interceptor), - isUsed: () => this.isUsed(), - withOptions: opt => this.withOptions(mergeOptions(opt)) - }; - } - - isUsed() { - return this.taps.length > 0 || this.interceptors.length > 0; - } - - intercept(interceptor) { - this._resetCompilation(); - this.interceptors.push(Object.assign({}, interceptor)); - if (interceptor.register) { - for (let i = 0; i < this.taps.length; i++) { - this.taps[i] = interceptor.register(this.taps[i]); - } - } - } - - _resetCompilation() { - this.call = this._call; - this.callAsync = this._callAsync; - this.promise = this._promise; - } - - _insert(item) { - this._resetCompilation(); - let before; - if (typeof item.before === "string") { - before = new Set([item.before]); - } else if (Array.isArray(item.before)) { - before = new Set(item.before); - } - let stage = 0; - if (typeof item.stage === "number") { - stage = item.stage; - } - let i = this.taps.length; - while (i > 0) { - i--; - const x = this.taps[i]; - this.taps[i + 1] = x; - const xStage = x.stage || 0; - if (before) { - if (before.has(x.name)) { - before.delete(x.name); - continue; - } - if (before.size > 0) { - continue; - } - } - if (xStage > stage) { - continue; - } - i++; - break; - } - this.taps[i] = item; - } -} - -Object.setPrototypeOf(Hook.prototype, null); - -module.exports = Hook; diff --git a/node_modules/tapable/lib/HookCodeFactory.js b/node_modules/tapable/lib/HookCodeFactory.js deleted file mode 100644 index c9f53402e8..0000000000 --- a/node_modules/tapable/lib/HookCodeFactory.js +++ /dev/null @@ -1,468 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -class HookCodeFactory { - constructor(config) { - this.config = config; - this.options = undefined; - this._args = undefined; - } - - create(options) { - this.init(options); - let fn; - switch (this.options.type) { - case "sync": - fn = new Function( - this.args(), - '"use strict";\n' + - this.header() + - this.contentWithInterceptors({ - onError: err => `throw ${err};\n`, - onResult: result => `return ${result};\n`, - resultReturns: true, - onDone: () => "", - rethrowIfPossible: true - }) - ); - break; - case "async": - fn = new Function( - this.args({ - after: "_callback" - }), - '"use strict";\n' + - this.header() + - this.contentWithInterceptors({ - onError: err => `_callback(${err});\n`, - onResult: result => `_callback(null, ${result});\n`, - onDone: () => "_callback();\n" - }) - ); - break; - case "promise": - let errorHelperUsed = false; - const content = this.contentWithInterceptors({ - onError: err => { - errorHelperUsed = true; - return `_error(${err});\n`; - }, - onResult: result => `_resolve(${result});\n`, - onDone: () => "_resolve();\n" - }); - let code = ""; - code += '"use strict";\n'; - code += this.header(); - code += "return new Promise((function(_resolve, _reject) {\n"; - if (errorHelperUsed) { - code += "var _sync = true;\n"; - code += "function _error(_err) {\n"; - code += "if(_sync)\n"; - code += - "_resolve(Promise.resolve().then((function() { throw _err; })));\n"; - code += "else\n"; - code += "_reject(_err);\n"; - code += "};\n"; - } - code += content; - if (errorHelperUsed) { - code += "_sync = false;\n"; - } - code += "}));\n"; - fn = new Function(this.args(), code); - break; - } - this.deinit(); - return fn; - } - - setup(instance, options) { - instance._x = options.taps.map(t => t.fn); - } - - /** - * @param {{ type: "sync" | "promise" | "async", taps: Array, interceptors: Array }} options - */ - init(options) { - this.options = options; - this._args = options.args.slice(); - } - - deinit() { - this.options = undefined; - this._args = undefined; - } - - contentWithInterceptors(options) { - if (this.options.interceptors.length > 0) { - const onError = options.onError; - const onResult = options.onResult; - const onDone = options.onDone; - let code = ""; - for (let i = 0; i < this.options.interceptors.length; i++) { - const interceptor = this.options.interceptors[i]; - if (interceptor.call) { - code += `${this.getInterceptor(i)}.call(${this.args({ - before: interceptor.context ? "_context" : undefined - })});\n`; - } - } - code += this.content( - Object.assign(options, { - onError: - onError && - (err => { - let code = ""; - for (let i = 0; i < this.options.interceptors.length; i++) { - const interceptor = this.options.interceptors[i]; - if (interceptor.error) { - code += `${this.getInterceptor(i)}.error(${err});\n`; - } - } - code += onError(err); - return code; - }), - onResult: - onResult && - (result => { - let code = ""; - for (let i = 0; i < this.options.interceptors.length; i++) { - const interceptor = this.options.interceptors[i]; - if (interceptor.result) { - code += `${this.getInterceptor(i)}.result(${result});\n`; - } - } - code += onResult(result); - return code; - }), - onDone: - onDone && - (() => { - let code = ""; - for (let i = 0; i < this.options.interceptors.length; i++) { - const interceptor = this.options.interceptors[i]; - if (interceptor.done) { - code += `${this.getInterceptor(i)}.done();\n`; - } - } - code += onDone(); - return code; - }) - }) - ); - return code; - } else { - return this.content(options); - } - } - - header() { - let code = ""; - if (this.needContext()) { - code += "var _context = {};\n"; - } else { - code += "var _context;\n"; - } - code += "var _x = this._x;\n"; - if (this.options.interceptors.length > 0) { - code += "var _taps = this.taps;\n"; - code += "var _interceptors = this.interceptors;\n"; - } - return code; - } - - needContext() { - for (const tap of this.options.taps) if (tap.context) return true; - return false; - } - - callTap(tapIndex, { onError, onResult, onDone, rethrowIfPossible }) { - let code = ""; - let hasTapCached = false; - for (let i = 0; i < this.options.interceptors.length; i++) { - const interceptor = this.options.interceptors[i]; - if (interceptor.tap) { - if (!hasTapCached) { - code += `var _tap${tapIndex} = ${this.getTap(tapIndex)};\n`; - hasTapCached = true; - } - code += `${this.getInterceptor(i)}.tap(${ - interceptor.context ? "_context, " : "" - }_tap${tapIndex});\n`; - } - } - code += `var _fn${tapIndex} = ${this.getTapFn(tapIndex)};\n`; - const tap = this.options.taps[tapIndex]; - switch (tap.type) { - case "sync": - if (!rethrowIfPossible) { - code += `var _hasError${tapIndex} = false;\n`; - code += "try {\n"; - } - if (onResult) { - code += `var _result${tapIndex} = _fn${tapIndex}(${this.args({ - before: tap.context ? "_context" : undefined - })});\n`; - } else { - code += `_fn${tapIndex}(${this.args({ - before: tap.context ? "_context" : undefined - })});\n`; - } - if (!rethrowIfPossible) { - code += "} catch(_err) {\n"; - code += `_hasError${tapIndex} = true;\n`; - code += onError("_err"); - code += "}\n"; - code += `if(!_hasError${tapIndex}) {\n`; - } - if (onResult) { - code += onResult(`_result${tapIndex}`); - } - if (onDone) { - code += onDone(); - } - if (!rethrowIfPossible) { - code += "}\n"; - } - break; - case "async": - let cbCode = ""; - if (onResult) - cbCode += `(function(_err${tapIndex}, _result${tapIndex}) {\n`; - else cbCode += `(function(_err${tapIndex}) {\n`; - cbCode += `if(_err${tapIndex}) {\n`; - cbCode += onError(`_err${tapIndex}`); - cbCode += "} else {\n"; - if (onResult) { - cbCode += onResult(`_result${tapIndex}`); - } - if (onDone) { - cbCode += onDone(); - } - cbCode += "}\n"; - cbCode += "})"; - code += `_fn${tapIndex}(${this.args({ - before: tap.context ? "_context" : undefined, - after: cbCode - })});\n`; - break; - case "promise": - code += `var _hasResult${tapIndex} = false;\n`; - code += `var _promise${tapIndex} = _fn${tapIndex}(${this.args({ - before: tap.context ? "_context" : undefined - })});\n`; - code += `if (!_promise${tapIndex} || !_promise${tapIndex}.then)\n`; - code += ` throw new Error('Tap function (tapPromise) did not return promise (returned ' + _promise${tapIndex} + ')');\n`; - code += `_promise${tapIndex}.then((function(_result${tapIndex}) {\n`; - code += `_hasResult${tapIndex} = true;\n`; - if (onResult) { - code += onResult(`_result${tapIndex}`); - } - if (onDone) { - code += onDone(); - } - code += `}), function(_err${tapIndex}) {\n`; - code += `if(_hasResult${tapIndex}) throw _err${tapIndex};\n`; - code += onError(`_err${tapIndex}`); - code += "});\n"; - break; - } - return code; - } - - callTapsSeries({ - onError, - onResult, - resultReturns, - onDone, - doneReturns, - rethrowIfPossible - }) { - if (this.options.taps.length === 0) return onDone(); - const firstAsync = this.options.taps.findIndex(t => t.type !== "sync"); - const somethingReturns = resultReturns || doneReturns; - let code = ""; - let current = onDone; - let unrollCounter = 0; - for (let j = this.options.taps.length - 1; j >= 0; j--) { - const i = j; - const unroll = - current !== onDone && - (this.options.taps[i].type !== "sync" || unrollCounter++ > 20); - if (unroll) { - unrollCounter = 0; - code += `function _next${i}() {\n`; - code += current(); - code += `}\n`; - current = () => `${somethingReturns ? "return " : ""}_next${i}();\n`; - } - const done = current; - const doneBreak = skipDone => { - if (skipDone) return ""; - return onDone(); - }; - const content = this.callTap(i, { - onError: error => onError(i, error, done, doneBreak), - onResult: - onResult && - (result => { - return onResult(i, result, done, doneBreak); - }), - onDone: !onResult && done, - rethrowIfPossible: - rethrowIfPossible && (firstAsync < 0 || i < firstAsync) - }); - current = () => content; - } - code += current(); - return code; - } - - callTapsLooping({ onError, onDone, rethrowIfPossible }) { - if (this.options.taps.length === 0) return onDone(); - const syncOnly = this.options.taps.every(t => t.type === "sync"); - let code = ""; - if (!syncOnly) { - code += "var _looper = (function() {\n"; - code += "var _loopAsync = false;\n"; - } - code += "var _loop;\n"; - code += "do {\n"; - code += "_loop = false;\n"; - for (let i = 0; i < this.options.interceptors.length; i++) { - const interceptor = this.options.interceptors[i]; - if (interceptor.loop) { - code += `${this.getInterceptor(i)}.loop(${this.args({ - before: interceptor.context ? "_context" : undefined - })});\n`; - } - } - code += this.callTapsSeries({ - onError, - onResult: (i, result, next, doneBreak) => { - let code = ""; - code += `if(${result} !== undefined) {\n`; - code += "_loop = true;\n"; - if (!syncOnly) code += "if(_loopAsync) _looper();\n"; - code += doneBreak(true); - code += `} else {\n`; - code += next(); - code += `}\n`; - return code; - }, - onDone: - onDone && - (() => { - let code = ""; - code += "if(!_loop) {\n"; - code += onDone(); - code += "}\n"; - return code; - }), - rethrowIfPossible: rethrowIfPossible && syncOnly - }); - code += "} while(_loop);\n"; - if (!syncOnly) { - code += "_loopAsync = true;\n"; - code += "});\n"; - code += "_looper();\n"; - } - return code; - } - - callTapsParallel({ - onError, - onResult, - onDone, - rethrowIfPossible, - onTap = (i, run) => run() - }) { - if (this.options.taps.length <= 1) { - return this.callTapsSeries({ - onError, - onResult, - onDone, - rethrowIfPossible - }); - } - let code = ""; - code += "do {\n"; - code += `var _counter = ${this.options.taps.length};\n`; - if (onDone) { - code += "var _done = (function() {\n"; - code += onDone(); - code += "});\n"; - } - for (let i = 0; i < this.options.taps.length; i++) { - const done = () => { - if (onDone) return "if(--_counter === 0) _done();\n"; - else return "--_counter;"; - }; - const doneBreak = skipDone => { - if (skipDone || !onDone) return "_counter = 0;\n"; - else return "_counter = 0;\n_done();\n"; - }; - code += "if(_counter <= 0) break;\n"; - code += onTap( - i, - () => - this.callTap(i, { - onError: error => { - let code = ""; - code += "if(_counter > 0) {\n"; - code += onError(i, error, done, doneBreak); - code += "}\n"; - return code; - }, - onResult: - onResult && - (result => { - let code = ""; - code += "if(_counter > 0) {\n"; - code += onResult(i, result, done, doneBreak); - code += "}\n"; - return code; - }), - onDone: - !onResult && - (() => { - return done(); - }), - rethrowIfPossible - }), - done, - doneBreak - ); - } - code += "} while(false);\n"; - return code; - } - - args({ before, after } = {}) { - let allArgs = this._args; - if (before) allArgs = [before].concat(allArgs); - if (after) allArgs = allArgs.concat(after); - if (allArgs.length === 0) { - return ""; - } else { - return allArgs.join(", "); - } - } - - getTapFn(idx) { - return `_x[${idx}]`; - } - - getTap(idx) { - return `_taps[${idx}]`; - } - - getInterceptor(idx) { - return `_interceptors[${idx}]`; - } -} - -module.exports = HookCodeFactory; diff --git a/node_modules/tapable/lib/HookMap.js b/node_modules/tapable/lib/HookMap.js deleted file mode 100644 index 129ad6ab5b..0000000000 --- a/node_modules/tapable/lib/HookMap.js +++ /dev/null @@ -1,61 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const util = require("util"); - -const defaultFactory = (key, hook) => hook; - -class HookMap { - constructor(factory, name = undefined) { - this._map = new Map(); - this.name = name; - this._factory = factory; - this._interceptors = []; - } - - get(key) { - return this._map.get(key); - } - - for(key) { - const hook = this.get(key); - if (hook !== undefined) { - return hook; - } - let newHook = this._factory(key); - const interceptors = this._interceptors; - for (let i = 0; i < interceptors.length; i++) { - newHook = interceptors[i].factory(key, newHook); - } - this._map.set(key, newHook); - return newHook; - } - - intercept(interceptor) { - this._interceptors.push( - Object.assign( - { - factory: defaultFactory - }, - interceptor - ) - ); - } -} - -HookMap.prototype.tap = util.deprecate(function(key, options, fn) { - return this.for(key).tap(options, fn); -}, "HookMap#tap(key,…) is deprecated. Use HookMap#for(key).tap(…) instead."); - -HookMap.prototype.tapAsync = util.deprecate(function(key, options, fn) { - return this.for(key).tapAsync(options, fn); -}, "HookMap#tapAsync(key,…) is deprecated. Use HookMap#for(key).tapAsync(…) instead."); - -HookMap.prototype.tapPromise = util.deprecate(function(key, options, fn) { - return this.for(key).tapPromise(options, fn); -}, "HookMap#tapPromise(key,…) is deprecated. Use HookMap#for(key).tapPromise(…) instead."); - -module.exports = HookMap; diff --git a/node_modules/tapable/lib/MultiHook.js b/node_modules/tapable/lib/MultiHook.js deleted file mode 100644 index e4fc2cea1b..0000000000 --- a/node_modules/tapable/lib/MultiHook.js +++ /dev/null @@ -1,54 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); - -class MultiHook { - constructor(hooks, name = undefined) { - this.hooks = hooks; - this.name = name; - } - - tap(options, fn) { - for (const hook of this.hooks) { - hook.tap(options, fn); - } - } - - tapAsync(options, fn) { - for (const hook of this.hooks) { - hook.tapAsync(options, fn); - } - } - - tapPromise(options, fn) { - for (const hook of this.hooks) { - hook.tapPromise(options, fn); - } - } - - isUsed() { - for (const hook of this.hooks) { - if (hook.isUsed()) return true; - } - return false; - } - - intercept(interceptor) { - for (const hook of this.hooks) { - hook.intercept(interceptor); - } - } - - withOptions(options) { - return new MultiHook( - this.hooks.map(h => h.withOptions(options)), - this.name - ); - } -} - -module.exports = MultiHook; diff --git a/node_modules/tapable/lib/SyncBailHook.js b/node_modules/tapable/lib/SyncBailHook.js deleted file mode 100644 index bdd5b45301..0000000000 --- a/node_modules/tapable/lib/SyncBailHook.js +++ /dev/null @@ -1,51 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class SyncBailHookCodeFactory extends HookCodeFactory { - content({ onError, onResult, resultReturns, onDone, rethrowIfPossible }) { - return this.callTapsSeries({ - onError: (i, err) => onError(err), - onResult: (i, result, next) => - `if(${result} !== undefined) {\n${onResult( - result - )};\n} else {\n${next()}}\n`, - resultReturns, - onDone, - rethrowIfPossible - }); - } -} - -const factory = new SyncBailHookCodeFactory(); - -const TAP_ASYNC = () => { - throw new Error("tapAsync is not supported on a SyncBailHook"); -}; - -const TAP_PROMISE = () => { - throw new Error("tapPromise is not supported on a SyncBailHook"); -}; - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function SyncBailHook(args = [], name = undefined) { - const hook = new Hook(args, name); - hook.constructor = SyncBailHook; - hook.tapAsync = TAP_ASYNC; - hook.tapPromise = TAP_PROMISE; - hook.compile = COMPILE; - return hook; -} - -SyncBailHook.prototype = null; - -module.exports = SyncBailHook; diff --git a/node_modules/tapable/lib/SyncHook.js b/node_modules/tapable/lib/SyncHook.js deleted file mode 100644 index e2512be141..0000000000 --- a/node_modules/tapable/lib/SyncHook.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class SyncHookCodeFactory extends HookCodeFactory { - content({ onError, onDone, rethrowIfPossible }) { - return this.callTapsSeries({ - onError: (i, err) => onError(err), - onDone, - rethrowIfPossible - }); - } -} - -const factory = new SyncHookCodeFactory(); - -const TAP_ASYNC = () => { - throw new Error("tapAsync is not supported on a SyncHook"); -}; - -const TAP_PROMISE = () => { - throw new Error("tapPromise is not supported on a SyncHook"); -}; - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function SyncHook(args = [], name = undefined) { - const hook = new Hook(args, name); - hook.constructor = SyncHook; - hook.tapAsync = TAP_ASYNC; - hook.tapPromise = TAP_PROMISE; - hook.compile = COMPILE; - return hook; -} - -SyncHook.prototype = null; - -module.exports = SyncHook; diff --git a/node_modules/tapable/lib/SyncLoopHook.js b/node_modules/tapable/lib/SyncLoopHook.js deleted file mode 100644 index be0e4fd4f2..0000000000 --- a/node_modules/tapable/lib/SyncLoopHook.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class SyncLoopHookCodeFactory extends HookCodeFactory { - content({ onError, onDone, rethrowIfPossible }) { - return this.callTapsLooping({ - onError: (i, err) => onError(err), - onDone, - rethrowIfPossible - }); - } -} - -const factory = new SyncLoopHookCodeFactory(); - -const TAP_ASYNC = () => { - throw new Error("tapAsync is not supported on a SyncLoopHook"); -}; - -const TAP_PROMISE = () => { - throw new Error("tapPromise is not supported on a SyncLoopHook"); -}; - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function SyncLoopHook(args = [], name = undefined) { - const hook = new Hook(args, name); - hook.constructor = SyncLoopHook; - hook.tapAsync = TAP_ASYNC; - hook.tapPromise = TAP_PROMISE; - hook.compile = COMPILE; - return hook; -} - -SyncLoopHook.prototype = null; - -module.exports = SyncLoopHook; diff --git a/node_modules/tapable/lib/SyncWaterfallHook.js b/node_modules/tapable/lib/SyncWaterfallHook.js deleted file mode 100644 index c878b7fef6..0000000000 --- a/node_modules/tapable/lib/SyncWaterfallHook.js +++ /dev/null @@ -1,57 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -const Hook = require("./Hook"); -const HookCodeFactory = require("./HookCodeFactory"); - -class SyncWaterfallHookCodeFactory extends HookCodeFactory { - content({ onError, onResult, resultReturns, rethrowIfPossible }) { - return this.callTapsSeries({ - onError: (i, err) => onError(err), - onResult: (i, result, next) => { - let code = ""; - code += `if(${result} !== undefined) {\n`; - code += `${this._args[0]} = ${result};\n`; - code += `}\n`; - code += next(); - return code; - }, - onDone: () => onResult(this._args[0]), - doneReturns: resultReturns, - rethrowIfPossible - }); - } -} - -const factory = new SyncWaterfallHookCodeFactory(); - -const TAP_ASYNC = () => { - throw new Error("tapAsync is not supported on a SyncWaterfallHook"); -}; - -const TAP_PROMISE = () => { - throw new Error("tapPromise is not supported on a SyncWaterfallHook"); -}; - -const COMPILE = function(options) { - factory.setup(this, options); - return factory.create(options); -}; - -function SyncWaterfallHook(args = [], name = undefined) { - if (args.length < 1) - throw new Error("Waterfall hooks must have at least one argument"); - const hook = new Hook(args, name); - hook.constructor = SyncWaterfallHook; - hook.tapAsync = TAP_ASYNC; - hook.tapPromise = TAP_PROMISE; - hook.compile = COMPILE; - return hook; -} - -SyncWaterfallHook.prototype = null; - -module.exports = SyncWaterfallHook; diff --git a/node_modules/tapable/lib/index.js b/node_modules/tapable/lib/index.js deleted file mode 100644 index 0a94a5365d..0000000000 --- a/node_modules/tapable/lib/index.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -exports.__esModule = true; -exports.SyncHook = require("./SyncHook"); -exports.SyncBailHook = require("./SyncBailHook"); -exports.SyncWaterfallHook = require("./SyncWaterfallHook"); -exports.SyncLoopHook = require("./SyncLoopHook"); -exports.AsyncParallelHook = require("./AsyncParallelHook"); -exports.AsyncParallelBailHook = require("./AsyncParallelBailHook"); -exports.AsyncSeriesHook = require("./AsyncSeriesHook"); -exports.AsyncSeriesBailHook = require("./AsyncSeriesBailHook"); -exports.AsyncSeriesLoopHook = require("./AsyncSeriesLoopHook"); -exports.AsyncSeriesWaterfallHook = require("./AsyncSeriesWaterfallHook"); -exports.HookMap = require("./HookMap"); -exports.MultiHook = require("./MultiHook"); diff --git a/node_modules/tapable/lib/util-browser.js b/node_modules/tapable/lib/util-browser.js deleted file mode 100644 index ee4fb9a05d..0000000000 --- a/node_modules/tapable/lib/util-browser.js +++ /dev/null @@ -1,16 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; - -exports.deprecate = (fn, msg) => { - let once = true; - return function() { - if (once) { - console.warn("DeprecationWarning: " + msg); - once = false; - } - return fn.apply(this, arguments); - }; -}; diff --git a/node_modules/tapable/package.json b/node_modules/tapable/package.json deleted file mode 100644 index 3c13120b72..0000000000 --- a/node_modules/tapable/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "tapable", - "version": "2.2.1", - "author": "Tobias Koppers @sokra", - "description": "Just a little module for plugins.", - "license": "MIT", - "homepage": "https://github.com/webpack/tapable", - "repository": { - "type": "git", - "url": "http://github.com/webpack/tapable.git" - }, - "devDependencies": { - "@babel/core": "^7.4.4", - "@babel/preset-env": "^7.4.4", - "babel-jest": "^24.8.0", - "codecov": "^3.5.0", - "jest": "^24.8.0", - "prettier": "^1.17.1" - }, - "engines": { - "node": ">=6" - }, - "files": [ - "lib", - "!lib/__tests__", - "tapable.d.ts" - ], - "main": "lib/index.js", - "types": "./tapable.d.ts", - "browser": { - "util": "./lib/util-browser.js" - }, - "scripts": { - "test": "jest", - "travis": "yarn pretty-lint && jest --coverage && codecov", - "pretty-lint": "prettier --check lib/*.js lib/__tests__/*.js", - "pretty": "prettier --loglevel warn --write lib/*.js lib/__tests__/*.js" - }, - "jest": { - "transform": { - "__tests__[\\\\/].+\\.js$": "babel-jest" - } - } -} diff --git a/node_modules/tapable/tapable.d.ts b/node_modules/tapable/tapable.d.ts deleted file mode 100644 index 0201c9a820..0000000000 --- a/node_modules/tapable/tapable.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -type FixedSizeArray = T extends 0 - ? void[] - : ReadonlyArray & { - 0: U; - length: T; - }; -type Measure = T extends 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - ? T - : never; -type Append = { - 0: [U]; - 1: [T[0], U]; - 2: [T[0], T[1], U]; - 3: [T[0], T[1], T[2], U]; - 4: [T[0], T[1], T[2], T[3], U]; - 5: [T[0], T[1], T[2], T[3], T[4], U]; - 6: [T[0], T[1], T[2], T[3], T[4], T[5], U]; - 7: [T[0], T[1], T[2], T[3], T[4], T[5], T[6], U]; - 8: [T[0], T[1], T[2], T[3], T[4], T[5], T[6], T[7], U]; -}[Measure]; -type AsArray = T extends any[] ? T : [T]; - -declare class UnsetAdditionalOptions { - _UnsetAdditionalOptions: true -} -type IfSet = X extends UnsetAdditionalOptions ? {} : X; - -type Callback = (error: E | null, result?: T) => void; -type InnerCallback = (error?: E | null | false, result?: T) => void; - -type FullTap = Tap & { - type: "sync" | "async" | "promise", - fn: Function -} - -type Tap = TapOptions & { - name: string; -}; - -type TapOptions = { - before?: string; - stage?: number; -}; - -interface HookInterceptor { - name?: string; - tap?: (tap: FullTap & IfSet) => void; - call?: (...args: any[]) => void; - loop?: (...args: any[]) => void; - error?: (err: Error) => void; - result?: (result: R) => void; - done?: () => void; - register?: (tap: FullTap & IfSet) => FullTap & IfSet; -} - -type ArgumentNames = FixedSizeArray; - -declare class Hook { - constructor(args?: ArgumentNames>, name?: string); - name: string | undefined; - taps: FullTap[]; - intercept(interceptor: HookInterceptor): void; - isUsed(): boolean; - callAsync(...args: Append, Callback>): void; - promise(...args: AsArray): Promise; - tap(options: string | Tap & IfSet, fn: (...args: AsArray) => R): void; - withOptions(options: TapOptions & IfSet): Omit; -} - -export class SyncHook extends Hook { - call(...args: AsArray): R; -} - -export class SyncBailHook extends SyncHook {} -export class SyncLoopHook extends SyncHook {} -export class SyncWaterfallHook extends SyncHook[0], AdditionalOptions> {} - -declare class AsyncHook extends Hook { - tapAsync( - options: string | Tap & IfSet, - fn: (...args: Append, InnerCallback>) => void - ): void; - tapPromise( - options: string | Tap & IfSet, - fn: (...args: AsArray) => Promise - ): void; -} - -export class AsyncParallelHook extends AsyncHook {} -export class AsyncParallelBailHook extends AsyncHook {} -export class AsyncSeriesHook extends AsyncHook {} -export class AsyncSeriesBailHook extends AsyncHook {} -export class AsyncSeriesLoopHook extends AsyncHook {} -export class AsyncSeriesWaterfallHook extends AsyncHook[0], AdditionalOptions> {} - -type HookFactory = (key: any, hook?: H) => H; - -interface HookMapInterceptor { - factory?: HookFactory; -} - -export class HookMap { - constructor(factory: HookFactory, name?: string); - name: string | undefined; - get(key: any): H | undefined; - for(key: any): H; - intercept(interceptor: HookMapInterceptor): void; -} - -export class MultiHook { - constructor(hooks: H[], name?: string); - name: string | undefined; - tap(options: string | Tap, fn?: Function): void; - tapAsync(options: string | Tap, fn?: Function): void; - tapPromise(options: string | Tap, fn?: Function): void; -}